[jboss-svn-commits] JBL Code SVN: r11984 - in labs/jbosstm/workspace/maciej.machulak/code/new: build and 58 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun May 20 19:16:16 EDT 2007


Author: maciej.machulak
Date: 2007-05-20 19:16:16 -0400 (Sun, 20 May 2007)
New Revision: 11984

Added:
   labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.iml
   labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.ipr
   labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.iws
   labs/jbosstm/workspace/maciej.machulak/code/new/README.txt
   labs/jbosstm/workspace/maciej.machulak/code/new/build.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/build/
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/BridgeParticipantAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/DummyParticipantAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/InboundBridge.class
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/JaxWSTransactionBridgeHandler.class
   labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/TxBridgeManager.class
   labs/jbosstm/workspace/maciej.machulak/code/new/build/txbridge.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/BUILDING
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.bat
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.sh
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/APP-INF/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/APP-INF/lib/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/BasicClient.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/Bistro.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/JaxWSClientHeaderContextProcessor.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/jaxws-handlers-client.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/restaurant/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/taxi/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/theatre/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/Bistro.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroEntityImpl.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroImpl.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroXAResource.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/JaxWSServerHeaderContextProcessor.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/jaxws-handlers-server.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/IRestaurantService.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/IRestaurantServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantManager.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$1.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$2.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$3.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$4.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$5.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$6.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/ITaxiService.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/ITaxiServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiManager.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiServiceAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$1.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$2.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$3.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$4.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/ITheatreService.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/ITheatreServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreManager.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreServiceAT.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreServiceBA.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$1.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$2.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$3.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$4.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$5.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$6.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$7.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$8.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView.class
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/client-web-app.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wscf.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wst.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wstx.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/soapconfig/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/tmp/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/txbridge-demo.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/ws-c.war
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/ws-t.war
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo-webservices.war
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo.ear
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo.war
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/application.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/client-jaxrpc-mapping.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/client-web-app.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxrpc-mapping.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxws-handlers-client.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxws-handlers-server.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/persistence.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/service-web-app.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/webservices.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/RestaurantServiceAT.wsdl
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/RestaurantServiceBA.wsdl
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TaxiServiceAT.wsdl
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TaxiServiceBA.wsdl
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TheatreServiceAT.wsdl
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TheatreServiceBA.wsdl
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/application.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web-app.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web-services.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/RestaurantServiceAT.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/RestaurantServiceBA.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TaxiServiceAT.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TaxiServiceBA.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TheatreServiceAT.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TheatreServiceBA.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/glue-config.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/javax.xml.soap.MessageFactory
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/javax.xml.soap.SOAPConnectionFactory
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/web-app.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/about.html
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/atomictransaction.html
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/businessactivity.html
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/deploying.html
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/JBoss_DivOfRH_RGB.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/arjuna_strapline.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/header_grid.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/icon_email.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/icon_printer.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/menu_spacer.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/search_bg.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/spacer.jpg
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/trans_spacer.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/index.html
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/installcontent.html
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/sourcecode.html
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/styles.css
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/wherenext.html
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/jboss.properties
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/BasicClient.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/Bistro.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/JaxWSClientHeaderContextProcessor.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/BasicClient.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceATPort.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceATPort_Stub.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT_Impl.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBAPort.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBAPort_Stub.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA_Impl.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceATPort.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceATPort_Stub.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT_Impl.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBAPort.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBAPort_Stub.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA_Impl.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceATPort.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceATPort_Stub.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT_Impl.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.xml
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBAPort.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBAPort_Stub.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA_Impl.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/webmethods/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/webmethods/BasicClient.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/Bistro.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroEntityImpl.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroImpl.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroXAResource.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/JaxWSServerHeaderContextProcessor.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/IRestaurantService.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/IRestaurantServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantManager.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantView.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/wstest.ear
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/xts-coordinator.ear
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/ITaxiService.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/ITaxiServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiManager.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiView.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/ITheatreService.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/ITheatreServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreManager.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreServiceAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreServiceBA.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreView.java
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/a_nav_6699cc.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/arjuna_logo.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/bl_corner_10.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/bl_navcorner_20.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/br_corner_10.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/br_navcorner_20.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tl_corner_10.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tl_navcorner_20.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tr_corner_10.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tr_navcorner_20.gif
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/index.jsp
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/weblogic.properties
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/webmethods.properties
   labs/jbosstm/workspace/maciej.machulak/code/new/demo/xts-coordinator.ear
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/commons-logging.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/config.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/flight.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/javaee.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/jbossjts.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/jbossts-common.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/saaj-api.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/stax-api-1.0.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/tools.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/txbridge.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-c.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-c.war
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-t.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-t.war
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/wsas.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/wscf.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/wscf.war
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx-asl-2.0.3.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx.jar
   labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx.war
   labs/jbosstm/workspace/maciej.machulak/code/new/src/
   labs/jbosstm/workspace/maciej.machulak/code/new/src/org/
   labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/
   labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/
   labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/BridgeParticipantAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/DummyParticipantAT.java
   labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/InboundBridge.java
   labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java
   labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/TxBridgeManager.java
Log:


Added: labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.iml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.iml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.iml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Lib" level="project" />
+    <orderEntry type="library" name="log4j" level="project" />
+    <orderEntryProperties />
+  </component>
+</module>
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.ipr
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.ipr	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.ipr	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4" relativePaths="false">
+  <component name="AntConfiguration">
+    <defaultAnt bundledAnt="true" />
+    <buildFile url="file://$PROJECT_DIR$/build.xml">
+      <additionalClassPath />
+      <antReference projectDefault="true" />
+      <customJdkName value="" />
+      <maximumHeapSize value="128" />
+      <properties />
+    </buildFile>
+  </component>
+  <component name="BuildJarProjectSettings">
+    <option name="BUILD_JARS_ON_MAKE" value="false" />
+  </component>
+  <component name="CodeStyleProjectProfileManger">
+    <option name="PROJECT_PROFILE" />
+    <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+  </component>
+  <component name="CodeStyleSettingsManager">
+    <option name="PER_PROJECT_SETTINGS" />
+    <option name="USE_PER_PROJECT_SETTINGS" value="false" />
+  </component>
+  <component name="CompilerConfiguration">
+    <option name="DEFAULT_COMPILER" value="Javac" />
+    <option name="DEPLOY_AFTER_MAKE" value="0" />
+    <resourceExtensions>
+      <entry name=".+\.(properties|xml|html|dtd|tld)" />
+      <entry name=".+\.(gif|png|jpeg|jpg)" />
+    </resourceExtensions>
+    <wildcardResourcePatterns>
+      <entry name="?*.properties" />
+      <entry name="?*.xml" />
+      <entry name="?*.gif" />
+      <entry name="?*.png" />
+      <entry name="?*.jpeg" />
+      <entry name="?*.jpg" />
+      <entry name="?*.html" />
+      <entry name="?*.dtd" />
+      <entry name="?*.tld" />
+    </wildcardResourcePatterns>
+  </component>
+  <component name="DataSourceManagerImpl" />
+  <component name="DependenciesAnalyzeManager">
+    <option name="myForwardDirection" value="false" />
+  </component>
+  <component name="DependencyValidationManager" />
+  <component name="EclipseCompilerSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="true" />
+    <option name="DEPRECATION" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="EclipseEmbeddedCompilerSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="true" />
+    <option name="DEPRECATION" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="EntryPointsManager">
+    <entry_points />
+  </component>
+  <component name="ExportToHTMLSettings">
+    <option name="PRINT_LINE_NUMBERS" value="false" />
+    <option name="OPEN_IN_BROWSER" value="false" />
+    <option name="OUTPUT_DIRECTORY" />
+  </component>
+  <component name="GUI Designer component loader factory" />
+  <component name="IdProvider" IDEtalkID="DCAC47215A60376190135F2646377A87" />
+  <component name="InspectionProjectProfileManager">
+    <option name="PROJECT_PROFILE" value="Project Default" />
+    <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+    <scopes />
+    <profiles>
+      <profile version="1.0" is_locked="false">
+        <option name="myName" value="Project Default" />
+        <option name="myLocal" value="false" />
+        <used_levels>
+          <error>
+            <option name="myName" value="ERROR" />
+            <option name="myVal" value="400" />
+          </error>
+          <warning>
+            <option name="myName" value="WARNING" />
+            <option name="myVal" value="300" />
+          </warning>
+          <information>
+            <option name="myName" value="INFO" />
+            <option name="myVal" value="200" />
+          </information>
+          <server>
+            <option name="myName" value="SERVER PROBLEM" />
+            <option name="myVal" value="100" />
+          </server>
+        </used_levels>
+      </profile>
+    </profiles>
+  </component>
+  <component name="JavacSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="DEPRECATION" value="true" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="128" />
+  </component>
+  <component name="JavadocGenerationManager">
+    <option name="OUTPUT_DIRECTORY" />
+    <option name="OPTION_SCOPE" value="protected" />
+    <option name="OPTION_HIERARCHY" value="true" />
+    <option name="OPTION_NAVIGATOR" value="true" />
+    <option name="OPTION_INDEX" value="true" />
+    <option name="OPTION_SEPARATE_INDEX" value="true" />
+    <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
+    <option name="OPTION_DEPRECATED_LIST" value="true" />
+    <option name="OTHER_OPTIONS" value="" />
+    <option name="HEAP_SIZE" />
+    <option name="LOCALE" />
+    <option name="OPEN_IN_BROWSER" value="true" />
+  </component>
+  <component name="JikesSettings">
+    <option name="JIKES_PATH" value="" />
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="DEPRECATION" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="IS_EMACS_ERRORS_MODE" value="true" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+  </component>
+  <component name="LogConsolePreferences">
+    <option name="FILTER_ERRORS" value="false" />
+    <option name="FILTER_WARNINGS" value="false" />
+    <option name="FILTER_INFO" value="true" />
+    <option name="CUSTOM_FILTER" />
+  </component>
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/MyTXBridge.iml" filepath="$PROJECT_DIR$/MyTXBridge.iml" />
+    </modules>
+  </component>
+  <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/classes" />
+  </component>
+  <component name="ProjectRunConfigurationManager" />
+  <component name="RmicSettings">
+    <option name="IS_EANABLED" value="false" />
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="GENERATE_IIOP_STUBS" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+  </component>
+  <component name="StarteamVcsAdapter" />
+  <component name="VssVcs" />
+  <component name="WebServicesPlugin" />
+  <component name="com.intellij.jsf.UserDefinedFacesConfigs">
+    <option name="USER_DEFINED_CONFIGS">
+      <value>
+        <list size="0" />
+      </value>
+    </option>
+  </component>
+  <component name="libraryTable">
+    <library name="Lib">
+      <CLASSES>
+        <root url="jar://$PROJECT_DIR$/lib/commons-logging.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/config.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/flight.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/javaee.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/jbossjts.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/jbossts-common.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/saaj-api.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/stax-api-1.0.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/tools.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/txbridge.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/ws-c.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/ws-c.war!/" />
+        <root url="jar://$PROJECT_DIR$/lib/ws-t.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/ws-t.war!/" />
+        <root url="jar://$PROJECT_DIR$/lib/wsas.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/wscf.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/wscf.war!/" />
+        <root url="jar://$PROJECT_DIR$/lib/wstx-asl-2.0.3.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/wstx.jar!/" />
+        <root url="jar://$PROJECT_DIR$/lib/wstx.war!/" />
+      </CLASSES>
+      <JAVADOC />
+      <SOURCES />
+    </library>
+    <library name="log4j">
+      <CLASSES>
+        <root url="jar://$APPLICATION_HOME_DIR$/lib/log4j.jar!/" />
+      </CLASSES>
+      <JAVADOC />
+      <SOURCES />
+    </library>
+  </component>
+  <component name="uidesigner-configuration">
+    <option name="INSTRUMENT_CLASSES" value="true" />
+    <option name="COPY_FORMS_RUNTIME_TO_OUTPUT" value="true" />
+    <option name="DEFAULT_LAYOUT_MANAGER" value="GridLayoutManager" />
+  </component>
+  <UsedPathMacros />
+</project>
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.iws
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.iws	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/MyTXBridge.iws	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,642 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4" relativePaths="false">
+  <component name="BookmarkManager" />
+  <component name="ChangeBrowserSettings">
+    <option name="MAIN_SPLITTER_PROPORTION" value="0.3" />
+    <option name="MESSAGES_SPLITTER_PROPORTION" value="0.8" />
+    <option name="USE_DATE_BEFORE_FILTER" value="false" />
+    <option name="USE_DATE_AFTER_FILTER" value="false" />
+    <option name="USE_CHANGE_BEFORE_FILTER" value="false" />
+    <option name="USE_CHANGE_AFTER_FILTER" value="false" />
+    <option name="DATE_BEFORE" value="" />
+    <option name="DATE_AFTER" value="" />
+    <option name="CHANGE_BEFORE" value="" />
+    <option name="CHANGE_AFTER" value="" />
+    <option name="USE_USER_FILTER" value="false" />
+    <option name="USER" value="" />
+  </component>
+  <component name="ChangeListManager">
+    <list default="true" name="Default" comment="" />
+  </component>
+  <component name="ChangeListSynchronizer" />
+  <component name="ChangesViewManager" flattened_view="true" />
+  <component name="CheckinPanelState" />
+  <component name="Commander">
+    <leftPanel />
+    <rightPanel />
+    <splitter proportion="0.5" />
+  </component>
+  <component name="CompilerWorkspaceConfiguration">
+    <option name="COMPILE_IN_BACKGROUND" value="false" />
+    <option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true" />
+    <option name="CLOSE_MESSAGE_VIEW_IF_SUCCESS" value="true" />
+    <option name="COMPILE_DEPENDENT_FILES" value="false" />
+    <option name="CLEAR_OUTPUT_DIRECTORY" value="false" />
+    <option name="ASSERT_NOT_NULL" value="true" />
+  </component>
+  <component name="CoverageDataManager" />
+  <component name="Cvs2Configuration">
+    <option name="PRUNE_EMPTY_DIRECTORIES" value="true" />
+    <option name="MERGING_MODE" value="0" />
+    <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" />
+    <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" />
+    <option name="RESET_STICKY" value="false" />
+    <option name="CREATE_NEW_DIRECTORIES" value="true" />
+    <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv" />
+    <option name="PROCESS_UNKNOWN_FILES" value="false" />
+    <option name="PROCESS_DELETED_FILES" value="false" />
+    <option name="PROCESS_IGNORED_FILES" value="false" />
+    <option name="RESERVED_EDIT" value="false" />
+    <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="UPDATE_DATE_OR_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="SHOW_CHANGES_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="SHOW_OUTPUT" value="false" />
+    <option name="ADD_WATCH_INDEX" value="0" />
+    <option name="REMOVE_WATCH_INDEX" value="0" />
+    <option name="UPDATE_KEYWORD_SUBSTITUTION" />
+    <option name="MAKE_NEW_FILES_READONLY" value="false" />
+    <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0" />
+    <option name="TAG_AFTER_PROJECT_COMMIT" value="false" />
+    <option name="OVERRIDE_EXISTING_TAG_FOR_PROJECT" value="true" />
+    <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value="" />
+    <option name="CLEAN_COPY" value="false" />
+  </component>
+  <component name="DaemonCodeAnalyzer">
+    <disable_hints />
+  </component>
+  <component name="DebuggerManager">
+    <breakpoint_any>
+      <breakpoint>
+        <option name="NOTIFY_CAUGHT" value="true" />
+        <option name="NOTIFY_UNCAUGHT" value="true" />
+        <option name="ENABLED" value="false" />
+        <option name="SUSPEND_POLICY" value="SuspendAll" />
+        <option name="LOG_ENABLED" value="false" />
+        <option name="LOG_EXPRESSION_ENABLED" value="false" />
+        <option name="COUNT_FILTER_ENABLED" value="false" />
+        <option name="COUNT_FILTER" value="0" />
+        <option name="CONDITION_ENABLED" value="false" />
+        <option name="CLASS_FILTERS_ENABLED" value="false" />
+        <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+        <option name="CONDITION" value="" />
+        <option name="LOG_MESSAGE" value="" />
+      </breakpoint>
+      <breakpoint>
+        <option name="NOTIFY_CAUGHT" value="true" />
+        <option name="NOTIFY_UNCAUGHT" value="true" />
+        <option name="ENABLED" value="false" />
+        <option name="SUSPEND_POLICY" value="SuspendAll" />
+        <option name="LOG_ENABLED" value="false" />
+        <option name="LOG_EXPRESSION_ENABLED" value="false" />
+        <option name="COUNT_FILTER_ENABLED" value="false" />
+        <option name="COUNT_FILTER" value="0" />
+        <option name="CONDITION_ENABLED" value="false" />
+        <option name="CLASS_FILTERS_ENABLED" value="false" />
+        <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+        <option name="CONDITION" value="" />
+        <option name="LOG_MESSAGE" value="" />
+      </breakpoint>
+    </breakpoint_any>
+    <breakpoint_rules />
+    <ui_properties />
+  </component>
+  <component name="ErrorTreeViewConfiguration">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="HIDE_WARNINGS" value="false" />
+  </component>
+  <component name="FavoritesManager">
+    <favorites_list name="MyTXBridge" />
+  </component>
+  <component name="FavoritesProjectViewPane" />
+  <component name="FileEditorManager">
+    <leaf>
+      <file leaf-file-name="BridgeParticipantAT.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/BridgeParticipantAT.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="36" column="13" selection-start="1442" selection-end="1442" vertical-scroll-proportion="-2.5405405">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="InboundBridge.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/InboundBridge.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="41" column="13" selection-start="1642" selection-end="1642" vertical-scroll-proportion="0.31853282">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="JaxWSTransactionBridgeHandler.java" pinned="false" current="true" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="46" column="13" selection-start="2027" selection-end="2027" vertical-scroll-proportion="-0.07528958">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="TxBridgeManager.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/TxBridgeManager.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="50" column="13" selection-start="2103" selection-end="2103" vertical-scroll-proportion="-0.6003861">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="DummyParticipantAT.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/DummyParticipantAT.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="8" column="13" selection-start="135" selection-end="135" vertical-scroll-proportion="0.04054054">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="build.xml" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/build.xml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FindManager">
+    <FindUsagesManager>
+      <setting name="OPEN_NEW_TAB" value="false" />
+    </FindUsagesManager>
+  </component>
+  <component name="HierarchyBrowserManager">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="SORT_ALPHABETICALLY" value="false" />
+    <option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
+  </component>
+  <component name="InspectionManager">
+    <option name="AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="SPLITTER_PROPORTION" value="0.5" />
+    <option name="GROUP_BY_SEVERITY" value="false" />
+    <option name="FILTER_RESOLVED_ITEMS" value="true" />
+    <option name="ANALYZE_TEST_SOURCES" value="true" />
+    <option name="SHOW_DIFF_WITH_PREVIOUS_RUN" value="false" />
+    <option name="SCOPE_TYPE" value="1" />
+    <option name="CUSTOM_SCOPE_NAME" value="" />
+    <option name="SHOW_ONLY_DIFF" value="false" />
+    <option name="myCurrentProfileName" value="Default" />
+  </component>
+  <component name="J2EEProjectPane" />
+  <component name="JspContextManager" />
+  <component name="ModuleEditorState">
+    <option name="LAST_EDITED_MODULE_NAME" />
+    <option name="LAST_EDITED_TAB_NAME" />
+  </component>
+  <component name="NamedScopeManager" />
+  <component name="PackagesPane">
+    <subPane>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="MyTXBridge.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="MyTXBridge" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
+        </PATH_ELEMENT>
+      </PATH>
+    </subPane>
+  </component>
+  <component name="PerforceChangeBrowserSettings">
+    <option name="USE_CLIENT_FILTER" value="true" />
+    <option name="CLIENT" value="" />
+  </component>
+  <component name="PerforceDirect.Settings">
+    <option name="useP4CONFIG" value="true" />
+    <option name="port" value="&lt;perforce_server&gt;:1666" />
+    <option name="client" value="" />
+    <option name="user" value="" />
+    <option name="passwd" value="" />
+    <option name="showCmds" value="false" />
+    <option name="useNativeApi" value="true" />
+    <option name="pathToExec" value="p4" />
+    <option name="useCustomPathToExec" value="false" />
+    <option name="SYNC_FORCE" value="false" />
+    <option name="SYNC_RUN_RESOLVE" value="true" />
+    <option name="REVERT_UNCHANGED_FILES" value="true" />
+    <option name="CHARSET" value="none" />
+    <option name="SHOW_BRANCHES_HISTORY" value="true" />
+    <option name="ENABLED" value="true" />
+    <option name="USE_LOGIN" value="false" />
+    <option name="LOGIN_SILENTLY" value="false" />
+    <option name="INTEGRATE_RUN_RESOLVE" value="true" />
+    <option name="INTEGRATE_REVERT_UNCHANGED" value="true" />
+    <option name="SERVER_TIMEOUT" value="20000" />
+  </component>
+  <component name="ProjectLevelVcsManager">
+    <OptionsSetting value="true" id="Add" />
+    <OptionsSetting value="true" id="Remove" />
+    <OptionsSetting value="true" id="Checkin" />
+    <OptionsSetting value="true" id="Checkout" />
+    <OptionsSetting value="true" id="Update" />
+    <OptionsSetting value="true" id="Status" />
+    <OptionsSetting value="true" id="Edit" />
+    <OptionsSetting value="true" id="Undo Check Out" />
+    <OptionsSetting value="true" id="Compare with SourceSafe Version" />
+    <OptionsSetting value="true" id="Get Latest Version" />
+    <ConfirmationsSetting value="0" id="Add" />
+    <ConfirmationsSetting value="0" id="Remove" />
+  </component>
+  <component name="ProjectPane">
+    <subPane>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="MyTXBridge.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="MyTXBridge" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="Libraries" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="MyTXBridge.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="MyTXBridge" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\MyTXBridge" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+      <PATH>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="MyTXBridge.ipr" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="MyTXBridge" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\MyTXBridge" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\MyTXBridge\src" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+        <PATH_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:C:\RedHat\MyTXBridge\src\org\jboss\txbridge" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
+      </PATH>
+    </subPane>
+  </component>
+  <component name="ProjectReloadState">
+    <option name="STATE" value="0" />
+  </component>
+  <component name="ProjectView">
+    <navigator currentView="ProjectPane" proportions="0.16666667" version="1" splitterProportion="0.5">
+      <flattenPackages />
+      <showMembers />
+      <showModules />
+      <showLibraryContents />
+      <hideEmptyPackages />
+      <abbreviatePackageNames />
+      <showStructure PackagesPane="false" ProjectPane="false" />
+      <autoscrollToSource />
+      <autoscrollFromSource />
+      <sortByType />
+    </navigator>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="MemberChooser.copyJavadoc" value="false" />
+    <property name="GoToClass.includeLibraries" value="false" />
+    <property name="MemberChooser.showClasses" value="true" />
+    <property name="MemberChooser.sorted" value="false" />
+    <property name="GoToFile.includeJavaFiles" value="false" />
+    <property name="GoToClass.toSaveIncludeLibraries" value="false" />
+  </component>
+  <component name="ReadonlyStatusHandler">
+    <option name="SHOW_DIALOG" value="true" />
+  </component>
+  <component name="RecentsManager" />
+  <component name="RestoreUpdateTree" />
+  <component name="RunManager">
+    <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+      <module name="" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ADDITIONAL_CLASS_PATH" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="wholeProject" />
+      </option>
+      <method>
+        <option name="Make" value="true" />
+      </method>
+    </configuration>
+    <configuration default="true" type="Remote" factoryName="Remote">
+      <option name="USE_SOCKET_TRANSPORT" value="true" />
+      <option name="SERVER_MODE" value="false" />
+      <option name="SHMEM_ADDRESS" value="javadebug" />
+      <option name="HOST" value="localhost" />
+      <option name="PORT" value="5005" />
+    </configuration>
+    <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
+      <option name="MAIN_CLASS_NAME" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <module name="" />
+    </configuration>
+    <configuration default="true" type="Applet" factoryName="Applet">
+      <module name="" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+      <option name="VM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+    </configuration>
+    <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
+      <Host>localhost</Host>
+      <Port>5050</Port>
+    </configuration>
+  </component>
+  <component name="ScopeViewComponent" />
+  <component name="SelectInManager" />
+  <component name="StarteamConfiguration">
+    <option name="SERVER" value="" />
+    <option name="PORT" value="49201" />
+    <option name="USER" value="" />
+    <option name="PASSWORD" value="" />
+    <option name="PROJECT" value="" />
+    <option name="VIEW" value="" />
+    <option name="ALTERNATIVE_WORKING_PATH" value="" />
+    <option name="LOCK_ON_CHECKOUT" value="false" />
+    <option name="UNLOCK_ON_CHECKIN" value="false" />
+  </component>
+  <component name="StructuralSearchPlugin" />
+  <component name="StructureViewFactory">
+    <option name="AUTOSCROLL_MODE" value="true" />
+    <option name="AUTOSCROLL_FROM_SOURCE" value="false" />
+    <option name="ACTIVE_ACTIONS" value="" />
+  </component>
+  <component name="Struts Assistant">
+    <option name="showInputs" value="true" />
+    <option name="resources">
+      <value>
+        <option name="strutsPath" />
+        <option name="strutsHelp" />
+      </value>
+    </option>
+    <option name="selectedTaglibs" />
+    <option name="selectedTaglibs" />
+    <option name="myStrutsValidationEnabled" value="true" />
+    <option name="myTilesValidationEnabled" value="true" />
+    <option name="myValidatorValidationEnabled" value="true" />
+    <option name="myReportErrorsAsWarnings" value="true" />
+  </component>
+  <component name="SvnChangesBrowserSettings">
+    <option name="USE_AUTHOR_FIELD" value="true" />
+    <option name="AUTHOR" value="" />
+    <option name="LOCATION" value="" />
+    <option name="USE_PROJECT_SETTINGS" value="true" />
+    <option name="USE_ALTERNATE_LOCATION" value="false" />
+  </component>
+  <component name="SvnConfiguration">
+    <option name="USER" value="" />
+    <option name="PASSWORD" value="" />
+    <option name="PROCESS_UNRESOLVED" value="false" />
+    <option name="LAST_MERGED_REVISION" />
+    <option name="UPDATE_RUN_STATUS" value="false" />
+    <option name="UPDATE_RECURSIVELY" value="true" />
+    <option name="MERGE_DRY_RUN" value="false" />
+    <configuration useDefault="false">C:\Documents and Settings\a5913504\Application Data\Subversion</configuration>
+    <checkoutURL>https://svn.jboss.org/repos/jbossas/branches/Branch_4_2/</checkoutURL>
+    <checkoutURL>svn+ssh://svn.cs.ncl.ac.uk/addon/subversion/users/a5913504</checkoutURL>
+  </component>
+  <component name="TodoView" selected-index="0">
+    <todo-panel id="selected-file">
+      <are-packages-shown value="false" />
+      <are-modules-shown value="false" />
+      <flatten-packages value="false" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+    <todo-panel id="all">
+      <are-packages-shown value="true" />
+      <are-modules-shown value="false" />
+      <flatten-packages value="false" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="0" y="0" width="1280" height="992" extended-state="0" />
+    <editor active="true" />
+    <layout>
+      <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="7" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19755103" order="0" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="1" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32376578" order="8" />
+      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="6" />
+      <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25061226" order="1" />
+      <window_info id="WebServices" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="2" />
+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
+      <window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="4" />
+      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="0" />
+      <window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="0" />
+      <window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
+      <window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="3" />
+      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="5" />
+    </layout>
+  </component>
+  <component name="VCS.FileViewConfiguration">
+    <option name="SELECTED_STATUSES" value="DEFAULT" />
+    <option name="SELECTED_COLUMNS" value="DEFAULT" />
+    <option name="SHOW_FILTERS" value="true" />
+    <option name="CUSTOMIZE_VIEW" value="true" />
+    <option name="SHOW_FILE_HISTORY_AS_TREE" value="true" />
+  </component>
+  <component name="VcsManagerConfiguration">
+    <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
+    <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
+    <option name="PERFORM_UPDATE_IN_BACKGROUND" value="false" />
+    <option name="PERFORM_COMMIT_IN_BACKGROUND" value="false" />
+    <option name="PUT_FOCUS_INTO_COMMENT" value="false" />
+    <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
+    <option name="LAST_COMMIT_MESSAGE" />
+    <option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
+    <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
+    <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+    <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+    <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+    <option name="ERROR_OCCURED" value="false" />
+    <option name="ACTIVE_VCS_NAME" />
+    <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
+    <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
+    <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
+  </component>
+  <component name="VssConfiguration">
+    <option name="CLIENT_PATH" value="" />
+    <option name="SRCSAFEINI_PATH" value="" />
+    <option name="USER_NAME" value="" />
+    <option name="PWD" value="" />
+    <option name="VSS_IS_INITIALIZED" value="true" />
+    <CheckoutOptions>
+      <option name="COMMENT" value="" />
+      <option name="DO_NOT_GET_LATEST_VERSION" value="false" />
+      <option name="REPLACE_WRITABLE" value="false" />
+      <option name="RECURSIVE" value="false" />
+    </CheckoutOptions>
+    <CheckinOptions>
+      <option name="COMMENT" value="" />
+      <option name="KEEP_CHECKED_OUT" value="false" />
+      <option name="RECURSIVE" value="false" />
+    </CheckinOptions>
+    <AddOptions>
+      <option name="STORE_ONLY_LATEST_VERSION" value="false" />
+      <option name="CHECK_OUT_IMMEDIATELY" value="false" />
+      <option name="FILE_TYPE" value="0" />
+    </AddOptions>
+    <UndocheckoutOptions>
+      <option name="MAKE_WRITABLE" value="false" />
+      <option name="REPLACE_LOCAL_COPY" value="0" />
+      <option name="RECURSIVE" value="false" />
+    </UndocheckoutOptions>
+    <GetOptions>
+      <option name="REPLACE_WRITABLE" value="0" />
+      <option name="MAKE_WRITABLE" value="false" />
+      <option name="ANSWER_NEGATIVELY" value="false" />
+      <option name="ANSWER_POSITIVELY" value="false" />
+      <option name="RECURSIVE" value="false" />
+      <option name="VERSION" />
+    </GetOptions>
+    <VssConfigurableExcludedFilesTag />
+  </component>
+  <component name="antWorkspaceConfiguration">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="FILTER_TARGETS" value="false" />
+    <buildFile url="file://$PROJECT_DIR$/build.xml">
+      <antCommandLine value="" />
+      <runInBackground value="false" />
+      <targetFilters />
+      <treeView value="true" />
+      <verbose value="true" />
+      <viewClosedWhenNoErrors value="false" />
+    </buildFile>
+  </component>
+  <component name="com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable" proportions="" version="1">
+    <option name="myLastEditedConfigurable" />
+  </component>
+  <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.16666667" version="1">
+    <option name="myPlainMode" value="false" />
+    <option name="myLastEditedConfigurable" value="log4j" />
+  </component>
+  <component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
+    <option name="myLastEditedConfigurable" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/build.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/TxBridgeManager.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="50" column="13" selection-start="2103" selection-end="2103" vertical-scroll-proportion="-0.6003861">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/BridgeParticipantAT.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="36" column="13" selection-start="1442" selection-end="1442" vertical-scroll-proportion="-2.5405405">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/DummyParticipantAT.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="8" column="13" selection-start="135" selection-end="135" vertical-scroll-proportion="0.04054054">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/InboundBridge.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="41" column="13" selection-start="1642" selection-end="1642" vertical-scroll-proportion="0.31853282">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="46" column="13" selection-start="2027" selection-end="2027" vertical-scroll-proportion="-0.07528958">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+  </component>
+</project>
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/README.txt
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/README.txt	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/README.txt	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,30 @@
+
+This is the prototype transaction bridge for JavaOne 2007.
+
+jonathan.halliday at redhat.com, 2007-04-30
+
+To build the bridge itself:
+
+  Requires java 5, ant, JBossAS and JBossTS. You'll probably have to build the last 2 from source
+  to get sufficiently recent versions. In particular JBossTS XTS 4.2.3.GA wont work.
+  Tested with JBossAS 4_2 branch and JBossTS trunk both as of 2007-04-27
+
+  edit build.xml to set properties locating the JBossAS and JBossTS XTS installs.
+  run 'ant'
+
+  This produces a build/txbridge.jar file that is used by the demo app.
+
+To build the demo app:
+
+  You need to build the bridge first, see above.
+
+  This is a modified version of the demo that ships with XTS. You should probably run the original
+  version first to make sure your installation works and familiarize yourself with the applicaiton.
+
+  cd demo
+  edit build.xml to set properties for install locations, as above.
+  edit jboss.properties for URLs if running the demo on anything other than the default location
+  (localhost:8080/xtsdemoservices/)
+  run 'ant deploy' to build the demo and deploy it into the server.
+
+  The original demo works on platforms other than JBoss. The modified version probably does not.

Added: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/BridgeParticipantAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/BridgeParticipantAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/DummyParticipantAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/DummyParticipantAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/InboundBridge.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/InboundBridge.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/JaxWSTransactionBridgeHandler.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/JaxWSTransactionBridgeHandler.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/TxBridgeManager.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/build/classes/org/jboss/txbridge/TxBridgeManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/build/txbridge.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/build/txbridge.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/build.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/build.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/build.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * 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.
+-->
+
+<project name="TxBridge" default="dist" basedir=".">
+	<description>
+		Transaction Bridge
+	</description>
+
+	<property name="jboss.server.dir" location="C:\RedHat\JBossAS\build\output\jboss-4.2.0.GA\server\all"/>
+	<property name="xts.home" location="C:\RedHat\JBossTS\XTS\xts-install"/>
+
+	<property name="src" location="src"/>
+	<property name="lib" location="lib"/>
+	<property name="resources" location="resources"/>
+	<property name="build" location="build"/>
+
+	<path id="build-prereqs">
+		<fileset dir="${jboss.server.dir}/lib">
+			<include name="jboss-j2ee.jar"/>
+			<include name="log4j.jar"/>
+		</fileset>
+		<fileset  dir="${jboss.server.dir}/deploy/jbossws.sar">
+			<include name="jboss-jaxws.jar"/>
+			<include name="saaj-api.jar"/>
+		</fileset>
+		<fileset dir="${xts.home}/lib">
+			<include name="*.jar"/>
+			<include name="ext/jbossjts.jar"/>
+			<include name="ext/jbossts-common.jar"/>
+		</fileset>
+
+	</path>
+
+	<target name="clean" description="clean up">
+		<delete dir="${build}"/>
+	</target>
+
+	<target name="init">
+		<tstamp/>
+		<mkdir dir="${build}"/>
+	</target>
+
+	<target name="compile" depends="init"
+			description="compile the source ">
+		<mkdir dir="${build}/classes"/>
+		<javac srcdir="${src}" destdir="${build}/classes">
+			<classpath refid="build-prereqs"/>
+		</javac>
+	</target>
+
+	<target name="dist" depends="compile"
+			description="generate the distribution">
+		<jar jarfile="${build}/txbridge.jar">
+			<fileset dir="${build}/classes">
+				<include name="org/jboss/txbridge/*"/>
+			</fileset>
+		</jar>
+	</target>
+
+</project>
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/BUILDING
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/BUILDING	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/BUILDING	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,32 @@
+#
+# 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.0.3SP1.  Please download
+and install this app server 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
+ - execute 'sh build.sh jboss clean build' on unix or
+   'build.bat jboss clean build' on windows
+ - deploy the generated ear file into an instance of JBoss4.0.3SP 1
+
+Open a browser and enter the xts-demo url (e.g. http://localhost:8080/xts-demo)

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/BasicClient.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/BasicClient.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/Bistro.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/Bistro.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/JaxWSClientHeaderContextProcessor.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/JaxWSClientHeaderContextProcessor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/jaxws-handlers-client.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/jaxws-handlers-client.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/bistro/jaxws-handlers-client.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,16 @@
+<?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 javaee_web_services_1_2.xsd">
+
+   <handler-chain>
+      <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+
+      <handler>
+         <handler-name> LogHandler </handler-name>
+         <handler-class> com.arjuna.xts.nightout.clients.jboss.bistro.JaxWSClientHeaderContextProcessor </handler-class>
+      </handler>
+
+   </handler-chain>
+</handler-chains>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/Bistro.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/Bistro.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroEntityImpl.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroEntityImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroImpl.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroXAResource.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/BistroXAResource.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/JaxWSServerHeaderContextProcessor.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/JaxWSServerHeaderContextProcessor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/jaxws-handlers-server.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/jaxws-handlers-server.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Bistro/jaxws-handlers-server.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,29 @@
+<?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 javaee_web_services_1_2.xsd">
+
+	<handler-chain>
+		<protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+
+		<!-- JSR 181 does not seem to define ordering of handlers in a chain, which may be a problem
+			Nor does it say anything about instances/threading/lifecycle
+			perhaps go from jar 101 (jax-rpc) instead?
+			12.1.4 says default is to invoke in order of registration
+			12.4 seems to imply you can't assume same instance will process request+reply
+			use set/setProperty on MessageContext for state
+		-->
+
+		<handler>
+			<handler-name>TransactionBridgeHandler</handler-name>
+			<handler-class>org.jboss.txbridge.JaxWSTransactionBridgeHandler</handler-class>
+		</handler>
+
+		<handler>
+			<handler-name>WebServicesTxContextHandler</handler-name>
+			<handler-class>com.arjuna.xts.nightout.services.Bistro.JaxWSServerHeaderContextProcessor</handler-class>
+		</handler>
+
+	</handler-chain>
+</handler-chains>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/IRestaurantService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/IRestaurantService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/IRestaurantServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/IRestaurantServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantManager.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$1.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$2.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$3.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$4.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$5.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$5.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$6.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView$6.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Restaurant/RestaurantView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/ITaxiService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/ITaxiService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/ITaxiServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/ITaxiServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiManager.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$1.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$2.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$3.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$4.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Taxi/TaxiView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/ITheatreService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/ITheatreService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/ITheatreServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/ITheatreServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreManager.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreServiceAT.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreServiceAT.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreServiceBA.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreServiceBA.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$1.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$2.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$3.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$4.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$5.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$5.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$6.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$6.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$7.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$7.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$8.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView$8.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView.class
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/classes/com/arjuna/xts/nightout/services/Theatre/TheatreView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/client-web-app.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/client-web-app.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/client-web-app.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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>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>
+    </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/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wscf.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wscf.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wscf.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wst.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wst.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wst.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wstx.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wstx.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config/wstx.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/build/config.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/config.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/txbridge-demo.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/txbridge-demo.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/ws-c.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/ws-c.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/ws-t.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/ws-t.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo-webservices.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo-webservices.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo.ear
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo.ear
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build/xts-demo.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.bat
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.bat	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.bat	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/build.sh
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.sh	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.sh	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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 [weblogic|jboss] <target>                                   #
+###############################################################################
+
+if [ $# -ge 1 ]
+then
+  propertyfile=$1.properties
+  if [ -f "$propertyfile" ]
+  then
+    shift
+    exec ant -Dxmlpropertyfile $propertyfile "$@"
+  fi
+fi
+
+echo "Usage: `basename $0` [weblogic|jboss|webmethods] <target>"
+exit 1

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/build.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,417 @@
+<!--
+  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=".">
+
+    <!-- ================================================================== -->
+
+    <!-- Specify weblogic.home if you want a WebLogic build,                -->
+    <!-- webmethods.home for a webMethods build otherwise a JBoss build     -->
+    <!-- will be generated.                                                 -->
+
+    <!-- The properties to override are the following:                      -->
+    <!--    hostname (defaults to localhost)                                -->
+    <!--    port (defaults to 8080 for jboss, 7001 for WebLogic and         -->
+    <!--          8004 for webMethods)                                      -->
+    <!--    urlstub (defaults to xtsdemowebservices for JBoss and WebLogic  -->
+    <!--          and xts-demo for webMethods)                              -->
+
+    <!--    deploy.dir The deployment directory for the ear                 -->
+    <!-- ================================================================== -->
+
+	<property name="jboss.server.dir" location="C:\RedHat\JBossAS\build\output\jboss-4.2.0.GA\server\all\"/>
+	<property name="xts.home" location="C:\RedHat\JBossTS\XTS\xts-install"/>
+	
+	<property name="deploy.dir" location="${jboss.server.dir}/deploy"/>
+	<property name="bridge.jar" location="../build/txbridge.jar"/>
+
+	<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="lib.libs" value="wstx.jar ws-t.jar ws-c.jar"/>
+    <property name="ext.libs" value="jbossjts.jar"/>
+    <property name="ext.compile" value="${ext.libs} jaxrpc.jar servlet.jar"/>
+
+    <property name="ext.package" value="${ext.libs} jbossts-common.jar commons-logging.jar stax-api-1.0.jar wstx-asl-2.0.3.jar"/>
+
+    <!-- ================================================================== -->
+
+    <property name="build.dir" location="build"/>
+    <property name="src.dir" location="src"/>
+    <property name="web.dir" location="web"/>
+    <property name="dd.dir" location="dd"/>
+    <property name="jboss.dd.dir" location="${dd.dir}/jboss"/>
+    <property name="webmethods.dd.dir" location="${dd.dir}/webmethods"/>
+    <property name="weblogic.dd.dir" location="${dd.dir}/weblogic"/>
+    <property name="build.config" location="${build.dir}/config"/>
+    <property name="build.soapconfig" location="${build.dir}/soapconfig"/>
+    <property name="appinf.dir" location="${build.dir}/APP-INF"/>
+    <property name="appinflib.dir" location="${appinf.dir}/lib"/>
+
+    <property name="webmethods.build.dir" location="${build.dir}/xts-demo"/>
+
+    <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>
+
+    <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="hostname" value="${hostname}"/>
+        <filter token="port" value="${port}"/>
+        <filter token="urlstub" value="${urlstub}"/>
+    </filterset>
+
+    <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-build">
+        <condition property="jboss.build">
+            <not>
+                <or>
+                    <isset property="weblogic.home"/>
+                    <isset property="webmethods.home"/>
+                </or>
+            </not>
+        </condition>
+    </target>
+
+    <target name="init-properties-weblogic" depends="init-build" if="weblogic.home">
+        <property name="hostname" value="localhost"/>
+        <property name="port" value="7001"/>
+        <property name="urlstub" value="xtsdemowebservices"/>
+        <path id="compile.path">
+            <path refid="lib.path"/>
+            <path refid="ext.path"/>
+            <fileset dir="${weblogic.home}/server/lib" includes="webservices.jar"/>
+        </path>
+    </target>
+
+    <target name="init-properties-webmethods" depends="init-build" if="webmethods.home">
+        <property name="hostname" value="localhost"/>
+        <property name="port" value="8004"/>
+        <property name="urlstub" value="xts-demo"/>
+        <path id="compile.path">
+            <path refid="lib.path"/>
+            <path refid="ext.path"/>
+            <pathelement location="${webmethods.home}/lib/glue.jar"/>
+        </path>
+        <property name="webmethods.deploy.dir" location="${deploy.dir}/xts-demo"/>
+    </target>
+
+    <target name="init-properties" depends="init-build" if="jboss.build">
+        <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="ext.path"/>
+
+			<fileset dir="${jboss.server.dir}/lib">
+				<include name="log4j.jar"/>
+				<include name="jboss-ejb3x.jar"/>
+				<include name="ejb-3_0-api.jar"/>
+				<include name="ejb3-persistence.jar"/>
+				<include name="jboss-ejb3x.jar"/>
+				<include name="jboss-saaj.jar"/>
+				<include name="jboss-j2ee.jar"/>
+			</fileset>
+			<fileset dir="${deploy.dir}/jbossws.sar">
+				<include name="jboss-jaxws.jar"/>
+				<include name="stax-api.jar"/>
+			</fileset>
+			<pathelement location="${bridge.jar}"/>
+		</path>
+    </target>
+
+    <target name="init" depends="init-properties-weblogic,init-properties-webmethods,init-properties">
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${build.dir}/classes"/>
+        <mkdir dir="${build.config}"/>
+        <mkdir dir="${build.soapconfig}"/>
+        <mkdir dir="${appinf.dir}"/>
+        <mkdir dir="${appinflib.dir}"/>
+    </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>
+                <include name="com/arjuna/xts/nightout/clients/jboss/**" if="jboss.build"/>
+                <include name="com/arjuna/xts/nightout/clients/weblogic/**" if="weblogic.home"/>
+                <include name="com/arjuna/xts/nightout/clients/webmethods/**" if="webmethods.home"/>
+                <include name="com/arjuna/xts/nightout/services/**"/>
+            </patternset>
+        </javac>
+    </target>
+
+    <!-- the server side elements -->
+    <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="weblogic-webservices" depends="compile" if="weblogic.home">
+        <copy file="${weblogic.dd.dir}/web-services.xml" tofile="${build.dir}/web-services.xml"/>
+        <war destfile="${build.dir}/xts-demo-webservices.war" webxml="${weblogic.dd.dir}/web.xml">
+            <webinf dir="${build.dir}">
+                <include name="web-services.xml"/>
+            </webinf>
+            <classes dir="${build.dir}/classes">
+                <include name="com/arjuna/xts/nightout/services/**/*"/>
+            </classes>
+            <manifest>
+                <attribute name="Class-Path" value="${lib.libs} ${ext.libs}"/>
+            </manifest>
+        </war>
+    </target>
+
+    <target name="jboss-webservices" depends="compile" if="jboss.build">
+		<war destfile="${build.dir}/xts-demo-webservices.war" webxml="${jboss.dd.dir}/service-web-app.xml">
+            <webinf dir="${jboss.dd.dir}" excludes="client-web-app.xml service-web-app.xml jaxws-handlers-server.xml"/>
+            <fileset dir="${build.dir}/classes">
+                <include name="com/arjuna/xts/nightout/services/**"/>
+				<exclude name="com/arjuna/xts/nightout/services/Bistro/*"/>
+			</fileset>
+            <manifest>
+                <attribute name="Class-Path" value="${lib.libs} ${ext.libs}"/>
+            </manifest>
+        </war>
+
+		<copy file="${jboss.dd.dir}/jaxws-handlers-server.xml" todir="${build.dir}/classes/com/arjuna/xts/nightout/services/Bistro"/>
+		<jar destfile="${build.dir}/txbridge-demo.jar">
+			<metainf dir="${jboss.dd.dir}" includes="persistence.xml"/>
+			<fileset dir="${build.dir}/classes">
+				<include name="com/arjuna/xts/nightout/services/Bistro/*"/>
+			</fileset>
+			<manifest>
+				<attribute name="Class-Path" value="txbridge.jar"/>
+			</manifest>
+			<!-- TODO: perssitence.xml -->
+		</jar>
+    </target>
+
+    <!-- the client side elements -->
+    <target name="weblogic-webapp" depends="compile" if="weblogic.home">
+        <copy tofile="${build.dir}/client-web-app.xml" file="${weblogic.dd.dir}/web-app.xml">
+            <filterset refid="webxml.filter"/>
+        </copy>
+
+        <!-- move resources into the classes directory -->
+        <copy todir="${build.dir}/classes/">
+            <fileset dir="${src.dir}" includes="com/arjuna/xts/nightout/clients/weblogic/**/*.xml"/>
+        </copy>
+
+        <war warfile="${build.dir}/xts-demo.war" webxml="${build.dir}/client-web-app.xml">
+            <classes dir="${build.dir}/classes">
+                <exclude name="com/arjuna/xts/nightout/services/**/*"/>
+            </classes>
+            <fileset dir="${web.dir}"/>
+            <manifest>
+                <attribute name="Class-Path" value="wstx.jar"/>
+            </manifest>
+        </war>
+    </target>
+
+    <target name="jboss-webapp" depends="compile" if="jboss.build">
+        <copy tofile="${build.dir}/client-web-app.xml" file="${jboss.dd.dir}/client-web-app.xml">
+            <filterset refid="webxml.filter"/>
+        </copy>
+
+		<copy file="${jboss.dd.dir}/jaxws-handlers-client.xml" todir="${build.dir}/classes/com/arjuna/xts/nightout/clients/jboss/bistro"/>
+		<war warfile="${build.dir}/xts-demo.war" webxml="${build.dir}/client-web-app.xml">
+            <classes dir="${build.dir}/classes">
+                <exclude name="com/arjuna/xts/nightout/services/**/*"/>
+            </classes>
+            <fileset dir="${web.dir}"/>
+            <manifest>
+                <attribute name="Class-Path" value="wstx.jar"/>
+            </manifest>
+            <webinf dir="${jboss.dd.dir}" includes="wsdl/**, client-jaxrpc-mapping.xml"/>
+        </war>
+    </target>
+
+    <target name="weblogic-ear" depends="weblogic-webservices, weblogic-webapp, config" if="weblogic.home">
+        <copy todir="${appinflib.dir}">
+	        <fileset dir="${xts.home}/lib" includes="*.jar"/>
+	        <fileset dir="${xts.home}/lib/ext" includes="${ext.package}"/>
+            <fileset dir="${build.dir}" includes="config.jar"/>
+        </copy>
+        <ear earfile="${build.dir}/xts-demo.ear" appxml="${weblogic.dd.dir}/application.xml">
+            <fileset dir="${xts.home}/webapps" includes="*.war" excludes="ws-t.war ws-c.war"/>
+            <fileset dir="${build.dir}" includes="xts-demo-webservices.war xts-demo.war ws-t.war ws-c.war"/>
+            <fileset dir="${build.dir}" includes="APP-INF/**"/>
+        </ear>
+    </target>
+
+    <target name="jboss-ear" depends="jboss-webservices, jboss-webapp, config" if="jboss.build">
+        <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 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"/>
+			<fileset file="${bridge.jar}"/>
+			<fileset file="${build.dir}/txbridge-demo.jar"/>
+        </ear>
+    </target>
+
+    <target name="webmethods-app" depends="config" if="webmethods.home">
+        <mkdir dir="${webmethods.build.dir}"/>
+        <property name="webmethods.webinf.dir" location="${webmethods.build.dir}/WEB-INF"/>
+        <property name="webmethods.classes.dir" location="${webmethods.webinf.dir}/classes"/>
+        <property name="webmethods.lib.dir" location="${webmethods.webinf.dir}/lib"/>
+        <property name="webmethods.services.dir" location="${webmethods.webinf.dir}/services"/>
+
+        <mkdir dir="${webmethods.webinf.dir}"/>
+        <mkdir dir="${webmethods.classes.dir}"/>
+        <mkdir dir="${webmethods.lib.dir}"/>
+        <mkdir dir="${webmethods.services.dir}"/>
+        <mkdir dir="${build.soapconfig}/services"/>
+
+        <copy todir="${webmethods.build.dir}">
+            <fileset dir="${web.dir}"/>
+        </copy>
+        <copy todir="${webmethods.webinf.dir}" file="${webmethods.dd.dir}/glue-config.xml">
+          <filterset>
+            <filter token="hostname" value="${hostname}"/>
+            <filter token="port" value="${port}"/>
+          </filterset>
+        </copy>
+        <copy tofile="${webmethods.webinf.dir}/web.xml" file="${webmethods.dd.dir}/web-app.xml">
+          <filterset refid="webxml.filter"/>
+        </copy>
+
+        <copy todir="${webmethods.classes.dir}">
+          <fileset dir="${build.dir}/classes"/>
+        </copy>
+
+        <copy todir="${build.soapconfig}/services">
+            <fileset dir="${webmethods.dd.dir}" includes="javax.*"/>
+        </copy>
+        <jar file="${build.dir}/soapconfig.jar">
+             <metainf dir="${build.soapconfig}"/>
+        </jar>
+
+        <copy todir="${webmethods.lib.dir}">
+          <fileset dir="${xts.home}/lib" includes="*.jar"/>
+          <fileset dir="${xts.home}/lib/ext" includes="${ext.package}"/>
+          <fileset dir="${build.dir}" includes="config.jar soapconfig.jar"/>
+	    </copy>
+
+        <copy todir="${webmethods.services.dir}">
+            <fileset dir="${webmethods.dd.dir}">
+                <include name="*AT.xml"/>
+                <include name="*BA.xml"/>
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="build" depends="jboss-ear, weblogic-ear, webmethods-app"/>
+
+    <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="deploy" depends="deploy-ears, deploy-exploded"/>
+
+    <target name="deploy-ears" depends="build, undeploy" unless="webmethods.home">
+        <copy file="${build.dir}/xts-demo.ear" tofile="${deploy.dir}/xts-demo.ear"/>
+    </target>
+
+    <target name="deploy-exploded" depends="build, undeploy" if="webmethods.home">
+        <mkdir dir="${webmethods.deploy.dir}"/>
+        <copy todir="${webmethods.deploy.dir}">
+             <fileset dir="${webmethods.build.dir}"/>
+        </copy>
+    </target>
+
+    <target name="undeploy" depends="undeploy-ears, undeploy-exploded"/>
+
+    <target name="undeploy-ears" unless="webmethods.home">
+        <delete file="${deploy.dir}/xts-demo.ear"/>
+    </target>
+
+    <target name="undeploy-exploded" if="webmethods.home">
+        <delete dir="${webmethods.deploy.dir}"/>
+    </target>
+</project>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/application.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/application.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/application.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+-->
+
+<!-- $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-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>
+
+	<module>
+			<ejb>txbridge-demo.jar</ejb>
+	</module>
+	
+</application>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/client-jaxrpc-mapping.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/client-jaxrpc-mapping.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/client-jaxrpc-mapping.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/client-web-app.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/client-web-app.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/client-web-app.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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>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>
+    </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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxrpc-mapping.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxrpc-mapping.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxrpc-mapping.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxws-handlers-client.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxws-handlers-client.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxws-handlers-client.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,16 @@
+<?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 javaee_web_services_1_2.xsd">
+
+   <handler-chain>
+      <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+
+      <handler>
+         <handler-name> LogHandler </handler-name>
+         <handler-class> com.arjuna.xts.nightout.clients.jboss.bistro.JaxWSClientHeaderContextProcessor </handler-class>
+      </handler>
+
+   </handler-chain>
+</handler-chains>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxws-handlers-server.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxws-handlers-server.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/jaxws-handlers-server.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,29 @@
+<?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 javaee_web_services_1_2.xsd">
+
+	<handler-chain>
+		<protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+
+		<!-- JSR 181 does not seem to define ordering of handlers in a chain, which may be a problem
+			Nor does it say anything about instances/threading/lifecycle
+			perhaps go from jar 101 (jax-rpc) instead?
+			12.1.4 says default is to invoke in order of registration
+			12.4 seems to imply you can't assume same instance will process request+reply
+			use set/setProperty on MessageContext for state
+		-->
+
+		<handler>
+			<handler-name>TransactionBridgeHandler</handler-name>
+			<handler-class>org.jboss.txbridge.JaxWSTransactionBridgeHandler</handler-class>
+		</handler>
+
+		<handler>
+			<handler-name>WebServicesTxContextHandler</handler-name>
+			<handler-class>com.arjuna.xts.nightout.services.Bistro.JaxWSServerHeaderContextProcessor</handler-class>
+		</handler>
+
+	</handler-chain>
+</handler-chains>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/persistence.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/persistence.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/persistence.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,9 @@
+<persistence>
+  <persistence-unit name="bistro">
+    <jta-data-source>java:/DefaultDS</jta-data-source>
+    <properties>
+      <property name="hibernate.hbm2ddl.auto"
+                value="create-drop"/>
+    </properties>
+  </persistence-unit>
+</persistence>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/service-web-app.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/service-web-app.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/service-web-app.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/webservices.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/webservices.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/webservices.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,140 @@
+<!--
+  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>
+				<soap-header xmlns:wscoor="http://schemas.xmlsoap.org/ws/2004/10/wscoor">wscoor:CoordinationContext</soap-header>
+			</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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/RestaurantServiceAT.wsdl
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/RestaurantServiceAT.wsdl	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/RestaurantServiceAT.wsdl	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/RestaurantServiceBA.wsdl
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/RestaurantServiceBA.wsdl	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/RestaurantServiceBA.wsdl	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TaxiServiceAT.wsdl
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TaxiServiceAT.wsdl	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TaxiServiceAT.wsdl	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TaxiServiceBA.wsdl
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TaxiServiceBA.wsdl	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TaxiServiceBA.wsdl	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TheatreServiceAT.wsdl
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TheatreServiceAT.wsdl	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TheatreServiceAT.wsdl	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TheatreServiceBA.wsdl
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TheatreServiceBA.wsdl	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/jboss/wsdl/TheatreServiceBA.wsdl	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/application.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/application.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/application.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.5 2003/04/14 11:54:17 jhalliday 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-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/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web-app.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web-app.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web-app.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,65 @@
+<!--
+  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: web-app.xml,v 1.2 2003/04/14 11:54:17 jhalliday Exp $ -->
+
+<!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>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.weblogic.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>
+
+</web-app>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web-services.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web-services.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web-services.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,104 @@
+<!--
+  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-services xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <handler-chains>
+    <handler-chain name="WSTContextProcessor">
+      <handler class-name="com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor"/>
+    </handler-chain>
+  </handler-chains>
+
+  <web-service name="RestaurantServiceAT" uri="/RestaurantServiceAT" targetNamespace="http://www.arjuna.com/xtsdemo/nightout/RestaurantServiceAT">
+    <components>
+      <java-class name="restaurantServiceAT" class-name="com.arjuna.xts.nightout.services.Restaurant.RestaurantServiceAT"/>
+    </components>
+    <operations>
+      <operation method="bookSeats" handler-chain="WSTContextProcessor" component="restaurantServiceAT">
+        <params>
+          <param name="howMany" class-name="java.lang.Integer" style="in" type="xsd:int"/>
+        </params>
+      </operation>
+    </operations>
+  </web-service>
+  <web-service name="RestaurantServiceBA" uri="/RestaurantServiceBA" targetNamespace="http://www.arjuna.com/xtsdemo/nightout/RestaurantServiceBA">
+    <components>
+      <java-class name="restaurantServiceBA" class-name="com.arjuna.xts.nightout.services.Restaurant.RestaurantServiceBA"/>
+    </components>
+    <operations>
+      <operation method="bookSeats" handler-chain="WSTContextProcessor" component="restaurantServiceBA">
+        <params>
+          <param name="howMany" class-name="java.lang.Integer" style="in" type="xsd:int"/>
+	      <return-param name="result" class-name="java.lang.Boolean" type="xsd:boolean"/>
+	    </params>
+      </operation>
+    </operations>
+  </web-service>
+
+  <web-service name="TaxiServiceAT" uri="/TaxiServiceAT" targetNamespace="http://www.arjuna.com/xtsdemo/nightout/TaxiServiceAT">
+    <components>
+      <java-class name="taxiServiceAT" class-name="com.arjuna.xts.nightout.services.Taxi.TaxiServiceAT"/>
+    </components>
+    <operations>
+      <operation method="bookTaxi" handler-chain="WSTContextProcessor" component="taxiServiceAT"/>
+    </operations>
+  </web-service>
+  <web-service name="TaxiServiceBA" uri="/TaxiServiceBA" targetNamespace="http://www.arjuna.com/xtsdemo/nightout/TaxiServiceBA">
+    <components>
+      <java-class name="taxiServiceBA" class-name="com.arjuna.xts.nightout.services.Taxi.TaxiServiceBA"/>
+    </components>
+    <operations>
+      <operation method="bookTaxi" handler-chain="WSTContextProcessor" component="taxiServiceBA">
+        <params>
+	      <return-param name="result" class-name="java.lang.Boolean" type="xsd:boolean"/>
+	    </params>
+	  </operation>
+    </operations>
+  </web-service>
+
+  <web-service name="TheatreServiceAT" uri="/TheatreServiceAT" targetNamespace="http://www.arjuna.com/xtsdemo/nightout/TheatreServiceAT">
+    <components>
+      <java-class name="theatreServiceAT" class-name="com.arjuna.xts.nightout.services.Theatre.TheatreServiceAT"/>
+    </components>
+    <operations>
+      <operation method="bookSeats" handler-chain="WSTContextProcessor" component="theatreServiceAT">
+        <params>
+          <param name="howMany" class-name="java.lang.Integer" style="in" type="xsd:int"/>
+          <param name="whichArea" class-name="java.lang.Integer" style="in" type="xsd:int"/>
+        </params>
+      </operation>
+    </operations>
+  </web-service>
+  <web-service name="TheatreServiceBA" uri="/TheatreServiceBA" targetNamespace="http://www.arjuna.com/xtsdemo/nightout/TheatreServiceBA">
+    <components>
+      <java-class name="theatreServiceBA" class-name="com.arjuna.xts.nightout.services.Theatre.TheatreServiceBA"/>
+    </components>
+    <operations>
+      <operation method="bookSeats" handler-chain="WSTContextProcessor" component="theatreServiceBA">
+        <params>
+          <param name="howMany" class-name="java.lang.Integer" style="in" type="xsd:int"/>
+          <param name="whichArea" class-name="java.lang.Integer" style="in" type="xsd:int"/>
+	      <return-param name="result" class-name="java.lang.Boolean" type="xsd:boolean"/>
+	    </params>
+      </operation>
+    </operations>
+  </web-service>
+</web-services>
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/weblogic/web.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,23 @@
+<!--
+  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>
+</web-app>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/RestaurantServiceAT.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/RestaurantServiceAT.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/RestaurantServiceAT.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,32 @@
+<!--
+  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.
+-->
+
+<service>
+  <constructor>
+    <class>com.arjuna.xts.nightout.services.Restaurant.RestaurantServiceAT</class>
+  </constructor>
+  <description>Restaurant (Atomic Transaction) service</description>
+
+  <interface>com.arjuna.xts.nightout.services.Restaurant.IRestaurantService</interface>
+
+  <inboundSoapRequestInterceptor>com.arjuna.mw.wst.service.GlueIncomingContextInterceptor</inboundSoapRequestInterceptor>
+  <outboundSoapResponseInterceptor>com.arjuna.mw.wst.service.GlueOutgoingContextInterceptor</outboundSoapResponseInterceptor>
+</service>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/RestaurantServiceBA.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/RestaurantServiceBA.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/RestaurantServiceBA.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,32 @@
+<!--
+  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.
+-->
+
+<service>
+  <constructor>
+    <class>com.arjuna.xts.nightout.services.Restaurant.RestaurantServiceBA</class>
+  </constructor>
+  <description>Restaurant (Business Activity) service</description>
+
+  <interface>com.arjuna.xts.nightout.services.Restaurant.IRestaurantServiceBA</interface>
+
+  <inboundSoapRequestInterceptor>com.arjuna.mw.wst.service.GlueIncomingContextInterceptor</inboundSoapRequestInterceptor>
+  <outboundSoapResponseInterceptor>com.arjuna.mw.wst.service.GlueOutgoingContextInterceptor</outboundSoapResponseInterceptor>
+</service>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TaxiServiceAT.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TaxiServiceAT.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TaxiServiceAT.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,32 @@
+<!--
+  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.
+-->
+
+<service>
+  <constructor>
+    <class>com.arjuna.xts.nightout.services.Taxi.TaxiServiceAT</class>
+  </constructor>
+  <description>Taxi (Atomic Transaction) service</description>
+
+  <interface>com.arjuna.xts.nightout.services.Taxi.ITaxiService</interface>
+
+  <inboundSoapRequestInterceptor>com.arjuna.mw.wst.service.GlueIncomingContextInterceptor</inboundSoapRequestInterceptor>
+  <outboundSoapResponseInterceptor>com.arjuna.mw.wst.service.GlueOutgoingContextInterceptor</outboundSoapResponseInterceptor>
+</service>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TaxiServiceBA.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TaxiServiceBA.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TaxiServiceBA.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,32 @@
+<!--
+  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.
+-->
+
+<service>
+  <constructor>
+    <class>com.arjuna.xts.nightout.services.Taxi.TaxiServiceBA</class>
+  </constructor>
+  <description>Taxi (Business Activity) service</description>
+
+  <interface>com.arjuna.xts.nightout.services.Taxi.ITaxiServiceBA</interface>
+
+  <inboundSoapRequestInterceptor>com.arjuna.mw.wst.service.GlueIncomingContextInterceptor</inboundSoapRequestInterceptor>
+  <outboundSoapResponseInterceptor>com.arjuna.mw.wst.service.GlueOutgoingContextInterceptor</outboundSoapResponseInterceptor>
+</service>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TheatreServiceAT.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TheatreServiceAT.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TheatreServiceAT.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,32 @@
+<!--
+  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.
+-->
+
+<service>
+  <constructor>
+    <class>com.arjuna.xts.nightout.services.Theatre.TheatreServiceAT</class>
+  </constructor>
+  <description>Theatre (Atomic Transaction) service</description>
+
+  <interface>com.arjuna.xts.nightout.services.Theatre.ITheatreService</interface>
+
+  <inboundSoapRequestInterceptor>com.arjuna.mw.wst.service.GlueIncomingContextInterceptor</inboundSoapRequestInterceptor>
+  <outboundSoapResponseInterceptor>com.arjuna.mw.wst.service.GlueOutgoingContextInterceptor</outboundSoapResponseInterceptor>
+</service>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TheatreServiceBA.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TheatreServiceBA.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/TheatreServiceBA.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,32 @@
+<!--
+  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.
+-->
+
+<service>
+  <constructor>
+    <class>com.arjuna.xts.nightout.services.Theatre.TheatreServiceBA</class>
+  </constructor>
+  <description>Theatre (Business Activity) service</description>
+
+  <interface>com.arjuna.xts.nightout.services.Theatre.ITheatreServiceBA</interface>
+
+  <inboundSoapRequestInterceptor>com.arjuna.mw.wst.service.GlueIncomingContextInterceptor</inboundSoapRequestInterceptor>
+  <outboundSoapResponseInterceptor>com.arjuna.mw.wst.service.GlueOutgoingContextInterceptor</outboundSoapResponseInterceptor>
+</service>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/glue-config.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/glue-config.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/glue-config.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,1958 @@
+<!--
+  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.
+-->
+
+<!--
+  Welcome to the Glue configuration file.
+
+  A copy of this file is located in glue.jar with the name "glue-default-config.xml".
+  If Glue runs a web application and no "glue-config.xml" is found in the application's
+  class path or WEB-INF directory, the file "glue-default-config.xml" is used instead.
+
+  If the newapp utility is used to create a skeleton J2EE application structure,
+  this file is copied from <GLUE-HOME>/app-template/WEB-INF/glue-config.xml
+  into the new application's WEB-INF directory.
+
+  The configuration file is comprised of the following sections:
+
+  PRODUCT INFORMATION
+    - the product name and version information
+
+  SERVER SETTINGS
+    - specifies the URL of the application's web server and optional JMS servers
+
+  BASE WEB.XML MAPPINGS
+    - specifies the base web-app mappings that are added to the ones in web.xml
+
+  MAP FILE LIST
+    - if Glue is hosted in an old servlet 2.1 container, this section is used to
+      list all the map files in WEB-INF\maps
+
+  SERVICE DESCRIPTOR LIST
+    - if Glue is hosted in an old servlet 2.1 container, this section is used to
+      list all the service descriptors in WEB-INF\services
+
+  STARTUP COMMANDS
+    - lists static methods to invoke on application startup
+
+  LOGGING
+    - configures logging channels
+    - sets log file
+    - sets the format of logged events
+
+  INSTRUMENTATION
+    - enables/disables instrumentation of web services and/or http messaging
+
+  HOT DEPLOYMENT
+    - enables/disables hot deployment
+    - sets cycle time for monitoring changes
+
+  THREADS
+    - sets the thread pool size
+
+  SOCKETS
+    - sets socket timeout values, pool sizes, buffer sizes, and factories
+
+  SOCKET FACTORIES
+    - lists socket factories
+
+  MESSAGE FACTORIES
+    - lists message factories
+
+  HTTP
+    - sets http buffer sizes
+
+  HTTP PROXIES
+    - sets the host, port and authentication for an http proxy
+
+  SSL
+    - specifies authentication and cipher suites for ssl sockets
+
+  AUTHENTICATION
+    - lists realms
+    - sets default realm
+    - sets the default authentication method
+
+  WS-SECURITY
+    - lists predefined security templates
+
+  XML-SIGNATURES/ENCRYPTION
+    - canonicalization, signature and encryption algorithms
+
+  SESSIONS
+    - sets the session timeout value
+    - sets cycle time for checking sessions
+
+  SOAP HTTP
+    - sets the max retries for soap messages
+
+  SOAP INTERCEPTORS
+    - lists inbound and outbound soap interceptors
+
+  SOAP OPTIMIZATIONS
+    - enables/disables various soap message optimizations
+
+  SOAP OPERATION LOOKUP
+    - lists the factories for soap operation lookup
+
+  SOAP ATTACHMENTS
+    - lists the content id used for soap attachments
+    - sets the attachments buffer size
+
+  WSDL
+    - lists the wsdl bindings to generate
+    - sets the default target namespace
+    - lists the protocols to support
+
+  SERVICES
+    - sets the default messaging style
+    - sets the wrapper class for objects published as web services
+    - sets handlers for initializing a service from a descriptor
+
+  HOLDERS
+    - enable/disable JAX/RPC holders
+
+  SOAP HANDLER FACTORIES
+    - list of factories for creating server-side soap handler chain
+
+  SOAP REFERENCE FACTORIES
+    - list of factories for creating client-side soap reference chain
+
+  REGISTRIES
+    - registry chain for resolving publish/bind requests
+
+  LOAD BALANCER FACTORIES
+    - set up fabric load balancing
+
+  APPLICATION CONTEXT
+    - list of properties to add to application context at startup
+
+  MIME TYPES
+    - list of default mime type mappings
+
+  XPATHS
+    - set default xpath factory
+    - enable/disable xpath caching
+
+  JAXP
+    - set default dom and sax factories
+
+  XML/JAVA MAPPING
+    - enable/disable direct field access
+    - enable/disable property supression
+    - enable/disable java serialization
+    - set namespace prefix
+    - enable/disable type attributes when writing literals
+
+  TYPE FACTORIES
+    - lists type factories
+    - specify the default array type
+
+  XML SCHEMAS
+    - lists all supported xml schemas
+    - sets the default schema
+
+  XML ENCODINGS
+    - sets suggested encodings
+
+  HTTP ENCODINGS
+    - sets assumed encodings
+
+  SOAP ENCODINGS
+    - sets default encodings for soap messages
+
+  JMS ADAPTORS
+    - lists installed jms adapters
+
+  MANAGEMENT CONSOLE
+    - lists console panels
+
+  UDDI
+    - lists default tmodels
+
+  GENERAL FABRIC
+    - allows an application to automatically join fabric
+    
+  FABRIC SECURITY
+    - selects the realm to use as the fabric realm
+    - selects fabric username and password
+    - selects fabric key store and trust store
+
+  FABRIC DISCOVERY
+    - selects locator to use
+    - lists available locators
+
+  FABRIC XML DATABASE
+    - seconds between server syncs
+    - default replication factor
+    - factory for creating data stores
+
+  FABRIC ENDPOINT ACTIVITY
+    - seconds between keep-alive cycles
+    - seconds between check for rule updates
+
+  FABRIC LIVENESS CHECKING
+    - seconds between checking nodes for liveness
+    - seconds after which a dead node should be removed
+    - seconds between checking services for liveness
+    - seconds after which a dead service should be removed
+-->
+
+<config>
+  <!--***************************************************************-->
+  <!--PRODUCT INFORMATION-->
+  <!--***************************************************************-->
+
+  <!--name and version information-->
+  <product>
+    <name>Glue</name>
+    <version>
+      <major>5</major>
+      <minor>0</minor>
+      <patch>1</patch>
+    </version>
+  </product>
+
+
+  <!--***************************************************************-->
+  <!--SERVER SETTINGS-->
+  <!--***************************************************************-->
+
+  <!--web server-->
+  <!--this entry is only used when glue is running in standalone mode-->
+  <!--the runapp -p and -u options may be used to override this default url-->
+  <!--$APPNAME is replaced at runtime by the application name-->
+  <webServer>
+    <url>http://@hostname@:@port@/$APPNAME</url>
+  </webServer>
+
+  <!--jms/soap server (Glue professional only)-->
+  <!--$APPNAME is replaced at runtime by the application name-->
+  <!--
+    <url>jms:///$APPNAME</url>
+    <registryPath>/</registryPath>
+  </jmsSoapServer>
+  -->
+
+
+  <!--***************************************************************-->
+  <!--BASE WEB.XML MAPPINGS-->
+  <!--***************************************************************-->
+
+  <!--when glue is running in standalone mode and web.xml is-->
+  <!--read, any url patterns that are in this base web-app but not-->
+  <!--in the web.xml are automatically added. this feature is currently-->
+  <!--used to automatically add jsp support to user applications-->
+  <base-web-app>
+    <servlet>
+      <servlet-name>glue-jsp</servlet-name>
+      <servlet-class>electric.jsp.JSPServlet</servlet-class>
+      <load-on-startup>3</load-on-startup>
+      <!-- valid logVerbosityLevel settings are FATAL -->
+      <!-- ERROR, WARNING, INFORMATION and DEBUG -->
+      <!--
+      <init-param>
+        <param-name>logVerbosityLevel</param-name>
+        <param-value>DEBUG</param-value>
+      </init-param>
+      -->
+    </servlet>
+
+    <servlet-mapping>
+      <servlet-name>glue-jsp</servlet-name>
+      <url-pattern>*.jsp</url-pattern>
+    </servlet-mapping>
+
+    <welcome-file-list>
+      <welcome-file>index.htm</welcome-file>
+      <welcome-file>index.html</welcome-file>
+      <welcome-file>index.jsp</welcome-file>
+    </welcome-file-list>
+  </base-web-app>
+
+
+  <!--***************************************************************-->
+  <!--MAP FILES-->
+  <!--***************************************************************-->
+
+  <mapFiles>
+    <!--list of map files to read from WEB-INF\maps-->
+    <!--only needed when Glue is hosted in a 3rd-party non-2.3 servlet engine-->
+    <!--attempts to load the same file twice are benign and ignored-->
+    <!--<path>mymap.map</path>-->
+  </mapFiles>
+
+
+  <!--***************************************************************-->
+  <!--SERVICE DESCRIPTORS-->
+  <!--***************************************************************-->
+
+  <serviceDescriptors>
+    <!--list of descriptors to read from WEB-INF\services-->
+    <!--only needed when Glue is hosted in a 3rd-party non-2.3 servlet engine-->
+    <!--attempts to load the same file twice are benign and ignored-->
+    <!-- <path>system/application.xml</path>
+    <path>system/console.xml</path>
+    <path>system/jndi.xml</path> -->
+  </serviceDescriptors>
+
+
+  <!--***************************************************************-->
+  <!--STARTUP COMMANDS-->
+  <!--***************************************************************-->
+
+  <!--list of static methods to invoke on startup-->
+  <!--a method is located using its qualified name and number of arguments-->
+  <!--if a formal argument is not a primitive or string, an instance is-->
+  <!--created by calling its constructor with the string as an argument-->
+  <!--
+  <command>
+    <invoke>mypackage.MyClass.foo()</invoke>
+    <invoke>mypackage.MyClass.bar( 42, "cats" )</invoke>
+  </command>
+  -->
+
+
+  <!--***************************************************************-->
+  <!--LOGGING-->
+  <!--***************************************************************-->
+
+  <logging>
+    <!-- each logger entry defines an instance of a logger to be used-->
+    <logger>
+      <name>default</name>
+      <constructor>
+        <class>electric.util.log.WriterLogger</class>
+        <args>
+          <!--log date and time?-->
+          <logDateTime>false</logDateTime>
+          <logDateTimeFormat>MM:dd:yy hh:mm:ss</logDateTimeFormat>
+          <!--log name of thread?-->
+          <logThreadName>false</logThreadName>
+          <!--log to file?-->
+          <logToFile>false</logToFile>
+          <!-- change this to a reasonable file name-->
+          <fileName>log/default.log</fileName>
+          <append>true</append>
+        </args>
+      </constructor>
+
+      <!--list of logging channels-->
+      <log enabled="yes">STARTUP</log>
+      <log enabled="yes">ERROR</log>
+      <log enabled="yes">COMMENT</log>
+      <log enabled="yes">WARNING</log>
+      <log enabled="yes">SCHEMA</log>
+      <log enabled="no">SECURITY</log>
+      <log enabled="no">SECURITY_DETAIL</log>
+      <log enabled="no">SECURITY_DEBUG</log>
+      <log enabled="no">CONSOLE_DEBUG</log>
+      <log enabled="no">DEPLOYMENT</log>
+      <log enabled="no">CLASSLOADER</log>
+      <log enabled="no">COMMAND</log>
+      <log enabled="no">EXCEPTION</log>
+      <log enabled="no">HTTP</log>
+      <log enabled="no">JMS</log>
+      <log enabled="no">MAPPING</log>
+      <log enabled="no">SERVLET</log>
+      <log enabled="no">SOAP</log>
+      <log enabled="no">SOURCE</log>
+      <log enabled="no">RESOURCES</log>
+
+      <!--fabric channels-->
+      <log enabled="yes">FAILOVER</log>
+      <log enabled="no">XDB_CLIENT</log>
+      <log enabled="no">XDB_SERVER</log>
+      <log enabled="no">XDB_SYNC</log>
+      <log enabled="no">LOCATOR</log>
+      <log enabled="no">INTERMEDIARY</log>
+      <log enabled="no">SERVICE_MANAGER</log>
+    </logger>
+  </logging>
+
+
+  <!--***************************************************************-->
+  <!--INSTRUMENTATION-->
+  <!--***************************************************************-->
+
+  <instrumentation>
+    <!--gather statistics for individual services?-->
+    <instrumentServices>yes</instrumentServices>
+
+    <!--gather statistics for individual http calls?-->
+    <instrumentHttp>yes</instrumentHttp>
+  </instrumentation>
+
+
+  <!--***************************************************************-->
+  <!--HOT DEPLOYMENT-->
+  <!--***************************************************************-->
+
+  <hotDeployment>
+    <!--enable hot deployment?-->
+    <enabled>no</enabled>
+
+    <!--milliseconds between checks for resource changes-->
+    <syncCycle>5000</syncCycle>
+  </hotDeployment>
+
+
+  <!--***************************************************************-->
+  <!--THREADS-->
+  <!--***************************************************************-->
+
+  <!--maximum number of threads in shared thread pool-->
+  <threadPoolSize>70</threadPoolSize>
+
+
+  <!--***************************************************************-->
+  <!--SOCKETS-->
+  <!--***************************************************************-->
+
+  <sockets>
+    <!--max socket connections kept alive in server-side socket pool-->
+    <maxInboundKeepAlive>50</maxInboundKeepAlive>
+
+    <!--max socket connections kept alive in client-side socket pool-->
+    <maxOutboundKeepAlive>30</maxOutboundKeepAlive>
+
+    <!--keep alive connections by default?-->
+    <keepAlive>yes</keepAlive>
+
+    <!--timeout in milliseconds for a client reading a response, 0 => infinite-->
+    <clientReadTimeout>0</clientReadTimeout>
+
+    <!--timeout in milliseconds for a server reading a request, 0 => infinite-->
+    <serverReadTimeout>15000</serverReadTimeout>
+
+    <!--buffer size in bytes for socket streams-->
+    <bufferSize>8192</bufferSize>
+
+    <!--max queue length for incoming connection requests-->
+    <backlog>200</backlog>
+  </sockets>
+
+
+  <!--***************************************************************-->
+  <!--SOCKET FACTORIES-->
+  <!--***************************************************************-->
+
+  <!--list of socket factories-->
+  <socketFactories>
+    <factory>electric.net.socket.tcp.TCPSocketFactory</factory>
+    <factory>electric.net.socket.ssl.SSLSocketFactory</factory>
+  </socketFactories>
+
+
+  <!--***************************************************************-->
+  <!--SERVLET MESSAGE FACTORIES-->
+  <!--***************************************************************-->
+
+  <!--list of servlet message factories-->
+  <messageFactories>
+    <factory>electric.webserver.messages.tcp.TCPMessageFactory</factory>
+    <factory>electric.webserver.messages.ssl.SSLMessageFactory</factory>
+  </messageFactories>
+
+
+  <!--***************************************************************-->
+  <!--HTTP-->
+  <!--***************************************************************-->
+
+  <http>
+    <!--buffer size in bytes for streaming http responses-->
+    <responseBufferSize>2048</responseBufferSize>
+
+    <!--buffer size in bytes for copying files from docbase to http response-->
+    <copyBufferSize>16384</copyBufferSize>
+
+    <!--the default http authentication method (basic/digest)-->
+    <defaultAuthMethod>basic</defaultAuthMethod>
+  </http>
+
+
+  <!--***************************************************************-->
+  <!--HTTP PROXIES-->
+  <!--***************************************************************-->
+
+  <!--
+  <httpProxy>
+    <host>proxyhost</host>
+    <port>8000</port>
+    <user>username</user>
+    <password>password</password>
+  </httpProxy>
+  -->
+
+
+  <!--***************************************************************-->
+  <!--SSL-->
+  <!--***************************************************************-->
+
+  <ssl>
+    <!--glue server asks clients for ssl certificates? if the client-->
+    <!--does not send a certificate, or if the client cert is not in the-->
+    <!--server's trust store, the request will be rejected.-->
+    <serverNeedsClientAuth>no</serverNeedsClientAuth>
+
+    <!--glue client forced to ssl server mode (with client auth)? this-->
+    <!--setting is useful only with unusual configurations, and should-->
+    <!--not normally be changed.-->
+    <clientNeedsClientAuth>no</clientNeedsClientAuth>
+
+    <!--cipher suites for client sockets-->
+    <clientCipherSuite>SSL_DH_anon_WITH_RC4_128_MD5</clientCipherSuite>
+    <clientCipherSuite>SSL_DH_anon_WITH_DES_CBC_SHA</clientCipherSuite>
+    <clientCipherSuite>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</clientCipherSuite>
+    <clientCipherSuite>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</clientCipherSuite>
+    <clientCipherSuite>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</clientCipherSuite>
+
+    <!--cipher suites for server sockets-->
+    <serverCipherSuite>SSL_DH_anon_WITH_RC4_128_MD5</serverCipherSuite>
+    <serverCipherSuite>SSL_DH_anon_WITH_DES_CBC_SHA</serverCipherSuite>
+    <serverCipherSuite>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</serverCipherSuite>
+    <serverCipherSuite>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</serverCipherSuite>
+    <serverCipherSuite>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</serverCipherSuite>
+  </ssl>
+
+
+  <!--***************************************************************-->
+  <!--AUTHENTICATION-->
+  <!--***************************************************************-->
+
+  <realms>
+    <!--the default realm-->
+    <!--<defaultRealm>acl</defaultRealm>-->
+
+    <!--list of realms, used by security guards to authenticate clients-->
+    <!--
+    <realm>
+      <constructor>
+        <class>electric.security.acl.ACLRealm</class>
+        <args>
+          <name>acl</name>
+          <path>security\acl.xml</path>
+        </args>
+      </constructor>
+    </realm>
+    -->
+
+    <!--
+    <realm>
+      <constructor>
+        <class>electric.security.jaas.JAASRealm</class>
+        <args>
+          <name>jaas</name>
+          <config>security\jaas.config</config>
+        </args>
+      </constructor>
+    </realm>
+    -->
+
+    <realm>
+      <constructor>
+        <class>com.webmethods.fabric.security.realm.FabricRealm</class>
+        <args>
+          <realmName>realm</realmName>
+          <fabricUser>fabric</fabricUser>
+          <!--<fabricPassword>changeit</fabricPassword>-->
+          <fabricRoles>read,write</fabricRoles>
+        </args>
+      </constructor>
+    </realm>
+
+  </realms>
+
+
+  <!--***************************************************************-->
+  <!--WS-SECURITY -->
+  <!--***************************************************************-->
+
+  <!--ws-security depends on the xml-canonicalization, xml-signature-->
+  <!--and xml-encryption specifications. to use these algorithms it-->
+  <!--may be necessary to uncomment the jaxen xpath factory listed-->
+  <!--in the xpath section-->
+  <wsSecurity>
+    <!--template that specifies that outgoing soap requests-->
+    <!--have the entire soap body element signed-->
+    <!--
+    <signatureTemplate>
+      <name>ExampleSignature</name>
+      <reference>soap:Envelope/soap:Body</reference>
+      <keyStore>clientcert</keyStore>
+      <keyStorePassword>changeit</keyStorePassword>
+      <alias>test</alias>
+    </signatureTemplate>
+    -->
+
+    <!--template that specifies encryption of the body-->
+    <!--contents of outgoing soap requests with the given-->
+    <!--user and key-->
+    <!--
+    <encryptionTemplate>
+      <name>ExampleEncryptionTemplate</name>
+      <reference>soap:Envelope/soap:Body/*</reference>
+      <secretKey>
+        <user>crypto</user>
+        <base64Key>kn89W7byFYz4EOXWs0UxnpJ/PVu28hWM</base64Key>
+      </secretKey>
+    </encryptionTemplate>
+    -->
+  </wsSecurity>
+
+
+  <!--***************************************************************-->
+  <!--XML SIGNATURES/ENCRYPTION -->
+  <!--***************************************************************-->
+
+  <xmlCanonicalization>
+    <factory>
+      <id>http://www.w3.org/2001/10/xml-exc-c14n</id>
+      <class>electric.soap.security.signature.xml.canonical.ExclusiveFactory</class>
+    </factory>
+
+    <factory>
+      <id>http://www.w3.org/TR/2001/REC-xml-c14n-20010315</id>
+      <class>electric.soap.security.signature.xml.canonical.CanonicalFactory</class>
+    </factory>
+  </xmlCanonicalization>
+
+  <xmlSignature>
+    <signatureAlgorithm>
+      <id>http://www.w3.org/2000/09/xmldsig#rsa-sha1</id>
+      <class>electric.soap.security.signature.xml.crypto.SHA1withRSA</class>
+    </signatureAlgorithm>
+
+    <signatureAlgorithm>
+      <id>http://www.w3.org/2000/09/xmldsig#hmac-sha1</id>
+      <class>electric.soap.security.signature.xml.crypto.HMACwithSHA1</class>
+    </signatureAlgorithm>
+  </xmlSignature>
+
+  <xmlEncryption>
+    <encryptionAlgorithm>
+      <id>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</id>
+      <class>electric.soap.security.encryption.xml.crypto.TripleDESCBC</class>
+    </encryptionAlgorithm>
+  </xmlEncryption>
+
+
+  <!--***************************************************************-->
+  <!--SESSIONS-->
+  <!--***************************************************************-->
+
+  <sessions>
+    <!--session timeout in seconds-->
+    <timeout>300</timeout>
+
+    <!--milliseconds between checks for session expiration-->
+    <reapCycle>60000</reapCycle>
+  </sessions>
+
+
+  <!--***************************************************************-->
+  <!--SOAP HTTP-->
+  <!--***************************************************************-->
+
+  <soapHttp>
+    <!--max number of retries for soap invocations-->
+    <invokeMaxRetry>2</invokeMaxRetry>
+  </soapHttp>
+
+
+  <!--***************************************************************-->
+  <!--SOAP INTERCEPTORS-->
+  <!--***************************************************************-->
+
+  <soapInterceptors>
+    <!--list of interceptors for outbound soap responses-->
+    <!--<outboundSoapResponseInterceptor>pkg.MyInterceptor</outboundSoapResponseInterceptor>-->
+
+    <!--list of interceptors for outbound soap requests-->
+    <!--<outboundSoapRequestInterceptor>pkg.MyInterceptor</outboundSoapRequestInterceptor>-->
+	<outboundSoapRequestInterceptor>com.arjuna.mw.wst.client.GlueOutgoingContextInterceptor</outboundSoapRequestInterceptor>
+
+    <!--list of interceptors for inbound soap responses-->
+    <!--<inboundSoapResponseInterceptor>pkg.MyInterceptor</inboundSoapResponseInterceptor>-->
+	<inboundSoapResponseInterceptor>com.arjuna.mw.wst.client.GlueIncomingContextInterceptor</inboundSoapResponseInterceptor>
+
+    <!--list of interceptors for inbound soap requests-->
+    <!--<inboundSoapRequestInterceptor>pkg.MyInterceptor</inboundSoapRequestInterceptor>-->
+  </soapInterceptors>
+
+
+  <!--***************************************************************-->
+  <!--SOAP OPTIMIZATIONS-->
+  <!--***************************************************************-->
+
+  <soapOptimizations>
+    <!--omit xsi:type attributes when possible?-->
+    <typeOmission>yes</typeOmission>
+
+    <!--dynamically compress tags? (glue to glue only)-->
+    <tagSubstitution>yes</tagSubstitution>
+
+    <!--omit envelope when there's just a simple body? (glue to glue only)-->
+    <envelopeOmission>yes</envelopeOmission>
+
+    <!--inline hrefs? (glue to glue only)-->
+    <hrefInlining>yes</hrefInlining>
+  </soapOptimizations>
+
+
+  <!--***************************************************************-->
+  <!--SOAP OPERATION LOOKUP-->
+  <!--***************************************************************-->
+
+  <soapOperationLookupFactories>
+    <!--list of operation lookup factories-->
+    <factory>electric.soap.local.handlers.service.rpc.RPCOperationLookupFactory</factory>
+    <factory>electric.soap.local.handlers.service.wrapped.WrappedOperationLookupFactory</factory>
+  </soapOperationLookupFactories>
+
+
+  <!--***************************************************************-->
+  <!--SOAP ATTACHMENTS-->
+  <!--***************************************************************-->
+
+  <soapAttachments>
+    <!--default style, may be overridden in service descriptors-->
+    <defaultStyle>mime</defaultStyle>
+
+    <!--content id of soap message inside of attachments-->
+    <rootContentId>http://www.webmethods.com/rootpart.xml</rootContentId>
+
+    <!--buffer size in bytes for writing soap requests in soap Attachments-->
+    <streamSourceBufferSize>2048</streamSourceBufferSize>
+  </soapAttachments>
+
+
+  <!--***************************************************************-->
+  <!--WSDL-->
+  <!--***************************************************************-->
+
+  <wsdl>
+    <!--list of bindings-->
+    <binding>soap</binding>
+    <!--<binding>getpost</binding>-->
+
+    <!--target namespace prefix-->
+    <targetNamespacePrefix>http://www.webmethods.com/wsdl/</targetNamespacePrefix>
+
+    <!--target namespace (overrides use of target namespace prefix)-->
+    <!--<targetNamespace>http://www.mytarget.com/mynamespace</targetNamespace>-->
+
+    <!--list of get/post protocols-->
+    <getPostProtocol>http</getPostProtocol>
+    <getPostProtocol>https</getPostProtocol>
+
+    <!-- process wsdl faults -->
+    <wsdlFaults>true</wsdlFaults>
+
+    <!-- generate stack traces on faults -->
+    <enableStackTraces>false</enableStackTraces>
+
+    <!-- allow java.lang.Errors to be thrown from services-->
+    <transmitErrors>false</transmitErrors>
+  </wsdl>
+
+
+  <!--***************************************************************-->
+  <!--SERVICES-->
+  <!--***************************************************************-->
+
+  <services>
+    <!--default messaging style (rpc/document)-->
+    <defaultStyle>rpc</defaultStyle>
+
+    <!--wrapper class for objects published as web services-->
+    <wrapper>electric.service.object.ObjectService</wrapper>
+
+    <!--list of handlers for initializing a service from a descriptor-->
+    <initializer>electric.service.descriptor.initializer.Default</initializer>
+    <initializer>electric.service.descriptor.initializer.Security</initializer>
+    <initializer>electric.service.descriptor.initializer.Role</initializer>
+    <initializer>electric.service.descriptor.initializer.ServiceContext</initializer>
+    <initializer>electric.service.descriptor.initializer.Attachments</initializer>
+    <initializer>electric.soap.security.initializer.Security</initializer>
+  </services>
+
+
+  <!--***************************************************************-->
+  <!--HOLDERS-->
+  <!--***************************************************************-->
+
+  <!--use jax/rpc holders?-->
+  <jaxRpcHolders>no</jaxRpcHolders>
+
+
+  <!--***************************************************************-->
+  <!--SOAP HANDLER FACTORIES-->
+  <!--***************************************************************-->
+
+  <soapHandlerFactories>
+    <!--setup handler-->
+    <factory>
+      <name>setup</name>
+      <constructor>
+        <class>electric.soap.handlers.setup.SetupHandlerFactory</class>
+      </constructor>
+      <priority>1</priority>
+    </factory>
+
+    <!--logging-->
+    <factory>
+      <name>logging</name>
+      <constructor>
+        <class>electric.soap.handlers.logging.SOAPLoggingHandlerFactory</class>
+      </constructor>
+      <priority>2</priority>
+    </factory>
+
+    <!--ws-routing-->
+    <factory>
+      <name>ws-routing</name>
+      <constructor>
+        <class>electric.soap.routing.RoutingHandlerFactory</class>
+      </constructor>
+      <priority>3</priority>
+    </factory>
+
+    <!--user-defined interceptors-->
+    <factory>
+      <name>interceptors</name>
+      <constructor>
+        <class>electric.soap.handlers.interceptor.SOAPInterceptorHandlerFactory</class>
+      </constructor>
+      <priority>4</priority>
+    </factory>
+
+    <!--ws-security-->
+    <factory>
+      <name>ws-security</name>
+      <constructor>
+        <class>electric.soap.security.handlers.SecurityHandlerFactory</class>
+      </constructor>
+      <priority>5</priority>
+    </factory>
+
+    <!--objects that implement IService-->
+    <factory>
+      <name>soap-to-service</name>
+      <constructor>
+        <class> electric.soap.local.handlers.service.SOAPToServiceHandlerFactory </class>
+      </constructor>
+      <priority>6</priority>
+    </factory>
+
+    <!--objects that implement ISOAPHandler-->
+    <factory>
+      <name>soap-to-user-handler</name>
+      <constructor>
+        <class> electric.soap.local.handlers.user.SOAPToUserHandlerFactory </class>
+      </constructor>
+      <priority>7</priority>
+    </factory>
+  </soapHandlerFactories>
+
+
+  <!--***************************************************************-->
+  <!--SOAP REFERENCE FACTORIES-->
+  <!--***************************************************************-->
+
+  <soapReferenceFactories>
+    <!--user-defined interceptors-->
+    <factory>
+      <name>interceptors</name>
+      <constructor>
+        <class>electric.soap.references.interceptor.InterceptorSOAPReferenceFactory</class>
+      </constructor>
+      <priority>1</priority>
+    </factory>
+
+    <!--ws-routing-->
+    <factory>
+      <name>ws-routing</name>
+      <constructor>
+        <class>electric.soap.routing.RoutingReferenceFactory</class>
+      </constructor>
+      <priority>2</priority>
+    </factory>
+
+    <!--ws-security-->
+    <factory>
+      <name>ws-security</name>
+      <constructor>
+        <class>electric.soap.security.references.SecuritySOAPReferenceFactory</class>
+      </constructor>
+      <priority>3</priority>
+    </factory>
+
+    <!--logging-->
+    <factory>
+      <name>logging</name>
+      <constructor>
+        <class>electric.soap.references.logging.LoggingSOAPReferenceFactory</class>
+      </constructor>
+      <priority>4</priority>
+    </factory>
+
+    <!--transport: soap to local service loaded by different classloader-->
+    <factory>
+      <name>soap-local</name>
+      <constructor>
+        <class>electric.soap.local.reference.SOAPLocalTransportFactory</class>
+      </constructor>
+      <priority>5</priority>
+    </factory>
+
+    <!--transport: soap over http-->
+    <factory>
+      <name>soap-to-http</name>
+      <constructor>
+        <class>electric.soap.http.reference.SOAPToHTTPFactory</class>
+      </constructor>
+      <priority>6</priority>
+    </factory>
+
+    <!--transport: soap over jms-->
+    <factory>
+      <name>soap-to-jms</name>
+      <constructor>
+        <class>electric.soap.jms.reference.SOAPToJMSFactory</class>
+      </constructor>
+      <priority>6</priority>
+    </factory>
+  </soapReferenceFactories>
+
+
+  <!--***************************************************************-->
+  <!--LOAD BALANCER FACTORIES-->
+  <!--***************************************************************-->
+
+  <loadBalancerFactories>
+    <!-- always succeeds, so anything after this will never be used -->
+    <factory>
+      <constructor>
+        <class>com.webmethods.fabric.services.reference.balance.RoundRobinFactory</class>
+      </constructor>
+    </factory>
+
+    <!-- like round robin, but rebind every cycleTime milliseconds. -->
+    <!-- this is an unsupported class -->
+    <factory>
+      <constructor>
+        <class>com.webmethods.fabric.services.reference.balance.RoundRobinReloadFactory</class>
+        <args>
+          <defaultCycleTime>60000</defaultCycleTime> <!-- 1 minute, in milliseconds -->
+        </args>
+      </constructor>
+    </factory>
+  </loadBalancerFactories>
+
+
+  <!--***************************************************************-->
+  <!--REGISTRIES-->
+  <!--***************************************************************-->
+
+  <registries>
+    <!--local services-->
+    <registry>
+      <name>local</name>
+      <constructor>
+        <class>electric.registry.local.LocalRegistry</class>
+      </constructor>
+      <priority>3</priority>
+    </registry>
+
+    <!--remote soap services-->
+    <registry>
+      <name>soap</name>
+      <constructor>
+        <class>electric.soap.registry.SOAPRegistry</class>
+      </constructor>
+      <priority>4</priority>
+    </registry>
+
+    <!--services hosted in the same vm, but different applications-->
+    <registry>
+      <name>crossapplication</name>
+      <constructor>
+        <class>electric.soap.registry.CrossApplicationRegistry</class>
+      </constructor>
+      <priority>5</priority>
+    </registry>
+  </registries>
+
+
+  <!--***************************************************************-->
+  <!--APPLICATION CONTEXT-->
+  <!--***************************************************************-->
+
+  <!--list of properties to be added into application context-->
+  <applicationContext>
+    <!--
+    <simple>foo</simple>
+      <complex>
+        <x>10</x>
+        <y>20</y>
+      </complex>
+    -->
+  </applicationContext>
+
+
+  <!--***************************************************************-->
+  <!--MIME TYPES-->
+  <!--***************************************************************-->
+
+  <!--list of mime types recognized by web server-->
+  <mimeTypes>
+    <mimeType>
+      <extension/>
+      <type>text/plain</type>
+    </mimeType>
+    <mimeType>
+      <extension>avi</extension>
+      <type>video/x-msvideo</type>
+    </mimeType>
+    <mimeType>
+      <extension>bmp</extension>
+      <type>image/bmp</type>
+    </mimeType>
+    <mimeType>
+      <extension>class</extension>
+      <type>application/java</type>
+    </mimeType>
+    <mimeType>
+      <extension>css</extension>
+      <type>text/css</type>
+    </mimeType>
+    <mimeType>
+      <extension>dll</extension>
+      <type>application/octet-stream</type>
+    </mimeType>
+    <mimeType>
+      <extension>doc</extension>
+      <type>application/msword</type>
+    </mimeType>
+    <mimeType>
+      <extension>exe</extension>
+      <type>application/octet-stream</type>
+    </mimeType>
+    <mimeType>
+      <extension>gif</extension>
+      <type>image/gif</type>
+    </mimeType>
+    <mimeType>
+      <extension>gz</extension>
+      <type>application/x-gzip</type>
+    </mimeType>
+    <mimeType>
+      <extension>htm</extension>
+      <type>text/html</type>
+    </mimeType>
+    <mimeType>
+      <extension>html</extension>
+      <type>text/html</type>
+    </mimeType>
+    <mimeType>
+      <extension>jar</extension>
+      <type>application/java-archive</type>
+    </mimeType>
+    <mimeType>
+      <extension>jpeg</extension>
+      <type>image/jpeg</type>
+    </mimeType>
+    <mimeType>
+      <extension>jpg</extension>
+      <type>image/jpeg</type>
+    </mimeType>
+    <mimeType>
+      <extension>js</extension>
+      <type>text/javascript</type>
+    </mimeType>
+    <mimeType>
+      <extension>mov</extension>
+      <type>video/quicktime</type>
+    </mimeType>
+    <mimeType>
+      <extension>mpg</extension>
+      <type>video/mpeg</type>
+    </mimeType>
+    <mimeType>
+      <extension>pdf</extension>
+      <type>application/pdf</type>
+    </mimeType>
+    <mimeType>
+      <extension>png</extension>
+      <type>image/png</type>
+    </mimeType>
+    <mimeType>
+      <extension>ppt</extension>
+      <type>application/vnd.ms-powerpoint</type>
+    </mimeType>
+    <mimeType>
+      <extension>ps</extension>
+      <type>application/postscript</type>
+    </mimeType>
+    <mimeType>
+      <extension>rtf</extension>
+      <type>application/rtf</type>
+    </mimeType>
+    <mimeType>
+      <extension>so</extension>
+      <type>application/octet-stream</type>
+    </mimeType>
+    <mimeType>
+      <extension>swf</extension>
+      <type>application/x-shockwave-flash</type>
+    </mimeType>
+    <mimeType>
+      <extension>tar</extension>
+      <type>application/x-tar</type>
+    </mimeType>
+    <mimeType>
+      <extension>tif</extension>
+      <type>image/tiff</type>
+    </mimeType>
+    <mimeType>
+      <extension>tiff</extension>
+      <type>image/tiff</type>
+    </mimeType>
+    <mimeType>
+      <extension>txt</extension>
+      <type>text/plain</type>
+    </mimeType>
+    <mimeType>
+      <extension>wav</extension>
+      <type>audio/x-wav</type>
+    </mimeType>
+    <mimeType>
+      <extension>wml</extension>
+      <type>text/vnd.wap.wml</type>
+    </mimeType>
+    <mimeType>
+      <extension>wmlc</extension>
+      <type>application/vnd.wap.wmlc</type>
+    </mimeType>
+    <mimeType>
+      <extension>wmls</extension>
+      <type>application/vnd.wap.wmlscript</type>
+    </mimeType>
+    <mimeType>
+      <extension>wmlsc</extension>
+      <type>application/vnd.wap.wmlscriptc</type>
+    </mimeType>
+    <mimeType>
+      <extension>wsdl</extension>
+      <type>text/xml</type>
+    </mimeType>
+    <mimeType>
+      <extension>xht</extension>
+      <type>application/xhtml+xml</type>
+    </mimeType>
+    <mimeType>
+      <extension>xhtml</extension>
+      <type>application/xhtml+xml</type>
+    </mimeType>
+    <mimeType>
+      <extension>xls</extension>
+      <type>application/vnd.ms-excel</type>
+    </mimeType>
+    <mimeType>
+      <extension>xml</extension>
+      <type>text/xml</type>
+    </mimeType>
+    <mimeType>
+      <extension>xsl</extension>
+      <type>text/xml</type>
+    </mimeType>
+    <mimeType>
+      <extension>zip</extension>
+      <type>application/zip</type>
+    </mimeType>
+  </mimeTypes>
+
+
+  <!--***************************************************************-->
+  <!--XPATHS-->
+  <!--***************************************************************-->
+
+  <xpath>
+    <!--factory to use for creating xpaths?-->
+    <factory>electric.xml.xpath.TMEXPathFactory</factory>
+
+    <!-- needed for ws-security, this factory requires that the -->
+    <!-- jaxen implementation jars are available on the classpath -->
+    <factory>electric.xml.jaxen.JaxenXPathFactory</factory>
+
+    <!--cache xpaths by default?-->
+    <cacheByDefault>yes</cacheByDefault>
+  </xpath>
+
+
+  <!--***************************************************************-->
+  <!--JAXP-->
+  <!--***************************************************************-->
+
+  <jaxp>
+    <DOMFactory>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</DOMFactory>
+    <SAXFactory>org.apache.xerces.jaxp.SAXParserFactoryImpl</SAXFactory>
+  </jaxp>
+
+
+  <!--***************************************************************-->
+  <!--XML/JAVA MAPPING-->
+  <!--***************************************************************-->
+
+  <javaMapping>
+    <!--use direct field access?-->
+    <directFieldAccess>yes</directFieldAccess>
+
+    <!--suppress javabean properties if at least one public field?-->
+    <propertySuppression>yes</propertySuppression>
+
+    <!--use java serialization by default?-->
+    <useJavaSerializationByDefault>no</useJavaSerializationByDefault>
+
+    <!--
+    namespace prefixes that use the glue extended form for package mappings.
+    primary means that this is the one that glue uses to produce a namespace for a package.
+    last primary wins.
+    -->
+    <understoodNamespacePrefix primary="true">http://www.webmethods.com/package/</understoodNamespacePrefix>
+    <understoodNamespacePrefix>http://www.themindelectric.com/package/</understoodNamespacePrefix>
+
+    <!--include xsi:type attributes when writing in literal mode?-->
+    <writeTypesForLiteral>yes</writeTypesForLiteral>
+  </javaMapping>
+
+
+  <!--***************************************************************-->
+  <!--TYPE FACTORIES-->
+  <!--***************************************************************-->
+
+  <typeFactories>
+    <!--list of type factories (order is significant)-->
+    <factory>electric.xml.io.mapping.MappingTypeFactory</factory>
+    <factory>electric.xml.io.array.ArrayTypeFactory</factory>
+    <factory>electric.xml.io.elements.ElementTypeFactory</factory>
+    <factory>electric.xml.io.serialize.SerializeTypeFactory</factory>
+    <factory>electric.xml.io.simple.SimpleTypeFactory</factory>
+    <factory>electric.xml.io.complex.ComplexTypeFactory</factory>
+
+    <defaultArrayType>electric.xml.io.array.ArrayType</defaultArrayType>
+  </typeFactories>
+
+
+  <!--***************************************************************-->
+  <!--XML SCHEMAS-->
+  <!--***************************************************************-->
+
+  <schema>
+    <!--list of xsd versions-->
+    <xsd>http://www.w3.org/1999/XMLSchema</xsd>
+    <xsd>http://www.w3.org/2000/10/XMLSchema</xsd>
+    <xsd>http://www.w3.org/2001/XMLSchema</xsd>
+
+    <!--default xsd version to be used during publishing-->
+    <defaultXSD>http://www.w3.org/2001/XMLSchema</defaultXSD>
+    <defaultMinOccurs>1</defaultMinOccurs>
+
+    <!--namespace prefix-->
+    <namespacePrefix>http://www.webmethods.com/</namespacePrefix>
+  </schema>
+
+
+  <!--***************************************************************-->
+  <!--XML ENCODINGS-->
+  <!--***************************************************************-->
+
+  <xmlEncodings>
+    <!--list of encodings to try in order when decyphering an xml document-->
+    <encoding>UTF-16BE</encoding>
+    <encoding>UTF-16LE</encoding>
+    <encoding>cp037</encoding>
+    <encoding>UTF8</encoding>
+  </xmlEncodings>
+
+
+  <!--***************************************************************-->
+  <!--HTTP ENCODINGS-->
+  <!--***************************************************************-->
+
+  <httpEncoding>
+    <!--some protocols declare things bytes, but are used as Strings/char[]s-->
+    <!--internally for other reasons. basic authentication in http is a-->
+    <!--good example of this. this setting is used to set the encoding to-->
+    <!--use for those situations.-->
+    <assumed>UTF8</assumed>
+
+    <!--http requires that certain things be in ascii (the method/version of-->
+    <!--request, and the status of the response. in japan, and other asian-->
+    <!--countries, however, the request-uri of the service or file could contain-->
+    <!--Shift-JIS or KOI-8 characters. since there is no way to represent these-->
+    <!--in ascii, we offer this setting to control this behaviour. the encoding-->
+    <!--specified should be ascii compliant, or you will have problems-->
+    <!--communicating with other http compliant servers and clients-->
+    <protocol>UTF8</protocol>
+  </httpEncoding>
+
+
+  <!--***************************************************************-->
+  <!--SOAP ENCODINGS-->
+  <!--***************************************************************-->
+
+  <soapEncoding>
+    <!--character encoding for soap documents-->
+    <!--<xmlEncoding>UTF-8</xmlEncoding>-->
+
+    <!--use system default encoding for soap documents?-->
+    <useSystemDefault>no</useSystemDefault>
+  </soapEncoding>
+
+
+  <!--***************************************************************-->
+  <!--JMS ADAPTERS-->
+  <!--***************************************************************-->
+
+  <jms>
+    <!--list of built-in jms adaptors-->
+    <adapter>electric.server.jms.tibco.TibcoAdapter</adapter>
+    <adapter>electric.server.jms.swiftmq.SwiftMQAdapter</adapter>
+    <adapter>electric.server.jms.j2ee.J2EEAdapter</adapter>
+    <adapter>electric.server.jms.mqseries.MQSeriesAdapter</adapter>
+    <adapter>electric.server.jms.sonicmq.SonicMQAdapter</adapter>
+    <adapter>electric.server.jms.jbossmq.JBossMQAdapter</adapter>
+  </jms>
+
+
+  <!--***************************************************************-->
+  <!--CONSOLE-->
+  <!--***************************************************************-->
+
+  <console>
+    <!--enable the console by default?-->
+    <enabled>yes</enabled>
+
+    <!--title for console home page-->
+    <title>Glue Management Console</title>
+
+    <product productName='Glue Professional' treeLabel='Glue' detailsPanelURL='console/glue/glue-details.swf' helpFileURL='console/glue/gluePanelHelp.xml' serviceURL='console/system/console' consoleService='electric.console.services.glue.Glue'>
+      <module>
+        <title>Product</title>
+        <detailsPanelURL>console/glue/licensing/licensing-details.swf</detailsPanelURL>
+        <helpFileURL>console/glue/licensing/licensingPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>electric.glue.pro.console.services.licensing.Licensing</consoleService>
+        <productName>Glue Professional</productName>
+      </module>
+
+      <module>
+        <title>System</title>
+        <detailsPanelURL>console/glue/system/systeminfo-details.swf</detailsPanelURL>
+        <helpFileURL>console/glue/system/systemPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>electric.glue.pro.console.services.system.System</consoleService>
+        <productName>Glue Professional</productName>
+      </module>
+
+      <module>
+        <title>HTTP</title>
+        <detailsPanelURL>console/glue/http/connections-details.swf</detailsPanelURL>
+        <helpFileURL>console/glue/http/httpPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>electric.glue.pro.console.services.connections.Connections</consoleService>
+        <productName>Glue Professional</productName>
+      </module>
+
+      <module>
+        <title>Services</title>
+        <detailsPanelURL>console/glue/services/services-details.swf</detailsPanelURL>
+        <helpFileURL>console/glue/services/servicesPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>electric.glue.pro.console.services.services.Services</consoleService>
+        <productName>Glue Professional</productName>
+      </module>
+
+      <module>
+        <title>Servlets</title>
+        <detailsPanelURL>console/glue/servlets/servlet-details.swf</detailsPanelURL>
+        <helpFileURL>console/glue/servlets/servletPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>electric.glue.pro.console.services.servlets.Servlets</consoleService>
+        <productName>Glue Professional</productName>
+      </module>
+
+      <module>
+        <title>Threads</title>
+        <detailsPanelURL>console/glue/threads/threads-details.swf</detailsPanelURL>
+        <helpFileURL>console/glue/threads/threadsPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>electric.glue.pro.console.services.threads.Threads</consoleService>
+        <productName>Glue Professional</productName>
+      </module>
+
+      <module>
+        <title>Logging</title>
+        <detailsPanelURL>console/glue/logging/logging-details.swf</detailsPanelURL>
+        <helpFileURL>console/glue/logging/loggingPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>electric.glue.pro.console.services.log.Logging</consoleService>
+        <productName>Glue Professional</productName>
+      </module>
+    </product>
+
+    <product productName='Glue Enterprise' treeLabel='Glue' detailsPanelURL='console/glue/glue-details.swf' helpFileURL='console/glue/gluePanelHelp.xml' serviceURL='console/system/console' consoleService='electric.console.services.glue.Glue'>
+      <module>
+         <title>Cluster</title>
+         <detailsPanelURL>console/clusters/cluster/cluster-details.swf</detailsPanelURL>
+         <helpFileURL>console/clusters/cluster/clusterPanelHelp.xml</helpFileURL>
+         <serviceURL>console/system/console</serviceURL>
+         <consoleService>electric.glue.enterprise.console.services.cluster.Cluster</consoleService>
+         <productName>Glue Enterprise</productName>
+      </module>
+
+      <module>
+        <title>Application</title>
+        <detailsPanelURL>console/clusters/application/application-details.swf</detailsPanelURL>
+        <helpFileURL>console/clusters/application/applicationPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>electric.glue.enterprise.console.services.application.Application</consoleService>
+        <productName>Glue Enterprise</productName>
+      </module>
+
+    </product>
+
+    <product productName='Fabric' treeLabel='Fabric' detailsPanelURL='console/fabric/fabric-details.swf' helpFileURL='console/fabric/fabricPanelHelp.xml' serviceURL='console/system/console' consoleService='electric.console.services.fabric.Fabric'>
+
+      <module>
+        <title>Nodes</title>
+        <detailsPanelURL>console/fabric/nodes/nodes-details.swf</detailsPanelURL>
+        <helpFileURL>console/fabric/nodes/nodesPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>com.webmethods.fabric.console.services.nodes.Nodes</consoleService>
+        <productName>Fabric</productName>
+      </module>
+
+      <module>
+        <title>Web Services</title>
+        <detailsPanelURL>console/fabric/services/services-details.swf</detailsPanelURL>
+        <helpFileURL>console/fabric/services/servicesPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>com.webmethods.fabric.console.services.services.Services</consoleService>
+        <productName>Fabric</productName>
+      </module>
+
+      <module>
+        <title>Log</title>
+        <detailsPanelURL>console/fabric/log/log-details.swf</detailsPanelURL>
+        <helpFileURL>console/fabric/log/logPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>com.webmethods.fabric.console.services.log.Log</consoleService>
+        <productName>Fabric</productName>
+      </module>
+
+      <module>
+        <title>Rules</title>
+        <detailsPanelURL>console/fabric/rules/rules-details.swf</detailsPanelURL>
+        <helpFileURL>console/fabric/rules/rulesPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>com.webmethods.fabric.console.services.rules.Rules</consoleService>
+        <productName>Fabric</productName>
+      </module>
+
+      <module>
+        <title>Security</title>
+        <detailsPanelURL>console/fabric/security/security-details.swf</detailsPanelURL>
+        <helpFileURL>console/fabric/security/securityPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>com.webmethods.fabric.console.services.security.Security</consoleService>
+        <productName>Fabric</productName>
+      </module>
+
+      <module>
+        <title>Databases</title>
+        <detailsPanelURL>console/fabric/database/database-details.swf</detailsPanelURL>
+        <helpFileURL>console/fabric/database/databasePanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>com.webmethods.fabric.console.services.database.Database</consoleService>
+        <productName>Fabric</productName>
+      </module>
+
+      <module>
+        <title>Configuration</title>
+        <detailsPanelURL>console/fabric/configuration/configuration-details.swf</detailsPanelURL>
+        <helpFileURL>console/fabric/configuration/configurationPanelHelp.xml</helpFileURL>
+        <serviceURL>console/system/console</serviceURL>
+        <consoleService>com.webmethods.fabric.console.services.configuration.Configuration</consoleService>
+        <productName>Fabric</productName>
+      </module>
+
+    </product>
+
+    <!-- <handler>electric.console.handlers.IConsoleHandler</handler>
+    <handler>electric.console.handlers.DefaultHandler</handler>
+    <handler>electric.console.handlers.LayoutHandler</handler>
+    <handler>electric.console.handlers.ResourceHandler</handler>
+    <handler>electric.console.handlers.ServiceHandler</handler> -->
+    <handler>electric.glue.pro.console.handlers.LoggingHandler</handler>
+    <handler>electric.glue.pro.console.handlers.VitalSignsHandler</handler>
+    <handler>electric.glue.enterprise.console.handlers.AppDeploymentHandler</handler>
+    <handler>electric.glue.enterprise.console.handlers.ClusterHandler</handler>
+    <handler>electric.glue.enterprise.console.handlers.DeployServiceHandler</handler>
+    <handler>com.webmethods.fabric.console.handlers.AddTransformHandler</handler>
+
+    <extension>
+      <name>consoleLoggingService</name>
+      <value>console/system/console</value>
+    </extension>
+
+    <extension>
+      <name>vitalSignsService</name>
+      <value>console/system/console</value>
+    </extension>
+  </console>
+
+
+  <!--***************************************************************-->
+  <!--SQL DATABASE-->
+  <!--***************************************************************-->
+
+  <sql>
+    <!--list of sql databases -->
+    <!--
+    <database>
+      <name>uddi</name>
+      <driver>org.hsqldb.jdbcDriver</driver>
+      <url>jdbc:hsqldb:hsql://@hostname@:9001</url>
+      <user>sa</user>
+      <password></password>
+      <poolSize>10</poolSize>
+    </database>
+    -->
+  </sql>
+
+
+  <!--***************************************************************-->
+  <!--UDDI-->
+  <!--***************************************************************-->
+
+  <uddi>
+    <!--uddi type taxonomy-->
+    <tModel tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'>
+      <name>uddi-org:types</name>
+      <description xml:lang='en'>UDDI Type Taxonomy</description>
+    </tModel>
+
+    <!--uddi registry tmodel-->
+    <tModel tModelKey='uuid:4CD7E4BC-648B-426D-9936-443EAAC8AE23'>
+      <name>uddi-org:inquiry</name>
+      <description xml:lang='en'>UDDI Inquiry API - Core Specification</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='specification' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='xmlSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='soapSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi registry tmodel-->
+    <tModel tModelKey='uuid:AC104DCC-D623-452F-88A7-F8ACD94D9B2B'>
+      <name>uddi-org:inquiry_v2</name>
+      <description xml:lang='en'>UDDI Inquiry API V2.0 - Core Specification</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='specification' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='xmlSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='soapSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi registry tmodel-->
+    <tModel tModelKey='uuid:A2F36B65-2D66-4088-ABC7-914D0E05EB9E'>
+      <name>uddi-org:publication_v2</name>
+      <description xml:lang='en'>UDDI Publication API V2.0 - Core Specification</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='specification' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='xmlSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='soapSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi registry tmodel-->
+    <tModel tModelKey='uuid:64C756D1-3374-4E00-AE83-EE12E38FAE63'>
+      <name>uddi-org:publication</name>
+      <description xml:lang='en'>UDDI Publication API - Core Specification</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='specification' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='xmlSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='soapSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi registry tmodel-->
+    <tModel tModelKey='uuid:3FB66FB7-5FC3-462F-A351-C140D9BD8304'>
+      <name>uddi-org:taxonomy</name>
+      <description xml:lang='en'>UDDI Taxonomy API</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='specification' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='xmlSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='soapSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi registry tmodel-->
+    <tModel tModelKey='uuid:1E3E9CBC-F8CE-41AB-8F99-88326BAD324A'>
+      <name>uddi-org:taxonomy_v2</name>
+      <description xml:lang='en'>UDDI validate_values API</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='specification' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='xmlSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+        <keyedReference keyName='categorization' keyValue='soapSpec' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2' checked='true'>
+      <name>ntis-gov-naics:1997</name>
+      <description xml:lang='en'>Business Taxonomy: NAISC (1997 Release)</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='categorization' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384' checked='true'>
+      <name>unspsc-org:3-1</name>
+      <description xml:lang='en'>Product Taxonomy: UNSPSC (Version 3.1)</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='categorization' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:61668105-B6B6-425C-914B-409FB252C36D' checked='true'>
+      <name>uddi-org:iso-ch:3166:1999</name>
+      <description xml:lang='en'>UDDI Geographic Taxonomy</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='categorization' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4'>
+      <name>uddi-org:misc-taxonomy</name>
+      <description xml:lang='en'>Other Taxonomy</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='categorization' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:4064C064-6D14-4F35-8953-9652106476A9' checked='true'>
+      <name>uddi-org:owningBusiness</name>
+      <description xml:lang='en'>A pointer to a businessEntity that owns the categorized data</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='identifier' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03'>
+      <name>uddi-org:relationships</name>
+      <description xml:lang='en'>UDDI businessEntity relationship descriptions</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='identifier' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:327A56F0-3299-4461-BC23-5CD513E95C55' checked='true'>
+      <name>uddi-org:operators</name>
+      <description xml:lang='en'>Identifier system for identifying operators of a registry</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='identifier' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823'>
+      <name>dnb-com:D-U-N-S</name>
+      <description xml:lang='en'>Dun &amp; Bradstreet D-U-N-S(r) Number</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='identifier' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - taxonomy-->
+    <tModel tModelKey='uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039'>
+      <name>thomasregister-com:supplierID</name>
+      <description xml:lang='en'>Thomas Registry Suppliers</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='identifier' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - other-->
+    <tModel tModelKey='uuid:93335D49-3EFB-48A0-ACEA-EA102B60DDC6'>
+      <name>uddi-org:smtp</name>
+      <description xml:lang='en'>E-mail based web service</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='transport' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - other-->
+    <tModel tModelKey='uuid:1A2B00BE-6E2C-42F5-875B-56F32686E0E7'>
+      <name>uddi-org:fax</name>
+      <description xml:lang='en'>Fax based web service</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='protocol' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - other-->
+    <tModel tModelKey='uuid:5FCF5CD0-629A-4C50-8B16-F94E9CF2A674'>
+      <name>uddi-org:ftp</name>
+      <description xml:lang='en'>File transfer protocol (ftp) based web service</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='transport' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - other-->
+    <tModel tModelKey='uuid:38E12427-5536-4260-A6F9-B5B530E63A07'>
+      <name>uddi-org:telephone</name>
+      <description xml:lang='en'>Telephone based web service</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='specification' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - other-->
+    <tModel tModelKey='uuid:68DE9E80-AD09-469D-8A37-088422BFBC36'>
+      <name>uddi-org:http</name>
+      <description xml:lang='en'>E-mail based web service</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='transport' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+
+    <!--uddi core model - other-->
+    <tModel tModelKey='uuid:4CEC1CEF-1F68-4B23-8CB7-8BAA763AEB89'>
+      <name>uddi-org:homepage</name>
+      <description xml:lang='en'>HTTP Web Home Page URL</description>
+      <categoryBag>
+        <keyedReference keyName='categorization' keyValue='specification' tModelKey='uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4'/>
+      </categoryBag>
+    </tModel>
+    
+    <predefinedKeys>
+      <businessKeys>
+        <business>
+          <name>fabric</name>
+          <businessKey>62188325-6296-3f9e-9a11-f138eb84e52b</businessKey>
+        </business>
+      </businessKeys>  
+      <tModelKeys>
+        <tModel>
+          <name>webmethods-org:signature</name>
+          <tModelKey>89f556a1-f683-3ae0-a09d-4c463b335e2a</tModelKey>
+        </tModel>
+      </tModelKeys> 
+    </predefinedKeys>  
+    
+  </uddi>
+
+
+  <!--***************************************************************-->
+  <!--GENERAL FABRIC-->
+  <!--***************************************************************-->
+
+  <!--If true, execute a Fabric.join() when startup occurs.--> 
+  <!--This allows Glue applications to join the fabric when hosted in a-->
+  <!--third party servlet container as well as allowing existing Glue -->
+  <!--programs to join the fabric without adding Fabric.join().-->
+  <autoJoinFabric>false</autoJoinFabric>
+
+
+  <!--***************************************************************-->
+  <!--FABRIC SECURITY -->
+  <!--***************************************************************-->
+
+  <fabricSecurity>
+    <!--realm entry must match fabric realm configures in the "realms" section-->
+    <fabricRealm>realm</fabricRealm>
+    <!--<fabricUser>fabric</fabricUser>-->
+    <!--<fabricPassword>changeit</fabricPassword>-->
+    <!--<keyStore>FabricKeyStore</keyStore>-->
+    <!--<keyStorePassword>changeit</keyStorePassword>-->
+    <!--<trustStore>FabricTrustStore</trustStore>-->
+  </fabricSecurity>
+
+
+  <!--***************************************************************-->
+  <!--FABRIC DISCOVERY-->
+  <!--***************************************************************-->
+
+  <discovery>
+    <noPath>fabric://failover&amp;monitor</noPath>
+    <useLocator>chain</useLocator>
+    <useSignatures>true</useSignatures>
+
+    <!--This locator creates a local UDDI registry that uses a-->
+    <!--P2P XML database backend. This registry attempts to replicate itself-->
+    <!--until there are at least two copies of the registry in the fabric.-->
+    <locator>
+      <name>xdb</name>
+      <constructor>
+        <class>com.webmethods.fabric.services.registry.locators.xdb.XDBLocator</class>
+        <args>
+          <inquiryURL>/fabric/uddi/inquiry</inquiryURL>
+          <publicationURL>/fabric/uddi/publication</publicationURL>
+          <adminURL>/fabric/uddi/admin</adminURL>
+          <user>guest</user>
+          <password>guest</password>
+          <business>fabric</business>
+          <operator>fabric</operator>
+        </args>
+      </constructor>
+    </locator>
+
+    <!--This locator returns a reference to a third party UDDI registry.-->
+    <!--Use this locator if you want the fabric to store information about services-->
+    <!--into a third party UDDI implementation instead of into the Fabric's built-in-->
+    <!--replicating UDDI server.-->
+    <locator>
+      <name>thirdparty</name>
+      <constructor>
+        <class>com.webmethods.fabric.services.registry.locators.uddi.UDDILocator</class>
+        <args>
+          <inquiryURL>http://@hostname@:@port@/uddi/inquiry</inquiryURL>
+          <publicationURL>http://@hostname@:8005/uddi/publication</publicationURL>
+          <user>santa</user>
+          <password>christmas</password>
+          <business>fabric</business>
+        </args>
+      </constructor>
+    </locator>
+
+    <!--This locator sends out a UDP ping on a particular port (9030 by default)-->
+    <!--to other nodes in the same subnet. When a node with an installed SubnetLocator-->
+    <!--receives this ping, it responds with a UDP packet that contains the URL of the-->
+    <!--registry that it is currently using. The SubnetLocator that sent the ping selects-->
+    <!--the first UDDI registry that can be contacted using a received URL, or null if no live-->
+    <!--registries are located.-->
+    <locator>
+      <name>subnet</name>
+      <constructor>
+        <class>com.webmethods.fabric.services.registry.locators.subnet.SubnetLocator</class>
+        <args>
+          <port>9030</port>
+          <maxWait>10</maxWait>
+          <pingCycle>5</pingCycle>
+        </args>
+      </constructor>
+    </locator>
+
+    <!--This locator returns a reference to the same UDDI registry as the one being used-->
+    <!--by the fabric node at the specified URL.-->
+    <!--It does this by contacting the service manager-->
+    <!--whose WSDL is located at <url>/fabric/servicemanager.wsdl.-->
+    <locator>
+      <name>wan</name>
+      <constructor>
+        <class>com.webmethods.fabric.services.registry.locators.wan.WANLocator</class>
+        <args>
+          <url>http://host:port/context</url>
+        </args>
+      </constructor>
+    </locator>
+
+    <!--This is the default locator, and iterates through a list of named-->
+    <!--locators until one of them returns a reference to a UDDI registry.-->
+    <!--Named locators cannot currently be forward referenced.-->
+    <locator>
+      <name>chain</name>
+      <constructor>
+        <class>com.webmethods.fabric.services.registry.locators.chain.ChainedLocator</class>
+        <args>
+          <clientExitStartup>true</clientExitStartup>
+          <serverExitStartup>true</serverExitStartup>
+          <retryLimit>-1</retryLimit>
+          <maxWaitTime>60000</maxWaitTime>
+          <locators>subnet,xdb</locators>
+        </args>
+      </constructor>
+    </locator>
+  </discovery>
+
+
+  <!--***************************************************************-->
+  <!--FABRIC XML DATABASES-->
+  <!--***************************************************************-->
+
+  <!--xml database settings-->
+  <xdbServers>
+    <!--default seconds between server syncs-->
+    <defaultSyncCycle>10</defaultSyncCycle>
+
+    <!--default replication factor-->
+    <defaultReplicationFactor>2</defaultReplicationFactor>
+
+    <!--factory for creating data stores-->
+    <defaultStoreFactory>
+      <constructor>
+        <class>com.webmethods.xdb.store.memory.MemoryStoreFactory</class>
+      </constructor>
+    </defaultStoreFactory>
+  </xdbServers>
+
+
+  <!--***************************************************************-->
+  <!--FABRIC ENDPOINT ACTIVITY-->
+  <!--***************************************************************-->
+
+  <endpointActivity>
+    <!--seconds between keep-alive cycles-->
+    <keepAliveCycle>60</keepAliveCycle>
+
+    <!--seconds between check for rule updates-->
+    <ruleCheckCycle>20</ruleCheckCycle>
+  </endpointActivity>
+
+
+  <!--***************************************************************-->
+  <!--FABRIC LIVENESS CHECKING-->
+  <!--***************************************************************-->
+
+  <liveness>
+    <!--seconds between checking nodes for liveness-->
+    <nodeCycle>30</nodeCycle>
+
+    <!--seconds after which a dead node should be removed-->
+    <nodeThreshold>100</nodeThreshold>
+
+    <!--seconds between checking services for liveness-->
+    <serviceCycle>30</serviceCycle>
+
+    <!--seconds after which a dead service should be removed-->
+    <serviceThreshold>100</serviceThreshold>
+  </liveness>
+</config>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/javax.xml.soap.MessageFactory
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/javax.xml.soap.MessageFactory	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/javax.xml.soap.MessageFactory	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1 @@
+electric.jaxm.MessageFactoryImpl
\ No newline at end of file

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/javax.xml.soap.SOAPConnectionFactory
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/javax.xml.soap.SOAPConnectionFactory	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/javax.xml.soap.SOAPConnectionFactory	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1 @@
+electric.jaxm.SOAPConnectionFactoryImpl
\ No newline at end of file

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/web-app.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/web-app.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/dd/webmethods/web-app.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,259 @@
+<!--
+  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">
+
+<!--
+  Welcome to the Glue web.xml file.
+
+  A copy of this file is located in glue.jar with the name "default-web.xml".
+  If Glue starts a web application and no web.xml is found in the application's
+  WEB-INF directory, the file "default-web.xml" is loaded via the class path and
+  used instead.
+
+  If the newapp utility is used to create a skeleton J2EE application structure,
+  this file is copied from <GLUE-HOME>/app-template/WEB-INF/web.xml
+  into the new application's WEB-INF directory.
+
+  This file installs two servlets:
+
+  1. The glue-soap servlet processes WSDL requests and
+     SOAP invocations that arrive via /services/*.
+
+  2. The glue-console servlet processes flash console
+     requests that arrive via /console/*.
+
+  All other requests, such as those for HTML and JSPs, are assumed to be handled
+  by the servlet container, which can be either the Glue servlet container in
+  the standalone case, or a 3rd party servlet container when Glue is hosted.
+
+  By default, requests are not authenticated. To enable authentication,
+  uncomment the <login-config> element and set the <auth-method> and <realm-name>
+  fields to their desired values. If you are running in the Glue servlet
+  container, you can define realms by editing the Glue WEB-INF/glue-config.xml file.
+
+  The <init-param> for httpRegistryRoot defines how inbound messages are routed
+  to the local registry. A value of "/" maps ".../services/xxx" to "/xxx" in the
+  registry, while a value of "/foo" maps ".../services/xxx" to "/foo/xxx". If
+  this parameter is not set, a value of "/" is assumed.
+
+  If Glue is hosted in an old servlet 2.1 container, uncomment the
+  <init-param> for electric.http.url and set the <param-value> to the URL
+  that Glue is exposed on.
+-->
+
+<web-app>
+	<display-name>XML Transaction Service Demo Client</display-name>
+
+    <description>XML Transaction Service Demo Client</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 WSCF -->
+    <listener>
+        <listener-class>com.arjuna.mw.wsc.deploy.WSCFInitialisation</listener-class>
+    </listener>
+
+    <!-- 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>
+
+    <!-- Initialise WSTX -->
+    <listener>
+        <listener-class>com.arjuna.mw.wst.deploy.WSTXInitialisation</listener-class>
+    </listener>
+    
+    <!--  Initialise the HTTP Client -->
+    <listener>
+        <listener-class>com.arjuna.webservices.transport.http.HttpClientInitialisation</listener-class>
+    </listener>
+
+    <servlet>
+      <servlet-name>Basic Client Servlet</servlet-name>
+      <servlet-class>com.arjuna.xts.nightout.clients.webmethods.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>
+      <servlet-name>glue-soap</servlet-name>
+      <servlet-class>electric.server.http.ServletServer</servlet-class>
+      <init-param>
+        <param-name>httpRegistryRoot</param-name>
+        <param-value>/</param-value>
+      </init-param>
+      <!--
+      <init-param>
+        <param-name>electric.http.url</param-name>
+        <param-value>http://host:port/context</param-value>
+      </init-param>
+      -->
+      <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet>
+      <servlet-name>glue-console</servlet-name>
+      <servlet-class>electric.console.ConsoleServlet</servlet-class>
+      <init-param>
+        <param-name>soapServletContext</param-name>
+        <param-value>/services</param-value>
+      </init-param>
+      <load-on-startup>2</load-on-startup>
+    </servlet>
+    
+    <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@/@urlstub@/soap/</param-value>
+        </init-param>
+        <!--
+        <init-param>
+            <param-name>BaseHttpsURI</param-name>
+            <param-value>https://@hostname@:@port@/@urlstub@/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>Basic Client Servlet</servlet-name>
+      <url-pattern>/basicclient</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>glue-soap</servlet-name>
+      <url-pattern>/services/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>glue-console</servlet-name>
+      <url-pattern>/console/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>HTTP SOAP Service Multiplexor Servlet</servlet-name>
+        <url-pattern>/soap/*</url-pattern>
+    </servlet-mapping>
+
+    <welcome-file-list>
+      <welcome-file>index.jsp</welcome-file>
+    </welcome-file-list>
+</web-app>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/about.html
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/about.html	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/about.html	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,201 @@
+<!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 content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems" name="description">
+<META content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service" name="keywords">
+<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 marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
+<TABLE cellspacing="0" cellpadding="0" align="center" border="0" width="727">
+    
+<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 cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="172">
+<FORM action="" method="post" name="form1">
+<TABLE bgcolor="#9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+            
+<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 cellpadding="4" cellspacing="0" border="0" width="100%">
+<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 height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="555">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD valign="top" width="537">
+<TABLE bgcolor="9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+<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.2.2 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>
+                    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 colspan="3" align="right" valign="top" width="727"><FONT size="1" style="font-family: Arial, Helvetica, sans-serif">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a href="mailto:info at arjuna.com" class="linkscoloured">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/jbosstm/workspace/maciej.machulak/code/new/demo/html/atomictransaction.html
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/atomictransaction.html	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/atomictransaction.html	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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 content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems" name="description">
+<META content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service" name="keywords">
+<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 marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
+<TABLE cellspacing="0" cellpadding="0" align="center" border="0" width="727">
+    
+<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 cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="172">
+<FORM action="" method="post" name="form1">
+<TABLE bgcolor="#9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+            
+<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 cellpadding="4" cellspacing="0" border="0" width="100%">
+<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 height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="555">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD valign="top" width="537">
+<TABLE bgcolor="9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+<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 colspan="3" align="right" valign="top" width="727"><FONT size="1" style="font-family: Arial, Helvetica, sans-serif">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a href="mailto:info at arjuna.com" class="linkscoloured">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/jbosstm/workspace/maciej.machulak/code/new/demo/html/businessactivity.html
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/businessactivity.html	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/businessactivity.html	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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 content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems" name="description">
+<META content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service" name="keywords">
+<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 marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
+<TABLE cellspacing="0" cellpadding="0" align="center" border="0" width="727">
+    
+<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 cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="172">
+<FORM action="" method="post" name="form1">
+<TABLE bgcolor="#9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+            
+<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 cellpadding="4" cellspacing="0" border="0" width="100%">
+<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 height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="555">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD valign="top" width="537">
+<TABLE bgcolor="9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+<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 colspan="3" align="right" valign="top" width="727"><FONT size="1" style="font-family: Arial, Helvetica, sans-serif">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a href="mailto:info at arjuna.com" class="linkscoloured">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/jbosstm/workspace/maciej.machulak/code/new/demo/html/deploying.html
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/deploying.html	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/deploying.html	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,279 @@
+<!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 content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems" name="description">
+<META content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service" name="keywords">
+<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 marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
+<TABLE cellspacing="0" cellpadding="0" align="center" border="0" width="727">
+    
+<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 cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="172">
+<FORM action="" method="post" name="form1">
+<TABLE bgcolor="#9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+            
+<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 cellpadding="4" cellspacing="0" border="0" width="100%">
+<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 height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="555">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD valign="top" width="537">
+<TABLE bgcolor="9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+<P class="menuheader">Deploying the sample application<DIV class="bodytext">
+            
+                
+<p>
+                    To run the demonstration 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>
+					Deploying into JBoss.
+				</p>
+				
+<p>
+					This release has been tested against JBoss 4.0.3SP1, 4.0.4GA and 4.0.5GA.
+			    </p>
+                
+<ol>
+                    
+<li>
+<p>Install JBoss.</p>
+                    
+</li>
+                    
+<li>
+<p>Edit the <code>&lt;xts-home&gt;/demo/jboss.properties</code> file, replacing the <code>JBOSS_HOSTNAME</code>, <code>JBOSS_PORT</code>, <code>JBOSS_URLSTUB</code>, <code>JBOSS_DEPLOY_DIR</code> and <code>JBOSS_HOME</code> variables to reflect the location 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>
+					Deploying into webMethods.
+				</p>
+				
+<p>
+					This release has been tested against webMethods 5.0.2.
+			    </p>
+			    
+<p>
+					N.B. The classpath used to run webMethods must be modified so that the stax-api.1.0.jar contained within this distribution is encountered prior to all other webMethods jars.
+                </p>
+                
+<ol>
+                    
+<li>
+<p>Install webMethods.</p>
+                    
+</li>
+                    
+<li>
+<p>Edit the <code>&lt;xts-home&gt;/demo/webmethods.properties</code> file, replacing the <code>WEBMETHODS_HOSTNAME</code>, <code>WEBMETHODS_PORT</code>, <code>WEBMETHODS_URLSTUB</code>, <code>WEBMETHODS_DEPLOY_DIR</code> and <code>WEBMETHODS_HOME</code> variables to reflect the location of your webMethods installation</p>
+</li>
+                    
+<li>
+<p>Compile the application source, build the application archive file and deploy it into webMethods deploy directory by typing '<code>build.sh webmethods clean deploy</code>' on Unix or '<code>build.bat webmethods clean deploy</code>' on Windows</p>
+</li>
+                    
+<li>
+<p>Run the application from the deploy directory by using the webMethods runapp 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>
+                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>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 colspan="3" align="right" valign="top" width="727"><FONT size="1" style="font-family: Arial, Helvetica, sans-serif">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a href="mailto:info at arjuna.com" class="linkscoloured">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/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/JBoss_DivOfRH_RGB.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/JBoss_DivOfRH_RGB.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/arjuna_strapline.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/arjuna_strapline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/header_grid.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/header_grid.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/icon_email.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/icon_email.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/icon_printer.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/icon_printer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/menu_spacer.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/menu_spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/search_bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/search_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/spacer.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/spacer.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/trans_spacer.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/images/look_and_feel/trans_spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/index.html
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/index.html	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/index.html	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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 content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems" name="description">
+<META content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service" name="keywords">
+<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 marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
+<TABLE cellspacing="0" cellpadding="0" align="center" border="0" width="727">
+    
+<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 cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="172">
+<FORM action="" method="post" name="form1">
+<TABLE bgcolor="#9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+            
+<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 cellpadding="4" cellspacing="0" border="0" width="100%">
+<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 height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="555">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD valign="top" width="537">
+<TABLE bgcolor="9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+<P class="menuheader">Introduction<DIV class="bodytext">
+            
+                
+<p>
+                    Welcome to the "Night Out" sample application for the XML Transaction component of JBossTS 4.2.2.
+                </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 colspan="3" align="right" valign="top" width="727"><FONT size="1" style="font-family: Arial, Helvetica, sans-serif">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a href="mailto:info at arjuna.com" class="linkscoloured">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/jbosstm/workspace/maciej.machulak/code/new/demo/html/installcontent.html
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/installcontent.html	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/installcontent.html	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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 content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems" name="description">
+<META content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service" name="keywords">
+<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 marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
+<TABLE cellspacing="0" cellpadding="0" align="center" border="0" width="727">
+    
+<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 cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="172">
+<FORM action="" method="post" name="form1">
+<TABLE bgcolor="#9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+            
+<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 cellpadding="4" cellspacing="0" border="0" width="100%">
+<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 height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="555">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD valign="top" width="537">
+<TABLE bgcolor="9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+<P class="menuheader">Installation Content<DIV class="bodytext">
+            
+                
+<p>
+                    The installer should have installed the following directories under &lt;jbosst 4.2.2 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.2.2 is designed to run within JBoss and webMethods.
+				</p>
+				
+<p>
+    				This release has been tested on JBoss 4.0.3SP1, 4.0.4GA, 4.0.5GA and webMethods 5.0.2.
+                </p>
+                
+<p>
+                    To compile, deploy and run the sample application we also recommend using java SDK 1.4.2 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 colspan="3" align="right" valign="top" width="727"><FONT size="1" style="font-family: Arial, Helvetica, sans-serif">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a href="mailto:info at arjuna.com" class="linkscoloured">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/jbosstm/workspace/maciej.machulak/code/new/demo/html/sourcecode.html
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/sourcecode.html	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/sourcecode.html	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,289 @@
+<!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 content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems" name="description">
+<META content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service" name="keywords">
+<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 marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
+<TABLE cellspacing="0" cellpadding="0" align="center" border="0" width="727">
+    
+<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 cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="172">
+<FORM action="" method="post" name="form1">
+<TABLE bgcolor="#9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+            
+<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 cellpadding="4" cellspacing="0" border="0" width="100%">
+<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 height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="555">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD valign="top" width="537">
+<TABLE bgcolor="9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+<P class="menuheader">Source code overview<DIV class="bodytext">
+            
+                
+<p>
+                    You can begin experimenting with the XML Transaction component of JBoss 4.2.2 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.2.2 install&gt;/wst/demo/src directory.
+                </p>
+                
+<p>
+                    It is structured as follows:
+                </p>
+                
+<p>
+                    
+<ul>
+                        
+<li>
+                            
+<p>
+                                com/arjuna/xts/nightout/clients/
+                            </p>
+                            
+<ul>
+                                
+<li>
+                                    
+<p>
+                                        jboss/BasicClient.java: A servlet that processes the form input and runs either an Atomic Transaction or Business Activity to make the bookings.
+                                    </p>
+                                    
+<p>
+                                        This servlet uses the JBoss JAX-RPC implementation as the SOAP transport library.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        jboss/restaurant/* : JBoss JAX-RPC client interfaces for accessing the restaurant web services.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        jboss/taxi/* : JBoss JAX-RPC client interfaces for accessing the taxi web services.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        jboss/theatre/* : JBoss JAX-RPC client interfaces for accessing the theatre web services.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        weblogic/BasicClient.java: A servlet that processes the form input and runs either an Atomic Transaction or Business Activity to make the bookings.
+                                    </p>
+                                    
+<p>
+                                        This servlet uses the WebLogic JAX-RPC implementation as the SOAP transport library.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        weblogic/proxies/* : WebLogic JAX-RPC client side code for accessing the Web services. This is automatically generated code.
+                                    </p>
+                                
+</li>
+                                
+<li>
+                                    
+<p>
+                                        webmethods/BasicClient.java: A servlet that processes the form input and runs either an Atomic Transaction or Business Activity to make the bookings.
+                                    </p>
+                                
+</li>
+                            
+</ul>
+                        
+</li>
+                        
+<li>
+                            
+<p>
+                                com/arjuna/xts/nightout/services/[Restuarant|Taxi|Theatre]/
+                            </p>
+                            
+<ul>
+                                
+<li>
+                                    
+<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 Web services.
+                                    In the filenames, AT denotes Atomic Transaction, whilst BA is for Business Activities. The *Service.java file is the business interface, whilst the *Participant.java file has the transaction management code.
+                                    </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 colspan="3" align="right" valign="top" width="727"><FONT size="1" style="font-family: Arial, Helvetica, sans-serif">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a href="mailto:info at arjuna.com" class="linkscoloured">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/jbosstm/workspace/maciej.machulak/code/new/demo/html/styles.css
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/styles.css	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/styles.css	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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/jbosstm/workspace/maciej.machulak/code/new/demo/html/wherenext.html
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/wherenext.html	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/html/wherenext.html	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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 content="Arjuna Technologies: Suppliers of transactioning, messaging, and coordination middleware for reliable distributed systems" name="description">
+<META content="transactions, transactioning, atomic transaction, OTS, JTS, BTP, JMS, WS-Coordination, WS-Transaction, BPEL, JAXTX, Activity Service" name="keywords">
+<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 marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#FFFFFF">
+<TABLE cellspacing="0" cellpadding="0" align="center" border="0" width="727">
+    
+<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 cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="172">
+<FORM action="" method="post" name="form1">
+<TABLE bgcolor="#9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+            
+<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 cellpadding="4" cellspacing="0" border="0" width="100%">
+<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 height="214" width="6"><IMG src="./images/look_and_feel/trans_spacer.gif" width="6" height="10"></TD><TD valign="top" width="555">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<TR>
+<TD valign="top" width="537">
+<TABLE bgcolor="9E9E9E" cellspacing="1" cellpadding="0" border="0" width="100%">
+<TR>
+<TD height="57">
+<TABLE cellpadding="0" cellspacing="0" border="0" width="100%">
+<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 cellpadding="8" cellspacing="0" border="0" width="100%">
+<TR>
+<TD bgcolor="#FFFFFF" valign="top">
+<P class="menuheader">Where next?<DIV class="bodytext">
+            
+                
+<p>
+                    For further information, please consult the XML Transaction component of JBossTS 4.2.2 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 colspan="3" align="right" valign="top" width="727"><FONT size="1" style="font-family: Arial, Helvetica, sans-serif">
+
+                    Copyright 2002-2005 Arjuna Technologies
+
+                    <IMG src="./images/look_and_feel/spacer.jpg" alt="" border="0">
+
+                    All Rights Reserved.
+
+                    <br>
+<a href="mailto:info at arjuna.com" class="linkscoloured">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/jbosstm/workspace/maciej.machulak/code/new/demo/jboss.properties
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/jboss.properties	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/jboss.properties	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,65 @@
+<!--
+  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 variables should be replaced for JBoss deployment
+  
+  localhost - the hostname of the JBoss installation (localhost)
+  8080 - the port of the JBoss web server (8080)
+  xtsdemowebservices - the url stub for the demo webservices (xtsdemowebservices)
+  JBOSS_DEPLOY_DIR - the deploy directory of the JBoss instance ([JBOSS_HOME]/server/all/deploy)
+  
+  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>
+  <deploy>
+    <dir>C:\RedHat\JBossAS\build\output\jboss-4.2.0.GA\server\all\deploy</dir>
+  </deploy>
+
+  <!-- webMethods services
+  <restaurantATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/RestaurantServiceAT</restaurantATURL>
+  <restaurantBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/RestaurantServiceBA</restaurantBAURL>
+  <taxiATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TaxiServiceAT</taxiATURL>
+  <taxiBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TaxiServiceBA</taxiBAURL>
+  <theatreATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TheatreServiceAT</theatreATURL>
+  <theatreBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TheatreServiceBA</theatreBAURL>
+  -->
+
+  <!-- WebLogic services
+  <restaurantATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/RestaurantServiceAT</restaurantATURL>
+  <restaurantBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/RestaurantServiceBA</restaurantBAURL>
+  <taxiATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TaxiServiceAT</taxiATURL>
+  <taxiBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TaxiServiceBA</taxiBAURL>
+  <theatreATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TheatreServiceAT</theatreATURL>
+  <theatreBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TheatreServiceBA</theatreBAURL>
+  -->
+
+  <!-- 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>
+</arjuna>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/BasicClient.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/BasicClient.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/BasicClient.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,399 @@
+/*
+ * 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.arjuna.xts.nightout.clients.jboss;
+
+import java.io.IOException;
+import java.net.URL;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+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.rpc.Service;
+import javax.xml.rpc.ServiceException;
+import javax.xml.rpc.Stub;
+import javax.xml.namespace.QName;
+
+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.wst.TransactionRolledBackException;
+import com.arjuna.xts.nightout.clients.jboss.restaurant.IRestaurantServiceAT;
+import com.arjuna.xts.nightout.clients.jboss.restaurant.IRestaurantServiceBA;
+import com.arjuna.xts.nightout.clients.jboss.taxi.ITaxiServiceAT;
+import com.arjuna.xts.nightout.clients.jboss.taxi.ITaxiServiceBA;
+import com.arjuna.xts.nightout.clients.jboss.theatre.ITheatreServiceAT;
+import com.arjuna.xts.nightout.clients.jboss.theatre.ITheatreServiceBA;
+import com.arjuna.xts.nightout.clients.jboss.bistro.Bistro;
+
+/**
+ * A very basic client application that drives the
+ * (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 $
+ */
+public class BasicClient extends HttpServlet
+{
+    /**
+     * The client serial version UID.
+     */
+    private static final long serialVersionUID = 7728495576623420083L ;
+
+    /**
+     * The servlet context.
+     */
+    private ServletContext context ;
+
+    /**
+     * The local context name for the AT Restaurant webservice.
+     */
+    private static final String RESTAURANT_SERVICE_AT = "java:comp/env/service/RestaurantServiceAT" ;
+    /**
+     * The local context name for the BA Restaurant webservice.
+     */
+    private static final String RESTAURANT_SERVICE_BA = "java:comp/env/service/RestaurantServiceBA" ;
+    /**
+     * The local context name for the AT Theatre webservice.
+     */
+    private static final String THEATRE_SERVICE_AT = "java:comp/env/service/TheatreServiceAT" ;
+    /**
+     * The local context name for the BA Theatre webservice.
+     */
+    private static final String THEATRE_SERVICE_BA = "java:comp/env/service/TheatreServiceBA" ;
+    /**
+     * The local context name for the AT Taxi webservice.
+     */
+    private static final String TAXI_SERVICE_AT = "java:comp/env/service/TaxiServiceAT" ;
+    /**
+     * The local context name for the BA Taxi webservice.
+     */
+    private static final String TAXI_SERVICE_BA = "java:comp/env/service/TaxiServiceBA" ;
+
+    /**
+     * The atomic transaction restaurant stub.
+     */
+    private IRestaurantServiceAT restaurantAT;
+    /**
+     * The atomic transaction theatre stub.
+     */
+    private ITheatreServiceAT theatreAT;
+    /**
+     * The atomic transaction taxi stub.
+     */
+    private ITaxiServiceAT taxiAT;
+    /**
+     * The business activity restaurant stub.
+     */
+    private IRestaurantServiceBA restaurantBA;
+    /**
+     * The business activity theatre stub.
+     */
+    private ITheatreServiceBA theatreBA;
+    /**
+     * The business activity taxi stub.
+     */
+    private ITaxiServiceBA taxiBA;
+
+    /**
+     * URL of restaurant AT
+     */
+    private String restaurantATURL ;
+    /**
+     * URL of restaurant BA
+     */
+    private String restaurantBAURL ;
+    /**
+     * URL of taxi AT
+     */
+    private String taxiATURL ;
+    /**
+     * URL of taxi BA
+     */
+    private String taxiBAURL ;
+    /**
+     * URL of theatre AT
+     */
+    private String theatreATURL ;
+    /**
+     * URL of theatre BA
+     */
+    private String theatreBAURL ;
+
+    /**
+     * The initialised flag.
+     */
+    private boolean initialised ;
+
+    /**
+     * Initialise the servlet.
+     * @param servletConfig The servlet configuration.
+     */
+    public void init(final ServletConfig config)
+        throws ServletException
+    {
+        final String baseURL = "http://localhost:8080/xtsdemowebservices/" ;
+
+        restaurantATURL = getURL(config, "restaurantATURL", baseURL + "RestaurantServiceAT") ;
+        restaurantBAURL = getURL(config, "restaurantBAURL", baseURL + "RestaurantServiceBA") ;
+        taxiATURL = getURL(config, "taxiATURL", baseURL + "TaxiServiceAT") ;
+        taxiBAURL = getURL(config, "taxiBAURL", baseURL + "TaxiServiceBA") ;
+        theatreATURL = getURL(config, "theatreATURL", baseURL + "TheatreServiceAT") ;
+        theatreBAURL = getURL(config, "theatreBAURL", baseURL + "TheatreServiceBA") ;
+
+        context = config.getServletContext();
+    }
+
+    /**
+     * Initialise if necessary
+     */
+    private synchronized void initialise()
+    throws ServletException
+    {
+        if (!initialised)
+        {
+            try
+            {
+                restaurantAT = (IRestaurantServiceAT)getService(RESTAURANT_SERVICE_AT, restaurantATURL, IRestaurantServiceAT.class) ;
+                restaurantBA = (IRestaurantServiceBA)getService(RESTAURANT_SERVICE_BA, restaurantBAURL, IRestaurantServiceBA.class) ;
+                taxiAT = (ITaxiServiceAT)getService(TAXI_SERVICE_AT, taxiATURL, ITaxiServiceAT.class) ;
+                taxiBA = (ITaxiServiceBA)getService(TAXI_SERVICE_BA, taxiBAURL, ITaxiServiceBA.class) ;
+                theatreAT = (ITheatreServiceAT)getService(THEATRE_SERVICE_AT, theatreATURL, ITheatreServiceAT.class) ;
+                theatreBA = (ITheatreServiceBA)getService(THEATRE_SERVICE_BA, theatreBAURL, ITheatreServiceBA.class) ;
+            }
+            catch (final Exception ex)
+            {
+                ex.printStackTrace();
+                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 = "Transaction finished OK.";
+        String txType = request.getParameter("txType");
+
+        try
+        {
+            if ("AtomicTransaction".equals(txType))
+            {
+                testAtomicTransaction(restaurantSeats, theatreSeats, theatreArea, bookTaxi);
+            }
+            else if ("BusinessActivity".equals(txType))
+            {
+                testBusinessActivity(restaurantSeats, theatreSeats, theatreArea, bookTaxi);
+            }
+            else
+            {
+                result = "Unknown transaction type " + txType;
+            }
+        }
+        catch (final TransactionRolledBackException tre)
+        {
+            result = "Transaction rolled back" ;
+            System.out.println("Transaction rolled back") ;
+        }
+        catch (Exception e)
+        {
+            result = "Transaction failed! Cause: " + e.toString();
+            System.out.println("CLIENT: problem: ");
+            e.printStackTrace(System.out);
+        }
+
+        request.setAttribute("result", result);
+        context.getRequestDispatcher("/index.jsp").forward(request, response);
+    }
+
+    /**
+     * Run a simple transaction involving three Web Services.
+     * Use the Atomic Transaction type.
+     * <p/>
+     * Note: due to the implementation of the transaction infrastructure,
+     * this method must be invoked with a web application container. It will
+     * not run correctly in a standalone java application.
+     *
+     * @throws Exception for any unexpected errors, such as a failure to commit.
+     */
+    private void testAtomicTransaction(int restaurantSeats, int theatreSeats, int theatreArea, boolean bookTaxi) throws Exception
+    {
+        System.out.println("CLIENT: obtaining userTransaction...");
+
+        UserTransaction ut = UserTransactionFactory.userTransaction();
+
+        System.out.println("CLIENT: starting the transaction...");
+
+        ut.begin();
+
+        System.out.println("CLIENT: transaction ID= " + ut.toString());
+
+        System.out.println("CLIENT: calling business Web Services...");
+
+		//////////////////////
+
+		URL wsdlLocation = new URL("http://localhost:8080/BistroImplService/BistroImpl?wsdl");
+		QName serviceName = new QName("http://Bistro.services.nightout.xts.arjuna.com/", "BistroImplService");
+
+		javax.xml.ws.Service service = javax.xml.ws.Service.create(wsdlLocation, serviceName);
+		Bistro bistro = service.getPort(Bistro.class);
+
+		System.out.println("CLIENT: bookingCount: "+bistro.getBookingCount());
+
+		bistro.bookSeats(2);
+
+		System.out.println("CLIENT: bookingCount: "+bistro.getBookingCount());
+
+		//////////////////////
+
+/*
+        restaurantAT.bookSeats(restaurantSeats);
+        theatreAT.bookSeats(theatreSeats, theatreArea);
+        if (bookTaxi)
+        {
+            taxiAT.bookTaxi();
+        }
+*/
+        System.out.println("CLIENT: calling commit on the transaction...");
+
+        ut.commit();
+
+        System.out.println("done.");
+        System.out.flush();
+    }
+
+    /**
+     * Run a simple transaction involving three Web Services.
+     * Use the Business Activity type.
+     * <p/>
+     * Note: due to the implementation of the transaction infrastructure,
+     * this method must be invoked with a web application container. It will
+     * not run correctly in a standalone java application.
+     *
+     * @throws Exception for any unexpected errors, such as a failure to commit.
+     */
+    private void testBusinessActivity(int restaurantSeats, int theatreSeats, int theatreArea, boolean bookTaxi) throws Exception
+    {
+        System.out.println("CLIENT: obtaining userBusinessActivity...");
+
+        UserBusinessActivity uba = UserBusinessActivityFactory.userBusinessActivity();
+
+        System.out.println("CLIENT: starting the transaction...");
+
+        uba.begin();
+
+        System.out.println("CLIENT: transaction ID= " + uba.toString());
+
+        System.out.println("CLIENT: calling business Web Services...");
+
+        boolean isOK = false ;
+        try
+        {
+            if (restaurantBA.bookSeats(restaurantSeats) && theatreBA.bookSeats(theatreSeats, theatreArea))
+            {
+                isOK = !bookTaxi || taxiBA.bookTaxi() ;
+            }
+        }
+        catch (final Throwable th)
+        {
+            System.out.println("CLIENT: caught exception processing bookings, cancelling (" + th.getMessage() + ")") ;
+        }
+
+        if (isOK)
+        {
+            System.out.println("CLIENT: all OK");
+            System.out.println("CLIENT: calling close on the transaction...");
+            uba.close();
+        }
+        else
+        {
+            System.out.println("CLIENT: one or more services failed, calling cancel.");
+            uba.cancel();
+        }
+
+        System.out.println("CLIENT: done.");
+        System.out.flush();
+    }
+
+    /**
+     * @param config The servlet config
+     * @param property The property name
+     * @param defautlValue 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 the service proxy for the specified service endpoing.
+     * @param jndiName The JNDI location of the service.
+     * @param url The URL of the service.
+     * @param portClass The port class type.
+     * @throws NamingException For errors accessing JNDI.
+     * @throws ServiceException For errors creating proxy.
+     * @return The stub for the service endpoint.
+     */
+    private Stub getService(final String jndiName, final String url, final Class portClass)
+        throws NamingException, ServiceException
+    {
+        final InitialContext ic = new InitialContext() ;
+        final Service service = (Service)ic.lookup(jndiName) ;
+        final Stub stub = (Stub)service.getPort(portClass) ;
+        stub._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, url) ;
+        return stub ;
+    }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/Bistro.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/Bistro.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/Bistro.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,22 @@
+package com.arjuna.xts.nightout.clients.jboss.bistro;
+
+import javax.jws.WebService;
+import javax.jws.HandlerChain;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: jhalli
+ * Date: Apr 19, 2007
+ * Time: 4:47:17 PM
+ * To change this template use File | Settings | File Templates.
+ */
+ at WebService
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+ at HandlerChain(file = "jaxws-handlers-client.xml") // relative path from the class file
+public interface Bistro
+{
+	public void bookSeats(int how_many);
+
+	public int getBookingCount();
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/JaxWSClientHeaderContextProcessor.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/JaxWSClientHeaderContextProcessor.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/bistro/JaxWSClientHeaderContextProcessor.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,271 @@
+package com.arjuna.xts.nightout.clients.jboss.bistro;
+
+import org.apache.log4j.Logger;
+
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPHandler;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+import javax.xml.namespace.QName;
+import javax.xml.soap.*;
+
+import java.util.Set;
+import java.util.HashSet;
+import java.util.Iterator;
+
+import com.arjuna.mw.wsc.context.Context;
+import com.arjuna.webservices.wscoor.CoordinationConstants;
+import com.arjuna.webservices.wscoor.CoordinationContextType;
+import com.arjuna.webservices.wsat.AtomicTransactionConstants;
+import com.arjuna.webservices.wsba.BusinessActivityConstants;
+import com.arjuna.mw.wst.common.CoordinationContextHelper;
+import com.arjuna.mw.wst.common.SOAPUtil;
+import com.arjuna.mw.wst.*;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: jhalli
+ * Date: Apr 20, 2007
+ * Time: 1:06:28 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class JaxWSClientHeaderContextProcessor implements SOAPHandler
+{
+	private static Logger log = Logger.getLogger(JaxWSClientHeaderContextProcessor.class);
+
+	private String handlerName;
+
+	public String getHandlerName()
+	{
+	   return handlerName;
+	}
+
+	public void setHandlerName(String handlerName)
+	{
+	   this.handlerName = handlerName;
+	}
+
+	public boolean handleMessage(MessageContext msgContext)
+	{
+		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);
+	}
+
+
+	public boolean handleFault(MessageContext messagecontext)
+	{
+		resumeTransaction(messagecontext) ;
+		return true;
+	}
+
+	public void close(MessageContext messageContext)
+	{
+	}
+
+	public String toString()
+	{
+	   return (handlerName != null ? handlerName : super.toString());
+	}
+
+
+
+   // The header blocks that can be processed by this Handler instance
+   private Set<QName> headers = new HashSet<QName>();
+
+   /** Gets the header blocks that can be processed by this Handler instance.
+    */
+   public Set<QName> getHeaders()
+   {
+	   log.info("getHeaders");
+
+	   Set<QName> headerSet = new HashSet<QName>();
+	   headerSet.add(new QName(CoordinationConstants.WSCOOR_NAMESPACE, CoordinationConstants.WSCOOR_ELEMENT_COORDINATION_CONTEXT));
+
+	  return headerSet;
+   }
+
+   /** Sets the header blocks that can be processed by this Handler instance.
+    */
+   public void setHeaders(Set<QName> headers)
+   {
+      this.headers = headers;
+   }
+
+
+
+   protected boolean handleInbound(MessageContext msgContext)
+   {
+      log.info("handleInbound");
+	   resumeTransaction(msgContext) ;
+
+
+        return true ;
+   }
+
+
+   protected boolean handleOutbound(MessageContext msgContext)
+   {
+	   log.info("handleOutbound");
+
+	   final SOAPMessageContext soapMessageContext = (SOAPMessageContext)msgContext ;
+	   final SOAPMessage soapMessage = soapMessageContext.getMessage() ;
+
+	   if (soapMessage == null)
+	   {
+		   return true ;
+	   }
+
+	   try
+	   {
+		   /*
+			* There should either be an Atomic Transaction *or* a Business Activity
+			* associated with the thread.
+			*/
+		   final TransactionManager transactionManager = TransactionManagerFactory.transactionManager() ;
+		   final BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager() ;
+
+		   final Context atContext ;
+		   if (transactionManager != null)
+		   {
+			   final com.arjuna.mwlabs.wst.at.context.TxContextImple txContext =
+				   (com.arjuna.mwlabs.wst.at.context.TxContextImple)transactionManager.currentTransaction() ;
+			   atContext = (txContext == null ? null : txContext.context()) ;
+		   }
+		   else
+		   {
+			   atContext = null ;
+		   }
+
+		   final Context baContext ;
+		   if (businessActivityManager != null)
+		   {
+			   final com.arjuna.mwlabs.wst.ba.context.TxContextImple txContext =
+				   (com.arjuna.mwlabs.wst.ba.context.TxContextImple)businessActivityManager.currentTransaction() ;
+			   baContext = (txContext == null ? null : txContext.context()) ;
+		   }
+		   else
+		   {
+			   baContext = null ;
+		   }
+
+		   final CoordinationContextType coordinationContext ;
+		   if (atContext != null)
+		   {
+			   coordinationContext = atContext.getCoordinationContext() ;
+		   }
+		   else if (baContext != null)
+		   {
+			   coordinationContext = baContext.getCoordinationContext() ;
+		   }
+		   else
+		   {
+			   coordinationContext = null ;
+		   }
+
+		   if (coordinationContext != null)
+		   {
+			   final SOAPEnvelope env = soapMessage.getSOAPPart().getEnvelope() ;
+			   SOAPHeader header = env.getHeader() ;
+			   if (header == null)
+			   {
+				   header = env.addHeader() ;
+			   }
+			   final Name name = env.createName(CoordinationConstants.WSCOOR_ELEMENT_COORDINATION_CONTEXT, CoordinationConstants.WSCOOR_PREFIX, CoordinationConstants.WSCOOR_NAMESPACE) ;
+			   final SOAPHeaderElement headerElement = header.addHeaderElement(name) ;
+			   headerElement.addNamespaceDeclaration(CoordinationConstants.WSCOOR_PREFIX, CoordinationConstants.WSCOOR_NAMESPACE) ;
+			   headerElement.setMustUnderstand(true) ;
+			   CoordinationContextHelper.serialise(env, headerElement, coordinationContext) ;
+		   }
+	   }
+	   catch (final Throwable th)
+	   {
+		   log.warn("handleOutbound: ", th);
+	   }
+
+      return true;
+   }
+
+	private void resumeTransaction(final MessageContext messageContext)
+	{
+		final SOAPMessageContext soapMessageContext = (SOAPMessageContext)messageContext ;
+		final SOAPMessage soapMessage = soapMessageContext.getMessage() ;
+
+		if (soapMessage != null)
+		{
+			try
+			{
+				final SOAPEnvelope soapEnvelope = soapMessage.getSOAPPart().getEnvelope() ;
+				final SOAPHeaderElement soapHeaderElement = getHeaderElement(soapEnvelope, CoordinationConstants.WSCOOR_NAMESPACE, CoordinationConstants.WSCOOR_ELEMENT_COORDINATION_CONTEXT) ;
+
+				if (soapHeaderElement != null)
+				{
+					final CoordinationContextType cc = CoordinationContextHelper.deserialise(soapEnvelope, soapHeaderElement) ;
+					if (cc != null)
+					{
+						final String coordinationType = cc.getCoordinationType().getValue() ;
+						if (AtomicTransactionConstants.WSAT_PROTOCOL.equals(coordinationType))
+						{
+							final TxContext txContext = new com.arjuna.mwlabs.wst.at.context.TxContextImple(cc) ;
+							TransactionManagerFactory.transactionManager().resume(txContext) ;
+						}
+						else if (BusinessActivityConstants.WSBA_PROTOCOL_ATOMIC_OUTCOME.equals(coordinationType))
+						{
+							final TxContext txContext = new com.arjuna.mwlabs.wst.ba.context.TxContextImple(cc);
+							BusinessActivityManagerFactory.businessActivityManager().resume(txContext) ;
+						}
+						else
+						{
+							log.warn("resumeTransaction: unknown Coordtype");
+						}
+					}
+				}
+			}
+			catch (final Throwable th)
+			{
+				log.warn("resumeTransaction: ", th);
+			}
+		}
+	}
+
+	private SOAPHeaderElement getHeaderElement(final SOAPEnvelope soapEnvelope, final String uri, final String name)
+		throws SOAPException
+	{
+		final SOAPHeader soapHeader = soapEnvelope.getHeader() ;
+		if (soapHeader != null)
+		{
+			final Iterator headerIter = SOAPUtil.getChildElements(soapHeader) ;
+			while(headerIter.hasNext())
+			{
+				final SOAPHeaderElement current = (SOAPHeaderElement)headerIter.next() ;
+				final Name currentName = current.getElementName() ;
+				if ((currentName != null) &&
+					match(name, currentName.getLocalName()) &&
+					match(uri, currentName.getURI()))
+				{
+					return current ;
+				}
+			}
+		}
+		return null ;
+	}
+
+	/**
+	 * Do the two references match?
+	 * @param lhs The first reference.
+	 * @param rhs The second reference.
+	 * @return true if the references are both null or if they are equal.
+	 */
+	private boolean match(final Object lhs, final Object rhs)
+	{
+		if (lhs == null)
+		{
+			return (rhs == null) ;
+		}
+		else
+		{
+			return lhs.equals(rhs) ;
+		}
+	}
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.jboss.restaurant ;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException ;
+
+public interface IRestaurantServiceAT extends Remote
+{
+
+    /**
+     * Book a specified number of seats at the restaurant.
+     * @param numSeats The number of seats to book at the restaurant.
+     * @throws RemoteException for communication errors.
+     */
+    public void bookSeats(final int numSeats) throws RemoteException ;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/restaurant/IRestaurantServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.jboss.restaurant ;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException ;
+
+public interface IRestaurantServiceBA extends Remote
+{
+
+    /**
+     * Book a specified number of seats at the restaurant.
+     * @param numSeats The number of seats to book at the restaurant.
+     * @return true if successful, false otherwise
+     * @throws RemoteException for communication errors.
+     */
+    public boolean bookSeats(final int numSeats) throws RemoteException ;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.jboss.taxi ;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException ;
+
+public interface ITaxiServiceAT extends Remote
+{
+
+    /**
+     * Book a taxi.
+     * @throws RemoteException for communication errors.
+     */
+    public void bookTaxi() throws RemoteException ;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/taxi/ITaxiServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.jboss.taxi ;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException ;
+
+public interface ITaxiServiceBA extends Remote
+{
+
+    /**
+     * Book a taxi.
+     * @return true if successful, false otherwise.
+     * @throws RemoteException for communication errors.
+     */
+    public boolean bookTaxi() throws RemoteException ;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+ */
+package com.arjuna.xts.nightout.clients.jboss.theatre ;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException ;
+
+public interface ITheatreServiceAT extends Remote
+{
+
+    /**
+     * Book a specified number of seats in a specific area of the theatre.
+     * @param numSeats The number of seats to book at the theatre.
+     * @param area The area of the seats.
+     * @throws RemoteException for communication errors.
+     */
+    public void bookSeats(final int numSeats, final int area)
+            throws RemoteException ;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/jboss/theatre/ITheatreServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.jboss.theatre ;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException ;
+
+public interface ITheatreServiceBA extends Remote
+{
+
+    /**
+     * Book a specified number of seats in a specific area of the theatre.
+     * @param numSeats The number of seats to book at the theatre.
+     * @param area The area of the seats.
+     * @return true if successful, false otherwise.
+     * @throws RemoteException for communication errors.
+     */
+    public boolean bookSeats(final int numSeats, final int area)
+            throws RemoteException ;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/BasicClient.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/BasicClient.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/BasicClient.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,381 @@
+/*
+ * 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$
+ *
+ */
+
+package com.arjuna.xts.nightout.clients.weblogic;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+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.rpc.handler.HandlerInfo;
+
+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.JaxRPCHeaderContextProcessor;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceAT_Impl;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBA_Impl;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceAT_Impl;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBA_Impl;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceAT_Impl;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort;
+import com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBA_Impl;
+
+/**
+ * A very basic client application that drives the
+ * (transactional) Web Services to arrange a night out.
+ * <p/>
+ * This is a reworking of the axis client.
+ *
+ * @author Kevin Conner (kevin.conner at arjuna.com)
+ * @version $Id$
+ */
+public class BasicClient extends HttpServlet
+{
+    /**
+     * The base namespace for the demo.
+     */
+    private static final String DEMO_BASE_NAMESPACE = "http://www.arjuna.com/xtsdemo/nightout/" ;
+    /**
+     * The atomic transaction restaurant service qname.
+     */
+    private static final QName RESTAURANT_SERVICE_AT_QNAME = new QName(DEMO_BASE_NAMESPACE + "RestaurantServiceAT", "RestaurantServiceATPort") ;
+    /**
+     * The business activity restaurant service qname.
+     */
+    private static final QName RESTAURANT_SERVICE_BA_QNAME = new QName(DEMO_BASE_NAMESPACE + "RestaurantServiceBA", "RestaurantServiceBAPort") ;
+    /**
+     * The atomic transaction taxi service qname.
+     */
+    private static final QName TAXI_SERVICE_AT_QNAME = new QName(DEMO_BASE_NAMESPACE + "TaxiServiceAT", "TaxiServiceATPort") ;
+    /**
+     * The business activity taxi service qname.
+     */
+    private static final QName TAXI_SERVICE_BA_QNAME = new QName(DEMO_BASE_NAMESPACE + "TaxiServiceBA", "TaxiServiceBAPort") ;
+    /**
+     * The atomic transaction theatre service qname.
+     */
+    private static final QName THEATRE_SERVICE_AT_QNAME = new QName(DEMO_BASE_NAMESPACE + "TheatreServiceAT", "TheatreServiceATPort") ;
+    /**
+     * The business activity theatre service qname.
+     */
+    private static final QName THEATRE_SERVICE_BA_QNAME = new QName(DEMO_BASE_NAMESPACE + "TheatreServiceBA", "TheatreServiceBAPort") ;
+    
+    /**
+     * The servlet context.
+     */
+    private ServletContext context ;
+
+    /**
+     * The atomic transaction restaurant port.
+     */
+    private RestaurantServiceATPort restaurantAT;
+    /**
+     * The atomic transaction theatre port.
+     */
+    private TheatreServiceATPort theatreAT;
+    /**
+     * The atomic transaction taxi port.
+     */
+    private TaxiServiceATPort taxiAT;
+
+    /**
+     * The business activity restaurant port.
+     */
+    private RestaurantServiceBAPort restaurantBA;
+    /**
+     * The business activity theatre port.
+     */
+    private TheatreServiceBAPort theatreBA;
+    /**
+     * The business activity taxi port.
+     */
+    private TaxiServiceBAPort taxiBA;
+
+    /**
+     * URL of restaurant AT
+     */
+    private String restaurantATURL ;
+    /**
+     * URL of restaurant BA
+     */
+    private String restaurantBAURL ;
+    /**
+     * URL of taxi AT
+     */
+    private String taxiATURL ;
+    /**
+     * URL of taxi BA
+     */
+    private String taxiBAURL ;
+    /**
+     * URL of theatre AT
+     */
+    private String theatreATURL ;
+    /**
+     * URL of theatre BA
+     */
+    private String theatreBAURL ;
+
+    /**
+     * The initialised flag.
+     */
+    private boolean initialised ;
+
+    /**
+     * Initialise the servlet.
+     * @param servletConfig The servlet configuration.
+     */
+    public void init(final ServletConfig config)
+        throws ServletException
+    {
+        final String baseURL = "http://localhost:7001/xtsdemowebservices/" ;
+
+        restaurantATURL = getURL(config, "restaurantATURL", baseURL + "RestaurantServiceAT?WSDL") ;
+        restaurantBAURL = getURL(config, "restaurantBAURL", baseURL + "RestaurantServiceBA?WSDL") ;
+        taxiATURL = getURL(config, "taxiATURL", baseURL + "TheatreServiceAT?WSDL") ;
+        taxiBAURL = getURL(config, "taxiBAURL", baseURL + "TheatreServiceBA?WSDL") ;
+        theatreATURL = getURL(config, "theatreATURL", baseURL + "TheatreServiceAT?WSDL") ;
+        theatreBAURL = getURL(config, "theatreBAURL", baseURL + "TheatreServiceBA?WSDL") ;
+
+        context = config.getServletContext();
+    }
+
+    /**
+     * Initialise if necessary
+     */
+    private synchronized void initialise()
+    throws ServletException
+    {
+        if (!initialised)
+        {
+            final List handlerList = new ArrayList() ;
+            handlerList.add(new HandlerInfo(JaxRPCHeaderContextProcessor.class, null, new QName[] {JaxRPCHeaderContextProcessor.HEADER_QNAME})) ;
+            try
+            {
+                final RestaurantServiceAT_Impl restaurantServiceAT_Impl = new RestaurantServiceAT_Impl(restaurantATURL) ;
+                restaurantServiceAT_Impl.getHandlerRegistry().setHandlerChain(RESTAURANT_SERVICE_AT_QNAME, handlerList) ;
+                restaurantAT = restaurantServiceAT_Impl.getRestaurantServiceATPort() ;
+                
+                final RestaurantServiceBA_Impl restaurantServiceBA_Impl = new RestaurantServiceBA_Impl(restaurantBAURL) ;
+                restaurantServiceBA_Impl.getHandlerRegistry().setHandlerChain(RESTAURANT_SERVICE_BA_QNAME, handlerList) ;
+                restaurantBA = restaurantServiceBA_Impl.getRestaurantServiceBAPort() ;
+                
+                final TaxiServiceAT_Impl taxiServiceAT_Impl = new TaxiServiceAT_Impl(taxiATURL) ;
+                taxiServiceAT_Impl.getHandlerRegistry().setHandlerChain(TAXI_SERVICE_AT_QNAME, handlerList) ;
+                taxiAT = taxiServiceAT_Impl.getTaxiServiceATPort() ;
+                
+                final TaxiServiceBA_Impl taxiServiceBA_Impl = new TaxiServiceBA_Impl(taxiBAURL) ;
+                taxiServiceBA_Impl.getHandlerRegistry().setHandlerChain(TAXI_SERVICE_BA_QNAME, handlerList) ;
+                taxiBA = taxiServiceBA_Impl.getTaxiServiceBAPort() ;
+                
+                final TheatreServiceAT_Impl theatreServiceAT_Impl = new TheatreServiceAT_Impl(theatreATURL) ;
+                theatreServiceAT_Impl.getHandlerRegistry().setHandlerChain(THEATRE_SERVICE_AT_QNAME, handlerList) ;
+                theatreAT = theatreServiceAT_Impl.getTheatreServiceATPort() ;
+                
+                final TheatreServiceBA_Impl theatreServiceBA_Impl = new TheatreServiceBA_Impl(theatreBAURL) ;
+                theatreServiceBA_Impl.getHandlerRegistry().setHandlerChain(THEATRE_SERVICE_BA_QNAME, handlerList) ;
+                theatreBA = theatreServiceBA_Impl.getTheatreServiceBAPort() ;
+            }
+            catch (final Exception ex)
+            {
+                ex.printStackTrace();
+                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 = "Transaction finished OK.";
+        String txType = request.getParameter("txType");
+
+        try
+        {
+            if ("AtomicTransaction".equals(txType))
+            {
+                testAtomicTransaction(restaurantSeats, theatreSeats, theatreArea, bookTaxi);
+            }
+            else if ("BusinessActivity".equals(txType))
+            {
+                testBusinessActivity(restaurantSeats, theatreSeats, theatreArea, bookTaxi);
+            }
+            else
+            {
+                result = "Unknown transaction type " + txType;
+            }
+        }
+        catch (Exception e)
+        {
+            result = "Transaction failed! Cause: " + e.toString();
+            System.out.println("CLIENT: problem: ");
+            e.printStackTrace(System.out);
+        }
+
+        request.setAttribute("result", result);
+        context.getRequestDispatcher("/index.jsp").forward(request, response);
+    }
+
+    /**
+     * Run a simple transaction involving three Web Services.
+     * Use the Atomic Transaction type.
+     * <p/>
+     * Note: due to the implementation of the transaction infrastructure,
+     * this method must be invoked with a web application container. It will
+     * not run correctly in a standalone java application.
+     *
+     * @throws Exception for any unexpected errors, such as a failure to commit.
+     */
+    private void testAtomicTransaction(int restaurantSeats, int theatreSeats, int theatreArea, boolean bookTaxi) throws Exception
+    {
+        System.out.println("CLIENT: obtaining userTransaction...");
+
+        UserTransaction ut = UserTransactionFactory.userTransaction();
+
+        System.out.println("CLIENT: starting the transaction...");
+
+        ut.begin();
+
+        System.out.println("CLIENT: transaction ID= " + ut.toString());
+
+        System.out.println("CLIENT: calling business Web Services...");
+
+        restaurantAT.bookSeats(restaurantSeats);
+        theatreAT.bookSeats(theatreSeats, theatreArea);
+        if (bookTaxi)
+        {
+            taxiAT.bookTaxi();
+        }
+
+        System.out.println("CLIENT: calling commit on the transaction...");
+
+        ut.commit();
+
+        System.out.println("done.");
+        System.out.flush();
+    }
+
+    /**
+     * Run a simple transaction involving three Web Services.
+     * Use the Business Activity type.
+     * <p/>
+     * Note: due to the implementation of the transaction infrastructure,
+     * this method must be invoked with a web application container. It will
+     * not run correctly in a standalone java application.
+     *
+     * @throws Exception for any unexpected errors, such as a failure to commit.
+     */
+    private void testBusinessActivity(int restaurantSeats, int theatreSeats, int theatreArea, boolean bookTaxi) throws Exception
+    {
+        System.out.println("CLIENT: obtaining userBusinessActivity...");
+
+        UserBusinessActivity uba = UserBusinessActivityFactory.userBusinessActivity();
+
+        System.out.println("CLIENT: starting the transaction...");
+
+        uba.begin();
+
+        System.out.println("CLIENT: transaction ID= " + uba.toString());
+
+        System.out.println("CLIENT: calling business Web Services...");
+
+        boolean isOK = false ;
+        try
+        {
+            if (restaurantBA.bookSeats(restaurantSeats) && theatreBA.bookSeats(theatreSeats, theatreArea))
+            {
+                isOK = !bookTaxi || taxiBA.bookTaxi() ;
+            }
+        }
+        catch (final Throwable th)
+        {
+            System.out.println("CLIENT: caught exception processing bookings, cancelling (" + th.getMessage() + ")") ;
+        }
+
+        if (isOK)
+        {
+            System.out.println("CLIENT: all OK");
+            System.out.println("CLIENT: calling close on the transaction...");
+            uba.close();
+        }
+        else
+        {
+            System.out.println("CLIENT: one or more services failed, calling cancel.");
+            uba.cancel();
+        }
+
+        System.out.println("CLIENT: done.");
+        System.out.flush();
+    }
+
+    /**
+     * @param config The servlet config
+     * @param property The property name
+     * @param defautlValue 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) ;
+    }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:31 BST 2004 */
+
+public interface RestaurantServiceAT extends javax.xml.rpc.Service{
+
+  weblogic.webservice.context.WebServiceContext context();
+
+  weblogic.webservice.context.WebServiceContext joinContext() 
+       throws weblogic.webservice.context.ContextNotFoundException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort getRestaurantServiceATPort() throws javax.xml.rpc.ServiceException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort getRestaurantServiceATPort(String username, String password) throws javax.xml.rpc.ServiceException;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,24 @@
+<!--
+  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.
+-->
+<wsdd:type-mapping  xmlns:wsdd="http://www.bea.com/servers/wls70"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+</wsdd:type-mapping>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceATPort.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceATPort.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceATPort.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated interface, do not edit.
+ *
+ * This stub interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:31 BST 2004 */
+
+public interface RestaurantServiceATPort extends java.rmi.Remote{
+
+  /**
+   * bookSeats 
+   */
+
+  public void bookSeats(int howMany) 
+       throws java.rmi.RemoteException ;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceATPort_Stub.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceATPort_Stub.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceATPort_Stub.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+/**
+ * Generated class, do not edit.
+ *
+ * This stub class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:31 BST 2004 */
+
+public class RestaurantServiceATPort_Stub 
+     extends weblogic.webservice.core.rpc.StubImpl 
+     implements  com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort{
+
+  public RestaurantServiceATPort_Stub( weblogic.webservice.Port _port ){
+    super( _port, com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort.class );
+  }
+
+  /**
+   * bookSeats 
+   */
+
+  public void bookSeats(int howMany) 
+       throws java.rmi.RemoteException {
+
+    java.util.HashMap _args = new java.util.HashMap();
+    _args.put( "howMany", _wrap( howMany ) );
+           try{
+      java.lang.Object _result = _invoke( "bookSeats", _args );
+              } catch (javax.xml.rpc.JAXRPCException e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e.getLinkedCause() );
+    } catch (javax.xml.rpc.soap.SOAPFaultException e) {
+      throw new java.rmi.RemoteException( "SOAP Fault:" + e + "\nDetail:\n"+e.getDetail(), e );
+    } catch (java.lang.Throwable e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e );    }
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT_Impl.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT_Impl.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT_Impl.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:31 BST 2004 */
+
+public class RestaurantServiceAT_Impl 
+     extends weblogic.webservice.core.rpc.ServiceImpl 
+     implements com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceAT{
+
+  public RestaurantServiceAT_Impl() 
+       throws java.io.IOException{
+
+    this( "com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceAT.wsdl" );
+  }
+
+  public RestaurantServiceAT_Impl( String wsdlurl ) 
+       throws java.io.IOException{
+
+    super( wsdlurl, "com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceAT" );
+  }
+    //***********************************
+  // Port Name: RestaurantServiceATPort 
+  // Port Type: RestaurantServiceATPort  //***********************************
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort mvar_RestaurantServiceATPort;
+
+
+  /**
+   * returns a port in this service 
+   *
+   */
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort getRestaurantServiceATPort(){
+
+    if( mvar_RestaurantServiceATPort == null ){
+      mvar_RestaurantServiceATPort = 
+        new com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort_Stub( _getPort( "RestaurantServiceATPort" ) );
+    }
+
+    return mvar_RestaurantServiceATPort;
+
+  }
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceATPort getRestaurantServiceATPort(String username, String password){
+
+    _setUser( username, password, getRestaurantServiceATPort() );
+
+    return getRestaurantServiceATPort();
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:33 BST 2004 */
+
+public interface RestaurantServiceBA extends javax.xml.rpc.Service{
+
+  weblogic.webservice.context.WebServiceContext context();
+
+  weblogic.webservice.context.WebServiceContext joinContext() 
+       throws weblogic.webservice.context.ContextNotFoundException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort getRestaurantServiceBAPort() throws javax.xml.rpc.ServiceException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort getRestaurantServiceBAPort(String username, String password) throws javax.xml.rpc.ServiceException;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,24 @@
+<!--
+  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.
+-->
+<wsdd:type-mapping  xmlns:wsdd="http://www.bea.com/servers/wls70"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+</wsdd:type-mapping>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBAPort.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBAPort.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBAPort.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated interface, do not edit.
+ *
+ * This stub interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:33 BST 2004 */
+
+public interface RestaurantServiceBAPort extends java.rmi.Remote{
+
+  /**
+   * bookSeats 
+   */
+
+  public boolean bookSeats(int howMany) 
+       throws java.rmi.RemoteException ;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBAPort_Stub.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBAPort_Stub.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBAPort_Stub.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+/**
+ * Generated class, do not edit.
+ *
+ * This stub class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:33 BST 2004 */
+
+public class RestaurantServiceBAPort_Stub 
+     extends weblogic.webservice.core.rpc.StubImpl 
+     implements  com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort{
+
+  public RestaurantServiceBAPort_Stub( weblogic.webservice.Port _port ){
+    super( _port, com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort.class );
+  }
+
+  /**
+   * bookSeats 
+   */
+
+  public boolean bookSeats(int howMany) 
+       throws java.rmi.RemoteException {
+
+    java.util.HashMap _args = new java.util.HashMap();
+    _args.put( "howMany", _wrap( howMany ) );
+           try{
+      java.lang.Object _result = _invoke( "bookSeats", _args );
+      return ((java.lang.Boolean)_result).booleanValue();
+        } catch (javax.xml.rpc.JAXRPCException e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e.getLinkedCause() );
+    } catch (javax.xml.rpc.soap.SOAPFaultException e) {
+      throw new java.rmi.RemoteException( "SOAP Fault:" + e + "\nDetail:\n"+e.getDetail(), e );
+    } catch (java.lang.Throwable e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e );    }
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA_Impl.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA_Impl.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA_Impl.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:33 BST 2004 */
+
+public class RestaurantServiceBA_Impl 
+     extends weblogic.webservice.core.rpc.ServiceImpl 
+     implements com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBA{
+
+  public RestaurantServiceBA_Impl() 
+       throws java.io.IOException{
+
+    this( "com/arjuna/xts/nightout/clients/weblogic/proxies/RestaurantServiceBA.wsdl" );
+  }
+
+  public RestaurantServiceBA_Impl( String wsdlurl ) 
+       throws java.io.IOException{
+
+    super( wsdlurl, "com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBA" );
+  }
+    //***********************************
+  // Port Name: RestaurantServiceBAPort 
+  // Port Type: RestaurantServiceBAPort  //***********************************
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort mvar_RestaurantServiceBAPort;
+
+
+  /**
+   * returns a port in this service 
+   *
+   */
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort getRestaurantServiceBAPort(){
+
+    if( mvar_RestaurantServiceBAPort == null ){
+      mvar_RestaurantServiceBAPort = 
+        new com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort_Stub( _getPort( "RestaurantServiceBAPort" ) );
+    }
+
+    return mvar_RestaurantServiceBAPort;
+
+  }
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.RestaurantServiceBAPort getRestaurantServiceBAPort(String username, String password){
+
+    _setUser( username, password, getRestaurantServiceBAPort() );
+
+    return getRestaurantServiceBAPort();
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:35 BST 2004 */
+
+public interface TaxiServiceAT extends javax.xml.rpc.Service{
+
+  weblogic.webservice.context.WebServiceContext context();
+
+  weblogic.webservice.context.WebServiceContext joinContext() 
+       throws weblogic.webservice.context.ContextNotFoundException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort getTaxiServiceATPort() throws javax.xml.rpc.ServiceException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort getTaxiServiceATPort(String username, String password) throws javax.xml.rpc.ServiceException;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,24 @@
+<!--
+  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.
+-->
+<wsdd:type-mapping  xmlns:wsdd="http://www.bea.com/servers/wls70"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+</wsdd:type-mapping>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceATPort.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceATPort.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceATPort.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated interface, do not edit.
+ *
+ * This stub interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:35 BST 2004 */
+
+public interface TaxiServiceATPort extends java.rmi.Remote{
+
+  /**
+   * bookTaxi 
+   */
+
+  public void bookTaxi() 
+       throws java.rmi.RemoteException ;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceATPort_Stub.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceATPort_Stub.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceATPort_Stub.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+/**
+ * Generated class, do not edit.
+ *
+ * This stub class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:35 BST 2004 */
+
+public class TaxiServiceATPort_Stub 
+     extends weblogic.webservice.core.rpc.StubImpl 
+     implements  com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort{
+
+  public TaxiServiceATPort_Stub( weblogic.webservice.Port _port ){
+    super( _port, com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort.class );
+  }
+
+  /**
+   * bookTaxi 
+   */
+
+  public void bookTaxi() 
+       throws java.rmi.RemoteException {
+
+    java.util.HashMap _args = new java.util.HashMap();
+    try{
+      java.lang.Object _result = _invoke( "bookTaxi", _args );
+              } catch (javax.xml.rpc.JAXRPCException e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e.getLinkedCause() );
+    } catch (javax.xml.rpc.soap.SOAPFaultException e) {
+      throw new java.rmi.RemoteException( "SOAP Fault:" + e + "\nDetail:\n"+e.getDetail(), e );
+    } catch (java.lang.Throwable e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e );    }
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT_Impl.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT_Impl.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT_Impl.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:35 BST 2004 */
+
+public class TaxiServiceAT_Impl 
+     extends weblogic.webservice.core.rpc.ServiceImpl 
+     implements com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceAT{
+
+  public TaxiServiceAT_Impl() 
+       throws java.io.IOException{
+
+    this( "com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceAT.wsdl" );
+  }
+
+  public TaxiServiceAT_Impl( String wsdlurl ) 
+       throws java.io.IOException{
+
+    super( wsdlurl, "com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceAT" );
+  }
+    //***********************************
+  // Port Name: TaxiServiceATPort 
+  // Port Type: TaxiServiceATPort  //***********************************
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort mvar_TaxiServiceATPort;
+
+
+  /**
+   * returns a port in this service 
+   *
+   */
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort getTaxiServiceATPort(){
+
+    if( mvar_TaxiServiceATPort == null ){
+      mvar_TaxiServiceATPort = 
+        new com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort_Stub( _getPort( "TaxiServiceATPort" ) );
+    }
+
+    return mvar_TaxiServiceATPort;
+
+  }
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceATPort getTaxiServiceATPort(String username, String password){
+
+    _setUser( username, password, getTaxiServiceATPort() );
+
+    return getTaxiServiceATPort();
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:37 BST 2004 */
+
+public interface TaxiServiceBA extends javax.xml.rpc.Service{
+
+  weblogic.webservice.context.WebServiceContext context();
+
+  weblogic.webservice.context.WebServiceContext joinContext() 
+       throws weblogic.webservice.context.ContextNotFoundException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort getTaxiServiceBAPort() throws javax.xml.rpc.ServiceException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort getTaxiServiceBAPort(String username, String password) throws javax.xml.rpc.ServiceException;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,24 @@
+<!--
+  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.
+-->
+<wsdd:type-mapping  xmlns:wsdd="http://www.bea.com/servers/wls70"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+</wsdd:type-mapping>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBAPort.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBAPort.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBAPort.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated interface, do not edit.
+ *
+ * This stub interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:37 BST 2004 */
+
+public interface TaxiServiceBAPort extends java.rmi.Remote{
+
+  /**
+   * bookTaxi 
+   */
+
+  public boolean bookTaxi() 
+       throws java.rmi.RemoteException ;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBAPort_Stub.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBAPort_Stub.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBAPort_Stub.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+/**
+ * Generated class, do not edit.
+ *
+ * This stub class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:37 BST 2004 */
+
+public class TaxiServiceBAPort_Stub 
+     extends weblogic.webservice.core.rpc.StubImpl 
+     implements  com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort{
+
+  public TaxiServiceBAPort_Stub( weblogic.webservice.Port _port ){
+    super( _port, com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort.class );
+  }
+
+  /**
+   * bookTaxi 
+   */
+
+  public boolean bookTaxi() 
+       throws java.rmi.RemoteException {
+
+    java.util.HashMap _args = new java.util.HashMap();
+    try{
+      java.lang.Object _result = _invoke( "bookTaxi", _args );
+      return ((java.lang.Boolean)_result).booleanValue();
+        } catch (javax.xml.rpc.JAXRPCException e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e.getLinkedCause() );
+    } catch (javax.xml.rpc.soap.SOAPFaultException e) {
+      throw new java.rmi.RemoteException( "SOAP Fault:" + e + "\nDetail:\n"+e.getDetail(), e );
+    } catch (java.lang.Throwable e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e );    }
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA_Impl.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA_Impl.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA_Impl.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:37 BST 2004 */
+
+public class TaxiServiceBA_Impl 
+     extends weblogic.webservice.core.rpc.ServiceImpl 
+     implements com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBA{
+
+  public TaxiServiceBA_Impl() 
+       throws java.io.IOException{
+
+    this( "com/arjuna/xts/nightout/clients/weblogic/proxies/TaxiServiceBA.wsdl" );
+  }
+
+  public TaxiServiceBA_Impl( String wsdlurl ) 
+       throws java.io.IOException{
+
+    super( wsdlurl, "com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBA" );
+  }
+    //***********************************
+  // Port Name: TaxiServiceBAPort 
+  // Port Type: TaxiServiceBAPort  //***********************************
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort mvar_TaxiServiceBAPort;
+
+
+  /**
+   * returns a port in this service 
+   *
+   */
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort getTaxiServiceBAPort(){
+
+    if( mvar_TaxiServiceBAPort == null ){
+      mvar_TaxiServiceBAPort = 
+        new com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort_Stub( _getPort( "TaxiServiceBAPort" ) );
+    }
+
+    return mvar_TaxiServiceBAPort;
+
+  }
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.TaxiServiceBAPort getTaxiServiceBAPort(String username, String password){
+
+    _setUser( username, password, getTaxiServiceBAPort() );
+
+    return getTaxiServiceBAPort();
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:39 BST 2004 */
+
+public interface TheatreServiceAT extends javax.xml.rpc.Service{
+
+  weblogic.webservice.context.WebServiceContext context();
+
+  weblogic.webservice.context.WebServiceContext joinContext() 
+       throws weblogic.webservice.context.ContextNotFoundException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort getTheatreServiceATPort() throws javax.xml.rpc.ServiceException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort getTheatreServiceATPort(String username, String password) throws javax.xml.rpc.ServiceException;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,24 @@
+<!--
+  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.
+-->
+<wsdd:type-mapping  xmlns:wsdd="http://www.bea.com/servers/wls70"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+</wsdd:type-mapping>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceATPort.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceATPort.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceATPort.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated interface, do not edit.
+ *
+ * This stub interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:39 BST 2004 */
+
+public interface TheatreServiceATPort extends java.rmi.Remote{
+
+  /**
+   * bookSeats 
+   */
+
+  public void bookSeats(int howMany, int whichArea) 
+       throws java.rmi.RemoteException ;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceATPort_Stub.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceATPort_Stub.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceATPort_Stub.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+/**
+ * Generated class, do not edit.
+ *
+ * This stub class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:39 BST 2004 */
+
+public class TheatreServiceATPort_Stub 
+     extends weblogic.webservice.core.rpc.StubImpl 
+     implements  com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort{
+
+  public TheatreServiceATPort_Stub( weblogic.webservice.Port _port ){
+    super( _port, com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort.class );
+  }
+
+  /**
+   * bookSeats 
+   */
+
+  public void bookSeats(int howMany, int whichArea) 
+       throws java.rmi.RemoteException {
+
+    java.util.HashMap _args = new java.util.HashMap();
+    _args.put( "howMany", _wrap( howMany ) );
+           _args.put( "whichArea", _wrap( whichArea ) );
+           try{
+      java.lang.Object _result = _invoke( "bookSeats", _args );
+              } catch (javax.xml.rpc.JAXRPCException e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e.getLinkedCause() );
+    } catch (javax.xml.rpc.soap.SOAPFaultException e) {
+      throw new java.rmi.RemoteException( "SOAP Fault:" + e + "\nDetail:\n"+e.getDetail(), e );
+    } catch (java.lang.Throwable e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e );    }
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT_Impl.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT_Impl.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT_Impl.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:39 BST 2004 */
+
+public class TheatreServiceAT_Impl 
+     extends weblogic.webservice.core.rpc.ServiceImpl 
+     implements com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceAT{
+
+  public TheatreServiceAT_Impl() 
+       throws java.io.IOException{
+
+    this( "com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceAT.wsdl" );
+  }
+
+  public TheatreServiceAT_Impl( String wsdlurl ) 
+       throws java.io.IOException{
+
+    super( wsdlurl, "com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceAT" );
+  }
+    //***********************************
+  // Port Name: TheatreServiceATPort 
+  // Port Type: TheatreServiceATPort  //***********************************
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort mvar_TheatreServiceATPort;
+
+
+  /**
+   * returns a port in this service 
+   *
+   */
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort getTheatreServiceATPort(){
+
+    if( mvar_TheatreServiceATPort == null ){
+      mvar_TheatreServiceATPort = 
+        new com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort_Stub( _getPort( "TheatreServiceATPort" ) );
+    }
+
+    return mvar_TheatreServiceATPort;
+
+  }
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceATPort getTheatreServiceATPort(String username, String password){
+
+    _setUser( username, password, getTheatreServiceATPort() );
+
+    return getTheatreServiceATPort();
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:41 BST 2004 */
+
+public interface TheatreServiceBA extends javax.xml.rpc.Service{
+
+  weblogic.webservice.context.WebServiceContext context();
+
+  weblogic.webservice.context.WebServiceContext joinContext() 
+       throws weblogic.webservice.context.ContextNotFoundException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort getTheatreServiceBAPort() throws javax.xml.rpc.ServiceException;
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort getTheatreServiceBAPort(String username, String password) throws javax.xml.rpc.ServiceException;
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.xml
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.xml	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.xml	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,24 @@
+<!--
+  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.
+-->
+<wsdd:type-mapping  xmlns:wsdd="http://www.bea.com/servers/wls70"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+</wsdd:type-mapping>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBAPort.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBAPort.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBAPort.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated interface, do not edit.
+ *
+ * This stub interface was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:41 BST 2004 */
+
+public interface TheatreServiceBAPort extends java.rmi.Remote{
+
+  /**
+   * bookSeats 
+   */
+
+  public boolean bookSeats(int howMany, int whichArea) 
+       throws java.rmi.RemoteException ;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBAPort_Stub.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBAPort_Stub.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBAPort_Stub.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+/**
+ * Generated class, do not edit.
+ *
+ * This stub class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:41 BST 2004 */
+
+public class TheatreServiceBAPort_Stub 
+     extends weblogic.webservice.core.rpc.StubImpl 
+     implements  com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort{
+
+  public TheatreServiceBAPort_Stub( weblogic.webservice.Port _port ){
+    super( _port, com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort.class );
+  }
+
+  /**
+   * bookSeats 
+   */
+
+  public boolean bookSeats(int howMany, int whichArea) 
+       throws java.rmi.RemoteException {
+
+    java.util.HashMap _args = new java.util.HashMap();
+    _args.put( "howMany", _wrap( howMany ) );
+           _args.put( "whichArea", _wrap( whichArea ) );
+           try{
+      java.lang.Object _result = _invoke( "bookSeats", _args );
+      return ((java.lang.Boolean)_result).booleanValue();
+        } catch (javax.xml.rpc.JAXRPCException e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e.getLinkedCause() );
+    } catch (javax.xml.rpc.soap.SOAPFaultException e) {
+      throw new java.rmi.RemoteException( "SOAP Fault:" + e + "\nDetail:\n"+e.getDetail(), e );
+    } catch (java.lang.Throwable e) {
+      throw new java.rmi.RemoteException( e.getMessage(), e );    }
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA_Impl.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA_Impl.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA_Impl.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+ */
+package com.arjuna.xts.nightout.clients.weblogic.proxies;
+
+/**
+ * Generated class, do not edit.
+ *
+ * This service class was generated by weblogic
+ * webservice stub gen on Wed Jul 21 12:42:41 BST 2004 */
+
+public class TheatreServiceBA_Impl 
+     extends weblogic.webservice.core.rpc.ServiceImpl 
+     implements com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBA{
+
+  public TheatreServiceBA_Impl() 
+       throws java.io.IOException{
+
+    this( "com/arjuna/xts/nightout/clients/weblogic/proxies/TheatreServiceBA.wsdl" );
+  }
+
+  public TheatreServiceBA_Impl( String wsdlurl ) 
+       throws java.io.IOException{
+
+    super( wsdlurl, "com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBA" );
+  }
+    //***********************************
+  // Port Name: TheatreServiceBAPort 
+  // Port Type: TheatreServiceBAPort  //***********************************
+
+  com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort mvar_TheatreServiceBAPort;
+
+
+  /**
+   * returns a port in this service 
+   *
+   */
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort getTheatreServiceBAPort(){
+
+    if( mvar_TheatreServiceBAPort == null ){
+      mvar_TheatreServiceBAPort = 
+        new com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort_Stub( _getPort( "TheatreServiceBAPort" ) );
+    }
+
+    return mvar_TheatreServiceBAPort;
+
+  }
+
+  public com.arjuna.xts.nightout.clients.weblogic.proxies.TheatreServiceBAPort getTheatreServiceBAPort(String username, String password){
+
+    _setUser( username, password, getTheatreServiceBAPort() );
+
+    return getTheatreServiceBAPort();
+  }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/webmethods/BasicClient.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/webmethods/BasicClient.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/clients/webmethods/BasicClient.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,331 @@
+/*
+ * 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$
+ *
+ */
+package com.arjuna.xts.nightout.clients.webmethods ;
+
+
+import java.io.IOException;
+
+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 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.xts.nightout.services.Restaurant.IRestaurantService;
+import com.arjuna.xts.nightout.services.Restaurant.IRestaurantServiceBA;
+import com.arjuna.xts.nightout.services.Taxi.ITaxiService;
+import com.arjuna.xts.nightout.services.Taxi.ITaxiServiceBA;
+import com.arjuna.xts.nightout.services.Theatre.ITheatreService;
+import com.arjuna.xts.nightout.services.Theatre.ITheatreServiceBA;
+
+import electric.registry.Registry;
+
+
+/**
+ * A very basic client application that drives the
+ * (transactional) Web Services to arrange a night out.
+ * <p/>
+ * This is a reworking of the axis client.
+ *
+ * @author Malik SAHEB (malik.saheb at arjuna.com)
+ * @version $Id$
+ */
+public class BasicClient extends HttpServlet
+{
+    /**
+     * The client serial version UID.
+     */
+    private static final long serialVersionUID = -5260691945398399633L ;
+
+    /**
+     * The servlet context.
+     */
+    private ServletContext context ;
+
+    /**
+     * The atomic transaction restaurant stub.
+     */
+    private IRestaurantService restaurantAT;
+    /**
+     * The atomic transaction theatre stub.
+     */
+    private ITheatreService theatreAT;
+    /**
+     * The atomic transaction taxi stub.
+     */
+    private ITaxiService taxiAT;
+    /**
+     * The business activity restaurant stub.
+     */
+    private IRestaurantServiceBA restaurantBA;
+    /**
+     * The business activity theatre stub.
+     */
+    private ITheatreServiceBA theatreBA;
+    /**
+     * The business activity taxi stub.
+     */
+    private ITaxiServiceBA taxiBA;
+
+    /**
+     * URL of restaurant AT
+     */
+    private String restaurantATURL ;
+    /**
+     * URL of restaurant BA
+     */
+    private String restaurantBAURL ;
+    /**
+     * URL of taxi AT
+     */
+    private String taxiATURL ;
+    /**
+     * URL of taxi BA
+     */
+    private String taxiBAURL ;
+    /**
+     * URL of theatre AT
+     */
+    private String theatreATURL ;
+    /**
+     * URL of theatre BA
+     */
+    private String theatreBAURL ;
+
+    /**
+     * The initialised flag.
+     */
+    private boolean initialised ;
+
+    /**
+     * Initialise the servlet.
+     * @param servletConfig The servlet configuration.
+     */
+    public void init(final ServletConfig config)
+        throws ServletException
+    {
+        final String baseURL = "http://localhost:8004/xts-demo/services/" ;
+
+        restaurantATURL = getURL(config, "restaurantATURL", baseURL + "RestaurantServiceAT.wsdl") ;
+        restaurantBAURL = getURL(config, "restaurantBAURL", baseURL + "RestaurantServiceBA.wsdl") ;
+        taxiATURL = getURL(config, "taxiATURL", baseURL + "TheatreServiceAT.wsdl") ;
+        taxiBAURL = getURL(config, "taxiBAURL", baseURL + "TheatreServiceBA.wsdl") ;
+        theatreATURL = getURL(config, "theatreATURL", baseURL + "TheatreServiceAT.wsdl") ;
+        theatreBAURL = getURL(config, "theatreBAURL", baseURL + "TheatreServiceBA.wsdl") ;
+
+        context = config.getServletContext();
+    }
+
+    /**
+     * Initialise if necessary
+     */
+    private synchronized void initialise()
+	throws ServletException
+    {
+	if (!initialised)
+	{
+	    try 
+	    {
+                restaurantAT = (IRestaurantService)Registry.bind(restaurantATURL, IRestaurantService.class) ;
+                restaurantBA = (IRestaurantServiceBA)Registry.bind(restaurantBAURL,IRestaurantServiceBA.class) ;
+                
+                taxiAT = (ITaxiService)Registry.bind(taxiATURL, ITaxiService.class) ;
+                taxiBA = (ITaxiServiceBA)Registry.bind(taxiBAURL, ITaxiServiceBA.class) ;
+                
+                theatreAT = (ITheatreService)Registry.bind(theatreATURL, ITheatreService.class) ;
+                theatreBA = (ITheatreServiceBA)Registry.bind(theatreBAURL, ITheatreServiceBA.class) ;
+	    }
+            catch (final Exception ex)
+            {
+	        ex.printStackTrace();
+                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 = "Transaction finished OK.";
+        String txType = request.getParameter("txType");
+
+        try
+        {
+            if ("AtomicTransaction".equals(txType))
+            {
+                testAtomicTransaction(restaurantSeats, theatreSeats, theatreArea, bookTaxi);
+            }
+            else if ("BusinessActivity".equals(txType))
+            {
+                testBusinessActivity(restaurantSeats, theatreSeats, theatreArea, bookTaxi);
+            }
+            else
+            {
+                result = "Unknown transaction type " + txType;
+            }
+        }
+        catch (Exception e)
+        {
+            result = "Transaction failed! Cause: " + e.toString();
+            System.out.println("CLIENT: problem: ");
+            e.printStackTrace(System.out);
+        }
+
+        request.setAttribute("result", result);
+        context.getRequestDispatcher("/index.jsp").forward(request, response);
+    }
+
+    /**
+     * Run a simple transaction involving three Web Services.
+     * Use the Atomic Transaction type.
+     * <p/>
+     * Note: due to the implementation of the transaction infrastructure,
+     * this method must be invoked with a web application container. It will
+     * not run correctly in a standalone java application.
+     *
+     * @throws Exception for any unexpected errors, such as a failure to commit.
+     */
+    private void testAtomicTransaction(int restaurantSeats, int theatreSeats, int theatreArea, boolean bookTaxi) throws Exception
+    {
+        System.out.println("CLIENT: obtaining userTransaction...");
+
+        UserTransaction ut = UserTransactionFactory.userTransaction();
+
+        System.out.println("CLIENT: starting the transaction...");
+
+        ut.begin();
+
+        System.out.println("CLIENT: transaction ID= " + ut.toString());
+
+        System.out.println("CLIENT: calling business Web Services...");
+
+        restaurantAT.bookSeats(restaurantSeats);
+        theatreAT.bookSeats(theatreSeats, theatreArea);
+        if (bookTaxi)
+        {
+            taxiAT.bookTaxi();
+        }
+
+        System.out.println("CLIENT: calling commit on the transaction...");
+
+        ut.commit();
+
+        System.out.println("done.");
+        System.out.flush();
+    }
+
+    /**
+     * Run a simple transaction involving three Web Services.
+     * Use the Business Activity type.
+     * <p/>
+     * Note: due to the implementation of the transaction infrastructure,
+     * this method must be invoked with a web application container. It will
+     * not run correctly in a standalone java application.
+     *
+     * @throws Exception for any unexpected errors, such as a failure to commit.
+     */
+    private void testBusinessActivity(int restaurantSeats, int theatreSeats, int theatreArea, boolean bookTaxi) throws Exception
+    {
+        System.out.println("CLIENT: obtaining userBusinessActivity...");
+
+        UserBusinessActivity uba = UserBusinessActivityFactory.userBusinessActivity();
+
+        System.out.println("CLIENT: starting the transaction...");
+
+        uba.begin();
+
+        System.out.println("CLIENT: transaction ID= " + uba.toString());
+
+        System.out.println("CLIENT: calling business Web Services...");
+
+        boolean isOK = false ;
+        try
+        {
+            if (restaurantBA.bookSeats(restaurantSeats) && theatreBA.bookSeats(theatreSeats, theatreArea))
+            {
+                isOK = !bookTaxi || taxiBA.bookTaxi() ;
+            }
+        }
+        catch (final Throwable th)
+        {
+            System.out.println("CLIENT: caught exception processing bookings, cancelling (" + th.getMessage() + ")") ;
+        }
+
+        if (isOK)
+        {
+            System.out.println("CLIENT: all OK");
+            System.out.println("CLIENT: calling close on the transaction...");
+            uba.close();
+        }
+        else
+        {
+            System.out.println("CLIENT: one or more services failed, calling cancel.");
+            uba.cancel();
+        }
+
+        System.out.println("CLIENT: done.");
+        System.out.flush();
+    }
+
+    /**
+     * @param config The servlet config
+     * @param property The property name
+     * @param defautlValue 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) ;
+    }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/Bistro.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/Bistro.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/Bistro.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,15 @@
+package com.arjuna.xts.nightout.services.Bistro;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: jhalli
+ * Date: Apr 19, 2007
+ * Time: 10:52:35 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public interface Bistro
+{
+	public void bookSeats(int how_many);
+
+	public int getBookingCount();
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroEntityImpl.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroEntityImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroEntityImpl.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,47 @@
+package com.arjuna.xts.nightout.services.Bistro;
+
+import org.apache.log4j.Logger;
+
+import java.io.Serializable;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.GeneratedValue;
+
+ at Entity
+ at Table(name = "bistros")
+public class BistroEntityImpl implements Serializable
+{
+	private static Logger log = Logger.getLogger(BistroEntityImpl.class);
+
+	private int id;
+	private int bookingCount;
+
+	public BistroEntityImpl () { }
+
+	@Id
+	@GeneratedValue
+	public int getId () {
+		return id;
+	}
+
+	public void setId (int id) {
+		this.id = id;
+	}
+
+	public int getBookingCount()
+	{
+		return bookingCount;
+	}
+
+
+	public void setBookingCount(int bookingCount)
+	{
+		this.bookingCount = bookingCount;
+	}
+
+	public void increaseBookingCount(int how_many) {
+		setBookingCount( getBookingCount() + how_many );
+	}
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroImpl.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroImpl.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroImpl.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,65 @@
+package com.arjuna.xts.nightout.services.Bistro;
+
+import org.apache.log4j.Logger;
+
+import javax.ejb.*;
+import javax.persistence.*;
+import javax.jws.WebService;
+import javax.jws.WebMethod;
+import javax.jws.HandlerChain;
+import javax.jws.soap.SOAPBinding;
+
+import com.arjuna.wst.WrongStateException;
+import com.arjuna.wst.UnknownTransactionException;
+import com.arjuna.wst.SystemException;
+import com.arjuna.wsc.AlreadyRegisteredException;
+import com.arjuna.mw.wst.UserTransactionFactory;
+
+ at Stateless
+ at Remote(Bistro.class)
+
+// default is REQUIRED for all methods unless overriden.
+// the container gets first crack at this, so we have to
+// tell it not to create it's own tx as we will do that.
+// TODO: ordering of container vs. registered handlers?
+//@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
+
+ at WebService() // (name = "Bistro", targetNamespace = "http://www.jboss.org/txbridgedemoejb", serviceName = "BistroService")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+ at HandlerChain(file = "jaxws-handlers-server.xml") // relative path from the class file
+public class BistroImpl implements Bistro
+{
+	private static Logger log = Logger.getLogger(BistroImpl.class);
+
+	private static final int BISTRO_ID = 1;
+
+	@PersistenceContext
+	protected EntityManager em;
+
+	@WebMethod
+	public void bookSeats(int how_many) {
+		log.debug("bookSeats(how_many="+how_many+")");
+
+		BistroEntityImpl entity = getBistroEntity();
+
+		entity.increaseBookingCount(how_many);
+	}
+
+	@WebMethod
+	public int getBookingCount() {
+		log.debug("getBookedSeatCount()");
+
+		return getBistroEntity().getBookingCount();
+	}
+
+	private BistroEntityImpl getBistroEntity() {
+
+		BistroEntityImpl entity = em.find(BistroEntityImpl.class, BISTRO_ID);
+		if(entity == null) {
+			entity = new BistroEntityImpl();
+			em.persist(entity);
+		}
+
+		return entity;
+	}
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroXAResource.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroXAResource.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/BistroXAResource.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,78 @@
+package com.arjuna.xts.nightout.services.Bistro;
+
+import org.apache.log4j.Logger;
+
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+import javax.transaction.xa.XAException;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: jhalli
+ * Date: Apr 23, 2007
+ * Time: 4:38:35 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class BistroXAResource implements XAResource
+{
+	private static Logger log = Logger.getLogger(BistroXAResource.class);
+
+	public void commit(Xid xid, boolean onePhase) throws XAException
+	{
+		log.debug("commit(Xid="+xid+", onePhase="+onePhase+")");
+	}
+
+	public void end(Xid xid, int flags) throws XAException
+	{
+		log.debug("end(Xid="+xid+", flags="+flags+")");
+	}
+
+	public void forget(Xid xid) throws XAException
+	{
+		log.debug("forget(Xid="+xid+")");
+	}
+
+	public int getTransactionTimeout() throws XAException
+	{
+		log.debug("getTransactionTimeout()");
+		return timeout;
+	}
+
+	public boolean isSameRM(XAResource xaResource) throws XAException
+	{
+		log.debug("isSameRM(XAResource="+xaResource+")");
+		return false;
+	}
+
+	public int prepare(Xid xid) throws XAException
+	{
+		log.debug("prepare(Xid="+xid+")");
+		return XAResource.XA_OK;
+//		throw new XAException(XAException.XA_RBROLLBACK);
+	}
+
+	public Xid[] recover(int flags) throws XAException
+	{
+		log.debug("recover(flags="+flags+")");
+		return new Xid[0];  //To change body of implemented methods use File | Settings | File Templates.
+	}
+
+	public void rollback(Xid xid) throws XAException
+	{
+		log.debug("rollback(Xid="+xid+")");
+	}
+
+	public boolean setTransactionTimeout(int i) throws XAException
+	{
+		log.debug("setTransactionTimeout(i="+i+")");
+		timeout = i;
+		return true;
+	}
+
+	public void start(Xid xid, int flags) throws XAException
+	{
+		log.debug("start(Xid="+xid+", flags="+flags+")");
+	}
+
+	private int timeout;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/JaxWSServerHeaderContextProcessor.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/JaxWSServerHeaderContextProcessor.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Bistro/JaxWSServerHeaderContextProcessor.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,273 @@
+package com.arjuna.xts.nightout.services.Bistro;
+
+import org.apache.log4j.Logger;
+
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPHandler;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+import javax.xml.namespace.QName;
+import javax.xml.soap.*;
+
+import java.util.Set;
+import java.util.HashSet;
+import java.util.Iterator;
+
+import com.arjuna.webservices.wscoor.CoordinationConstants;
+import com.arjuna.webservices.wscoor.CoordinationContextType;
+import com.arjuna.webservices.wsat.AtomicTransactionConstants;
+import com.arjuna.webservices.wsba.BusinessActivityConstants;
+import com.arjuna.mw.wst.common.CoordinationContextHelper;
+import com.arjuna.mw.wst.common.SOAPUtil;
+import com.arjuna.mw.wst.*;
+
+
+/**
+ * TODO: make this play nice alongside com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor
+ * - factor out common base class or suchlike
+ */
+public class JaxWSServerHeaderContextProcessor implements SOAPHandler
+{
+	private static Logger log = Logger.getLogger(JaxWSServerHeaderContextProcessor.class);
+
+	private String handlerName;
+
+	public String getHandlerName()
+	{
+	   return handlerName;
+	}
+
+	public void setHandlerName(String handlerName)
+	{
+	   this.handlerName = handlerName;
+	}
+
+	public boolean handleMessage(MessageContext msgContext)
+	{
+	   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);
+	}
+
+
+	public boolean handleFault(MessageContext messagecontext)
+	{
+		suspendTransaction() ;
+		return true;
+	}
+
+	public void close(MessageContext messageContext)
+	{
+	}
+
+	public String toString()
+	{
+	   return (handlerName != null ? handlerName : super.toString());
+	}
+
+
+
+   // The header blocks that can be processed by this Handler instance
+   private Set<QName> headers = new HashSet<QName>();
+
+   /** Gets the header blocks that can be processed by this Handler instance.
+    */
+   public Set<QName> getHeaders()
+   {
+	   log.info("getHeaders");
+
+	   Set<QName> headerSet = new HashSet<QName>();
+	   headerSet.add(new QName(CoordinationConstants.WSCOOR_NAMESPACE, CoordinationConstants.WSCOOR_ELEMENT_COORDINATION_CONTEXT));
+
+	  return headerSet;
+   }
+
+   /** Sets the header blocks that can be processed by this Handler instance.
+    */
+   public void setHeaders(Set<QName> headers)
+   {
+      this.headers = headers;
+   }
+
+
+
+   protected boolean handleInbound(MessageContext msgContext)
+   {
+      log.info("handleInbound");
+/*
+      try
+      {
+         SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
+         SOAPHeader soapHeader = soapMessage.getSOAPHeader();
+         SOAPBody soapBody = soapMessage.getSOAPBody();
+
+         SOAPFactory soapFactory = SOAPFactory.newInstance();
+         Name headerName = soapFactory.createName("LogHandlerInbound", "ns1", "http://somens");
+         SOAPHeaderElement she = soapHeader.addHeaderElement(headerName);
+         she.setValue("true");
+
+         SOAPBodyElement soapBodyElement = (SOAPBodyElement)soapBody.getChildElements().next();
+         SOAPElement soapElement = (SOAPElement)soapBodyElement.getChildElements().next();
+         String value = soapElement.getValue();
+         soapElement.setValue(value + "|LogIn");
+      }
+      catch (SOAPException e)
+      {
+         throw  new WebServiceException(e);
+      }
+*/
+
+        final SOAPMessageContext soapMessageContext = (SOAPMessageContext)msgContext ;
+        final SOAPMessage soapMessage = soapMessageContext.getMessage() ;
+
+		if (soapMessage != null)
+        {
+            try
+            {
+                final SOAPEnvelope soapEnvelope = soapMessage.getSOAPPart().getEnvelope() ;
+                final SOAPHeader soapHeader = soapEnvelope.getHeader() ;
+                final SOAPHeaderElement soapHeaderElement = getHeaderElement(soapHeader, CoordinationConstants.WSCOOR_NAMESPACE, CoordinationConstants.WSCOOR_ELEMENT_COORDINATION_CONTEXT) ;
+
+                if (soapHeaderElement != null)
+                {
+                    final CoordinationContextType cc = CoordinationContextHelper.deserialise(soapEnvelope, soapHeaderElement) ;
+                    final String coordinationType = cc.getCoordinationType().getValue() ;
+                    if (AtomicTransactionConstants.WSAT_PROTOCOL.equals(coordinationType))
+                    {
+                        final TxContext txContext = new com.arjuna.mwlabs.wst.at.context.TxContextImple(cc) ;
+                        TransactionManagerFactory.transactionManager().resume(txContext) ;
+                        clearMustUnderstand(soapHeader, soapHeaderElement) ;
+                    }
+                    else if (BusinessActivityConstants.WSBA_PROTOCOL_ATOMIC_OUTCOME.equals(coordinationType))
+                    {
+                        final TxContext txContext = new com.arjuna.mwlabs.wst.ba.context.TxContextImple(cc);
+                        BusinessActivityManagerFactory.businessActivityManager().resume(txContext) ;
+                        clearMustUnderstand(soapHeader, soapHeaderElement) ;
+                    }
+                    else
+                    {
+						log.warn("handleInbound: unknown type="+coordinationType);
+                    }
+                }
+            }
+            catch (final Throwable th)
+            {
+				log.warn("handleInbound: ", th);
+            }
+        }
+        return true ;
+   }
+
+
+   protected boolean handleOutbound(MessageContext msgContext)
+   {
+	   log.info("handleOutbound");
+	   suspendTransaction() ;
+/*
+      try
+      {
+         SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
+         SOAPHeader soapHeader = soapMessage.getSOAPHeader();
+         SOAPBody soapBody = soapMessage.getSOAPBody();
+
+         SOAPFactory soapFactory = SOAPFactory.newInstance();
+         Name headerName = soapFactory.createName("LogHandlerOutbound", "ns1", "http://somens");
+         SOAPHeaderElement she = soapHeader.addHeaderElement(headerName);
+         she.setValue("true");
+
+         SOAPBodyElement soapBodyElement = (SOAPBodyElement)soapBody.getChildElements().next();
+         SOAPElement soapElement = (SOAPElement)soapBodyElement.getChildElements().next();
+         String value = soapElement.getValue();
+         soapElement.setValue(value + "|LogOut");
+      }
+      catch (SOAPException e)
+      {
+         throw  new WebServiceException(e);
+      }
+*/
+      return true;
+   }
+
+	    private void suspendTransaction()
+    {
+        try
+        {
+            /*
+             * There should either be an Atomic Transaction *or* a Business Activity
+             * associated with the thread.
+             */
+            final TransactionManager transactionManager = TransactionManagerFactory.transactionManager() ;
+            final BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager() ;
+
+            if (transactionManager != null)
+            {
+                transactionManager.suspend() ;
+            }
+
+            if (businessActivityManager != null)
+            {
+                businessActivityManager.suspend() ;
+            }
+        }
+        catch (final Throwable th)
+        {
+			log.warn("suspendTransaction", th);
+        }
+    }
+
+		private SOAPHeaderElement getHeaderElement(final SOAPHeader soapHeader, final String uri, final String name)
+        throws SOAPException
+		{
+        if (soapHeader != null)
+        {
+            final Iterator headerIter = SOAPUtil.getChildElements(soapHeader) ;
+            while(headerIter.hasNext())
+            {
+                final SOAPHeaderElement current = (SOAPHeaderElement)headerIter.next() ;
+                final Name currentName = current.getElementName() ;
+                if ((currentName != null) &&
+                    match(name, currentName.getLocalName()) &&
+                    match(uri, currentName.getURI()))
+                {
+                    return current ;
+                }
+            }
+        }
+        return null ;
+    }
+
+    /**
+     * Do the two references match?
+     * @param lhs The first reference.
+     * @param rhs The second reference.
+     * @return true if the references are both null or if they are equal.
+     */
+    private boolean match(final Object lhs, final Object rhs)
+    {
+        if (lhs == null)
+        {
+            return (rhs == null) ;
+        }
+        else
+        {
+            return lhs.equals(rhs) ;
+        }
+    }
+
+	    /**
+     * Clear the soap MustUnderstand.
+     * @param soapHeader The SOAP header.
+     * @param soapHeaderElement The SOAP header element.
+     */
+    private void clearMustUnderstand(final SOAPHeader soapHeader, final SOAPHeaderElement soapHeaderElement)
+    	throws SOAPException
+    {
+	final Name headerName = soapHeader.getElementName() ;
+
+	final SOAPFactory factory = SOAPFactory.newInstance() ;
+	final Name attributeName = factory.createName("mustUnderstand", headerName.getPrefix(), headerName.getURI()) ;
+
+	soapHeaderElement.removeAttribute(attributeName) ;
+    }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/IRestaurantService.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/IRestaurantService.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/IRestaurantService.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.services.Restaurant;
+
+public interface IRestaurantService
+{
+     /**
+     * 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
+     */
+    public void bookSeats(int how_many);
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/IRestaurantServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/IRestaurantServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/IRestaurantServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.services.Restaurant;
+
+public interface IRestaurantServiceBA
+{
+     /**
+     * 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
+     */
+    public boolean bookSeats(int how_many);
+
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantManager.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantManager.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantManager.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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 = 100;
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantParticipantBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,88 @@
+/*
+ * 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.arjuna.xts.nightout.services.Restaurant;
+
+import com.arjuna.mw.wst.UserTransactionFactory;
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.ats.arjuna.common.Uid;
+
+/**
+ * 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 $
+ */
+public class RestaurantServiceAT implements IRestaurantService
+{
+    /**
+     * 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
+     */
+    public void bookSeats(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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,137 @@
+/*
+ * 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.arjuna.xts.nightout.services.Restaurant;
+
+import com.arjuna.wst.*;
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.BusinessActivityManager;
+import com.arjuna.mw.wst.BusinessActivityManagerFactory;
+
+/**
+ * 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 $
+ */
+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.
+     */
+    public boolean bookSeats(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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantView.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantView.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/RestaurantView.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/wstest.ear
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/wstest.ear
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/xts-coordinator.ear
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Restaurant/xts-coordinator.ear
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/ITaxiService.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/ITaxiService.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/ITaxiService.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.services.Taxi;
+
+public interface ITaxiService
+{
+    public void bookTaxi();
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/ITaxiServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/ITaxiServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/ITaxiServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.services.Taxi;
+
+public interface ITaxiServiceBA
+{
+    public boolean bookTaxi();
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiManager.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiManager.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiManager.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiParticipantBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,152 @@
+/*
+ * 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.arjuna.xts.nightout.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 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();
+
+        throw new SystemException("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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,90 @@
+/*
+ * 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.arjuna.xts.nightout.services.Taxi;
+
+import com.arjuna.mw.wst.UserTransactionFactory;
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.ats.arjuna.common.Uid;
+
+/**
+ * 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 $
+ */
+public class TaxiServiceAT implements ITaxiService
+{
+    /**
+     * Book a taxi
+     * Enrols a Participant if necessary, then passes
+     * the call through to the business logic.
+     */
+    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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,138 @@
+/*
+ * 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.arjuna.xts.nightout.services.Taxi;
+
+import com.arjuna.wst.*;
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.BusinessActivityManager;
+import com.arjuna.mw.wst.BusinessActivityManagerFactory;
+
+/**
+ * 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 $
+ */
+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.
+     */
+    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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiView.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiView.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Taxi/TaxiView.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/ITheatreService.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/ITheatreService.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/ITheatreService.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.services.Theatre;
+
+public interface ITheatreService
+{
+
+    public void bookSeats(int how_many, int which_area);
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/ITheatreServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/ITheatreServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/ITheatreServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+package com.arjuna.xts.nightout.services.Theatre;
+
+public interface ITheatreServiceBA
+{
+
+    public boolean bookSeats(int how_many, int which_area);
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreManager.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreManager.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreManager.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreParticipantBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreServiceAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreServiceAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreServiceAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,88 @@
+/*
+ * 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.arjuna.xts.nightout.services.Theatre;
+
+import com.arjuna.mw.wst.*;
+import com.arjuna.ats.arjuna.common.Uid;
+
+/**
+ * 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 $
+ */
+public class TheatreServiceAT implements ITheatreService
+{
+    /**
+     * 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
+     */
+    public void bookSeats(int how_many, 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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreServiceBA.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreServiceBA.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreServiceBA.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,129 @@
+/*
+ * 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.arjuna.xts.nightout.services.Theatre;
+
+import com.arjuna.mw.wst.*;
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.wst.*;
+
+/**
+ * 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 $
+ */
+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.
+     */
+    public boolean bookSeats(int how_many, 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:
+            com.arjuna.wst.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/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreView.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreView.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/src/com/arjuna/xts/nightout/services/Theatre/TheatreView.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.arjuna.xts.nightout.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/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/a_nav_6699cc.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/a_nav_6699cc.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/arjuna_logo.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/arjuna_logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/bl_corner_10.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/bl_corner_10.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/bl_navcorner_20.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/bl_navcorner_20.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/br_corner_10.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/br_corner_10.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/br_navcorner_20.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/br_navcorner_20.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tl_corner_10.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tl_corner_10.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tl_navcorner_20.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tl_navcorner_20.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tr_corner_10.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tr_corner_10.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tr_navcorner_20.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/images/tr_navcorner_20.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/index.jsp
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/index.jsp	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/web/index.jsp	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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="arjuna 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/jbosstm/workspace/maciej.machulak/code/new/demo/weblogic.properties
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/weblogic.properties	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/weblogic.properties	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+-->
+<!-- WebLogic property file
+  The following variables should be replaced for WebLogic deployment
+  
+  WEBLOGIC_HOSTNAME - the hostname of the WebLogic installation (localhost)
+  WEBLOGIC_PORT - the port of the WebLogic web server (7001)
+  WEBLOGIC_URLSTUB - the url stub for the demo webservices (xtsdemowebservices)
+  WEBLOGIC_DEPLOY_DIR - the deploy directory of the WebLogic instance
+  WEBLOGIC_HOME - The home directory of the WebLogic installation (/usr/local/bea/weblogic81)
+  
+  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 WebLogic.
+-->
+<arjuna>
+  <hostname>WEBLOGIC_HOSTNAME</hostname>
+  <port>WEBLOGIC_PORT</port>
+  <urlstub>WEBLOGIC_URLSTUB</urlstub>
+  <deploy>
+    <dir>WEBLOGIC_DEPLOY_DIR</dir>
+  </deploy>
+  <weblogic>
+    <home>WEBLOGIC_HOME</home>
+  </weblogic>
+
+  <!-- webMethods services
+  <restaurantATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/RestaurantServiceAT.wsdl</restaurantATURL>
+  <restaurantBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/RestaurantServiceBA.wsdl</restaurantBAURL>
+  <taxiATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TaxiServiceAT.wsdl</taxiATURL>
+  <taxiBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TaxiServiceBA.wsdl</taxiBAURL>
+  <theatreATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TheatreServiceAT.wsdl</theatreATURL>
+  <theatreBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TheatreServiceBA.wsdl</theatreBAURL>
+  -->
+
+  <!-- WebLogic services -->
+  <restaurantATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/RestaurantServiceAT?WSDL</restaurantATURL>
+  <restaurantBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/RestaurantServiceBA?WSDL</restaurantBAURL>
+  <taxiATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TaxiServiceAT?WSDL</taxiATURL>
+  <taxiBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TaxiServiceBA?WSDL</taxiBAURL>
+  <theatreATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TheatreServiceAT?WSDL</theatreATURL>
+  <theatreBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TheatreServiceBA?WSDL</theatreBAURL>
+
+  <!-- JBoss services
+  <restaurantATURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/RestaurantServiceAT?wsdl</restaurantATURL>
+  <restaurantBAURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/RestaurantServiceBA?wsdl</restaurantBAURL>
+  <taxiATURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/TaxiServiceAT?wsdl</taxiATURL>
+  <taxiBAURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/TaxiServiceBA?wsdl</taxiBAURL>
+  <theatreATURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/TheatreServiceAT?wsdl</theatreATURL>
+  <theatreBAURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/TheatreServiceBA?wsdl</theatreBAURL>
+  -->
+</arjuna>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/webmethods.properties
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/demo/webmethods.properties	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/demo/webmethods.properties	2007-05-20 23:16:16 UTC (rev 11984)
@@ -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.
+-->
+<!-- Webmethod property file
+  The following variables should be replaced for webMethods deployment
+  
+  WEBMETHODS_HOSTNAME - the hostname of the webMethods installation (localhost)
+  WEBMETHODS_PORT - the port of the webMethods web server (8004)
+  WEBMETHODS_URLSTUB - the url stub for the demo webservices (xts-demo)
+  WEBMETHODS_DEPLOY_DIR - the deploy directory of the webMethods instance
+  WEBMETHODS_HOME - The home directory of the webMethods installation (/usr/local/glue)
+  
+  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 webMethods.
+-->
+<arjuna>
+  <hostname>WEBMETHODS_HOSTNAME</hostname>
+  <port>WEBMETHODS_PORT</port>
+  <urlstub>WEBMETHODS_URLSTUB</urlstub>
+  <deploy>
+    <dir>WEBMETHODS_DEPLOY_DIR</dir>
+  </deploy>
+  <webmethods>
+    <home>WEBMETHODS_HOME</home>
+  </webmethods>
+
+  <!-- webmethods services -->
+  <restaurantATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/RestaurantServiceAT.wsdl</restaurantATURL>
+  <restaurantBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/RestaurantServiceBA.wsdl</restaurantBAURL>
+  <taxiATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TaxiServiceAT.wsdl</taxiATURL>
+  <taxiBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TaxiServiceBA.wsdl</taxiBAURL>
+  <theatreATURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TheatreServiceAT.wsdl</theatreATURL>
+  <theatreBAURL>http://WEBMETHODS_HOSTNAME:WEBMETHODS_PORT/WEBMETHODS_URLSTUB/services/TheatreServiceBA.wsdl</theatreBAURL>
+
+  <!-- WebLogic services
+  <restaurantATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/RestaurantServiceAT?WSDL</restaurantATURL>
+  <restaurantBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/RestaurantServiceBA?WSDL</restaurantBAURL>
+  <taxiATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TaxiServiceAT?WSDL</taxiATURL>
+  <taxiBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TaxiServiceBA?WSDL</taxiBAURL>
+  <theatreATURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TheatreServiceAT?WSDL</theatreATURL>
+  <theatreBAURL>http://WEBLOGIC_HOSTNAME:WEBLOGIC_PORT/WEBLOGIC_URLSTUB/TheatreServiceBA?WSDL</theatreBAURL>
+  -->
+
+  <!-- JBoss services
+  <restaurantATURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/RestaurantServiceAT?wsdl</restaurantATURL>
+  <restaurantBAURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/RestaurantServiceBA?wsdl</restaurantBAURL>
+  <taxiATURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/TaxiServiceAT?wsdl</taxiATURL>
+  <taxiBAURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/TaxiServiceBA?wsdl</taxiBAURL>
+  <theatreATURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/TheatreServiceAT?wsdl</theatreATURL>
+  <theatreBAURL>http://JBOSS_HOSTNAME:JBOSS_PORT/JBOSS_URLSTUB/TheatreServiceBA?wsdl</theatreBAURL>
+  -->
+</arjuna>

Added: labs/jbosstm/workspace/maciej.machulak/code/new/demo/xts-coordinator.ear
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/demo/xts-coordinator.ear
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/commons-logging.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/config.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/config.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/flight.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/flight.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/javaee.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/javaee.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/jbossjts.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/jbossjts.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/jbossts-common.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/jbossts-common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/saaj-api.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/saaj-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/stax-api-1.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/stax-api-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/tools.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/tools.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/txbridge.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/txbridge.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-c.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-c.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-c.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-c.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-t.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-t.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-t.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/ws-t.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wsas.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wsas.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wscf.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wscf.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wscf.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wscf.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx-asl-2.0.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx-asl-2.0.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx.war
===================================================================
(Binary files differ)


Property changes on: labs/jbosstm/workspace/maciej.machulak/code/new/lib/wstx.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/BridgeParticipantAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/BridgeParticipantAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/BridgeParticipantAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,155 @@
+/*
+ * 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.XATerminatorImple;
+import org.apache.log4j.Logger;
+
+import javax.transaction.xa.Xid;
+import javax.transaction.xa.XAException;
+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 XATerminatorImple xaTerminator;
+	private Xid xid;
+
+	BridgeParticipantAT(XATerminatorImple xaTerminator, Xid xid)
+    {
+		log.info("BridgeParticipantAT(XATerminatorImple="+xaTerminator+", Xid="+xid+")");
+
+		this.xaTerminator = xaTerminator;
+		this.xid = xid;
+	}
+
+
+    /**
+	 *
+	 *
+     * 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.info("prepare(Xid="+xid+")");
+
+		try {
+			// 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.info("prepare on Xid="+xid+" returning Prepared");
+				return new Prepared();
+			} else {
+				log.info("prepare on Xid="+xid+" returning ReadOnly");
+				return new ReadOnly();
+			}
+
+		} catch(XAException e) {
+			log.info("prepare on Xid="+xid+" returning Aborted", e);
+			return new Aborted();
+		}
+    }
+
+    /**
+	 *
+	 *
+     * The participant should make permanent the work that it controls.
+	 *
+     * @throws WrongStateException
+     * @throws SystemException
+     */
+    public void commit() throws WrongStateException, SystemException
+    {
+		log.info("commit(Xid="+xid+")");
+
+		try
+		{
+			xaTerminator.commit(xid, false);
+			log.info("commit on Xid="+xid+" OK");
+		}
+		catch (XAException e)
+		{
+			log.info("commit on Xid="+xid+" failed", e);
+		}
+    }
+
+    /**
+	 *
+	 *
+     * 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.info("rollback(Xid="+xid+")");
+
+		try
+		{
+			xaTerminator.rollback(xid);
+			log.info("rollback on Xid="+xid+" OK");
+		}
+		catch (XAException e)
+		{
+			log.info("rollback on Xid="+xid+" failed", e);
+		}
+    }
+
+    /**
+     * 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.info("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.info("error(Xid="+xid+"): NOT IMPLEMENTED");
+        // used for calbacks during crash recovery. This impl is not recoverable
+    }
+}
+

Added: labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/DummyParticipantAT.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/DummyParticipantAT.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/DummyParticipantAT.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,42 @@
+package org.jboss.txbridge;
+
+import com.arjuna.wst.*;
+import org.apache.log4j.Logger;
+
+/**
+ * Author: Maciej Machulak
+ */
+public class DummyParticipantAT implements Durable2PCParticipant {
+
+
+    public DummyParticipantAT() {
+        log.info("constructor");
+    }
+
+    private static Logger log = Logger.getLogger(DummyParticipantAT.class);
+
+    public Vote prepare() throws WrongStateException, SystemException {
+        log.info("prepare()");
+        return new Prepared();
+    }
+
+    public void commit() throws WrongStateException, SystemException {
+        log.info("commit()");
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public void rollback() throws WrongStateException, SystemException {
+        log.info("rollback()");
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public void unknown() throws SystemException {
+        log.info("unknown()");
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public void error() throws SystemException {
+        log.info("error()");
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/InboundBridge.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/InboundBridge.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/InboundBridge.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,110 @@
+/*
+ * 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;
+
+	InboundBridge(Xid xid) throws XAException, SystemException {
+		log.info("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.info("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.info("stop("+xid+")");
+
+		TransactionImple tx = getTransaction();
+
+		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;
+	}
+}

Added: labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/JaxWSTransactionBridgeHandler.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,265 @@
+/*
+ * 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;
+import com.arjuna.wsc.AlreadyRegisteredException;
+import com.arjuna.wst.SystemException;
+import com.arjuna.wst.UnknownTransactionException;
+import com.arjuna.wst.WrongStateException;
+
+/**
+ * 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.debug("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.debug("handleFault()");
+        String transactionType = (String) messageContext.get("TransactionAttributeType");
+
+        if (transactionType == null)
+        {
+            log.info("transactionType is null");
+            return true;
+        }
+        else if ( transactionType.equals("MANDATORY"))
+        {
+            log.info("transactionType is mandatory");
+            suspendTransaction();
+        }
+        else if ( transactionType.equals("REQUIRED"))
+        {
+            log.info("transactionType is required");
+            suspendTransaction();
+        }
+        else if ( transactionType.equals("REQUIRES_NEW "))
+        {
+            log.info("transactionType is requires_new");
+            return true;
+        }
+        else if ( transactionType.equals("SUPPORTS"))
+        {
+            log.info("transactionType is supports");
+            suspendTransaction();
+        }
+        else if ( transactionType.equals("NOT_SUPPORTED"))
+        {
+            log.info("transactionType is not_supported");
+            return true;
+        }
+        return true;
+    }
+
+    public void close(MessageContext messageContext)
+    {
+        log.debug("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.debug("handleInbound()");
+        String transactionType = (String) msgContext.get("TransactionAttributeType");
+
+        // If there was no WS transaction
+        if (transactionType == null)
+        {
+            log.info("transactionType is null");
+            return true;
+        }
+
+        // If there is a WS transaction
+
+        // If the method must be executed within a transaction
+        if ( transactionType.equals("MANDATORY"))
+        {
+            log.info("transactionType is mandatory");
+            try
+            {
+                InboundBridge inboundBridge = TxBridgeManager.getInboundBridge();
+                inboundBridge.start();
+            }
+            catch (Exception e)
+            {
+                log.error(e);
+                return false;
+            }
+        }
+        // If the method needs a transaction (either by client or its own)
+        else if ( transactionType.equals("REQUIRED"))
+        {
+            log.info("transactionType is required");
+            try
+            {
+                InboundBridge inboundBridge = TxBridgeManager.getInboundBridge();
+                inboundBridge.start();
+            }
+            catch (Exception e)
+            {
+                log.error(e);
+                return false;
+            }
+        }
+        // If the method will start a new transaction anyway
+        else if ( transactionType.equals("REQUIRES_NEW "))
+        {
+            log.info("transactionType is requires_new");
+            return true;
+        }
+        // If the method does not care
+        else if ( transactionType.equals("SUPPORTS"))
+        {
+            log.info("transactionType is supports");
+            try
+            {
+                InboundBridge inboundBridge = TxBridgeManager.getInboundBridge();
+                inboundBridge.start();
+            }
+            catch (Exception e)
+            {
+                log.error(e);
+                return false;
+            }
+
+        }
+        // If the method does not support a transaction
+        else if ( transactionType.equals("NOT_SUPPORTED"))
+        {
+            log.info("transactionType is not_supported");
+            try
+            {
+                TxBridgeManager.startDummyTransaction();
+            }
+            catch (Exception e)
+            {
+                return false;
+            }
+            return true;
+        }
+        return true;
+    }
+
+    /**
+     * Tidy up the Transaction/Thread association before returning a message to the client.
+     *
+     * @param msgContext
+     * @return
+     */
+    protected boolean handleOutbound(MessageContext msgContext) {
+        log.debug("handleOutbound()");
+        String transactionType = (String) msgContext.get("TransactionAttributeType");
+
+        if (transactionType == null)
+        {
+            log.info("transactionType is null");
+            return true;
+        }
+        else if ( transactionType.equals("MANDATORY"))
+        {
+            suspendTransaction();
+        }
+        else if ( transactionType.equals("REQUIRED"))
+        {
+            log.info("transactionType is required");
+            suspendTransaction();
+        }
+        else if ( transactionType.equals("REQUIRES_NEW "))
+        {
+            log.info("transactionType is requires_new");
+            return true;
+        }
+        else if ( transactionType.equals("SUPPORTS"))
+        {
+            log.info("transactionType is supports");
+            suspendTransaction();
+        }
+        else if ( transactionType.equals("NOT_SUPPORTED"))
+        {
+            log.info("transactionType is not supported");
+            return true;
+        }
+        return true;
+    }
+
+    /**
+     * Break the association between the JTA transaction context and the calling Thread.
+     */
+    private void suspendTransaction() {
+        log.debug("suspendTransaction()");
+
+        try
+        {
+            InboundBridge inboundBridge = TxBridgeManager.getInboundBridge();
+            inboundBridge.stop();
+        }
+        catch (Exception e)
+        {
+            log.error(e);
+        }
+    }
+}
\ No newline at end of file

Added: labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/TxBridgeManager.java
===================================================================
--- labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/TxBridgeManager.java	                        (rev 0)
+++ labs/jbosstm/workspace/maciej.machulak/code/new/src/org/jboss/txbridge/TxBridgeManager.java	2007-05-20 23:16:16 UTC (rev 11984)
@@ -0,0 +1,128 @@
+/*
+ * 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.jca.XATerminatorImple;
+import com.arjuna.ats.jta.xa.XidImple;
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.mw.wst.UserTransactionFactory;
+
+import com.arjuna.mw.wst.TransactionManagerFactory;
+import com.arjuna.wst.WrongStateException;
+import com.arjuna.wst.UnknownTransactionException;
+import com.arjuna.wsc.AlreadyRegisteredException;
+
+import javax.transaction.xa.Xid;
+import javax.transaction.xa.XAException;
+import javax.transaction.Status;
+import javax.transaction.SystemException;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+import org.apache.log4j.Logger;
+
+/**
+ * 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 ConcurrentMap<String, Xid> txIdMappings = new ConcurrentHashMap<String, Xid>();
+
+	private static ConcurrentMap<Xid, InboundBridge> inboundBridgeMappings = new ConcurrentHashMap<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 static InboundBridge getInboundBridge()
+		throws XAException, WrongStateException, UnknownTransactionException,
+			com.arjuna.wst.SystemException, javax.transaction.SystemException, AlreadyRegisteredException
+	{
+		log.info("getInboundBridge()");
+
+		String externalTxId = UserTransactionFactory.userTransaction().toString();
+
+		Xid xid = txIdMappings.get(externalTxId);
+		if(xid == null) {
+			xid = createMappings(externalTxId);
+		}
+
+		return inboundBridgeMappings.get(xid);
+	}
+
+	/**
+	 * 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 synchronized Xid createMappings(String externalTxId)
+			throws XAException, WrongStateException, UnknownTransactionException,
+			com.arjuna.wst.SystemException, javax.transaction.SystemException, AlreadyRegisteredException {
+		log.info("createMappings(externalIxId="+externalTxId+")");
+
+		if(txIdMappings.containsKey(externalTxId)) {
+			return txIdMappings.get(externalTxId);
+		}
+
+		Xid xid = new XidImple(new Uid());
+		txIdMappings.put(externalTxId, xid);
+		inboundBridgeMappings.put(xid, new InboundBridge(xid));
+
+		// 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);
+		TransactionManagerFactory.transactionManager().enlistForDurableTwoPhase(bridgeParticipantAT, new Uid().toString());
+
+		return xid;
+	}
+
+    public static synchronized void startDummyTransaction()
+            throws AlreadyRegisteredException, com.arjuna.wst.SystemException,
+            UnknownTransactionException, WrongStateException
+    {
+        DummyParticipantAT dummyParticipantAT = new DummyParticipantAT();
+        TransactionManagerFactory.transactionManager().enlistForDurableTwoPhase(dummyParticipantAT,new Uid().toString());
+    }
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list