[jboss-svn-commits] JBL Code SVN: r34680 - in labs/jbosstm/trunk/XTS: WS-C/dev/src and 45 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 12 14:06:54 EDT 2010


Author: adinn
Date: 2010-08-12 14:06:50 -0400 (Thu, 12 Aug 2010)
New Revision: 34680

Added:
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSCEnvironmentBean.java
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSCFEnvironmentBean.java
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSTEnvironmentBean.java
   labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/XTSPropertyManager.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src/com/arjuna/wst/common/
   labs/jbosstm/trunk/XTS/config/
   labs/jbosstm/trunk/XTS/config/xts-properties.xml
   labs/jbosstm/trunk/XTS/config/xts-properties11.xml
Removed:
   labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/wsc11/common/
   labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/common/CoordinatorXSD.java
   labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/utils/CoordinationXML.java
   labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/exceptions/ProtocolLocationException.java
   labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/utils/DocComparitor.java
   labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/utils/ProtocolLocator.java
   labs/jbosstm/trunk/XTS/WSCF/classes10/com/arjuna/mwlabs/wsc/
   labs/jbosstm/trunk/XTS/WSCF/config/
   labs/jbosstm/trunk/XTS/WSCF/xml/ArjunaCoreHLS.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/JTAHLS.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/JTAHLSImple.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/Sagas11HLSImple.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/SagasHLSImple.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/TwoPhase11HLSImple.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/TwoPhaseHLSImple.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/WSBAHLS.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/WSCF.xsd
   labs/jbosstm/trunk/XTS/WSCF/xml/context-example.xml
   labs/jbosstm/trunk/XTS/WSCF/xml/context.xsd
   labs/jbosstm/trunk/XTS/WSCF/xml/example.xml
   labs/jbosstm/trunk/XTS/xts.properties
Modified:
   labs/jbosstm/trunk/XTS/WS-C/dev/src/com/arjuna/webservices/util/TransportTimer.java
   labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/webservices11/wscoor/server/ActivationCoordinatorInitialisation.java
   labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/webservices11/wscoor/server/RegistrationCoordinatorInitialisation.java
   labs/jbosstm/trunk/XTS/WS-C/tests/src/com/arjuna/wsc11/tests/TestUtil11.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsarjtx/server/TerminationCoordinatorInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsarjtx/server/TerminationParticipantInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CompletionCoordinatorInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CompletionInitiatorInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CoordinatorInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/ParticipantInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/CoordinatorCompletionCoordinatorInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/CoordinatorCompletionParticipantInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/ParticipantCompletionCoordinatorInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/ParticipantCompletionParticipantInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst11/tests/TestUtil.java
   labs/jbosstm/trunk/XTS/WSCF/build.xml
   labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/protocols/ProtocolManager.java
   labs/jbosstm/trunk/XTS/WSCF/classes10/com/arjuna/mw/wsc/deploy/WSCFInitialisation.java
   labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wsc11/deploy/WSCFInitialisation.java
   labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/sagas/CoordinatorManagerFactory.java
   labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/sagas/UserCoordinatorFactory.java
   labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/twophase/CoordinatorManagerFactory.java
   labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/twophase/UserCoordinatorFactory.java
   labs/jbosstm/trunk/XTS/WSCF/tests/classes/com/arjuna/wscf/tests/junit/model/twophase/WscTranslateContext.java
   labs/jbosstm/trunk/XTS/WSTX/build.xml
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/TransactionManager.java
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/deploy/WSTXInitialisation.java
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserTransactionImple.java
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/ba/remote/UserBusinessActivityImple.java
   labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/deploy/WSTXInitialisation.java
   labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserTransactionImple.java
   labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/ba/remote/UserBusinessActivityImple.java
   labs/jbosstm/trunk/XTS/build.xml
   labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/build.xml
   labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/proxy/ProxyListenerService.java
   labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/webservices/sc007/server/InitiatorInitialisation.java
   labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/webservices/sc007/server/ParticipantInitialisation.java
   labs/jbosstm/trunk/XTS/interop/WSTX11-interop/build.xml
   labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/proxy/ProxyListenerService.java
   labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/atinterop/server/ATInitiatorInitialisation.java
   labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/atinterop/server/ATParticipantInitialisation.java
   labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/bainterop/server/BAInitiatorInitialisation.java
   labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/bainterop/server/BAParticipantInitialisation.java
   labs/jbosstm/trunk/XTS/sar/build.xml
   labs/jbosstm/trunk/XTS/sar/src/org/jboss/jbossts/XTSService.java
   labs/jbosstm/trunk/XTS/sharedbuild.xml
Log:
modified configuration so it is done via xts-properties.xml for XTS deployment in standalone JVM and xts-jboss-beans.xml for XTS deployment in AS. still need to tidy up error logging and update documentation -- fixes for JBTM-678

Modified: labs/jbosstm/trunk/XTS/WS-C/dev/src/com/arjuna/webservices/util/TransportTimer.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/dev/src/com/arjuna/webservices/util/TransportTimer.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-C/dev/src/com/arjuna/webservices/util/TransportTimer.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -20,6 +20,9 @@
  */
 package com.arjuna.webservices.util;
 
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
+
 import java.util.Timer;
 
 /**
@@ -115,4 +118,13 @@
 
         return MAX_PERIOD ;
     }
+
+    // initialise timings from configuration values
+    static
+    {
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        setTransportPeriod(wscEnvironmentBean.getInitialTransportPeriod());
+        setMaximumTransportPeriod(wscEnvironmentBean.getMaximumTransportPeriod());
+        setTransportTimeout(wscEnvironmentBean.getTransportTimeout());
+    }
 }

Added: labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSCEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSCEnvironmentBean.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSCEnvironmentBean.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -0,0 +1,339 @@
+package org.jboss.jbossts.xts.environment;
+
+import com.arjuna.common.internal.util.propertyservice.FullPropertyName;
+import com.arjuna.common.internal.util.propertyservice.PropertyPrefix;
+
+import java.net.InetAddress;
+
+/**
+ * bean storing WS-C implementation configuration values derived from the xts properties file, system property
+ * settings and, in case we are running inside JBossAS the xts bean.xml file
+ */
+ at PropertyPrefix(prefix = "org.jboss.jbossts.xts")
+public class WSCEnvironmentBean
+{
+    /**
+     * the initial time to wait before resending a coordination protocol messaage. this is increased
+     * gradually, doubling every two resends up to the maximum  value
+     */
+    @FullPropertyName(name="org.jboss.jbossts.xts.transport.initialTransportPeriod")
+    private volatile int initialTransportPeriod = 5 * 1000;
+
+    /**
+     * the maximum time to wait before resending a coordination protocol messaage
+     */
+    @FullPropertyName(name="org.jboss.jbossts.xts.transport.maximumTransportPeriod")
+    private volatile int maximumTransportPeriod = 300 * 1000;
+
+    /**
+     * the wait period after sending a  protocol message and not getting the expected reply before it is
+     * decided that the server at the other end has crashed. this wait is only used for some exchanges.
+     * a timeout may be handled by transitioning to a different transaction state. alternatively the service
+     * may merely begin resending the message starting at the initial transport  period.
+     */
+    @FullPropertyName(name="org.jboss.jbossts.xts.transport.transportTimeout")
+    private volatile int transportTimeout =  30 * 1000;
+
+    /**
+     * the bind address on which the web service is listening. when running in JBoss AS this is derived from
+     * the JBoss Web service bean by injection.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.bind.address")
+    private volatile String bindAddress11 = "localhost";
+
+    /**
+     * the port which will be used to service non-secure requests.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.bind.port")
+    private volatile int bindPort11 = 8080;
+
+    /**
+     * the port which will be used to service secure requests.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.bind.port.secure")
+    private volatile int bindPortSecure11 = 8443;
+
+    /**
+     * the URL to be used by XTS clients to address the Activation Coordinator service when starting a transaction.
+     * if this is undefined then a URL is constructed using the scheme, host address, port and URL path specified
+     * in the properties file or, where they are missing, using their default values.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.coordinatorYRL")
+    private volatile String coordinatorURL11 = null;
+
+    /**
+     * the scheme which will be used to construct a coordinator URL if it is not specified
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.coordinator.scheme")
+    private volatile String coordinatorScheme11 = "http";
+
+    /**
+     * the address which will be used to construct a coordinator URL if it is not specified
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.coordinator.address")
+    private volatile String coordinatorAddress11 = null;
+
+    /**
+     * the port which will be used to construct a coordinator URL if it is not specified
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.coordinator.port")
+    private volatile int coordinatorPort11 = 8080;
+
+    /**
+     * the path which will be used to construct a coordinator URL if it is not specified
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.coordinator.path")
+    private volatile String coordinatorPath11 = "ws-c11/ActivationService";
+
+    /**
+     * the bind address on which the web service is listening. when running in JBoss AS this is derived from
+     * the JBoss Web service bean by injection. if not set it defaults to localhost.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.bind.address")
+    private volatile String bindAddress10 = "localhost";
+
+    /**
+     * the port which will be used to service non-secure requests. if not set it defaults to 8080.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.bind.port")
+    private volatile int bindPort10 = 8080;
+    
+    /**
+     * the port which will be used to service secure requests. if not set it defaults to 8080. n.b. the
+     * 1.0 implementation deploys its own servlet and it only listens on the non-secure  port.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.bind.port.secure")
+    private volatile int bindPortSecure10 = 8080;
+
+    /**
+     * the URL to be used by XTS clients to address the Activation Coordinator service when starting a transaction.
+     * if this is undefined then a URL is constructed using the scheme, host address, port and URL path specified
+     * in the properties file or, where they are missing, using their default values.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.coordinatorYRL")
+    private volatile String coordinatorURL10 = null;
+
+    /**
+     * the scheme which will be used to construct a coordinator URL if it is not specified
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.coordinator.scheme")
+    private volatile String coordinatorScheme10 = "http";
+
+    /**
+     * the address which will be used to construct a coordinator URL if it is not specified
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.coordinator.address")
+    private volatile String coordinatorAddress10 = null;
+
+    /**
+     * the port which will be used to construct a coordinator URL if it is not specified
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.coordinator.port")
+    private volatile int coordinatorPort10 = 8080;
+
+    /**
+     * the path which will be used to construct a coordinator URL if it is not specified
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.coordinator.path")
+    private volatile String coordinatorPath10 = "ws-c10/soap/ActivationCoordinator";
+
+    public int getInitialTransportPeriod() {
+        return initialTransportPeriod;
+    }
+
+    public void setInitialTransportPeriod(int initialTransportPeriod) {
+        this.initialTransportPeriod = initialTransportPeriod;
+    }
+
+    public int getMaximumTransportPeriod() {
+        return maximumTransportPeriod;
+    }
+
+    public void setMaximumTransportPeriod(int maximumTransportPeriod) {
+        this.maximumTransportPeriod = maximumTransportPeriod;
+    }
+
+    public int getTransportTimeout() {
+        return transportTimeout;
+    }
+
+    public void setTransportTimeout(int transportTimeout) {
+        this.transportTimeout = transportTimeout;
+    }
+
+    /**
+     * this setter is used by the microcontainer to inject the inet address supplied during app server startup.
+     */
+    public void setHttpBindInetAddress(InetAddress httpBindInetAddress) {
+        this.bindAddress11 = httpBindInetAddress.getHostAddress();
+        this.bindAddress10 = this.bindAddress11;
+    }
+
+    public String getBindAddress11() {
+        return bindAddress11;
+    }
+
+    public void setBindAddress11(String bindAddress11) {
+        this.bindAddress11 = bindAddress11;
+    }
+
+    public int getBindPort11() {
+        return bindPort11;
+    }
+
+    public void setBindPort11(int bindPort11) {
+        if (bindPort11 > 0) {
+            this.bindPort11 = bindPort11;
+        }
+    }
+
+    public int getBindPortSecure11() {
+        return bindPortSecure11;
+    }
+
+    public void setBindPortSecure11(int bindPortSecure11) {
+        if (bindPortSecure11 > 0) {
+            this.bindPortSecure11 = bindPortSecure11;
+        }
+    }
+
+    public String getCoordinatorURL11() {
+        if (coordinatorURL11 == null) {
+            // compute the required value
+            return getCoordinatorScheme11() + "://" + getCoordinatorAddress11() + ":" + getCoordinatorPort11() + "/" + getCoordinatorPath11();
+        }
+        return coordinatorURL11;
+    }
+
+    public void setCoordinatorURL11(String coordinatorURL11) {
+        this.coordinatorURL11 = coordinatorURL11;
+    }
+
+    public String getCoordinatorScheme11() {
+        return coordinatorScheme11;
+    }
+
+    public void setCoordinatorScheme11(String coordinatorScheme11) {
+        this.coordinatorScheme11 = coordinatorScheme11;
+    }
+
+    public String getCoordinatorAddress11() {
+        if (coordinatorAddress11 == null) {
+            return bindAddress11;
+        }
+        return coordinatorAddress11;
+    }
+
+    public void setCoordinatorAddress11(String coordinatorAddress11) {
+        this.coordinatorAddress11 = coordinatorAddress11;
+    }
+
+    public int getCoordinatorPort11() {
+        if (coordinatorPort11 == 0) {
+            // be sure to use the port appropriate to the protocol
+            String scheme = getCoordinatorScheme11();
+            if ("https".equals(scheme)) {
+                return bindPortSecure11;
+            } else {
+                return bindPort11;
+            }
+        }
+        return coordinatorPort11;
+    }
+
+    public void setCoordinatorPort11(int coordinatorPort11) {
+        this.coordinatorPort11 = coordinatorPort11;
+    }
+
+    public String getCoordinatorPath11() {
+        return coordinatorPath11;
+    }
+
+    public void setCoordinatorPath11(String coordinatorPath11) {
+        this.coordinatorPath11 = coordinatorPath11;
+    }
+
+    public String getBindAddress10() {
+        return bindAddress10;
+    }
+
+    public void setBindAddress10(String bindAddress10) {
+        this.bindAddress10 = bindAddress10;
+    }
+
+    public int getBindPort10() {
+        return bindPort10;
+    }
+
+    public void setBindPort10(int bindPort10) {
+        if (bindPort10 > 0) {
+            this.bindPort10 = bindPort10;
+        }
+    }
+
+    public int getBindPortSecure10() {
+        return bindPortSecure10;
+    }
+
+    public void setBindPortSecure10(int bindPortSecure10) {
+        if (bindPortSecure10 > 0) {
+            this.bindPortSecure10 = bindPortSecure10;
+        }
+    }
+
+    public String getCoordinatorURL10() {
+        if (coordinatorURL10 == null) {
+            // compute the required value
+            return getCoordinatorScheme10() + "://" + getCoordinatorAddress10() + ":" + getCoordinatorPort10() + "/" + getCoordinatorPath10();
+        }
+        return coordinatorURL10;
+    }
+
+    public void setCoordinatorURL10(String coordinatorURL10) {
+        this.coordinatorURL10 = coordinatorURL10;
+    }
+
+    public String getCoordinatorScheme10() {
+        return coordinatorScheme10;
+    }
+
+    public void setCoordinatorScheme10(String coordinatorScheme10) {
+        this.coordinatorScheme10 = coordinatorScheme10;
+    }
+
+    public String getCoordinatorAddress10() {
+        if (coordinatorAddress10 == null) {
+            return bindAddress10;
+        }
+        return coordinatorAddress10;
+    }
+
+    public void setCoordinatorAddress10(String coordinatorAddress10) {
+        this.coordinatorAddress10 = coordinatorAddress10;
+    }
+
+    public int getCoordinatorPort10() {
+        if (coordinatorPort10 == 0) {
+            // be sure to use the port appropriate to the protocol
+            String scheme = getCoordinatorScheme10();
+            if ("https".equals(scheme)) {
+                return bindPortSecure10;
+            } else {
+                return bindPort10;
+            }
+        }
+        return coordinatorPort10;
+    }
+
+    public void setCoordinatorPort10(int coordinatorPort10) {
+        this.coordinatorPort10 = coordinatorPort10;
+    }
+
+    public String getCoordinatorPath10() {
+        return coordinatorPath10;
+    }
+
+    public void setCoordinatorPath10(String coordinatorPath10) {
+        this.coordinatorPath10 = coordinatorPath10;
+    }
+}

Added: labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSCFEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSCFEnvironmentBean.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSCFEnvironmentBean.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -0,0 +1,31 @@
+package org.jboss.jbossts.xts.environment;
+
+import com.arjuna.common.internal.util.propertyservice.ConcatenationPrefix;
+import com.arjuna.common.internal.util.propertyservice.PropertyPrefix;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * bean storing WSCF implementation configuration values derived from the xts properties file, system property
+ * settings and, in case we are running inside JBossAS the xts bean.xml file
+ */
+ at PropertyPrefix(prefix = "org.jboss.jbossts.xts.")
+public class WSCFEnvironmentBean
+{
+    /**
+     * list of names of classes which provide protocol implementations, currently either high level services
+     * or context factories. these are culled from the xts proeprties file by scanning for properties  with
+     * the requisite prefix. The are injected from the beans.xml as a list of names. 
+     */
+    @ConcatenationPrefix(prefix="org.jboss.jbossts.xts.protocolImplementation")
+    private volatile List<String> protocolImplementations = new ArrayList<String>();
+
+    public List<String> getProtocolImplementations() {
+        return protocolImplementations;
+    }
+
+    public void setProtocolImplementations(List<String> protocolImplementations) {
+        this.protocolImplementations = protocolImplementations;
+    }
+}

Added: labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSTEnvironmentBean.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSTEnvironmentBean.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/WSTEnvironmentBean.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -0,0 +1,123 @@
+package org.jboss.jbossts.xts.environment;
+
+import com.arjuna.common.internal.util.propertyservice.FullPropertyName;
+import com.arjuna.common.internal.util.propertyservice.PropertyPrefix;
+
+/**
+ * bean storing WS-T 1.0 implementation configuration values derived from the xts properties file, system property
+ * settings and, in case we are running inside JBossAS the xts bean.xml file
+ */
+ at PropertyPrefix(prefix = "org.jboss.jbossts.xts")
+public class WSTEnvironmentBean
+{
+    /**
+     * the name of the class used to implement the WSAT 1.1 UserTransaction API.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.wsat.UserTransaction")
+    private volatile String userTransaction11 = "com.arjuna.mwlabs.wst11.at.remote.UserTransactionImple";
+
+    /**
+     * the name of the class used to implement the WSAT 1.1 TransactionManager API.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.wsat.TransactionManager")
+    private volatile String transactionManager11 = "com.arjuna.mwlabs.wst11.at.remote.TransactionManagerImple";
+
+    /**
+     * the name of the class used to implement the WSBA 1.1 UserBusinessActivity API.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.wsba.UserBusinessActivity")
+    private volatile String userBusinessActivity11 = "com.arjuna.mwlabs.wst11.ba.remote.UserBusinessActivityImple";
+
+    /**
+     * the name of the class used to implement the WSBA 1.1 BusinessActivityManager API.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts11.wsba.BusinessActivityManager")
+    private volatile String businessActivityManager11 = "com.arjuna.mwlabs.wst11.ba.remote.BusinessActivityManagerImple";
+    /**
+     * the name of the class used to implement the WSAT 1.0 UserTransaction API.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.wsat.UserTransaction")
+    private volatile String userTransaction10 = "com.arjuna.mwlabs.wst.at.remote.UserTransactionImple";
+
+    /**
+     * the name of the class used to implement the WSAT 1.0 TransactionManager API.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.wsa1.TransactionManager")
+    private volatile String transactionManager10 = "com.arjuna.mwlabs.wst.at.remote.TransactionManagerImple";
+
+    /**
+     * the name of the class used to implement the WSBA 1.0 UserBusinessActivity API.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.wsba.UserBusinessActivity")
+    private volatile String userBusinessActivity10 = "com.arjuna.mwlabs.wst.ba.remote.UserBusinessActivityImple";
+
+    /**
+     * the name of the class used to implement the WSBA 1.0 BusinessActivityManager API.
+     */
+    @FullPropertyName(name = "org.jboss.jbossts.xts.wsba.BusinessActivityManager")
+    private volatile String businessActivityManager10 = "com.arjuna.mwlabs.wst.ba.remote.BusinessActivityManagerImple";
+
+    public String getUserTransaction11() {
+        return userTransaction11;
+    }
+
+    public void setUserTransaction11(String userTransaction11) {
+        this.userTransaction11 = userTransaction11;
+    }
+
+    public String getTransactionManager11() {
+        return transactionManager11;
+    }
+
+    public void setTransactionManager11(String transactionManager11) {
+        this.transactionManager11 = transactionManager11;
+    }
+
+    public String getUserBusinessActivity11() {
+        return userBusinessActivity11;
+    }
+
+    public void setUserBusinessActivity11(String userBusinessActivity11) {
+        this.userBusinessActivity11 = userBusinessActivity11;
+    }
+
+    public String getBusinessActivityManager11() {
+        return businessActivityManager11;
+    }
+
+    public void setBusinessActivityManager11(String businessActivityManager11) {
+        this.businessActivityManager11 = businessActivityManager11;
+    }
+
+    public String getUserTransaction10() {
+        return userTransaction10;
+    }
+
+    public void setUserTransaction10(String userTransaction10) {
+        this.userTransaction10 = userTransaction10;
+    }
+
+    public String getTransactionManager10() {
+        return transactionManager10;
+    }
+
+    public void setTransactionManager10(String transactionManager10) {
+        this.transactionManager10 = transactionManager10;
+    }
+
+    public String getUserBusinessActivity10() {
+        return userBusinessActivity10;
+    }
+
+    public void setUserBusinessActivity10(String userBusinessActivity10) {
+        this.userBusinessActivity10 = userBusinessActivity10;
+    }
+
+    public String getBusinessActivityManager10() {
+        return businessActivityManager10;
+    }
+
+    public void setBusinessActivityManager10(String businessActivityManager10) {
+        this.businessActivityManager10 = businessActivityManager10;
+    }
+}

Added: labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/XTSPropertyManager.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/XTSPropertyManager.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WS-C/dev/src/org/jboss/jbossts/xts/environment/XTSPropertyManager.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -0,0 +1,67 @@
+package org.jboss.jbossts.xts.environment;
+
+import com.arjuna.common.internal.util.propertyservice.BeanPopulator;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Enumeration;
+import java.util.Properties;
+
+/**
+ * class which ensures XTS properties are installed into the environment beans when they are created
+ * and provides access to those beans
+ */
+public class XTSPropertyManager
+{
+    public static  WSCEnvironmentBean getWSCEnvironmentBean()
+    {
+        return BeanPopulator.getSingletonInstance(WSCEnvironmentBean.class, xtsProperties);
+    }
+
+    public static WSCFEnvironmentBean getWSCFEnvironmentBean()
+    {
+        return BeanPopulator.getSingletonInstance(WSCFEnvironmentBean.class, xtsProperties);
+    }
+
+    public static WSTEnvironmentBean getWSTEnvironmentBean()
+    {
+        return BeanPopulator.getSingletonInstance(WSTEnvironmentBean.class, xtsProperties);
+    }
+
+    private static Properties mergeSystemProperties(Properties properties)
+    {
+        Properties systemProperties = System.getProperties();
+        Enumeration<Object> propertyNames =  systemProperties.elements();
+        while (propertyNames.hasMoreElements()) {
+            String propertyName = (String) propertyNames.nextElement();
+            String propertyValue = (String) System.getProperty(propertyName);
+            properties.setProperty(propertyName, propertyValue);
+        }
+        
+        return properties;
+    }
+
+    static Properties xtsProperties;
+
+    static {
+        InputStream is = null;
+        try {
+            is = XTSPropertyManager.class.getClassLoader().getResourceAsStream("xts-properties.xml");
+            Properties properties = new Properties();
+            properties.loadFromXML(is);
+            xtsProperties = mergeSystemProperties(properties);
+        } catch (Exception e) {
+            // ok, so we have no property file!
+            // just rely on system properties
+            xtsProperties = System.getProperties();
+        } finally {
+            if (is != null) {
+                try {
+                    is.close();
+                } catch (IOException e) {
+                    // ignore
+                }
+            }
+        }
+    }
+}

Modified: labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/webservices11/wscoor/server/ActivationCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/webservices11/wscoor/server/ActivationCoordinatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/webservices11/wscoor/server/ActivationCoordinatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -24,6 +24,8 @@
 import com.arjuna.webservices11.wscoor.CoordinationConstants;
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -44,20 +46,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WSC11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-c11/";

Modified: labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/webservices11/wscoor/server/RegistrationCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/webservices11/wscoor/server/RegistrationCoordinatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-C/dev/src11/com/arjuna/webservices11/wscoor/server/RegistrationCoordinatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -24,6 +24,8 @@
 import com.arjuna.webservices11.wscoor.CoordinationConstants;
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -45,20 +47,22 @@
            public void run() {
                // TODO work out how to configure the endpoint name here
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-c11/";

Modified: labs/jbosstm/trunk/XTS/WS-C/tests/src/com/arjuna/wsc11/tests/TestUtil11.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/tests/src/com/arjuna/wsc11/tests/TestUtil11.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-C/tests/src/com/arjuna/wsc11/tests/TestUtil11.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -29,6 +29,7 @@
 import com.arjuna.webservices11.wscoor.CoordinationConstants;
 import com.arjuna.webservices11.wsarj.InstanceIdentifier;
 import com.arjuna.wsc.tests.TestUtil;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 import javax.xml.namespace.QName;
 import javax.xml.ws.wsaddressing.W3CEndpointReference;
@@ -43,7 +44,7 @@
     final private static String PROTOCOL_COORDINATOR_ENDPOINT_NAME ="ProtocolCoordinatorEndpoint";
     final private static String PROTOCOL_COORDINATOR_SERVICE_NAME ="ProtocolCoordinatorService";
 
-    final private static String bindHost = System.getProperty(com.arjuna.wsc.common.Environment.XTS11_BIND_ADDRESS);
+    final private static String bindHost = XTSPropertyManager.getWSCEnvironmentBean().getBindAddress11();
 
     final public static String activationCoordinatorService = "http://" + bindHost + ":8080/ws-c11/ActivationService";
     final public static String registrationCoordinatorService = "http://" + bindHost + ":8080/ws-c11/RegistrationService";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsarjtx/server/TerminationCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsarjtx/server/TerminationCoordinatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsarjtx/server/TerminationCoordinatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -24,6 +24,8 @@
 import com.arjuna.webservices11.wsarjtx.ArjunaTX11Constants;
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
@@ -43,20 +45,21 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsarjtx/server/TerminationParticipantInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsarjtx/server/TerminationParticipantInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsarjtx/server/TerminationParticipantInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -27,6 +27,8 @@
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Activate the Terminator Coordinator service
@@ -43,20 +45,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CompletionCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CompletionCoordinatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CompletionCoordinatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -24,6 +24,8 @@
 import com.arjuna.webservices11.wsat.AtomicTransactionConstants;
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -45,20 +47,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CompletionInitiatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CompletionInitiatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CompletionInitiatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -28,6 +28,8 @@
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Activate the Completion Initiator service
@@ -45,20 +47,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CoordinatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/CoordinatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -28,6 +28,8 @@
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Activate the Coordinator service
@@ -44,20 +46,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/ParticipantInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/ParticipantInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsat/server/ParticipantInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -28,6 +28,8 @@
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Activate the Participant service
@@ -44,20 +46,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/CoordinatorCompletionCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/CoordinatorCompletionCoordinatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/CoordinatorCompletionCoordinatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -24,6 +24,8 @@
 import com.arjuna.webservices11.wsba.BusinessActivityConstants;
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -44,20 +46,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/CoordinatorCompletionParticipantInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/CoordinatorCompletionParticipantInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/CoordinatorCompletionParticipantInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -28,6 +28,8 @@
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Activate the Coordinator Completion Participant service
@@ -44,20 +46,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/ParticipantCompletionCoordinatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/ParticipantCompletionCoordinatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/ParticipantCompletionCoordinatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -28,6 +28,8 @@
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Activate the Participant Completion Coordinator service
@@ -44,20 +46,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/ParticipantCompletionParticipantInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/ParticipantCompletionParticipantInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/dev/src11/com/arjuna/webservices11/wsba/server/ParticipantCompletionParticipantInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -28,6 +28,8 @@
 import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 import com.arjuna.wsc.common.Environment;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Activate the Participant Completion Participant service
@@ -44,20 +46,22 @@
         Sequencer.Callback callback = new Sequencer.Callback(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WST11) {
            public void run() {
                final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;
-               String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-               String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-               String secureBindPort = System.getProperty(Environment.XTS11_SECURE_BIND_PORT);
+               WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+               String bindAddress = wscEnvironmentBean.getBindAddress11();
+               int bindPort = wscEnvironmentBean.getBindPort11();
+               int secureBindPort = wscEnvironmentBean.getBindPortSecure11();
 
+
                if (bindAddress == null) {
                    bindAddress = "127.0.0.1";
                }
 
-               if (bindPort == null) {
-                   bindPort = "8080";
+               if (bindPort == 0) {
+                   bindPort = 8080;
                }
 
-               if (secureBindPort == null) {
-                   secureBindPort = "8443";
+               if (secureBindPort == 0) {
+                   secureBindPort = 8443;
                }
 
                final String baseUri = "http://" +  bindAddress + ":" + bindPort + "/ws-t11/";

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst11/tests/TestUtil.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst11/tests/TestUtil.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst11/tests/TestUtil.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -30,6 +30,7 @@
 import com.arjuna.webservices11.wsba.BusinessActivityConstants;
 import com.arjuna.webservices11.wsarj.InstanceIdentifier;
 import com.arjuna.webservices11.wsat.AtomicTransactionConstants;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 import javax.xml.ws.wsaddressing.W3CEndpointReference;
 import javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder;
@@ -58,7 +59,7 @@
 
     public static final String NONEXISTENT_PARTICIPANT_IDENTIFIER                    = "NONE123456PI";
 
-    final private static String bindHost = System.getProperty(com.arjuna.wsc.common.Environment.XTS11_BIND_ADDRESS);
+    final private static String bindHost = XTSPropertyManager.getWSCEnvironmentBean().getBindAddress11();
 
     public static String participantServiceURI = "http://" + bindHost + ":8080/ws-t11/ParticipantService";
     public static String coordinatorServiceURI = "http://" + bindHost + ":8080/ws-t11/CoordinatorService";

Modified: labs/jbosstm/trunk/XTS/WSCF/build.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/build.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/build.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -160,17 +160,6 @@
 
     <target name="jar10" if="build10">
         <echo message="Building 10 jar files"/>
-        <copy file="xml/ArjunaCoreHLS.xml"
-        tofile="${build.classes10.dir}/com/arjuna/mwlabs/wscf/model/as/coordinator/arjunacore/ArjunaCoreHLS.xml"/>
-        <copy file="xml/JTAHLS.xml"
-        tofile="${build.classes10.dir}/com/arjuna/mwlabs/wscf/model/as/coordinator/jta/JTAHLS.xml"/>
-        <copy file="xml/TwoPhaseHLSImple.xml"
-        tofile="${build.classes10.dir}/com/arjuna/mwlabs/wscf/model/twophase/arjunacore/TwoPhaseHLSImple.xml"/>
-        <copy file="xml/SagasHLSImple.xml"
-        tofile="${build.classes10.dir}/com/arjuna/mwlabs/wscf/model/sagas/arjunacore/SagasHLSImple.xml"/>
-        <copy file="xml/JTAHLSImple.xml"
-        tofile="${build.classes10.dir}/com/arjuna/mwlabs/wscf/model/jta/arjunajta/JTAHLSImple.xml"/>
-
         <jar jarfile="${build.lib.dir}/${modulename}10.jar"
             basedir="${build.classes10.dir}">
         </jar>
@@ -178,15 +167,6 @@
 
     <target name="jar11">
         <echo message="Building 11 jar files"/>
-        <copy file="xml/ArjunaCoreHLS.xml"
-        tofile="${build.classes11.dir}/com/arjuna/mwlabs/wscf/model/as/coordinator/arjunacore/ArjunaCoreHLS.xml"/>
-        <copy file="xml/JTAHLS.xml"
-        tofile="${build.classes11.dir}/com/arjuna/mwlabs/wscf/model/as/coordinator/jta/JTAHLS.xml"/>
-        <copy file="xml/TwoPhase11HLSImple.xml"
-        tofile="${build.classes11.dir}/com/arjuna/mwlabs/wscf11/model/twophase/arjunacore/TwoPhaseHLSImple.xml"/>
-        <copy file="xml/Sagas11HLSImple.xml"
-        tofile="${build.classes11.dir}/com/arjuna/mwlabs/wscf11/model/sagas/arjunacore/SagasHLSImple.xml"/>
-
         <jar jarfile="${build.lib.dir}/${modulename}11.jar"
             basedir="${build.classes11.dir}">
         </jar>

Deleted: labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/common/CoordinatorXSD.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/common/CoordinatorXSD.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/common/CoordinatorXSD.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,62 +0,0 @@
-/*
- * 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 Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: CoordinatorXSD.java,v 1.2 2002/12/20 14:29:03 nmcl Exp $
- */
-
-package com.arjuna.mw.wscf.common;
-
-/**
- * The coordination protocol schema is used to allow a coordination
- * implementation to uniquely and unambiguously specify the type of
- * protocol that is provided. Obviously one coordinator implementation may
- * support multiple protocols.
- *
- * When a coordination implementation is registered with the WSCF the
- * respective XML protocol definition is also provided. Likewise, when a
- * user/application requests to use a specific coordination protocol it must
- * provide the XML protocol definition. This class represents the element names
- * that are used to parse the XML.
- *
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: CoordinatorXSD.java,v 1.2 2002/12/20 14:29:03 nmcl Exp $
- * @since 1.0.
- */
-
-public class CoordinatorXSD
-{
-
-    public static final String coordinatorType = "coordinator-type";
-    public static final String coordinatorName = "coordinator-name";  // optional
-    public static final String notification = "notification";
-    public static final String notificationAttributeName = "name";
-    public static final String response = "response";
-    public static final String responseElementName = "name";
-    public static final String genericCoordinator = "generic";
-    
-}

Modified: labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/protocols/ProtocolManager.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/protocols/ProtocolManager.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/protocols/ProtocolManager.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -31,16 +31,15 @@
 
 package com.arjuna.mw.wscf.protocols;
 
-import com.arjuna.mw.wscf.common.Environment;
+import com.arjuna.common.internal.util.propertyservice.BeanPopulator;
+import org.jboss.jbossts.xts.environment.WSCFEnvironmentBean;
 import com.arjuna.mw.wscf.exceptions.ProtocolAlreadyRegisteredException;
 import com.arjuna.mw.wscf.exceptions.ProtocolNotRegisteredException;
 import com.arjuna.mw.wscf.logging.wscfLogger;
 import com.arjuna.mwlabs.wscf.utils.ContextProvider;
 import com.arjuna.mwlabs.wscf.utils.HLSProvider;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.annotation.Annotation;
 import java.util.*;
 
 /**
@@ -197,63 +196,41 @@
 		else
 			_initialised = true;
 
-        // TODO
-        // load properties file and add to environment -- eventually this will be autorun by
-        // the XTS configuration bean
-
-        InputStream is = ProtocolManager.class.getResourceAsStream("/xts.properties");
-        if (is != null) {
-            Properties props = new Properties();
-            try {
-                props.load(is);
-                Enumeration names = props.propertyNames();
-                while (names.hasMoreElements()) {
-                    String name = (String) names.nextElement();
-                    if (name.startsWith("org.jboss.jbossts.xts") ||
-                            name.startsWith(("com.arjuna.mw.wscf"))) {
-                        System.setProperty(name, props.getProperty(name));
-                    }
-                }
-            } catch(IOException ioe) {
-                System.out.println("cannot read xts.properties : " + ioe);
-                ioe.printStackTrace();
-            }
+        WSCFEnvironmentBean wscfEnvironmentBean = XTSPropertyManager.getWSCFEnvironmentBean();
+        List<String> protocolImplementations = wscfEnvironmentBean.getProtocolImplementations();
+        if (protocolImplementations == null) {
+            // TODO log info message
+            System.out.println("ProtocolManager : no service or context or high level; service protocol implementations configured");
+            return;
         }
-
-		Properties props = System.getProperties();
-		Enumeration names = props.propertyNames();
+        ListIterator<String> iterator = protocolImplementations.listIterator();
         List<Class<?>> contextProviderClasses =  new ArrayList<Class<?>>();
         List<Class<?>> hlsProviderClasses =  new ArrayList<Class<?>>();
 
         // look for protocol implementations
         
-		while (names.hasMoreElements())
+		while (iterator.hasNext())
 		{
-			String name = (String) names.nextElement();
+			String className = (String) iterator.next();
+            Class<?> clazz = null;
 
-
-			if (name.startsWith(Environment.PROTOCOL_IMPLEMENTATION))
-			{
-                String className = props.getProperty(name);
-                Class<?> clazz = null;
-                try {
-                    clazz = this.getClass().getClassLoader().loadClass(className);
-                    ContextProvider contextProvider = clazz.getAnnotation(ContextProvider.class);
-                    if (contextProvider !=  null) {
-                        contextProviderClasses.add(clazz);
+            try {
+                clazz = this.getClass().getClassLoader().loadClass(className);
+                ContextProvider contextProvider = clazz.getAnnotation(ContextProvider.class);
+                if (contextProvider !=  null) {
+                    contextProviderClasses.add(clazz);
+                } else {
+                    HLSProvider hlsProvider = clazz.getAnnotation(HLSProvider.class);
+                    if (hlsProvider !=  null) {
+                        hlsProviderClasses.add(clazz);
                     } else {
-                        HLSProvider hlsProvider = clazz.getAnnotation(HLSProvider.class);
-                        if (hlsProvider !=  null) {
-                            hlsProviderClasses.add(clazz);
-                        } else {
-                            System.out.println("ProtocolManager : Unknown protocol implementation : " + className);
-                        }
+                        System.out.println("ProtocolManager : Unknown protocol implementation : " + className);
                     }
-                } catch (ClassNotFoundException cnfe) {
-                    // TODO -- proper log message
-                    System.out.println("ProtocolManager : Unable to load protocol implementation class : " + className);
-                    cnfe.printStackTrace();
                 }
+            } catch (ClassNotFoundException cnfe) {
+                // TODO -- proper log message
+                System.out.println("ProtocolManager : Unable to load protocol implementation class : " + className);
+                cnfe.printStackTrace();
             }
         }
 

Deleted: labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/utils/CoordinationXML.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/utils/CoordinationXML.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mw/wscf/utils/CoordinationXML.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,121 +0,0 @@
-/*
- * 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 Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: CoordinationXML.java,v 1.6 2005/05/19 12:13:28 nmcl Exp $
- */
-
-package com.arjuna.mw.wscf.utils;
-
-import com.arjuna.mw.wscf.common.CoordinatorXSD;
-
-/**
- * This class is used to parse the coordination protocol XML definition
- * and return specific information contained within.
- *
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: CoordinationXML.java,v 1.6 2005/05/19 12:13:28 nmcl Exp $
- * @since 1.0.
- */
-
-public class CoordinationXML
-{
-
-    public CoordinationXML (org.w3c.dom.Document protocol)
-    {
-	_protocol = protocol;
-	_rootElement = _protocol.getDocumentElement();
-
-	org.w3c.dom.Text name = DomUtil.getTextNode(_rootElement, CoordinatorXSD.coordinatorType);
-
-	if (name != null)
-	    _protocolType = name.getNodeValue();
-	else
-	    _protocolType = null;
-
-	/*
-	 * Optional part of schema.
-	 */
-
-	name = DomUtil.getTextNode(_rootElement, CoordinatorXSD.coordinatorName);
-	
-	if (name != null)
-	    _protocolName = name.getNodeValue();
-	else
-	    _protocolName = null;
-    }
-
-    /**
-     * @return the type of the protocol.
-     */
-
-    public final String protocolType ()
-    {
-	return _protocolType;
-    }
-
-    /**
-     * @return the name of the protocol, or null if it was not defined in the
-     * protocol definition.
-     */
-
-    public final String protocolName ()
-    {
-	return _protocolName;
-    }
-
-    public boolean equals (Object obj)
-    {
-	if (obj instanceof CoordinationXML)
-	{
-	    CoordinationXML p = (CoordinationXML) obj;
-	    
-	    if (_protocolType != null)
-	    {
-		if (p.protocolType() != null)
-		{
-		    if (_protocolType.equals(p.protocolType()))
-		    {
-			if (_protocolName != null)
-			{
-			    if (p.protocolName() != null)
-				return _protocolName.equals(p.protocolName());
-			}
-		    }
-		}
-	    }
-	}
-	
-	return false;
-    }
-    
-    private org.w3c.dom.Document _protocol;
-    private org.w3c.dom.Element  _rootElement;
-    private String               _protocolType;
-    private String               _protocolName;
-    
-}

Deleted: labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/exceptions/ProtocolLocationException.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/exceptions/ProtocolLocationException.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/exceptions/ProtocolLocationException.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,67 +0,0 @@
-/*
- * 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 Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: ProtocolLocationException.java,v 1.1 2002/11/25 10:56:36 nmcl Exp $
- */
-
-package com.arjuna.mwlabs.wscf.exceptions;
-
-import com.arjuna.mw.wsas.exceptions.WSASException;
-
-/**
- * When a coordination protocol implementation is imported to the registry,
- * the XML protocol document must be loaded that corresponds to the protocol
- * it implements. If that document cannot be located then this exception
- * will be thrown.
- *
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: ProtocolLocationException.java,v 1.1 2002/11/25 10:56:36 nmcl Exp $
- * @since 1.0.
- */
-
-public class ProtocolLocationException extends WSASException
-{
-
-    public ProtocolLocationException ()
-    {
-	super();
-    }
-
-    public ProtocolLocationException (String s)
-    {
-	super(s);
-    }
-
-    public ProtocolLocationException (String s, int errorcode)
-    {
-	super(s, errorcode);
-    }
-    
-}
-
-

Deleted: labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/utils/DocComparitor.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/utils/DocComparitor.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/utils/DocComparitor.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,78 +0,0 @@
-/*
- * 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 Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: DocComparitor.java,v 1.4 2005/05/19 12:13:39 nmcl Exp $
- */
-
-package com.arjuna.mwlabs.wscf.utils;
-
-import com.arjuna.mw.wscf.logging.wscfLogger;
-
-import com.arjuna.mw.wscf.utils.CoordinationXML;
-
-/**
- * The DocComparitor takes two XML documents describing a coordinator's protocol
- * and tests for equality. Two documents are equal if the have exactly the same
- * elements and attributes, no matter what the order of occurrence.
- * 
- * The comapritor may be extended to allow subset or superset comparisons.
- * 
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: DocComparitor.java,v 1.4 2005/05/19 12:13:39 nmcl Exp $
- * @since 1.0.
- */
-
-public class DocComparitor
-{
-
-	public DocComparitor ()
-	{
-	}
-
-	/**
-	 * Are the two documents equal? We assume that the protocol names are
-	 * unique, so can check for equality simply on that. If we want to check
-	 * individual elements and attributes then we could.
-	 * 
-	 */
-
-	public boolean equals (org.w3c.dom.Document doc1, org.w3c.dom.Document doc2)
-	{
-		if (doc1 == null)
-			throw new IllegalArgumentException(wscfLogger.i18NLogger.get_utils_DocComparitor_1());
-
-		if (doc2 == null)
-			throw new IllegalArgumentException(wscfLogger.i18NLogger.get_utils_DocComparitor_2());
-
-		CoordinationXML protocol1 = new CoordinationXML(doc1);
-		CoordinationXML protocol2 = new CoordinationXML(doc2);
-
-		return protocol1.equals(protocol2);
-	}
-
-}

Deleted: labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/utils/ProtocolLocator.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/utils/ProtocolLocator.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes/com/arjuna/mwlabs/wscf/utils/ProtocolLocator.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,115 +0,0 @@
-/*
- * 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 Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: ProtocolLocator.java,v 1.8 2005/05/19 12:13:39 nmcl Exp $
- */
-
-package com.arjuna.mwlabs.wscf.utils;
-
-import com.arjuna.mw.wscf.logging.wscfLogger;
-
-import com.arjuna.mwlabs.wscf.exceptions.ProtocolLocationException;
-
-import com.arjuna.mw.wscf.utils.DomUtil;
-
-import javax.xml.parsers.*;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import java.net.URL;
-
-/**
- * Locates and loads a specified XML definition of a coordination protocol.
- *
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: ProtocolLocator.java,v 1.8 2005/05/19 12:13:39 nmcl Exp $
- * @since 1.0.
- */
-
-public class ProtocolLocator
-{
-
-    public ProtocolLocator (Class clazz)
-    {
-    _clazz = clazz;
-    _className = clazz.getName().replace(_packageSeparator, _resourceSeparator);
-	_xmlName = _className+".xml";
-    }
-
-     
-    public final org.w3c.dom.Document getProtocol () throws FileNotFoundException, ProtocolLocationException
-    {
-	try
-	{
-	    URL url = _clazz.getResource(_resourceSeparator+_xmlName);
-
-	    if (url == null)
-	    {
-		throw new FileNotFoundException(_xmlName + " " + wscfLogger.i18NLogger.get_utils_ProtocolLocator_1());
-	    }
-	    else
-	    {
-		DocumentBuilder builder = DomUtil.getDocumentBuilder();
-		org.w3c.dom.Document doc = builder.parse(url.toExternalForm());
-	    
-		if (doc == null)
-		{
-		    throw new FileNotFoundException(wscfLogger.i18NLogger.get_utils_ProtocolLocator_2() + " "+_xmlName);
-		}
-		else
-		    return doc;
-	    }
-	}
-	catch (FileNotFoundException ex)
-	{
-	    throw ex;
-	}
-	catch (IOException ex)
-	{
-	    throw new FileNotFoundException(ex.toString());
-	}
-	catch (Exception ex)
-	{
-	    throw new ProtocolLocationException(ex.toString());
-	}
-    }
-
-    /**
-     * we load the protocol document as a resource via the associated class assuming that they are packaged in
-     * same archive using the same path and base file name but with extension xml in place of class.
-     */
-    private Class _clazz;
-    private String _className;
-    private String _xmlName;
-    
-    private final static char _packageSeparator = '.';
-    private final static char _resourceSeparator = '/';
-    
-}
-

Modified: labs/jbosstm/trunk/XTS/WSCF/classes10/com/arjuna/mw/wsc/deploy/WSCFInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes10/com/arjuna/mw/wsc/deploy/WSCFInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes10/com/arjuna/mw/wsc/deploy/WSCFInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -25,6 +25,7 @@
 
 import com.arjuna.mw.wsas.utils.Configuration;
 import com.arjuna.mw.wscf.logging.wscfLogger;
+import com.arjuna.mw.wscf.protocols.ProtocolRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 
 /**
@@ -40,8 +41,10 @@
      */
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
-        // there is no WSCF initialization required so close the list
+        // ensure we load any required protocol implementations
 
+        ProtocolRegistry.sharedManager().initialise();
+
         Sequencer.close(Sequencer.SEQUENCE_WSCOOR10, Sequencer.WEBAPP_WSCF10);
     }
 

Modified: labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wsc11/deploy/WSCFInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wsc11/deploy/WSCFInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wsc11/deploy/WSCFInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -22,6 +22,7 @@
 
 import com.arjuna.mw.wsas.utils.Configuration;
 import com.arjuna.mw.wscf.logging.wscfLogger;
+import com.arjuna.mw.wscf.protocols.ProtocolRegistry;
 import com.arjuna.services.framework.startup.Sequencer;
 
 import javax.servlet.ServletContextEvent;
@@ -40,8 +41,10 @@
      */
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
-        // there is no WSCF initialization required so close the list
+        // ensure we load any required protocol implementations
 
+        ProtocolRegistry.sharedManager().initialise();
+        
         Sequencer.close(Sequencer.SEQUENCE_WSCOOR11, Sequencer.WEBAPP_WSCF11);
 
     }

Modified: labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/sagas/CoordinatorManagerFactory.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/sagas/CoordinatorManagerFactory.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/sagas/CoordinatorManagerFactory.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -31,27 +31,17 @@
 
 package com.arjuna.mw.wscf11.model.sagas;
 
-import com.arjuna.mw.wscf.logging.wscfLogger;
-
 import com.arjuna.mw.wscf.model.sagas.hls.SagasHLS;
 import com.arjuna.mw.wscf.model.sagas.api.CoordinatorManager;
 
 import com.arjuna.mw.wsas.exceptions.SystemException;
 
-import com.arjuna.mwlabs.wscf.utils.ProtocolLocator;
-
-import com.arjuna.mw.wscf.common.CoordinatorXSD;
-
-import com.arjuna.mw.wscf.utils.*;
-
 import com.arjuna.mw.wscf.exceptions.ProtocolNotRegisteredException;
 import com.arjuna.mw.wscf.protocols.ProtocolManager;
 import com.arjuna.mw.wscf.protocols.ProtocolRegistry;
 
 import java.util.HashMap;
 
-import com.arjuna.mwlabs.wscf11.model.sagas.arjunacore.SagasHLSImple;
-
 /**
  * The factory to return the specific CoordinatorManager implementation.
  *

Modified: labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/sagas/UserCoordinatorFactory.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/sagas/UserCoordinatorFactory.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/sagas/UserCoordinatorFactory.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -31,27 +31,17 @@
 
 package com.arjuna.mw.wscf11.model.sagas;
 
-import com.arjuna.mw.wscf.logging.wscfLogger;
-
 import com.arjuna.mw.wscf.model.sagas.hls.SagasHLS;
 import com.arjuna.mw.wscf.model.sagas.api.UserCoordinator;
 
 import com.arjuna.mw.wsas.exceptions.SystemException;
 
-import com.arjuna.mwlabs.wscf.utils.ProtocolLocator;
-
-import com.arjuna.mw.wscf.common.CoordinatorXSD;
-
-import com.arjuna.mw.wscf.utils.*;
-
 import com.arjuna.mw.wscf.exceptions.ProtocolNotRegisteredException;
 import com.arjuna.mw.wscf.protocols.ProtocolManager;
 import com.arjuna.mw.wscf.protocols.ProtocolRegistry;
 
 import java.util.HashMap;
 
-import com.arjuna.mwlabs.wscf11.model.sagas.arjunacore.SagasHLSImple;
-
 /**
  * The factory which returns the UserCoordinator implementation to use.
  *

Modified: labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/twophase/CoordinatorManagerFactory.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/twophase/CoordinatorManagerFactory.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/twophase/CoordinatorManagerFactory.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -31,27 +31,17 @@
 
 package com.arjuna.mw.wscf11.model.twophase;
 
-import com.arjuna.mw.wscf.logging.wscfLogger;
-
 import com.arjuna.mw.wscf.model.twophase.hls.TwoPhaseHLS;
 import com.arjuna.mw.wscf.model.twophase.api.CoordinatorManager;
 
 import com.arjuna.mw.wsas.exceptions.SystemException;
 
-import com.arjuna.mwlabs.wscf.utils.ProtocolLocator;
-
-import com.arjuna.mw.wscf.common.CoordinatorXSD;
-
-import com.arjuna.mw.wscf.utils.*;
-
 import com.arjuna.mw.wscf.exceptions.ProtocolNotRegisteredException;
 import com.arjuna.mw.wscf.protocols.ProtocolManager;
 import com.arjuna.mw.wscf.protocols.ProtocolRegistry;
 
 import java.util.HashMap;
 
-import com.arjuna.mwlabs.wscf11.model.twophase.arjunacore.TwoPhaseHLSImple;
-
 /**
  * The factory to return the specific CoordinatorManager implementation.
  *

Modified: labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/twophase/UserCoordinatorFactory.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/twophase/UserCoordinatorFactory.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/classes11/com/arjuna/mw/wscf11/model/twophase/UserCoordinatorFactory.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -31,27 +31,17 @@
 
 package com.arjuna.mw.wscf11.model.twophase;
 
-import com.arjuna.mw.wscf.logging.wscfLogger;
-
 import com.arjuna.mw.wscf.model.twophase.hls.TwoPhaseHLS;
 import com.arjuna.mw.wscf.model.twophase.api.UserCoordinator;
 
 import com.arjuna.mw.wsas.exceptions.SystemException;
 
-import com.arjuna.mwlabs.wscf.utils.ProtocolLocator;
-
-import com.arjuna.mw.wscf.common.CoordinatorXSD;
-
-import com.arjuna.mw.wscf.utils.*;
-
 import com.arjuna.mw.wscf.exceptions.ProtocolNotRegisteredException;
 import com.arjuna.mw.wscf.protocols.ProtocolManager;
 import com.arjuna.mw.wscf.protocols.ProtocolRegistry;
 
 import java.util.HashMap;
 
-import com.arjuna.mwlabs.wscf11.model.twophase.arjunacore.TwoPhaseHLSImple;
-
 /**
  * The factory which returns the UserCoordinator implementation to use.
  *

Modified: labs/jbosstm/trunk/XTS/WSCF/tests/classes/com/arjuna/wscf/tests/junit/model/twophase/WscTranslateContext.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/tests/classes/com/arjuna/wscf/tests/junit/model/twophase/WscTranslateContext.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/tests/classes/com/arjuna/wscf/tests/junit/model/twophase/WscTranslateContext.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -43,10 +43,7 @@
 import com.arjuna.mw.wscf.model.twophase.api.UserCoordinator;
 import com.arjuna.mw.wscf.utils.DomUtil;
 import com.arjuna.wscf.tests.WSCFTestUtils;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 /**
  * @author Mark Little (mark.little at arjuna.com)

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/ArjunaCoreHLS.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/ArjunaCoreHLS.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/ArjunaCoreHLS.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,86 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-	<coordinator-type>urn:generic:tx-two-phase-commit</coordinator-type>
-	<generic>true</generic>
-	<notification>
-		<name>BeforeCompletion</name>
-	</notification>
-	<notification>
-		<name>AfterCompletion</name>
-	</notification>
-	<notification>
-		<name>ForgetHeuristic</name>
-	</notification>
-	<notification>
-		<name>NestedCancel</name>
-		<response>
-			<name>CoordinationOutcome</name>
-		</response>
-	</notification>
-	<notification>
-		<name>NestedConfirm</name>
-		<response>
-			<name>CoordinationOutcome</name>
-		</response>
-	</notification>
-	<notification>
-		<name>NestedOnePhaseCommit</name>
-		<response>
-			<name>CoordinationOutcome</name>
-		</response>
-	</notification>
-	<notification>
-		<name>NestedPrepare</name>
-		<response>
-			<name>VoteCancel</name>
-			<name>VoteConfirm</name>
-			<name>VoteReadOnly</name>
-		</response>
-	</notification>
-	<notification>
-		<name>TopLevelCancel</name>
-		<response>
-			<name>CoordinationOutcome</name>
-		</response>
-	</notification>
-	<notification>
-		<name>TopLevelConfirm</name>
-		<response>
-			<name>CoordinationOutcome</name>
-		</response>
-	</notification>
-	<notification>
-		<name>TopLevelOnePhaseCommit</name>
-		<response>
-			<name>CoordinationOutcome</name>
-		</response>
-	</notification>
-	<notification>
-		<name>NestedPrepare</name>
-		<response>
-			<name>VoteCancel</name>
-			<name>VoteConfirm</name>
-			<name>VoteReadOnly</name>
-		</response>
-	</notification>
-</coordination-type>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/JTAHLS.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/JTAHLS.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/JTAHLS.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,51 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Thomas Novellino Version 4.0 (Hewlett Packard Co.) -->
-<!--Sample XML file generated by XML Spy v4.0 U (http://www.xmlspy.com)-->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-	<coordinator-type>urn:generic:tx-jta:1.0.1</coordinator-type>
-	<generic>true</generic>
-	<notification>
-		<name>XACommit</name>
-	</notification>
-	<notification>
-		<name>XAStart</name>
-	</notification>
-	<notification>
-		<name>XAEnd</name>
-	</notification>
-	<notification>
-		<name>XAForget</name>
-	</notification>
-	<notification>
-		<name>XAPrepare</name>
-		<response>
-			<name>XAOutcome</name>
-		</response>
-	</notification>
-	<notification>
-		<name>XARecover</name>
-		<response>
-			<name>XIDList</name>
-		</response>
-	</notification>
-</coordination-type>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/JTAHLSImple.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/JTAHLSImple.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/JTAHLSImple.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,26 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Thomas Novellino Version 4.0 (Hewlett Packard Co.) -->
-<!--Sample XML file generated by XML Spy v4.0 U (http://www.xmlspy.com)-->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-<coordinator-type>urn:tx-jta:1.0.1</coordinator-type>
-</coordination-type>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/Sagas11HLSImple.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/Sagas11HLSImple.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/Sagas11HLSImple.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,24 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-<coordinator-type>urn:tx-sagas11-commit</coordinator-type>
-</coordination-type>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/SagasHLSImple.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/SagasHLSImple.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/SagasHLSImple.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,24 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-<coordinator-type>urn:tx-sagas-commit</coordinator-type>
-</coordination-type>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/TwoPhase11HLSImple.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/TwoPhase11HLSImple.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/TwoPhase11HLSImple.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,24 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-<coordinator-type>urn:tx-two-phase11-commit</coordinator-type>
-</coordination-type>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/TwoPhaseHLSImple.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/TwoPhaseHLSImple.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/TwoPhaseHLSImple.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,24 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-<coordinator-type>urn:tx-two-phase-commit</coordinator-type>
-</coordination-type>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/WSBAHLS.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/WSBAHLS.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/WSBAHLS.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,50 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Thomas Novellino Version 4.0 (Hewlett Packard Co.) -->
-<!--Sample XML file generated by XML Spy v4.0 U (http://www.xmlspy.com)-->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-	<coordinator-type>urn:generic:tx-jta</coordinator-type>
-	<notification>
-		<name>XACommit</name>
-	</notification>
-	<notification>
-		<name>XAStart</name>
-	</notification>
-	<notification>
-		<name>XAEnd</name>
-	</notification>
-	<notification>
-		<name>XAForget</name>
-	</notification>
-	<notification>
-		<name>XAPrepare</name>
-		<response>
-			<name>XAOutcome</name>
-		</response>
-	</notification>
-	<notification>
-		<name>XARecover</name>
-		<response>
-			<name>XIDList</name>
-		</response>
-	</notification>
-</coordination-type>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/WSCF.xsd
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/WSCF.xsd	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/WSCF.xsd	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,62 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Thomas Novellino (Hewlett Packard Co.) -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
-	<xsd:element name="coordinator-name" type="xsd:anyURI">
-		<xsd:annotation>
-			<xsd:documentation>The unique name for this type of coordinator</xsd:documentation>
-		</xsd:annotation>
-	</xsd:element>
-	<xsd:element name="response">
-		<xsd:annotation>
-			<xsd:documentation>The response that may be returned upon receipt of a specific notification</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="name" type="xsd:string" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="notification">
-		<xsd:annotation>
-			<xsd:documentation>The notification message that may be sent</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element name="name" type="xsd:string"/>
-				<xsd:element ref="response" maxOccurs="unbounded"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-	<xsd:element name="coordination-type">
-		<xsd:annotation>
-			<xsd:documentation>The type of the coordination protocol supported</xsd:documentation>
-		</xsd:annotation>
-		<xsd:complexType>
-			<xsd:sequence>
-				<xsd:element ref="coordinator-name" minOccurs="0"/>
-				<xsd:element ref="notification" minOccurs="0" maxOccurs="unbounded"/>
-				<xsd:element name="generic" type="xsd:boolean" minOccurs="0"/>
-			</xsd:sequence>
-		</xsd:complexType>
-	</xsd:element>
-</xsd:schema>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/context-example.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/context-example.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/context-example.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,30 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<!-- edited with XML Spy v4.0 U (http://www.example.com) by Thomas Novellino Version 4.0 (Hewlett Packard Co.) -->
-<!--Sample XML file generated by XML Spy v4.0 U (http://www.example.com)-->
-<wscf-context xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\Documents and Settings\mlittle\Desktop\wscf.xsd">
-	<protocol-reference protocol_type="urn:two-phase"/>
-	<coordinator-reference coordinator="http://www.example.com" activity_identity="urn:1234"/>
-	<coordinator-reference coordinator="http://www.example.com" activity_identity="urn:5678"/>
-	<coordinator-reference coordinator="http://www.example.com" activity_identity="urn:9012"/>
-	<coordinator-reference coordinator="http://www.example.com" activity_identity="urn:3456"/>
-</wscf-context>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/context.xsd
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/context.xsd	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/context.xsd	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,52 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Thomas Novellino Version 4.0 (Hewlett Packard Co.) -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
-	<xs:element name="coordinator-reference">
-		<xs:annotation>
-			<xs:documentation>the coordinator-reference; a coordinator is implicitly associated with the activity in the same point in the hierarchy unless otherwise stated. This is to allow an activity hierarchy to be propagated where only some of the activities may be coordination domains. A coordinator can only be associated with a single activity at most.</xs:documentation>
-		</xs:annotation>
-		<xs:complexType>
-			<xs:attribute name="coordinator" type="xs:anyURI" use="required"/>
-			<xs:attribute name="activity_identity" type="xs:anyURI" use="optional"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="protocol-reference">
-		<xs:annotation>
-			<xs:documentation>the type of protocol supported by the coordination domain must be specified. Only one coordination protocol per context (is this too limiting?)</xs:documentation>
-		</xs:annotation>
-		<xs:complexType>
-			<xs:attribute name="protocol_type" type="xs:anyURI" use="required"/>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="wscf-context">
-		<xs:annotation>
-			<xs:documentation>wscf-context represents the context hierarchy for a coordination tree.</xs:documentation>
-		</xs:annotation>
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="protocol-reference"/>
-				<xs:element ref="coordinator-reference" maxOccurs="unbounded"/>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-</xs:schema>

Deleted: labs/jbosstm/trunk/XTS/WSCF/xml/example.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSCF/xml/example.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSCF/xml/example.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,48 +0,0 @@
-<!--
-  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 Lesser General Public License, v. 2.1.
-  This program is distributed in the hope that it will be useful, but WITHOUT A
-  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
-  You should have received a copy of the GNU Lesser General Public License,
-  v.2.1 along with this distribution; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-  MA  02110-1301, USA.
-
-  
-  (C) 2005-2006,
-  @author JBoss Inc.
--->
-<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Thomas Novellino Version 4.0 (Hewlett Packard Co.) -->
-<!--Sample XML file generated by XML Spy v4.0 U (http://www.xmlspy.com)-->
-<coordination-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\mlittle\Desktop\standards work\WS architecture\WSCF\0.8.2\xml\WSCF.xsd">
-	<coordinator-type>urn:two-phase</coordinator-type>
-	<notification>
-		<name>prepare</name>
-		<response>
-			<name>confirm</name>
-			<name>cancel</name>
-			<name>readonly</name>
-		</response>
-	</notification>
-	<notification>
-		<name>confirm</name>
-		<response>
-			<name>confirmed</name>
-			<name>cancelled</name>
-		</response>
-	</notification>
-	<notification>
-		<name>cancel</name>
-		<response>
-			<name>cancelled</name>
-			<name>confirmed</name>
-		</response>
-	</notification>
-</coordination-type>

Modified: labs/jbosstm/trunk/XTS/WSTX/build.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/build.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSTX/build.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -264,12 +264,6 @@
     </target>
 
     <target name="jar10" if="build10">
-        <copy file="xml/UserTwoPhaseTx.xml"
-              tofile="${build.classes10.dir}/com/arjuna/mwlabs/wstx/model/as/twophase/UserTwoPhaseTx.xml"/>
-        <copy file="xml/AtomicTransaction.xml"
-              tofile="${build.classes10.dir}/com/arjuna/mwlabs/wst/at/ContextFactoryImple.xml"/>
-        <copy file="xml/BusinessActivity.xml"
-              tofile="${build.classes10.dir}/com/arjuna/mwlabs/wst/ba/ContextFactoryImple.xml"/>
         <jar jarfile="${build.lib.dir}/${modulename}10.jar">
             <fileset dir="${build.classes10.dir}" excludes="${wstx10.api.classes}"/>
         </jar>
@@ -279,12 +273,6 @@
     </target>
 
     <target name="jar11">
-        <copy file="xml/UserTwoPhaseTx.xml"
-              tofile="${build.classes11.dir}/com/arjuna/mwlabs/wstx11/model/as/twophase/UserTwoPhaseTx.xml"/>
-        <copy file="xml/AtomicTransaction11.xml"
-              tofile="${build.classes11.dir}/com/arjuna/mwlabs/wst11/at/ContextFactoryImple.xml"/>
-        <copy file="xml/BusinessActivity11.xml"
-              tofile="${build.classes11.dir}/com/arjuna/mwlabs/wst11/ba/ContextFactoryImple.xml"/>
         <jar jarfile="${build.lib.dir}/${modulename}11.jar">
             <fileset dir="${build.classes11.dir}" excludes="${wstx11.api.classes}"/>
         </jar>

Modified: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/TransactionManager.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/TransactionManager.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/TransactionManager.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -31,9 +31,12 @@
 
 package com.arjuna.mw.wst;
 
-import com.arjuna.wst.*;
-
 import com.arjuna.wsc.AlreadyRegisteredException;
+import com.arjuna.wst.SystemException;
+import com.arjuna.wst.UnknownTransactionException;
+import com.arjuna.wst.Volatile2PCParticipant;
+import com.arjuna.wst.Durable2PCParticipant;
+import com.arjuna.wst.WrongStateException;
 
 /**
  * This is the interface that the core exposes in order to allow different

Modified: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/deploy/WSTXInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/deploy/WSTXInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/deploy/WSTXInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -21,24 +21,17 @@
 package com.arjuna.mw.wst.deploy;
 
 import java.io.FileNotFoundException;
-import java.io.InputStream;
 
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
+import com.arjuna.common.internal.util.propertyservice.BeanPopulator;
+import org.jboss.jbossts.xts.environment.WSTEnvironmentBean;
 
-import com.arjuna.mw.wsas.utils.Configuration;
 import com.arjuna.mw.wst.*;
 import com.arjuna.mw.wstx.logging.wstxLogger;
 import com.arjuna.webservices.util.ClassLoaderHelper;
 import com.arjuna.services.framework.startup.Sequencer;
-import com.arjuna.wsc.common.Environment;
 
 /**
  * Initialise WSTX.
@@ -59,18 +52,7 @@
            public void run() {
                try
                {
-                   // ok, if we just loaded a coordinator URL and one was already defined on
-                   // the command line then reinstate the command line version
-                   String commandLineCoordinatrURL  = System.getProperty(com.arjuna.wsc.common.Environment.XTS_COMMAND_LINE_COORDINATOR_URL);
-                   if (commandLineCoordinatrURL != null) {
-                       System.setProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_URL, commandLineCoordinatrURL);
-                   }
-
-                   fixCoordinatorURL();
-                   
                    listener.configure();
-                   // Start recovery
-//            RecoveryManager.manager() ;
                }
                catch (Exception exception)
                {
@@ -86,136 +68,39 @@
     }
     
     /**
-     * Configure WS-T.
+     * Configure WSTX client API implementations.
      * 
      */
     private void configure()
         throws Exception
     {
-        // mostly original JNDI binder code.  Should be tidied up.
-        final String userTx = System.getProperty("org.jboss.jbossts.xts.wsat.UserTransaction");
-        final String txManager = System.getProperty("org.jboss.jbossts.xts.wsat.TransactionManager") ;
-        final String userBa = System.getProperty("org.jboss.jbossts.xts.wsba.UserBusinessActivity") ;
-        final String baManager = System.getProperty("org.jboss.jbossts.xts.wsba.BusinessActivityManager") ;
+        WSTEnvironmentBean wstEnvironmentBean = BeanPopulator.getSingletonInstance(WSTEnvironmentBean.class);
+        final String userTx = wstEnvironmentBean.getUserTransaction10();
+        final String txManager = wstEnvironmentBean.getTransactionManager10();
+        final String userBa = wstEnvironmentBean.getUserBusinessActivity10();
+        final String baManager = wstEnvironmentBean.getBusinessActivityManager10();
 
         if ((userTx == null) || (txManager == null) || (userBa == null) || (baManager == null))
         {
-            throw new FileNotFoundException(wstxLogger.i18NLogger.get_mw_wst_deploy_WSTXI_23());
+            // we  allow all the client classes to be null here in case someone wants to deploy a coordinator/server
+            // only implementation. they will still need to install the API classes but not the implementation
+            // code
+            if (! (userTx == null && txManager == null && userBa == null && baManager == null)) {
+                throw new FileNotFoundException(wstxLogger.i18NLogger.get_mw_wst_deploy_WSTXI_23());
+            }
         }
+
         UserTransaction.setUserTransaction((UserTransaction)ClassLoaderHelper.forName(getClass(), userTx).newInstance()) ;
         TransactionManager.setTransactionManager((TransactionManager)ClassLoaderHelper.forName(getClass(), txManager).newInstance()) ;
         UserBusinessActivity.setUserBusinessActivity((UserBusinessActivity)ClassLoaderHelper.forName(getClass(), userBa).newInstance()) ;
         BusinessActivityManager.setBusinessActivityManager((BusinessActivityManager)ClassLoaderHelper.forName(getClass(), baManager).newInstance()) ;
     }
 
-    private final String SERVER_BIND_ADDRESS_KEY = "server.bind.address";
-
-    private final String JBOSS_WEB_BIND_PORT_KEY = "jboss.web.bind.port";
-
-    private void fixCoordinatorURL()
-    {
-        // ok, if we just loaded a coordinator URL and one was already defined on
-        // the command line then reinstate the command line version
-        String commandLineCoordinatrURL  = System.getProperty(com.arjuna.wsc.common.Environment.XTS_COMMAND_LINE_COORDINATOR_URL);
-        if (commandLineCoordinatrURL != null) {
-            System.setProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_URL, commandLineCoordinatrURL);
-        }
-
-        // if the coordinatorURL contains the symbolic names server.bind.address
-        // or jboss.web.bind.port then we must substitute these with the actual
-        // bind address and jboss web http port
-
-        String coordinatorURL = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_URL);
-
-        if (coordinatorURL != null) {
-            boolean updated = false;
-            int idx = coordinatorURL.indexOf(SERVER_BIND_ADDRESS_KEY);
-            if (idx >= 0) {
-                String bindAddress = System.getProperty(Environment.XTS_BIND_ADDRESS);
-                if (bindAddress == null) {
-                    bindAddress = "127.0.0.1";
-                }
-                coordinatorURL = coordinatorURL.substring(0, idx) + bindAddress + coordinatorURL.substring(idx + SERVER_BIND_ADDRESS_KEY.length());
-                updated = true;
-            }
-
-            idx = coordinatorURL.indexOf(JBOSS_WEB_BIND_PORT_KEY);
-            if (idx >= 0) {
-                String bindPort = System.getProperty(Environment.XTS_BIND_PORT);
-                if (bindPort == null) {
-                    bindPort = "8080";
-                }
-                coordinatorURL = coordinatorURL.substring(0, idx) + bindPort + coordinatorURL.substring(idx + JBOSS_WEB_BIND_PORT_KEY.length());
-                updated = true;
-            }
-
-            if (updated) {
-                System.setProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_URL, coordinatorURL);
-            }
-        }
-    }
     /**
-     * Get the specified service.
-     * @param root The root element.
-     * @param name The name of the service.
-     * @return The service name or null if not present.
-     */
-    private static String getService(final Node root, final String name)
-    {
-        final NodeList children = root.getChildNodes();
-            
-        for (int i = 0; i < children.getLength(); i++)
-        {
-            final Node item = children.item(i) ;
-            
-            if ("service".equals(item.getNodeName()))
-            {
-                final Element type = (Element)item;
-                    
-                if (name.equals(type.getAttribute("name")))
-                {
-                    return getImplementation(type);
-                }
-            }
-        }
-        
-        return null;
-    }
-    
-    /**
-     * Get the specified service.
-     * @param service The service element.
-     * @return The service name or null if not present.
-     */
-    private static String getImplementation(final Node service)
-    {
-        final NodeList children = service.getChildNodes();
-        
-        for (int i = 0; i < children.getLength(); i++)
-        {
-            final Node item = children.item(i);
-            
-            if ("parameter".equals(item.getNodeName()))
-            {
-                final Element type = (Element)item;
-                
-                if ("className".equals(type.getAttribute("name")))
-                {
-                    return type.getAttribute("value");
-                }
-            }
-        }
-        
-        return null;
-    }
-
-
-    /**
      * The context is about to be destroyed.
      * @param servletContextEvent The servlet context event.
      */
     public void contextDestroyed(final ServletContextEvent servletContextEvent)
     {
-//        RecoveryManager.manager().stop() ;
     }
 }

Modified: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserTransactionImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserTransactionImple.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserTransactionImple.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -57,6 +57,7 @@
 import com.arjuna.wst.UnknownTransactionException;
 import com.arjuna.wst.WrongStateException;
 import com.arjuna.wst.stub.CompletionStub;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 public class UserTransactionImple extends UserTransaction
 {
@@ -65,7 +66,7 @@
 	{
 		try
 		{
-            _activationCoordinatorService = System.getProperty(Environment.COORDINATOR_URL);
+            _activationCoordinatorService = XTSPropertyManager.getWSCEnvironmentBean().getCoordinatorURL10();
 
 			/*
 			 * If the coordinator URL hasn't been specified via the

Modified: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/ba/remote/UserBusinessActivityImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/ba/remote/UserBusinessActivityImple.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/ba/remote/UserBusinessActivityImple.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -54,6 +54,7 @@
 import com.arjuna.wst.UnknownTransactionException;
 import com.arjuna.wst.WrongStateException;
 import com.arjuna.wst.stub.BusinessActivityTerminatorStub;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * This is the interface that allows transactions to be started and terminated.
@@ -68,7 +69,7 @@
     {
         try
         {
-            _activationCoordinatorService = System.getProperty(Environment.COORDINATOR_URL);
+            _activationCoordinatorService = XTSPropertyManager.getWSCEnvironmentBean().getCoordinatorURL10();
 
             /*
              * If the coordinator URL hasn't been specified via the

Modified: labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/deploy/WSTXInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/deploy/WSTXInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/deploy/WSTXInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -20,23 +20,16 @@
  */
 package com.arjuna.mw.wst11.deploy;
 
-import com.arjuna.mw.wsas.utils.Configuration;
+import com.arjuna.common.internal.util.propertyservice.BeanPopulator;
+import org.jboss.jbossts.xts.environment.WSTEnvironmentBean;
 import com.arjuna.mw.wstx.logging.wstxLogger;
 import com.arjuna.mw.wst11.*;
 import com.arjuna.services.framework.startup.Sequencer;
 import com.arjuna.webservices.util.ClassLoaderHelper;
-import com.arjuna.wsc.common.Environment;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
 
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
 import java.io.FileNotFoundException;
-import java.io.InputStream;
 
 /**
  * Initialise WSTX.
@@ -57,11 +50,7 @@
            public void run() {
                try
                {
-                   fixCoordinatorURL();
-
                    listener.configure();
-                   // Start recovery
-//            RecoveryManager.manager() ;
                }
                catch (Exception exception) {
                    wstxLogger.i18NLogger.error_mw_wst11_deploy_WSTXI_1(exception);
@@ -77,21 +66,28 @@
     }
 
     /**
-     * Configure WS-T.
+     * Configure WSTX client implementations.
      *
      */
     private void configure()
         throws Exception
     {
-        final String userTx = System.getProperty("org.jboss.jbossts.xts.wsat11.UserTransaction");
-        final String txManager = System.getProperty("org.jboss.jbossts.xts.wsat11.TransactionManager") ;
-        final String userBa = System.getProperty("org.jboss.jbossts.xts.wsba11.UserBusinessActivity") ;
-        final String baManager = System.getProperty("org.jboss.jbossts.xts.wsba11.BusinessActivityManager") ;
+        WSTEnvironmentBean wstEnvironmentBean = BeanPopulator.getSingletonInstance(WSTEnvironmentBean.class);
+        final String userTx = wstEnvironmentBean.getUserTransaction11();
+        final String txManager = wstEnvironmentBean.getTransactionManager11();
+        final String userBa = wstEnvironmentBean.getUserBusinessActivity11();
+        final String baManager = wstEnvironmentBean.getBusinessActivityManager11();
 
         if ((userTx == null) || (txManager == null) || (userBa == null) || (baManager == null))
         {
-            throw new FileNotFoundException(wstxLogger.i18NLogger.get_mw_wst11_deploy_WSTXI_23());
+            // we  allow all the client classes to be null here in case someone wants to deploy a coordinator/server
+            // only implementation. they will still need to install the API classes but not the implementation
+            // code
+            if (! (userTx == null && txManager == null && userBa == null && baManager == null)) {
+                throw new FileNotFoundException(wstxLogger.i18NLogger.get_mw_wst_deploy_WSTXI_23());
+            }
         }
+
         UserTransaction.setUserTransaction((UserTransaction)ClassLoaderHelper.forName(getClass(), userTx).newInstance()) ;
         TransactionManager.setTransactionManager((TransactionManager)ClassLoaderHelper.forName(getClass(), txManager).newInstance()) ;
         UserBusinessActivity.setUserBusinessActivity((UserBusinessActivity)ClassLoaderHelper.forName(getClass(), userBa).newInstance()) ;
@@ -100,115 +96,11 @@
         BusinessActivityManager.setBusinessActivityManager((BusinessActivityManager)ClassLoaderHelper.forName(getClass(), baManager).newInstance());
     }
 
-    private final String SERVER_BIND_ADDRESS_KEY = "server.bind.address";
-
-    private final String JBOSS_WEB_BIND_PORT_KEY = "jboss.web.bind.port";
-
-    private void fixCoordinatorURL()
-    {
-        // ok, if we just loaded a coordinator URL and one was already defined on
-        // the command line then reinstate the command line version
-        String commandLineCoordinatrURL  = System.getProperty(com.arjuna.wsc.common.Environment.XTS11_COMMAND_LINE_COORDINATOR_URL);
-        if (commandLineCoordinatrURL != null) {
-            System.setProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_URL, commandLineCoordinatrURL);
-        }
-
-        // if the coordinatorURL contains the symbolic names server.bind.address
-        // or jboss.web.bind.port then we must substitute these with the actual
-        // bind address and jboss web http port
-
-        String coordinatorURL = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_URL);
-
-        if (coordinatorURL != null) {
-            boolean updated = false;
-            int idx = coordinatorURL.indexOf(SERVER_BIND_ADDRESS_KEY);
-            if (idx >= 0) {
-                String bindAddress = System.getProperty(Environment.XTS11_BIND_ADDRESS);
-                if (bindAddress == null) {
-                    bindAddress = "127.0.0.1";
-                }
-                coordinatorURL = coordinatorURL.substring(0, idx) + bindAddress + coordinatorURL.substring(idx + SERVER_BIND_ADDRESS_KEY.length());
-                updated = true;
-            }
-
-            idx = coordinatorURL.indexOf(JBOSS_WEB_BIND_PORT_KEY);
-            if (idx >= 0) {
-                String bindPort = System.getProperty(Environment.XTS11_BIND_PORT);
-                if (bindPort == null) {
-                    bindPort = "8080";
-                }
-                coordinatorURL = coordinatorURL.substring(0, idx) + bindPort + coordinatorURL.substring(idx + JBOSS_WEB_BIND_PORT_KEY.length());
-                updated = true;
-            }
-
-            if (updated) {
-                System.setProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_URL, coordinatorURL);
-            }
-        }
-    }
-
     /**
-     * Get the specified service.
-     * @param root The root element.
-     * @param name The name of the service.
-     * @return The service name or null if not present.
-     */
-    private static String getService(final Node root, final String name)
-    {
-        final NodeList children = root.getChildNodes();
-
-        for (int i = 0; i < children.getLength(); i++)
-        {
-            final Node item = children.item(i) ;
-
-            if ("service".equals(item.getNodeName()))
-            {
-                final Element type = (Element)item;
-
-                if (name.equals(type.getAttribute("name")))
-                {
-                    return getImplementation(type);
-                }
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * Get the specified service.
-     * @param service The service element.
-     * @return The service name or null if not present.
-     */
-    private static String getImplementation(final Node service)
-    {
-        final NodeList children = service.getChildNodes();
-
-        for (int i = 0; i < children.getLength(); i++)
-        {
-            final Node item = children.item(i);
-
-            if ("parameter".equals(item.getNodeName()))
-            {
-                final Element type = (Element)item;
-
-                if ("className".equals(type.getAttribute("name")))
-                {
-                    return type.getAttribute("value");
-                }
-            }
-        }
-
-        return null;
-    }
-
-
-    /**
      * The context is about to be destroyed.
      * @param servletContextEvent The servlet context event.
      */
     public void contextDestroyed(final ServletContextEvent servletContextEvent)
     {
-//        RecoveryManager.manager().stop() ;
     }
 }
\ No newline at end of file

Modified: labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserTransactionImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserTransactionImple.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserTransactionImple.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -22,6 +22,7 @@
 import com.arjuna.wst.UnknownTransactionException;
 import com.arjuna.wst.WrongStateException;
 import com.arjuna.wst11.stub.CompletionStub;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 import org.oasis_open.docs.ws_tx.wscoor._2006._06.CoordinationContextType;
 import org.oasis_open.docs.ws_tx.wscoor._2006._06.CoordinationContext;
 
@@ -37,7 +38,7 @@
 	{
 		try
 		{
-            _activationCoordinatorService = System.getProperty(Environment.COORDINATOR11_URL);
+            _activationCoordinatorService = XTSPropertyManager.getWSCEnvironmentBean().getCoordinatorURL11();
 
 			/*
 			 * If the coordinator URL hasn't been specified via the

Modified: labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/ba/remote/UserBusinessActivityImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/ba/remote/UserBusinessActivityImple.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/ba/remote/UserBusinessActivityImple.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -54,6 +54,7 @@
 import com.arjuna.wst.UnknownTransactionException;
 import com.arjuna.wst.WrongStateException;
 import com.arjuna.wst11.stub.BusinessActivityTerminatorStub;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 import org.oasis_open.docs.ws_tx.wscoor._2006._06.CoordinationContextType;
 import org.oasis_open.docs.ws_tx.wscoor._2006._06.CoordinationContext;
 
@@ -74,7 +75,7 @@
     {
         try
         {
-            _activationCoordinatorService = System.getProperty(Environment.COORDINATOR11_URL);
+            _activationCoordinatorService = XTSPropertyManager.getWSCEnvironmentBean().getCoordinatorURL11();
 
             /*
              * If the coordinator URL hasn't been specified via the

Modified: labs/jbosstm/trunk/XTS/build.xml
===================================================================
--- labs/jbosstm/trunk/XTS/build.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/build.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -128,13 +128,13 @@
 		<echo message="Installing jar files"/>
 		<mkdir dir="${xts.installationdirectory}/lib"/>
 		<copy todir="${xts.installationdirectory}/lib">
-			<fileset dir="WSAS/build/lib" includes="*.jar"/>
-			<fileset dir="WS-C/build/lib" includes="*.jar"/>
-			<fileset dir="WSCF/build/lib" includes="*.jar"/>
-			<fileset dir="WS-T/build/lib" includes="*.jar"/>
-            <fileset dir="WSTX/build/lib" includes="*.jar"/>
-            <fileset dir="recovery/build/lib" includes="*.jar"/>
-            <fileset dir="bridge/build/lib" includes="*.jar"/>
+			<fileset dir="${wsas.dir}/build/lib" includes="*.jar"/>
+			<fileset dir="${ws-c.dir}/build/lib" includes="*.jar"/>
+			<fileset dir="${wscf.dir}/build/lib" includes="*.jar"/>
+			<fileset dir="${ws-t.dir}/build/lib" includes="*.jar"/>
+            <fileset dir="${wstx.dir}/build/lib" includes="*.jar"/>
+            <fileset dir="${recovery.dir}/build/lib" includes="*.jar"/>
+            <fileset dir="${bridge.dir}/build/lib" includes="*.jar"/>
 		</copy>
 
 		<echo message="Installing webapps"/>
@@ -149,11 +149,7 @@
         <echo message="Installing configuration"/>
         <mkdir dir="${xts.installationdirectory}/conf"/>
         <copy todir="${xts.installationdirectory}/conf">
-            <!--
-            <fileset dir="WSCF/config"/>
-            <fileset dir="WSTX/config" includes="*.xml"/>
-            -->
-            <fileset  dir="." includes="xts.properties"/>
+            <fileset  dir="${config.dir}" includes="xts-properties.xml, xts-properties11.xml"/>
         </copy>
 
 		<echo message="Installing htdocs"/>
@@ -298,7 +294,7 @@
     </target>
 
     <target name="bridge.build">
-        <ant dir="bridge">
+        <ant dir="${bridge.dir}">
             <property name="sartype" value="${sartype}"/>
             <property name="emma.enabled" value="${emma.enabled}"/>
         </ant>

Added: labs/jbosstm/trunk/XTS/config/xts-properties.xml
===================================================================
--- labs/jbosstm/trunk/XTS/config/xts-properties.xml	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/config/xts-properties.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2010, Red Hat 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) 2010,
+  @author JBoss, a division of Red Hat.
+-->
+<properties>
+    <!--
+    This is the XTS configuration file for the unsupported (community) configuration where both the
+    1.1 and 1.0 protocol implementations are deployed. This file should be called xts-properties.xml.
+    This file is only needed if you are deploying XTS outside of JBoss AS. When deployed inside JBoss
+    AS the XTS the beans.xml file in the XTS service archive configures the relevant properties using
+    micro-container injection.
+
+    These properties define values which configure operation of all 3 components of the XTS
+    implementation, the client services, participant (transactional web service) services and
+    the XTS coordinator services. Normally all three components are deployed and configured in a
+    single container so one property file serves to configure the behaviour of all three deployments.
+    By redefining certain of these properties to have empty values it is possible  to avoid loading
+    implementations classes used by the client or coordinator components. In order to fully remove any
+    of these three components from a deployment it is also necessary to modify the war deployments which
+    expose the service endpoints.
+    -->
+
+
+    <!--
+	bind address/ports
+	the following entries are used by the XTS components to construct
+	the URLS handed out when they need to provide a reference to the
+	service. These URLs refer to services deployed in the client,
+	coordinator or participant web service container so the bind
+	properties must always be configured in any XTS deployment.
+
+	In JBoss AS these properties will be injected by the
+	microcontainer using values derived from service JBoss Web as
+	specified in file jboss-beans.xml. So bind.address will be set
+	using the bind address supplied when JBoss AS is started while
+	the ports will be derived from the configuration file in the
+	server's config directory.
+    -->
+
+    <!-- these are the values employed by the 1.1 implementation
+    -->
+    <entry key="org.jboss.jbossts.xts11.bind.address">localhost</entry>
+    <entry key="org.jboss.jbossts.xts11.bind.port">8080</entry>
+    <entry key="org.jboss.jbossts.xts11.bind.port.secure">8443</entry>
+
+    <!-- these values are only specified when deploying the 1.0
+         implementation
+    -->
+    <entry key="org.jboss.jbossts.xts.bind.address">localhost</entry>
+    <entry key="org.jboss.jbossts.xts.bind.port">8080</entry>
+    <entry key="org.jboss.jbossts.xts.bind.port.secure">8080</entry>
+
+    <!-- transport timeouts
+    these properties configure timings in the transport layer which manages messages between client
+    and coordinator or participant (web service) and coordinator. This layer is common to all 3 XTS components
+    so these properties may be set in all deployments. The example settings below specify the default values
+    which are all calibrated in milliseconds.
+
+    transportTimeout determines the maximum time a participant or coordinator service will wait for a response
+    to a protocol message before assuming that the service at the other end has crashed. Note that in some cases,
+    particularly in the case of participants a timeout can only be handled by resending the message. However,
+    in other cases a timeout may lead to a transaction start transition e.g. to aborting. n.b. transportTimeout
+    should be significantly greater than initialTransportPeriod which determines how frequently messages are
+    resent. The default timeout is 30 seconds which should never be exceeded on a local network because of
+     message delivery delays. If your service and coordinator are distributed across internet domains then you
+     may possibly need to increase this value.
+
+    initialTransportPeriod is the initial period for which a participant or coordinator service will wait before
+    resending a protocol message if it does not receive a reply. In cases where a wait is performed the first
+    resend will only happen after the initial wait timeout and this property is used to determine the period
+    before the second resend. In cases where a wait is not performed the resend happens automatically on the
+    assumption that the first message must not have reached its destination. Where a response is mandated by the
+    transaction protocol resends continue indefinitely at gradually increasing intervals - the period roughly
+    doubling every two resends. The default period is 5 seconds which should never be exceeded on a local
+    network because of message delivery delays.If your service and coordinator are distributed across internet
+    domains then you may possibly need to increase this value.
+
+    maximumTransportPeriod is the maximum value which the resend period can be increased to. It should be
+    significantly larger than initialTransportPeriod since there is no point resending messages with high
+    frequency if a the server at the other end has been down for a long time. The default maximum period is 300
+    seconds which will only be reached after a message has been sent approximately 15 times.
+    -->
+    <!-- uncomment to configure transport timing properties -->
+    <!--
+    <property name="org.jboss.jbossts.xts.transport.initialTransportPeriod">5000</property>
+    <property name="org.jboss.jbossts.xts.transport.maximumTransportPeriod">300000</property>
+    <property name="org.jboss.jbossts.xts.transport.transportTimeout">30000</property>
+    -->
+
+    <!-- coordinator URL
+	the following entries are used in the client container only to
+	identify the URL used to address the ActivationCoordinator service.
+	This is the XTS service which is contacted when a begin operation
+	is invoked to start a  WS-AT or WS-BA transaction.
+
+	If a full URL is provide then it will be used as given.
+	Otherwise a URL will be constructed using any URL components
+	such as scheme, host etc which have been specified as properties
+	and defaulting any remaining unspecified properties.
+	if no URL or components are specified the URL defaults to that
+	of the local coordinator service.
+    -->
+
+    <!-- 1.1 properties : only set if you want to use a non-local coordinator
+    -->
+    <!--
+    <entry key="org.jboss.jbossts.xts11.coordinatorURL">http://localhost:8080/ws-c11/ActivationService</entry>
+    <entry key="org.jboss.jbossts.xts11.coordinator.scheme">http</entry>
+    <entry key="org.jboss.jbossts.xts11.coordinator.host">localhost</entry>
+    <entry key="org.jboss.jbossts.xts11.coordinator.port">8080</entry>
+    <entry key="org.jboss.jbossts.xts11.coordinator.path">ws-c11/ActivationService</entry>
+    -->
+
+    <!-- 1.0 properties : only set if you have deployed the 1.0 client code
+	 and you want to use a non-local coordinator
+    -->
+    <!--
+    <entry key="org.jboss.jbossts.xts.coordinatorURL">http://localhost:8080/ws-c10/soap/ActivationCoordinator</entry>
+    <entry key="org.jboss.jbossts.xts.coordinator.scheme">http</entry>
+    <entry key="org.jboss.jbossts.xts.coordinator.host">localhost</entry>
+    <entry key="org.jboss.jbossts.xts.coordinator.port">8080</entry>
+    <entry key="org.jboss.jbossts.xts.coordinator.path">ws-c10/soap/ActivationCoordinator</entry>
+    -->
+
+    <!-- user transaction and transaction manager implementation
+         mappings.
+	these are used in the client container only to identify the
+	classes used to implement the WSAT and WSBA client APIs. they
+	will not normally be reconfigured since doing so requires
+	modifing the implementation to include new versions of these
+	classes.
+
+	if you are deploying XTS to a coordinator or participant (web
+	service) container which does not need to operate as a client
+	then you can leave these properties unset and the corresponding
+	classes will  not be loaded.
+    -->
+    <!--  mappings for the 1.1 implementation
+    -->
+    <entry key="org.jboss.jbossts.xts11.wsat.UserTransaction">com.arjuna.mwlabs.wst11.at.remote.UserTransactionImple</entry>
+    <entry key="org.jboss.jbossts.xts11.wsba.UserBusinessActivity">com.arjuna.mwlabs.wst11.ba.remote.UserBusinessActivityImple</entry>
+    <entry key="org.jboss.jbossts.xts11.wsat.TransactionManager">com.arjuna.mwlabs.wst11.at.remote.TransactionManagerImple</entry>
+    <entry key="org.jboss.jbossts.xts11.wsba.BusinessActivityManager">com.arjuna.mwlabs.wst11.ba.remote.BusinessActivityManagerImple</entry>
+
+    <!-- mappings for the 1.0 implementation.  these should only be
+         defined if the 1.0 implementation is deployed
+	 -->
+    <entry key="org.jboss.jbossts.xts.wsat.UserTransaction">com.arjuna.mwlabs.wst.at.remote.UserTransactionImple</entry>
+    <entry key="org.jboss.jbossts.xts.wsba.UserBusinessActivity">com.arjuna.mwlabs.wst.ba.remote.UserBusinessActivityImple</entry>
+    <entry key="org.jboss.jbossts.xts.wsat.TransactionManager">com.arjuna.mwlabs.wst.at.remote.TransactionManagerImple</entry>
+    <entry key="org.jboss.jbossts.xts.wsba.BusinessActivityManager">com.arjuna.mwlabs.wst.ba.remote.BusinessActivityManagerImple</entry>
+
+    <!-- protocol mappings.
+	these are used in the coordinator container only to determine
+	which classes to use to implement the coordination
+	services. they are used to establish mappings from
+	coordination service types to their implementation classes and
+	from coordination types to coordination context factories.
+	they will not normally be reconfigured since this also
+	requires providing alternative implementations.
+
+	if you are deploying XTS to a client or participant (web
+	service) container which uses a coordinator located in
+	a remote container then you can omit these properties and
+	no coordinator implementations will be loaded.
+
+    coordination service implementation classes must be tagged
+    with an HLSProvider annotation identifying the implemented
+    service type. the annotation must also declare the
+    coordination type of the coordination protocol supported by
+    the service.
+
+	context factory classes must be tagged with a ContextProvider
+	annotation identifying the coordination type and
+	implementation class of the contexts created by the
+	factory. the annotation must also declare the service type
+	for which the context is appropriate.
+    -->
+
+    <!-- protocol definitions for 1.1 implementation
+	 first the HLS services and then the context factories
+    -->
+    <entry key="org.jboss.jbossts.xts.protocolImplementation1">com.arjuna.mwlabs.wscf11.model.twophase.arjunacore.TwoPhaseHLSImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation2">com.arjuna.mwlabs.wscf11.model.sagas.arjunacore.SagasHLSImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation3">com.arjuna.mwlabs.wst11.at.ContextFactoryImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation4">com.arjuna.mwlabs.wst11.ba.ContextFactoryImple</entry>
+
+    <!-- protocol definitions for 1.0 implementation
+	first the HLS services and then the context factories
+
+	these should only be defined if the 1.0 implementation is
+	deployed
+    -->
+
+    <entry key="org.jboss.jbossts.xts.protocolImplementation5">com.arjuna.mwlabs.wscf.model.twophase.arjunacore.TwoPhaseHLSImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation6">com.arjuna.mwlabs.wscf.model.sagas.arjunacore.SagasHLSImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation7">com.arjuna.mwlabs.wst.at.ContextFactoryImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation8">com.arjuna.mwlabs.wst.ba.ContextFactoryImple</entry>
+
+</properties>

Added: labs/jbosstm/trunk/XTS/config/xts-properties11.xml
===================================================================
--- labs/jbosstm/trunk/XTS/config/xts-properties11.xml	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/config/xts-properties11.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2010, Red Hat 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) 2010,
+  @author JBoss, a division of Red Hat.
+-->
+<properties>
+    <!--
+    This is the XTS configuration file for the supported configuration where only the 1.1 protocol
+    implementation is deployed. The original file is called xts-properties11.xml but it is deployed
+    as xts-properties.xml. This file is only needed if you are deploying XTS outside of JBoss AS.
+    When deployed inside JBoss AS the XTS the beans.xml file in the XTS service archive configures
+    the relevant properties using micro-container injection.
+
+    These properties define values which configure operation of all 3 components of the XTS
+    implementation, the client services, participant (transactional web service) services and
+    the XTS coordinator services. Normally all three components are deployed and configured in a
+    single container so one property file serves to configure the behaviour of all three deployments.
+    By redefining certain of these properties to have empty values it is possible  to avoid loading
+    implementations classes used by the client or coordinator components. In order to fully remove any
+    of these three components from a deployment it is also necessary to modify the war deployments which
+    expose the service endpoints.
+    -->
+
+    <!--
+	bind address/ports
+	the following entries are used by the XTS components to construct
+	the URLS handed out when they need to provide a reference to the
+	service. These URLs refer to services deployed in the client,
+	coordinator or participant web service container so the bind
+	properties must always be configured in any XTS deployment.
+
+	In JBoss AS these properties will be injected by the
+	microcontainer using values derived from service JBoss Web as
+	specified in file jboss-beans.xml. So bind.address will be set
+	using the bind address supplied when JBoss AS is started while
+	the ports will be derived from the configuration file in the
+	server's config directory.
+    -->
+
+    <!-- these are the values employed by the 1.1 implementation
+    -->
+    <entry key="org.jboss.jbossts.xts11.bind.address">localhost</entry>
+    <entry key="org.jboss.jbossts.xts11.bind.port">8080</entry>
+    <entry key="org.jboss.jbossts.xts11.bind.port.secure">8443</entry>
+
+    <!-- transport timeouts
+    these properties configure timings in the transport layer which manages messages between client
+    and coordinator or participant (web service) and coordinator. This layer is common to all 3 XTS components
+    so these properties may be set in all deployments. The example settings below specify the default values
+    which are all calibrated in milliseconds.
+
+    transportTimeout determines the maximum time a participant or coordinator service will wait for a response
+    to a protocol message before assuming that the service at the other end has crashed. Note that in some cases,
+    particularly in the case of participants a timeout can only be handled by resending the message. However,
+    in other cases a timeout may lead to a transaction start transition e.g. to aborting. n.b. transportTimeout
+    should be significantly greater than initialTransportPeriod which determines how frequently messages are
+    resent. The default timeout is 30 seconds which should never be exceeded on a local network because of
+     message delivery delays. If your service and coordinator are distributed across internet domains then you
+     may possibly need to increase this value.
+
+    initialTransportPeriod is the initial period for which a participant or coordinator service will wait before
+    resending a protocol message if it does not receive a reply. In cases where a wait is performed the first
+    resend will only happen after the initial wait timeout and this property is used to determine the period
+    before the second resend. In cases where a wait is not performed the resend happens automatically on the
+    assumption that the first message must not have reached its destination. Where a response is mandated by the
+    transaction protocol resends continue indefinitely at gradually increasing intervals - the period roughly
+    doubling every two resends. The default period is 5 seconds which should never be exceeded on a local
+    network because of message delivery delays.If your service and coordinator are distributed across internet
+    domains then you may possibly need to increase this value.
+
+    maximumTransportPeriod is the maximum value which the resend period can be increased to. It should be
+    significantly larger than initialTransportPeriod since there is no point resending messages with high
+    frequency if a the server at the other end has been down for a long time. The default maximum period is 300
+    seconds which will only be reached after a message has been sent approximately 15 times.
+    -->
+    <!-- uncomment to configure transport timing properties -->
+    <!--
+    <property name="org.jboss.jbossts.xts.transport.initialTransportPeriod">5000</property>
+    <property name="org.jboss.jbossts.xts.transport.maximumTransportPeriod">300000</property>
+    <property name="org.jboss.jbossts.xts.transport.transportTimeout">30000</property>
+    -->
+
+    <!-- coordinator URL
+	the following entries are used in the client container only to
+	identify the URL used to address the ActivationCoordinator service.
+	This is the XTS service which is contacted when a begin operation
+	is invoked to start a  WS-AT or WS-BA transaction.
+
+	If a full URL is provide then it will be used as given.
+	Otherwise a URL will be constructed using any URL components
+	such as scheme, host etc which have been specified as properties
+	and defaulting any remaining unspecified properties.
+	if no URL or components are specified the URL defaults to that
+	of the local coordinator service.
+    -->
+
+    <!-- 1.1 properties : only set if you want to use a non-local coordinator
+    -->
+    <!--
+    <entry key="org.jboss.jbossts.xts11.coordinatorURL">http://localhost:8080/ws-c11/ActivationService</entry>
+    <entry key="org.jboss.jbossts.xts11.coordinator.scheme">http</entry>
+    <entry key="org.jboss.jbossts.xts11.coordinator.host">localhost</entry>
+    <entry key="org.jboss.jbossts.xts11.coordinator.port">8080</entry>
+    <entry key="org.jboss.jbossts.xts11.coordinator.path">ws-c11/ActivationService</entry>
+    -->
+
+    <!-- user transaction and transaction manager implementation
+         mappings.
+	these are used in the client container only to identify the
+	classes used to implement the WSAT and WSBA client APIs. they
+	will not normally be reconfigured since doing so requires
+	modifing the implementation to include new versions of these
+	classes.
+
+	if you are deploying XTS to a coordinator or participant (web
+	service) container which does not need to operate as a client
+	then you can leave these properties unset and the corresponding
+	classes will  not be loaded.
+    -->
+    <!--  mappings for the 1.1 implementation
+    -->
+    <entry key="org.jboss.jbossts.xts11.wsat.UserTransaction">com.arjuna.mwlabs.wst11.at.remote.UserTransactionImple</entry>
+    <entry key="org.jboss.jbossts.xts11.wsba.UserBusinessActivity">com.arjuna.mwlabs.wst11.ba.remote.UserBusinessActivityImple</entry>
+    <entry key="org.jboss.jbossts.xts11.wsat.TransactionManager">com.arjuna.mwlabs.wst11.at.remote.TransactionManagerImple</entry>
+    <entry key="org.jboss.jbossts.xts11.wsba.BusinessActivityManager">com.arjuna.mwlabs.wst11.ba.remote.BusinessActivityManagerImple</entry>
+
+    <!-- protocol mappings.
+
+	these are used in the coordinator container only to determine
+	which classes to use to implement the coordination
+	services. they are used to establish mappings from
+	coordination service types to their implementation classes and
+	from coordination types to coordination context factories.
+	they will not normally be reconfigured since this also
+	requires providing alternative implementations.
+
+	if you are deploying XTS to a client or participant (web
+	service) container which uses a coordinator located in
+	a remote container then you can omit these properties and
+	no coordinator implementations will be loaded.
+
+    coordination service implementation classes must be tagged
+    with an HLSProvider annotation identifying the implemented
+    service type. the annotation must also declare the
+    coordination type of the coordination protocol supported by
+    the service.
+
+	context factory classes must be tagged with a ContextProvider
+	annotation identifying the coordination type and
+	implementation class of the contexts created by the
+	factory. the annotation must also declare the service type
+	for which the context is appropriate.
+    -->
+
+    <!-- protocol definitions for 1.1 implementation
+	 first the HLS services and then the context factories
+    -->
+    <entry key="org.jboss.jbossts.xts.protocolImplementation1">com.arjuna.mwlabs.wscf11.model.twophase.arjunacore.TwoPhaseHLSImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation2">com.arjuna.mwlabs.wscf11.model.sagas.arjunacore.SagasHLSImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation3">com.arjuna.mwlabs.wst11.at.ContextFactoryImple</entry>
+    <entry key="org.jboss.jbossts.xts.protocolImplementation4">com.arjuna.mwlabs.wst11.ba.ContextFactoryImple</entry>
+
+</properties>

Modified: labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/build.xml
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/build.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/build.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -32,16 +32,6 @@
     <!-- the directory in which XTS resides -->
     <property name="xts.home" value="../../xts-install"/>
 
-    <!-- the name of the host where the coordinator resides. this defaults to the
-    special symbol server.bind.address which will be substituted with the actual
-    server bind address employed when jboss is started -->
-    <property name="coordinator.hostname" value="server.bind.address"/>
-
-    <!-- the name of the port the coordinator is listening on.  this defaults to the
-    special symbol jboss.web.bind.port which will be substituted with the actual
-    jboss web service HTTP listener port employed when jboss is started -->
-    <property name="coordinator.port" value="jboss.web.bind.port"/>
-
     <!-- use $JBOSS_HOME to locate directory for deploy and undeploy -->
     <property  environment="env"/>
     <property  name="jboss.home" value="${env.JBOSS_HOME}"/>
@@ -50,7 +40,7 @@
 
 	<property name="host" value="localhost"/>
 	<property name="port" value="8080"/>
-	
+
     <!-- we assume the core XTS modules have already been installedi.e. WSAS, WS-C, WS-T, WSCF, WSTX, recovery -->
 
 	<property name="build.dir" location="build"/>

Modified: labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/proxy/ProxyListenerService.java
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/proxy/ProxyListenerService.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/proxy/ProxyListenerService.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -43,6 +43,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
@@ -85,11 +87,11 @@
         super.init(config);
         
         // Initialise the local host:port/urlstub for the proxy.
-        final String proxyServiceURI = config.getInitParameter("proxyServiceURI") ;
-        if (proxyServiceURI == null)
-        {
-            throw new ServletException("Proxy service URI missing") ;
-        }
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        String bindAddress = wscEnvironmentBean.getBindAddress11();
+        int bindPort = wscEnvironmentBean.getBindPort11();
+        String baseURI = "http://" + bindAddress + ":" +  bindPort + "/sc007";
+        final String proxyServiceURI = baseURI + "/proxy";
         ProxyURIRewriting.setProxyURI(proxyServiceURI) ;
     }
     

Modified: labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/webservices/sc007/server/InitiatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/webservices/sc007/server/InitiatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/webservices/sc007/server/InitiatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -26,6 +26,8 @@
 
 import com.arjuna.webservices11.ServiceRegistry;
 import com.jboss.transaction.wstf.webservices.sc007.InteropConstants;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Initialise the interop initiator service.
@@ -40,7 +42,10 @@
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
         ServletContext context = servletContextEvent.getServletContext();
-        String baseURI = context.getInitParameter("BaseURI");
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        String bindAddress = wscEnvironmentBean.getBindAddress11();
+        int bindPort = wscEnvironmentBean.getBindPort11();
+        String baseURI = "http://" + bindAddress + ":" +  bindPort + "/sc007";
         final String uri = baseURI + "/InitiatorService";
 
         final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;

Modified: labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/webservices/sc007/server/ParticipantInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/webservices/sc007/server/ParticipantInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTFSC07-interop/src/com/jboss/transaction/wstf/webservices/sc007/server/ParticipantInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -26,6 +26,8 @@
 
 import com.arjuna.webservices11.ServiceRegistry;
 import com.jboss.transaction.wstf.webservices.sc007.InteropConstants;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Initialise the interop initiator service.
@@ -40,7 +42,10 @@
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
         ServletContext context = servletContextEvent.getServletContext();
-        String baseURI = context.getInitParameter("BaseURI");
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        String bindAddress = wscEnvironmentBean.getBindAddress11();
+        int bindPort = wscEnvironmentBean.getBindPort11();
+        String baseURI = "http://" + bindAddress + ":" +  bindPort + "/sc007";
         final String uri = baseURI + "/ParticipantService";
 
         final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;

Modified: labs/jbosstm/trunk/XTS/interop/WSTX11-interop/build.xml
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTX11-interop/build.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTX11-interop/build.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -32,16 +32,6 @@
     <!-- the directory in which XTS resides -->
     <property name="xts.home" value="../../xts-install"/>
 
-    <!-- the name of the host where the coordinator resides. this defaults to the
-    special symbol server.bind.address which will be substituted with the actual
-    server bind address employed when jboss is started -->
-    <property name="coordinator.hostname" value="server.bind.address"/>
-
-    <!-- the name of the port the coordinator is listening on.  this defaults to the
-    special symbol jboss.web.bind.port which will be substituted with the actual
-    jboss web service HTTP listener port employed when jboss is started -->
-    <property name="coordinator.port" value="jboss.web.bind.port"/>
-
     <!-- use $JBOSS_HOME to locate directory for deploy and undeploy -->
     <property  environment="env"/>
     <property  name="jboss.home" value="${env.JBOSS_HOME}"/>

Modified: labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/proxy/ProxyListenerService.java
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/proxy/ProxyListenerService.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/proxy/ProxyListenerService.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -44,6 +44,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
@@ -86,11 +88,11 @@
         super.init(config);
         
         // Initialise the local host:port/urlstub for the proxy.
-        final String proxyServiceURI = config.getInitParameter("proxyServiceURI") ;
-        if (proxyServiceURI == null)
-        {
-            throw new ServletException("Proxy service URI missing") ;
-        }
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        String bindAddress = wscEnvironmentBean.getBindAddress11();
+        int bindPort = wscEnvironmentBean.getBindPort11();
+        String baseURI = "http://" + bindAddress + ":" +  bindPort + "/interop11";
+        final String proxyServiceURI = baseURI + "/proxy";
         ProxyURIRewriting.setProxyURI(proxyServiceURI) ;
     }
     

Modified: labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/atinterop/server/ATInitiatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/atinterop/server/ATInitiatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/atinterop/server/ATInitiatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -26,6 +26,8 @@
 
 import com.arjuna.webservices11.ServiceRegistry;
 import com.jboss.transaction.txinterop.webservices.atinterop.ATInteropConstants;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Initialise the interop initiator service.
@@ -40,7 +42,10 @@
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
         ServletContext context = servletContextEvent.getServletContext();
-        String baseURI = context.getInitParameter("BaseURI");
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        String bindAddress = wscEnvironmentBean.getBindAddress11();
+        int bindPort = wscEnvironmentBean.getBindPort11();
+        String baseURI = "http://" + bindAddress + ":" +  bindPort + "/interop11";
         final String uri = baseURI + "/ATInitiatorService";
 
         final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;

Modified: labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/atinterop/server/ATParticipantInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/atinterop/server/ATParticipantInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/atinterop/server/ATParticipantInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -26,6 +26,8 @@
 
 import com.arjuna.webservices11.ServiceRegistry;
 import com.jboss.transaction.txinterop.webservices.atinterop.ATInteropConstants;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Initialise the interop initiator service.
@@ -40,7 +42,10 @@
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
         ServletContext context = servletContextEvent.getServletContext();
-        String baseURI = context.getInitParameter("BaseURI");
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        String bindAddress = wscEnvironmentBean.getBindAddress11();
+        int bindPort = wscEnvironmentBean.getBindPort11();
+        String baseURI = "http://" + bindAddress + ":" +  bindPort + "/interop11";
         final String uri = baseURI + "/ATParticipantService";
 
         final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;

Modified: labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/bainterop/server/BAInitiatorInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/bainterop/server/BAInitiatorInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/bainterop/server/BAInitiatorInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -26,6 +26,8 @@
 
 import com.arjuna.webservices11.ServiceRegistry;
 import com.jboss.transaction.txinterop.webservices.bainterop.BAInteropConstants;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Initialise the interop initiator service.
@@ -40,7 +42,10 @@
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
         ServletContext context = servletContextEvent.getServletContext();
-        String baseURI = context.getInitParameter("BaseURI");
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        String bindAddress = wscEnvironmentBean.getBindAddress11();
+        int bindPort = wscEnvironmentBean.getBindPort11();
+        String baseURI = "http://" + bindAddress + ":" +  bindPort + "/interop11";
         final String uri = baseURI + "/BAInitiatorService";
 
         final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;

Modified: labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/bainterop/server/BAParticipantInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/bainterop/server/BAParticipantInitialisation.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/interop/WSTX11-interop/src/com/jboss/transaction/txinterop/webservices/bainterop/server/BAParticipantInitialisation.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -27,6 +27,8 @@
 import com.arjuna.webservices11.ServiceRegistry;
 import com.jboss.transaction.txinterop.webservices.atinterop.ATInteropConstants;
 import com.jboss.transaction.txinterop.webservices.bainterop.BAInteropConstants;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
+import org.jboss.jbossts.xts.environment.XTSPropertyManager;
 
 /**
  * Initialise the interop initiator service.
@@ -41,7 +43,10 @@
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
         ServletContext context = servletContextEvent.getServletContext();
-        String baseURI = context.getInitParameter("BaseURI");
+        WSCEnvironmentBean wscEnvironmentBean = XTSPropertyManager.getWSCEnvironmentBean();
+        String bindAddress = wscEnvironmentBean.getBindAddress11();
+        int bindPort = wscEnvironmentBean.getBindPort11();
+        String baseURI = "http://" + bindAddress + ":" +  bindPort + "/interop11";
         final String uri = baseURI + "/BAParticipantService";
 
         final ServiceRegistry serviceRegistry = ServiceRegistry.getRegistry() ;

Modified: labs/jbosstm/trunk/XTS/sar/build.xml
===================================================================
--- labs/jbosstm/trunk/XTS/sar/build.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/sar/build.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -152,12 +152,7 @@
         <!-- create config jar containing conf files for 1.0 and 1.1 -->
         <filter token="coordinator.hostname" value="${coordinator.hostname}"/>
         <filter token="coordinator.port" value="${coordinator.port}"/>
-        <copy todir="${build.conf.dir}" filtering="true">
-            <!--
-            <fileset dir="${conf.dir}" includes="*.xml"/>
-            -->
-            <fileset dir="${conf.dir}" includes="xts.properties"/>
-        </copy>
+        <copy tofile="${build.conf.dir}/xts-properties.xml" file="${conf.dir}/xts-properties.xml"/>
         <jar jarfile="${build.dir}/config.jar">
             <fileset dir="${build.conf.dir}"/>
         </jar>
@@ -179,10 +174,12 @@
             <fileset dir="${webapps.dir}" includes="*.war"/>
 
             <!-- include config jar -->
+            <!-- don't need this because we configure from beans.xml
             <fileset dir="${build.dir}" includes="config.jar"/>
+            -->
 
             <!-- include service def (e.g. dependencies) -->
-            <fileset dir="." includes="META-INF/jboss-beans.xml"/>
+            <fileset dir="." includes="META-INF/xts-jboss-beans.xml"/>
 
             <!-- include classloading directives -->
             <fileset dir="." includes="META-INF/jboss-classloading.xml"/>
@@ -198,14 +195,7 @@
     <!-- build XTS service archive supporting 1.1 WS-C/T protocols -->
     <target name="sar-11" if="nobuild10">
         <!-- create config jar containing conf files for 1.1 -->
-        <filter token="coordinator.hostname" value="${coordinator.hostname}"/>
-        <filter token="coordinator.port" value="${coordinator.port}"/>
-        <copy todir="${build.conf.dir}" filtering="true">
-            <!--
-            <fileset dir="${conf.dir}" includes="*11.xml"/>
-            -->
-            <fileset dir="${conf.dir}" includes="xts.properties"/>
-        </copy>
+        <copy tofile="${build.conf.dir}/xts-properties.xml" file="${conf.dir}/xts-properties11.xml"/>
         <jar jarfile="${build.dir}/config.jar">
             <fileset dir="${build.conf.dir}"/>
         </jar>
@@ -224,10 +214,12 @@
             <fileset dir="${webapps.dir}" includes="*11.war"/>
 
             <!-- include config jar -->
+            <!-- don't need this because we configure from beans.xml
             <fileset dir="${build.dir}" includes="config.jar"/>
+            -->
 
             <!-- include service def (e.g. dependencies) -->
-            <fileset dir="." includes="META-INF/jboss-beans.xml"/>
+            <fileset dir="." includes="META-INF/xts11-jboss-beans.xml"/>
 
             <!-- include classloading directives -->
             <fileset dir="." includes="META-INF/jboss-classloading.xml"/>

Modified: labs/jbosstm/trunk/XTS/sar/src/org/jboss/jbossts/XTSService.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/src/org/jboss/jbossts/XTSService.java	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/sar/src/org/jboss/jbossts/XTSService.java	2010-08-12 18:06:50 UTC (rev 34680)
@@ -20,8 +20,12 @@
  */
 package org.jboss.jbossts;
 
-import com.arjuna.mw.wscf.protocols.ProtocolManager;
+import com.arjuna.common.internal.util.propertyservice.BeanPopulator;
+import com.arjuna.common.util.propertyservice.PropertiesFactory;
+import org.jboss.jbossts.xts.environment.WSCFEnvironmentBean;
 import com.arjuna.mw.wscf.protocols.ProtocolRegistry;
+import org.jboss.jbossts.xts.environment.WSTEnvironmentBean;
+import org.jboss.jbossts.xts.environment.WSCEnvironmentBean;
 import org.jboss.logging.Logger;
 import org.jboss.jbossts.xts.recovery.coordinator.at.ATCoordinatorRecoveryModule;
 import org.jboss.jbossts.xts.recovery.coordinator.at.SubordinateATCoordinatorRecoveryModule;
@@ -84,6 +88,7 @@
 
 import javax.management.MBeanServer;
 import java.net.InetAddress;
+import java.util.Properties;
 //import com.arjuna.ats.arjuna.recovery.RecoveryModule;
 
 /**
@@ -140,120 +145,8 @@
     {
         log.info("JBossTS XTS Transaction Service - starting");
 
-        // read unified properties file (replaces wscf.xml and wstx.xml)
-        // Configuration.initialise("/jbossxts.xml");
+        // now it is safe to let the Sequencer class run any initialisation routines it needs
 
-        // install protocol implementation classes declared by config file
-        ProtocolRegistry.sharedManager().initialise();
-
-        // before we can allow the services to start up we need to identify the server
-        // bind address and the web service port so they services register themselves
-        // in the registry using the correct URL
-
-        // the app server's MicroContainer and ServiceBindingManager should work together
-        // to supply us the properties used by the web server. Check that it's done so:
-        // if this blows up, changes are binding.xml or XTS's jboss-beans.xml is broken.
-        if(httpBindInetAddress == null || (httpPort == 0 && httpsPort == 0)) {
-            log.error("insufficient webserver address:port information available - unable to start XTS.");
-            throw new Exception("insufficient webserver address:port information available - unable to start XTS.");
-        }
-
-        // The app servers gives us a InetAddress, but our config system is String based.
-        // so we convert it here, then XTS internally convert it back later. sigh.
-        // likewise for ints to Strings for hte port numbers.
-
-        String bindAddress = httpBindInetAddress.getHostName();
-
-        if (bindAddress == null || "".equals(bindAddress)) {
-            // use the ip address instead of the name
-            bindAddress= httpBindInetAddress.getHostAddress();
-        }
-
-        System.setProperty(com.arjuna.wsc.common.Environment.XTS_BIND_ADDRESS, bindAddress);
-        System.setProperty(com.arjuna.wsc.common.Environment.XTS11_BIND_ADDRESS, bindAddress);
-
-        if(httpPort != 0) {
-            System.setProperty(com.arjuna.wsc.common.Environment.XTS_BIND_PORT, ""+httpPort);
-            System.setProperty(com.arjuna.wsc.common.Environment.XTS11_BIND_PORT, ""+httpPort);
-        }
-
-        if(httpsPort != 0) {
-            System.setProperty(com.arjuna.wsc.common.Environment.XTS_SECURE_BIND_PORT, ""+httpsPort);
-            System.setProperty(com.arjuna.wsc.common.Environment.XTS11_SECURE_BIND_PORT, ""+httpsPort);
-        }
-
-        // see if the coordinatorURL or host/port has been specified on the command line
-        // if so then we need to record that fact here so we override any value
-        // supplied in the  config file
-        // but we don't do this if we have already saved it and we are now reloading XTS
-        // yeeurrch really need to stop using System properties
-
-        if (System.getProperty(com.arjuna.wsc.common.Environment.XTS_COMMAND_LINE_COORDINATOR_URL) == null) {
-            String coordinatorURL = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_URL);
-            String coordinatorScheme = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_SCHEME);
-            String coordinatorHost = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_HOST);
-            String coordinatorPort = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_PORT);
-            String coordinatorPath = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_PATH);
-            if (coordinatorURL != null) {
-                System.setProperty(com.arjuna.wsc.common.Environment.XTS_COMMAND_LINE_COORDINATOR_URL, coordinatorURL);
-            } else if (coordinatorScheme != null || coordinatorHost != null || coordinatorPort != null || coordinatorPath != null) {
-                if (coordinatorScheme == null) {
-                    coordinatorScheme = "http";
-                }
-                if (coordinatorHost == null) {
-                    coordinatorHost = (bindAddress != null ? bindAddress : "127.0.0.1");
-                }
-                if (coordinatorPort == null) {
-                    if ("https".equals(coordinatorScheme)) {
-                        coordinatorPort = (httpsPort != 0 ? ""+httpsPort : "8443");
-                    } else {
-                        coordinatorPort = (httpPort != 0 ? ""+httpPort : "8080");
-                    }
-                }
-                if (coordinatorPath == null) {
-                    coordinatorPath = "ws-c10/soap/ActivationCoordinator";
-                }
-                coordinatorURL = coordinatorScheme + "://" + coordinatorHost + ":" + coordinatorPort + "/" + coordinatorPath;
-                System.setProperty(com.arjuna.wsc.common.Environment.XTS_COMMAND_LINE_COORDINATOR_URL, coordinatorURL);
-                System.setProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR_URL, coordinatorURL);
-            }
-        }
-
-        // ok now do the same for the 1.1 env settings
-
-        if (System.getProperty(com.arjuna.wsc.common.Environment.XTS11_COMMAND_LINE_COORDINATOR_URL) == null) {
-            String coordinatorURL = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_URL);
-            String coordinatorScheme = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_SCHEME);
-            String coordinatorHost = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_HOST);
-            String coordinatorPort = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_PORT);
-            String coordinatorPath = System.getProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_PATH);
-            if (coordinatorURL != null) {
-                System.setProperty(com.arjuna.wsc.common.Environment.XTS11_COMMAND_LINE_COORDINATOR_URL, coordinatorURL);
-            } else if (coordinatorScheme != null || coordinatorHost != null || coordinatorPort != null || coordinatorPath != null) {
-                if (coordinatorScheme == null) {
-                    coordinatorScheme = "http";
-                }
-                if (coordinatorHost == null) {
-                    coordinatorHost = (bindAddress != null ? bindAddress : "127.0.0.1");
-                }
-                if (coordinatorPort == null) {
-                    if ("https".equals(coordinatorScheme)) {
-                        coordinatorPort = (httpsPort != 0 ? ""+httpsPort : "8443");
-                    } else {
-                        coordinatorPort = (httpPort != 0 ? ""+httpPort : "8080");
-                    }
-                }
-                if (coordinatorPath == null) {
-                    coordinatorPath = "ws-c11/ActivationService";
-                }
-                coordinatorURL = coordinatorScheme + "://" + coordinatorHost + ":" + coordinatorPort + "/" + coordinatorPath;
-                System.setProperty(com.arjuna.wsc.common.Environment.XTS11_COMMAND_LINE_COORDINATOR_URL, coordinatorURL);
-                System.setProperty(com.arjuna.mw.wst.common.Environment.COORDINATOR11_URL, coordinatorURL);
-            }
-        }
-
-        // now it is safe to let the Sequencer class run any intiialisation routines it needs
-
         Sequencer.unlatch();
 
         TaskManagerInitialisation(); // com.arjuna.services.framework.admin.TaskManagerInitialisation : initialise the Task Manager
@@ -448,53 +341,4 @@
     }
 
     int httpsPort = 0;
-
-    // transport timing property reads/writes are redirected to the TransportTimer class
-    // however we cap the period settings to a minimum of 5 seconds and the timeout setting
-    // to a minimum of 10 seconds
-
-    private static final long MIN_PERIOD = 5 * 1000;
-    private static final long MIN_TIMEOUT = 10 * 1000;
-
-    public long getInitialTransportPeriod()
-    {
-        return TransportTimer.getTransportPeriod();
-    }
-
-    public void setInitialTransportPeriod(long initialTransportPeriod)
-    {
-        if (initialTransportPeriod > MIN_PERIOD) {
-            TransportTimer.setTransportPeriod(initialTransportPeriod);
-        } else {
-            TransportTimer.setTransportPeriod(MIN_PERIOD);
-        }
-    }
-
-    public long getMaximumTransportPeriod()
-    {
-        return TransportTimer.getMaximumTransportPeriod();
-    }
-
-    public void setMaximumTransportPeriod(long maximumTransportPeriod)
-    {
-        if (maximumTransportPeriod > MIN_PERIOD) {
-            TransportTimer.setMaximumTransportPeriod(maximumTransportPeriod);
-        } else {
-            TransportTimer.setMaximumTransportPeriod(MIN_PERIOD);
-        }
-    }
-
-    public long getTransportTimeout()
-    {
-        return TransportTimer.getTransportTimeout();
-    }
-
-    public void setTransportTimeout(long transportTimeout)
-    {
-        if (transportTimeout > MIN_TIMEOUT) {
-            TransportTimer.setTransportTimeout(transportTimeout);
-        } else {
-            TransportTimer.setTransportTimeout(MIN_TIMEOUT);
-        }
-    }
 }
\ No newline at end of file

Modified: labs/jbosstm/trunk/XTS/sharedbuild.xml
===================================================================
--- labs/jbosstm/trunk/XTS/sharedbuild.xml	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/sharedbuild.xml	2010-08-12 18:06:50 UTC (rev 34680)
@@ -30,6 +30,8 @@
     <property name="ws-t.dir" location="${root.dir}/WS-T"/>
     <property name="wstx.dir" location="${root.dir}/WSTX"/>
     <property name="recovery.dir" location="${root.dir}/recovery"/>
+    <property name="config.dir" location="${root.dir}/config"/>
+    <property name="bridge.dir" location="${root.dir}/bridge"/>
     <property name="sar.dir" location="${root.dir}/sar"/>
     <property name="demo.dir" location="${root.dir}/demo"/>
     <property name="localjunit.dir" location="${root.dir}/localjunit"/>

Deleted: labs/jbosstm/trunk/XTS/xts.properties
===================================================================
--- labs/jbosstm/trunk/XTS/xts.properties	2010-08-12 17:38:59 UTC (rev 34679)
+++ labs/jbosstm/trunk/XTS/xts.properties	2010-08-12 18:06:50 UTC (rev 34680)
@@ -1,145 +0,0 @@
-# JBoss, Home of Professional Open Source
-# Copyright 2010, Red Hat 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.
-#
-# @author JBoss Inc.
-
-
-# XTS property file
-#
-# This property file is used to configure some XTS properties which are
-# not normally editable without also modifying the XTS build and/or
-# source code. It also provides a means of specifying values for some
-# editable configuration properties when using XTS outside of JBoss AS.
-# If you intend to use XTS inside JBoss AS then you should configure
-# these properties in file META-INF/jboss-beans.xml in the deployable
-# XTS sar.
-#
-# bind address/ports - these are used to construct the URLS handed out
-# to provide references to XTS services. These URLs can refer to services
-# deployed in the client, coordinator or participant web service container.
-#
-# in JBoss AS these properties will be injected by the microcontainer
-# using values derived from service JBoss Web as specified in file
-# jboss-beans.xml
-#
-org.jboss.jbossts.xts11.bind.address=localhost
-org.jboss.jbossts.xts11.bind.port=8080
-org.jboss.jbossts.xts11.bind.port.secure=8443
-
-org.jboss.jbossts.xts.bind.address=localhost
-org.jboss.jbossts.xts.bind.port=8080
-org.jboss.jbossts.xts.bind.port.secure=8080
-
-# coordinator url - these are used in the client container only to
-# construct the url used to address the coordinator contacted under a
-# WSAT or WSBA begin call. if these are not set the 1.1 URL defaults to
-# http://<bind.address>:<bind.port>/ws-c11/ActivationService
-# using the properties defined above to fill in the address and port
-# the 1.0 url defaults to
-# http://<bind.address>:<bind.port>/ws-c/soap/ActivationCoordinator
-# if the coordinatorURL property is not set then a URL is constructed
-# using whichever of the componnet values have been set and defaulting
-# the remaining components. the bind properties above are used to
-# default the address and port. the scheme defaults to http. the
-# path values will only need to be reset if using a non-JBoss
-# coordinator or if the XTS coordinator is deployed in a container
-# other than JBoss AS which maps the coordinator service endpoints
-# using a different path.
-
-# in JBoss AS these properties will be injected by the microcontainer
-# using values specified in file jboss-beans.xml
-
-# properties for 1.1 implementation
-# org.jboss.jbossts.xts11.coordinatorURL=http://localhost:8080/ws-c11/ActivationService
-# org.jboss.jbossts.xts11.coordinator.scheme=http
-# org.jboss.jbossts.xts11.coordinator.host=localhost
-# org.jboss.jbossts.xts11.coordinator.port=8080
-# org.jboss.jbossts.xts11.coordinator.path=ws-c11/ActivationService
-
-
-# properties for 1.0 implementation
-# org.jboss.jbossts.xts.coordinatorURL=http://localhost:8080/ws-c10/soap/ActivationCoordinator
-# org.jboss.jbossts.xts.coordinator.scheme=http
-# org.jboss.jbossts.xts.coordinator.host=localhost
-# org.jboss.jbossts.xts.coordinator.port=8080
-# org.jboss.jbossts.xts.coordinator.path=ws-c10/soap/ActivationCoordinator
-
-# user transaction and transaction manager implementation mappings
-# these are used in the client container only to identify the classes
-# used to implement the WSAT and WSBA client APIs. they will not
-# normally be reconfigured since doing so requires modifing the
-# implementation to include new versions of these classes.
-
-# mappings for the 1.1 implementation
-#
-
-org.jboss.jbossts.xts.wsat11.UserTransaction=com.arjuna.mwlabs.wst11.at.remote.UserTransactionImple
-org.jboss.jbossts.xts.wsba11.UserBusinessActivity=com.arjuna.mwlabs.wst11.ba.remote.UserBusinessActivityImple
-org.jboss.jbossts.xts.wsat11.TransactionManager=com.arjuna.mwlabs.wst11.at.remote.TransactionManagerImple
-org.jboss.jbossts.xts.wsba11.BusinessActivityManager=com.arjuna.mwlabs.wst11.ba.remote.BusinessActivityManagerImple
-
-# mappings for the 1.0 implementation
-#
-# these should only be defined if the 1.0 implementation
-# is deployed
-#
-
-org.jboss.jbossts.xts.wsat.UserTransaction=com.arjuna.mwlabs.wst.at.remote.UserTransactionImple
-org.jboss.jbossts.xts.wsba.UserBusinessActivity=com.arjuna.mwlabs.wst.ba.remote.UserBusinessActivityImple
-org.jboss.jbossts.xts.wsat.TransactionManager=com.arjuna.mwlabs.wst.at.remote.TransactionManagerImple
-org.jboss.jbossts.xts.wsba.BusinessActivityManager=com.arjuna.mwlabs.wst.ba.remote.BusinessActivityManagerImple
-
-# protocol mappings - these will not normally be reconfigured as they
-# are used to establish mappings from coordination service types to
-# their implementation classes and from coordination types to
-# coordination context factories.
-#
-# coordination service implementation classes must be tagged with an
-# HLSProvider annotation identifying the implemented service type.
-# the annotation must also declare the coordination type of the
-# coordination protocol supported by the service.
-#
-# context factory classes must be tagged with a ContextProvider
-# annotation identifying the coordination type and implementation
-# class of the contexts created by the factory. the annotation must
-# also declare the service type for which the context is appropriate.
-#
-
-# protocol definitions for 1.1 implementation
-#
-org.jboss.jbossts.xts.protocolImplementation1=com.arjuna.mwlabs.wscf11.model.twophase.arjunacore.TwoPhaseHLSImple
-org.jboss.jbossts.xts.protocolImplementation2=com.arjuna.mwlabs.wscf11.model.sagas.arjunacore.SagasHLSImple
-
-# these identify the context factory implementation classes
-#
-org.jboss.jbossts.xts.protocolImplementation3=com.arjuna.mwlabs.wst11.at.ContextFactoryImple
-org.jboss.jbossts.xts.protocolImplementation4=com.arjuna.mwlabs.wst11.ba.ContextFactoryImple
-
-# protocol definitions for 1.0 implementation
-#
-# these should only be defined if the 1.0 implementation
-# is deployed
-#
-# these identify the HLS implementation classes
-#
-org.jboss.jbossts.xts.protocolImplementation5=com.arjuna.mwlabs.wscf.model.twophase.arjunacore.TwoPhaseHLSImple
-org.jboss.jbossts.xts.protocolImplementation6=com.arjuna.mwlabs.wscf.model.sagas.arjunacore.SagasHLSImple
-
-# these identify the context factory implementation classes
-#
-org.jboss.jbossts.xts.protocolImplementation7=com.arjuna.mwlabs.wst.at.ContextFactoryImple
-org.jboss.jbossts.xts.protocolImplementation8=com.arjuna.mwlabs.wst.ba.ContextFactoryImple
-



More information about the jboss-svn-commits mailing list