[jboss-svn-commits] JBL Code SVN: r29400 - in labs/jbossesb/workspace/dbevenius/saml_support: product and 76 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Sep 18 03:13:15 EDT 2009


Author: beve
Date: 2009-09-18 03:13:08 -0400 (Fri, 18 Sep 2009)
New Revision: 29400

Added:
   labs/jbossesb/workspace/dbevenius/saml_support/product/etc/schemas/xml/jbossesb-1.2.0.xsd
   labs/jbossesb/workspace/dbevenius/saml_support/product/etc/schemas/xml/jbossesb-1.2.0.xsdconfig
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpHeader.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpRequest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpResponse.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpServletSecUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/DeploymentResourceLocator.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/ModelUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/Model120SchemaParser.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/util/DeploymentArchive.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/util/FreeMarkerTemplate.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGeneratorUnitTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/util/DeploymentArchiveUnitTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/build.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/deployment.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/http-exception-mappings.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jboss-esb.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jbossesb-properties.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jndi.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/juddi.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/lib/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/log4j.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/readme.txt
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/soap-login.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/JobUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/util/TestDeploymentArchive.java
   labs/jbossesb/workspace/dbevenius/saml_support/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/HttpGatewayTest.java
Removed:
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpRequestWrapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/build.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/deployment.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/http-exception-mappings.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jboss-esb.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jbossesb-properties.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jndi.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/juddi.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/lib/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/log4j.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/readme.txt
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/soap-login.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteJobsCommand.java
   labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/util/DeploymentArchive.java
Modified:
   labs/jbossesb/workspace/dbevenius/saml_support/
   labs/jbossesb/workspace/dbevenius/saml_support/product/.classpath
   labs/jbossesb/workspace/dbevenius/saml_support/product/build-distr.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/docs/ProgrammersGuide.odt
   labs/jbossesb/workspace/dbevenius/saml_support/product/install/conf/jbossesb-properties.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/install/esb-deployers-jboss-beans.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/ivy.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/build.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIService.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/BaseWebService.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/OneWayBaseWebService.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/RequestResponseBaseWebService.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpRouter.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/LifecycleUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers110/MapperUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/ModelParser.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/deployers/mc/EsbWebServiceDeployer.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpDispatchServlet.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpGatewayListener.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpServerDelegate.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/message/ResponseStatus.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/services/security/PublicCryptoUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_110_esbaware.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_110_gateways.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/deployers/mc/EsbWebServiceDeployerUnitTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/dynamic_router/build.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/fun_cbr/SampleOrder.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/jboss-esb.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/readme.txt
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/src/org/jboss/soa/esb/samples/quickstart/publishAsWebservice/test/SOAPTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/jboss-esb.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/readme.txt
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/src/org/jboss/soa/esb/samples/quickstart/publishAsWebservice/test/SOAPTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/spring_jpetstore/hsqldb/jpetstore.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/spring_jpetstore/hsqldb/jpetstore.script
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_consumer_wise/wise-core.properties
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/build.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/jboss-esb.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/readme.txt
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_basic/test/SendWSMessage.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/Proxy_Routed_Rules.drl
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/build.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/deployment.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/jboss-esb.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/readme.txt
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_routed/test/SendWSMessage.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/build.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/readme.txt
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/build.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/jboss-esb.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/readme.txt
   labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_versioning/test/SendWSMessage.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/lib/ext/jbpm-identity.jar
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/lib/ext/jbpm-jpdl.jar
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command/AbstractMessageListener.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteJobCommand.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteTimerCommand.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/hibernate.cfg.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-console.war
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-sql/jbpm.jpdl.db2.sql
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-sql/jbpm.jpdl.sybase.sql
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/test/resources/hibernate.cfg.xml
   labs/jbossesb/workspace/dbevenius/saml_support/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java
   labs/jbossesb/workspace/dbevenius/saml_support/product/tools/console/lib/servlet-api.jar
   labs/jbossesb/workspace/dbevenius/saml_support/product/tools/console/management/lib/servlet-api.jar
   labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/TestUtils.java
   labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/epr/LogicalEPRUnitTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/jms/JmsGatewayListenerUnitTest.java
   labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/server/ebws/EBWSUtil.java
   labs/jbossesb/workspace/dbevenius/saml_support/qa/quickstarts/build.xml
Log:
Merged revisions 29147,29188,29220,29260-29261,29277,29302,29310,29315,29328,29330-29331,29333-29334,29337 via svnmerge from 
https://svn.jboss.org/repos/labs/labs/jbossesb/trunk

.......
  r29147 | beve | 2009-09-02 10:59:35 +0200 (Wed, 02 Sep 2009) | 2 lines
  
  Work for https://jira.jboss.org/jira/browse/JBESB-2769 "Upgrade groovy to 1.5.4"
.......
  r29188 | tfennelly | 2009-09-04 18:32:02 +0200 (Fri, 04 Sep 2009) | 12 lines
  
  https://jira.jboss.org/jira/browse/JBESB-2757
  Implement a common codebase on which war based sub deployments (gateways etc) can be based
  https://jira.jboss.org/jira/browse/JBESB-2618
  Implement new HttpGateway based on war sub deployments
  https://jira.jboss.org/jira/browse/JBESB-2756
  Add a quickstart for http-provider
  https://jira.jboss.org/jira/browse/JBESB-2625
  Add v1.2 XSD
  https://jira.jboss.org/jira/browse/JBESB-2473
  http-listener: Add security related intergration code e.g. mapping auth info onto message etc
.......
  r29220 | tfennelly | 2009-09-07 12:02:11 +0200 (Mon, 07 Sep 2009) | 3 lines
  
  https://jira.jboss.org/jira/browse/JBESB-2757
  Fixed jdk1.6 issue
.......
  r29260 | dward | 2009-09-08 22:24:08 +0200 (Tue, 08 Sep 2009) | 2 lines
  
  added the 1.2.0 config model to the eclipse build path for JBESB-2625
.......
  r29261 | dward | 2009-09-08 22:31:45 +0200 (Tue, 08 Sep 2009) | 2 lines
  
  Minor cleanup after webservice_proxy_* change to use new http-gateway: JBESB-2756
.......
  r29277 | dward | 2009-09-09 16:48:32 +0200 (Wed, 09 Sep 2009) | 2 lines
  
  Fix for JBESB-2814
.......
  r29302 | dward | 2009-09-10 18:53:12 +0200 (Thu, 10 Sep 2009) | 2 lines
  
  Deleted per: JBESB-2825
.......
  r29310 | tfennelly | 2009-09-11 13:43:24 +0200 (Fri, 11 Sep 2009) | 2 lines
  
  https://jira.jboss.org/jira/browse/JBESB-2827
  Add support for new HttpGateway on AS5 deployer code
.......
  r29315 | dward | 2009-09-11 21:59:09 +0200 (Fri, 11 Sep 2009) | 2 lines
  
  Fix for JBESB-2829
.......
  r29328 | kevin.conner at jboss.com | 2009-09-14 12:34:21 +0200 (Mon, 14 Sep 2009) | 1 line
  
  Reuse soap message factory: JBESB-2809
.......
  r29330 | kevin.conner at jboss.com | 2009-09-14 13:55:37 +0200 (Mon, 14 Sep 2009) | 1 line
  
  Handle multiple instances of WS endpoint: JBESB-2808
.......
  r29331 | kevin.conner at jboss.com | 2009-09-14 13:57:41 +0200 (Mon, 14 Sep 2009) | 1 line
  
  Removed BYPASS property: JBESB-2834
.......
  r29333 | kevin.conner at jboss.com | 2009-09-14 15:27:50 +0200 (Mon, 14 Sep 2009) | 1 line
  
  Fix handling of deleted jobs/timers: JBESB-2820
.......
  r29334 | kevin.conner at jboss.com | 2009-09-14 15:34:05 +0200 (Mon, 14 Sep 2009) | 1 line
  
  Remove system properties from jUDDI service: JBESB-2826
.......
  r29337 | kevin.conner at jboss.com | 2009-09-14 17:07:20 +0200 (Mon, 14 Sep 2009) | 1 line
  
  Update jBPM support to 3.2.7 CR2: JBESB-2823
.......



Property changes on: labs/jbossesb/workspace/dbevenius/saml_support
___________________________________________________________________
Name: svnmerge-integrated
   - /labs/jbossesb/trunk:1-29131
   + /labs/jbossesb/trunk:1-29393

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/.classpath
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/.classpath	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/.classpath	2009-09-18 07:13:08 UTC (rev 29400)
@@ -27,6 +27,7 @@
 	<classpathentry excluding="**/.svn/" kind="src" path="services/jbossesb/src/test/java"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="lib" path="etc/test/resources/log4j/dev"/>
+	<classpathentry kind="lib" path="build/jbossesb/lib/jbossesb-config-model-1.2.0.jar"/>
 	<classpathentry kind="lib" path="build/jbossesb/lib/jbossesb-config-model-1.1.0.jar"/>
 	<classpathentry kind="lib" path="build/jbossesb/lib/jbossesb-config-model-1.0.1.jar"/>
 	<classpathentry kind="lib" path="build/lib/activation-1.1.jar"/>
@@ -42,7 +43,8 @@
 	<classpathentry kind="lib" path="build/lib/commons-lang-2.1.jar"/>
 	<classpathentry kind="lib" path="build/lib/commons-logging-1.1.jar"/>
 	<classpathentry kind="lib" path="build/lib/dom4j-1.6.1.jar"/>
-	<classpathentry kind="lib" path="build/lib/groovy-all-1.5.0.jar"/>
+	<classpathentry kind="lib" path="build/lib/freemarker-2.3.11.jar"/>
+	<classpathentry kind="lib" path="build/lib/groovy-all-1.5.4.jar"/>
 	<classpathentry kind="lib" path="build/lib/h2-1.0.68.jar"/>
 	<classpathentry kind="lib" path="build/lib/hibernate3-3.2.4.SP1.jar"/>
 	<classpathentry kind="lib" path="build/lib/javassist-3.6.0.GA.jar"/>
@@ -87,7 +89,6 @@
 	<classpathentry kind="lib" path="build/lib/mvel2-2.0.12.jar"/>
 	<classpathentry kind="lib" path="build/lib/ognl-2.6.9.jar"/>
 	<classpathentry kind="lib" path="build/lib/quartz-1.5.2.jar"/>
-	<classpathentry kind="lib" path="build/lib/servlet-api-2.4.jar"/>
 	<classpathentry kind="lib" path="build/lib/scout-1.0.jar"/>
 	<classpathentry kind="lib" path="build/lib/slf4j-api-1.4.3.jar"/>
 	<classpathentry kind="lib" path="build/lib/slf4j-log4j12-1.4.3.jar"/>
@@ -109,6 +110,7 @@
 	<classpathentry kind="lib" path="lib/ext/jbossweb-service.jar"/>
 	<classpathentry kind="lib" path="lib/ext/jbossws-spi.jar"/>
 	<classpathentry kind="lib" path="lib/ext/jms/activemq/backport-util-concurrent-2.1.jar"/>
+	<classpathentry kind="lib" path="lib/ext/servlet-api.jar"/>
 	<classpathentry kind="lib" path="lib/ext/standalone/c3p0-0.9.1-pre9.jar"/>
 	<classpathentry kind="lib" path="lib/ext/wsdl4j-1.6.2.jar"/>
 	<classpathentry kind="lib" path="samples/quickstarts/bpm_orchestration4/lib/swing-layout-1.0.jar"/>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/build-distr.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/build-distr.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/build-distr.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -146,9 +146,11 @@
             <fileset dir="${lib.ext.dir}" includes="commons-ssl-*.jar"/>
             <!-- groovy -->
             <fileset dir="${lib.dir}" includes="groovy-*.jar"/>
-			<!-- Mina -->
-            <fileset dir="${lib.dir}" includes="mina-*.jar"/>
-            <fileset dir="${lib.dir}" includes="slf4j-*.jar"/>
+			<!-- Mina -->
+            <fileset dir="${lib.dir}" includes="mina-*.jar"/>
+            <fileset dir="${lib.dir}" includes="slf4j-*.jar"/>
+
+            <fileset dir="${lib.dir}" includes="freemarker-*.jar"/>
             <fileset dir="${lib.dir}" includes="xmlunit-*.jar"/>
             <!-- smooks -->
             <fileset dir="${lib.dir}" includes="milyn-*.jar,freemarker-*.jar,jackson-lgpl-*.jar,ognl-*.jar,stringtemplate-*.jar,xpp3_min-*.jar"/>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/docs/ProgrammersGuide.odt
===================================================================
(Binary files differ)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/etc/schemas/xml/jbossesb-1.2.0.xsd (from rev 29337, labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/etc/schemas/xml/jbossesb-1.2.0.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/etc/schemas/xml/jbossesb-1.2.0.xsd	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,1968 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Generated by Turbo XML 2.4.1.100. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
+<xsd:schema
+	xmlns:jesb="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	elementFormDefault="qualified"
+	targetNamespace="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		Document root + some basic types.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+
+	<xsd:element name="jbossesb">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				The jbossesb configuration for a single instance.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="1" minOccurs="0"
+					ref="jesb:providers" />
+				<xsd:element maxOccurs="1" minOccurs="0"
+					ref="jesb:services" />
+			</xsd:sequence>
+			<xsd:attribute default="180" name="parameterReloadSecs"
+				use="optional" />
+		</xsd:complexType>
+	</xsd:element>
+
+	<xsd:element name="property">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A simple name-value pair.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="xsd:anyType">
+					<xsd:attribute name="name" type="xsd:string"
+						use="required" />
+					<xsd:attribute name="value" type="xsd:string" />
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		Provider and Bus base types.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+
+	<xsd:element name="providers">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A container for the providers referenced in the jbossesb
+				config file
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="unbounded" minOccurs="0"
+					ref="jesb:provider" />
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:complexType abstract="true" name="provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				Abstract provider.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element maxOccurs="unbounded" minOccurs="0"
+				ref="jesb:property" />
+		</xsd:sequence>
+		<xsd:attribute name="name" type="xsd:string" use="required" />
+	</xsd:complexType>
+	<xsd:element abstract="true" name="provider" type="jesb:provider" />
+
+	<xsd:complexType name="bus-provider">
+		<xsd:complexContent>
+			<xsd:extension base="jesb:provider">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						A provider of a bus. So for instance you can
+						have a jms-provider (JBossMQ) or an
+						ftp-provider.
+					</xsd:documentation>
+				</xsd:annotation>
+				<xsd:sequence>
+					<xsd:element maxOccurs="unbounded" minOccurs="1"
+						ref="jesb:bus" />
+				</xsd:sequence>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+	<xsd:element name="bus-provider"
+		substitutionGroup="jesb:provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				Generic Bus Provider.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus-provider" />
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<xsd:complexType name="bus">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A bus (also called "channel" by others) is a means by
+				which Services communicate with each other (JMS, FTP,
+				HTTP, etc).
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element maxOccurs="unbounded" minOccurs="0"
+				ref="jesb:property" />
+		</xsd:sequence>
+		<xsd:attribute name="busid" type="xsd:string" use="required">
+			<xsd:annotation>
+				<xsd:documentation xml:lang="en">
+					An id such that this bus can be referenced by
+					Service listn.
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+	</xsd:complexType>
+	<xsd:element name="bus" type="jesb:bus" />
+
+	<xsd:element name="schedule-provider"
+		substitutionGroup="jesb:provider">
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:provider">
+					<xsd:sequence>
+						<xsd:element maxOccurs="unbounded" minOccurs="1"
+							ref="jesb:schedule" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<xsd:complexType abstract="true" name="schedule">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				Schedule Configuration.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element maxOccurs="unbounded" minOccurs="0"
+				ref="jesb:property" />
+		</xsd:sequence>
+		<xsd:attribute name="scheduleid" type="xsd:string"
+			use="required">
+			<xsd:annotation>
+				<xsd:documentation xml:lang="en">
+					An id such that this schedule can be referenced by
+					Service listner.
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+		<xsd:attribute name="startDate" type="xsd:dateTime"
+			use="optional">
+			<xsd:annotation>
+				<xsd:documentation xml:lang="en">
+					Schedule start time and date.
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+		<xsd:attribute name="endDate" type="xsd:dateTime"
+			use="optional">
+			<xsd:annotation>
+				<xsd:documentation xml:lang="en">
+					Schedule end time and date.
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+	</xsd:complexType>
+	<xsd:element abstract="true" name="schedule" type="jesb:schedule" />
+
+	<xsd:element name="simple-schedule"
+		substitutionGroup="jesb:schedule">
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:schedule">
+                    <xsd:attribute name="frequency" use="optional" type="xsd:long" default="10">
+                        <xsd:annotation>
+                            <xsd:documentation xml:lang="en">Schedule frequency.</xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:attribute>
+                    <xsd:attribute name="frequencyUnits" use="optional" type="jesb:frequency-unit" default="seconds">
+                        <xsd:annotation>
+                            <xsd:documentation xml:lang="en">Schedule frequency time units.</xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:attribute>
+					<xsd:attribute default="-1" name="execCount" type="xsd:int" use="optional">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								Schedule execution count. -1 to execute indefinitely.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+    <xsd:simpleType name="frequency-unit">
+        <xsd:restriction base="xsd:NMTOKEN">
+            <xsd:enumeration value="seconds"/>
+            <xsd:enumeration value="milliseconds"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+    
+    <xsd:element name="cron-schedule"
+		substitutionGroup="jesb:schedule">
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:schedule">
+					<xsd:attribute name="cronExpression"
+						type="xsd:string" use="optional">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								Schedule CRON expression.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		Service and Action types.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+
+	<xsd:element name="services">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A container for services.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="unbounded" minOccurs="1"
+					ref="jesb:service" />
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="service">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A service has listener or gateways and a list of
+				actions.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="1" minOccurs="0" ref="jesb:security" />
+                <xsd:element maxOccurs="unbounded" minOccurs="0"
+                    ref="jesb:property" />
+				<xsd:element maxOccurs="1" minOccurs="0"
+					ref="jesb:listeners" />
+				<xsd:element maxOccurs="1" minOccurs="0"
+					ref="jesb:actions" />
+			</xsd:sequence>
+			<xsd:attribute name="category"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The service category which will be used to store
+						a reference to this service in the registry.
+					</xsd:documentation>
+				</xsd:annotation>
+                                <xsd:simpleType>
+                                        <xsd:restriction base="xsd:string">
+                                                <xsd:maxLength value="255"/>
+                                        </xsd:restriction>
+				</xsd:simpleType>
+			</xsd:attribute>
+			<xsd:attribute name="name"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The service name which will be used to store a
+						reference to this service in the registry.
+					</xsd:documentation>
+				</xsd:annotation>
+                                <xsd:simpleType>
+                                        <xsd:restriction base="xsd:string">
+                                                <xsd:maxLength value="255"/>
+                                        </xsd:restriction>
+                                </xsd:simpleType>
+			</xsd:attribute>
+			<xsd:attribute name="description"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The service description which stored with this
+						service in the registry, so that the purpose of
+						this service can be understood by a human.
+					</xsd:documentation>
+				</xsd:annotation>
+                                <xsd:simpleType>
+                                        <xsd:restriction base="xsd:string">
+                                                <xsd:maxLength value="255"/>
+                                        </xsd:restriction>
+                                </xsd:simpleType>
+			</xsd:attribute>
+            <xsd:attribute name="invmScope" type="jesb:invmScope" use="optional">
+                <xsd:annotation>
+                    <xsd:documentation xml:lang="en">
+                        All services are locally invokable over an "in VM" transport.  Invokability
+                        can be scoped using this attribute.  An "invmScope" value of "NONE" means that
+                        the Service should not be locally invokable over the "in VM" transport.
+                        More fine grained scoping will be added in the future.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:attribute>
+            <xsd:attribute name="invmTransacted" type="xsd:boolean">
+                <xsd:annotation>
+                    <xsd:documentation xml:lang="en">
+                        Should the InVM listener execute in a transacted environment?
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:attribute>
+		</xsd:complexType>
+	</xsd:element>
+
+    <xsd:simpleType name="invmScope">
+        <xsd:restriction base="xsd:NMTOKEN">
+            <!-- Not invokable over InVM -->
+            <xsd:enumeration value="NONE" />
+
+            <!-- Invokable over InVM only from within the same/local deployment. -->
+            <!-- xsd:enumeration value="LOCAL" / -->
+
+            <!-- (DEFAULT) Invokable over InVM from within the same classloader scope. -->
+            <xsd:enumeration value="GLOBAL" />
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <xsd:simpleType name="mepType">
+		<xsd:restriction base="xsd:string">
+			<xsd:enumeration value="RequestResponse" />
+			<xsd:enumeration value="OneWay" />
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<xsd:element name="actions">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A container for actions belonging to this service.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="unbounded" minOccurs="1"
+					ref="jesb:action" />
+			</xsd:sequence>
+			<xsd:attribute name="mep" type="jesb:mepType" />
+                        <xsd:attribute name="inXsd" type="xsd:string" />
+                        <xsd:attribute name="outXsd" type="xsd:string" />
+                        <xsd:attribute name="requestLocation" type="xsd:string"/>
+                        <xsd:attribute name="responseLocation" type="xsd:string"/>
+                        <xsd:attribute name="faultXsd" type="xsd:string" />
+                        <xsd:attribute name="webservice" type="xsd:boolean" default="true"/>
+                        <xsd:attribute name="validate" type="xsd:boolean" default="false"/>
+                        <xsd:attribute name="addressing" type="xsd:boolean" default="false"/>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="action">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				An action which will act on the message when it is
+				received by the service. Actions can be chained. Hence
+				you can specify a list of actions. Action are
+				'pluggable' and can be custom code, however JBossESB
+				comes with a list of predefined actions.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="unbounded" minOccurs="0"
+					ref="jesb:property" />
+			</xsd:sequence>
+			<xsd:attribute name="name" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The logical name of the action.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="class" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The full classname of the java class in which
+						this action is defined.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="process" type="xsd:string">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The name of the method on the action that needs
+						to be called when the message is received.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+		</xsd:complexType>
+	</xsd:element>
+
+	<xsd:element name="security">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="unbounded" minOccurs="0" ref="jesb:property" />
+			</xsd:sequence>
+			<xsd:attribute name="runAs" type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+					 Is used to specify that a specific security role given by the role-name value should be used 
+					 as the security identity for this service.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="rolesAllowed" type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+					Specifies one or more logical roles that are allowed to acccess the service.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="moduleName" type="xsd:string" use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="useCallerIdentity" type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+					Is used to indicate that the current caller's identity should be propagated as the security identity
+					this service.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="callbackHandler" type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+					CallbackHandler implementation class. This will override the global callbackhandler 
+					which can be specified in jbossesb-properties.xml
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+		</xsd:complexType>
+	</xsd:element>
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		Listener base types.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+
+	<xsd:element name="listeners">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A container for all listener for a service.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="unbounded" minOccurs="1"
+					ref="jesb:listener" />
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:complexType name="listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A listener is a listener or a gateway. The listener
+				defines to which bus the service is listening. The
+				service can simultaneniously listen to multiple buses.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element maxOccurs="unbounded" minOccurs="0"
+				ref="jesb:property" />
+		</xsd:sequence>
+		<xsd:attribute name="name" type="xsd:string" use="required">
+			<xsd:annotation>
+				<xsd:documentation xml:lang="en">
+					The logical name of the listener.
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+		<xsd:attribute default="$not-defined$" name="busidref"
+			type="xsd:string" use="optional">
+			<xsd:annotation>
+				<xsd:documentation xml:lang="en">
+					A reference to an existing bus, as defined in the
+					'buses' section of this jbossesb config.
+				</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+	</xsd:complexType>
+
+    <xsd:complexType abstract="true" name="gateway-only-listener">
+        <xsd:annotation>
+            <xsd:documentation xml:lang="en">
+                Listener type that can only act as a message-unaware listener (gateway) .
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexContent>
+            <xsd:extension base="jesb:listener" />
+        </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:complexType abstract="true" name="dual-listener">
+        <xsd:annotation>
+            <xsd:documentation xml:lang="en">
+                Listener type that can act as both a message-aware and message-unaware listener (gateway).
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexContent>
+            <xsd:extension base="jesb:listener">
+                <xsd:attribute default="1" name="maxThreads" type="xsd:int" use="optional">
+                    <xsd:annotation>
+                        <xsd:documentation xml:lang="en">
+                            The number of threads which will be started for this
+                            listener.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:attribute>
+                <xsd:attribute default="false" name="is-gateway" type="xsd:boolean" use="optional">
+                    <xsd:annotation>
+                        <xsd:documentation xml:lang="en">
+                            true if the listener is a gateway. A gateway is an
+                            ESB-Unware listener, while a listener is ESB-aware
+                            and as such expects jbossesb formatted messages.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:attribute>
+            </xsd:extension>
+        </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:element name="listener" type="jesb:listener" />
+
+	<xsd:complexType abstract="true"
+		name="abstract-scheduled-listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				Abstract scheduled listener.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="jesb:dual-listener">
+				<xsd:attribute default="-1"
+					name="poll-frequency-seconds" type="xsd:int" use="optional">
+<!-- Purposely defaults to -1 -->
+					<xsd:annotation>
+						<xsd:documentation xml:lang="en">
+							DEPRECATED (use "schedule-frequency" or
+							"scheduleidref"): The frequency with which
+							this listener is scheduled (in seconds).
+							Defaults to 10 seconds.
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute default="-1" name="schedule-frequency"
+					type="xsd:int" use="optional">
+<!-- Purposely defaults to -1 -->
+					<xsd:annotation>
+						<xsd:documentation xml:lang="en">
+							The frequency with which this listener is
+							scheduled (in seconds). Defaults to 10
+							seconds.
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="scheduleidref" type="xsd:string"
+					use="optional">
+					<xsd:annotation>
+						<xsd:documentation xml:lang="en">
+							The id reference for the schedule that's
+							driving this scheduled listener.
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:element name="scheduled-listener"
+		substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				Scheduled listener.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension
+					base="jesb:abstract-scheduled-listener">
+					<xsd:attribute name="event-processor"
+						type="xsd:string" use="required">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								Message Composer class name.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="transacted"
+						type="xsd:boolean">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								Should the schedule execute in a
+								transacted environment?
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<!-- JCA Types -->
+	<xsd:element name="activation-config">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				Activation configuration for jca bus or listener.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element maxOccurs="unbounded" minOccurs="1"
+					ref="jesb:property" />
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="jca-gateway" substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific gateway using JCA inflow.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:gateway-only-listener">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:activation-config" />
+					</xsd:sequence>
+					<xsd:attribute name="adapter" type="xsd:string"
+						use="required" />
+					<xsd:attribute name="endpointClass"
+						type="xsd:string" use="required" />
+					<xsd:attribute name="messagingType"
+						type="xsd:string" use="optional" />
+					<xsd:attribute name="jcaBridge" type="xsd:string"
+						use="optional" />
+					<xsd:attribute name="transacted" type="xsd:boolean"
+						use="optional" />
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		JMS Type Implementations.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+
+	<xsd:element name="jms-message-filter">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A JMS filter can add information to a Queue, or Topic.
+				For example you can defined a message-selector. However,
+				you can also push the queue name and type into this
+				filter given you did not already specify them in the
+				jms-bus.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:attribute name="dest-name" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						Name of the Queue of Topic.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="dest-type" use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						A Queue delivers a message once, a topic
+						broadcasts a message to all registered
+						listeners.
+					</xsd:documentation>
+				</xsd:annotation>
+				<xsd:simpleType>
+					<xsd:restriction base="xsd:NMTOKEN">
+						<xsd:enumeration value="QUEUE" />
+						<xsd:enumeration value="TOPIC" />
+					</xsd:restriction>
+				</xsd:simpleType>
+			</xsd:attribute>
+			<xsd:attribute name="selector" type="xsd:string">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						A message-selector allows multiple listeners to
+						register with the same queue/topic, but they
+						will filter on this message-selector.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="persistent"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If false, JMS messages will be sent
+						non-persistent. Default is to send messages with
+						DeliveryMode.PERSISTENT.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="AUTO_ACKNOWLEDGE"
+				name="acknowledge-mode" type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						JMS Session acknowledge mode. Can be on of
+						AUTO_ACKNOWLEDGE (default), CLIENT_ACKNOWLEDGE,
+						or DUPS_OK_ACKNOWLEDGE.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute 
+				name="jms-security-principal" type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						JMS destination username. Will be used when creating a connection
+						to the destination.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute 
+				name="jms-security-credential" type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						JMS destination password. Will be used when creating a connection
+						to the destination. Will be ignored if username is not specified.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="false" name="transacted"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, JMS sessions will be transaction aware.
+						Default is false.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="jms-bus" substitutionGroup="jesb:bus">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A JMS-Bus is a specific instance of a bus using the JMS
+				protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:jms-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:complexType name="jms-provider-type">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific instance of a provider, providing JMS.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="jesb:bus-provider">
+				<xsd:attribute name="connection-factory"
+					type="xsd:string" use="required">
+					<xsd:annotation>
+						<xsd:documentation xml:lang="en">
+							The connection-factory used to lookup
+							queues/topics in a naming directory (JNDI)
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="jndi-context-factory"
+					type="xsd:string">
+					<xsd:annotation>
+						<xsd:documentation xml:lang="en">
+							The context factory class the JBossESB will
+							use to do naming lookups.
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="jndi-pkg-prefix"
+					type="xsd:string">
+					<xsd:annotation>
+						<xsd:documentation xml:lang="en">
+							The pkg-prefix which will be used to do
+							naming lookups. It is left empty by default.
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+				<xsd:attribute name="jndi-URL" type="xsd:anyURI">
+					<xsd:annotation>
+						<xsd:documentation xml:lang="en">
+							The URL used to do naming lookups.
+						</xsd:documentation>
+					</xsd:annotation>
+				</xsd:attribute>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+	<xsd:element name="jms-provider" substitutionGroup="jesb:provider"
+		type="jesb:jms-provider-type" />
+
+	<xsd:element name="jms-jca-provider"
+		substitutionGroup="jesb:provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific instance of a provider, providing JMS through
+				JCA inflow.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:jms-provider-type">
+                    <xsd:sequence>
+                        <xsd:element maxOccurs="1" minOccurs="0"
+                        ref="jesb:activation-config" />
+                    </xsd:sequence>
+					<xsd:attribute name="adapter" type="xsd:string">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The artifact containing the resource
+								adapter.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="endpointClass"
+						type="xsd:string">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The class name of the JCA endpoint.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="messagingType"
+						type="xsd:string">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The class name of the messaging specific
+								interface.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="jcaBridge" type="xsd:string">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The class name of the JCA Bridge.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="transacted"
+						type="xsd:boolean">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The transacted flag.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="providerAdapterJNDI" type="xsd:string">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The JNDI location of an alternate provider adapter
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="jms-listener"
+		substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific listener using the jms protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:dual-listener">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:jms-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		FS Type Implementations.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+	<xsd:element name="fs-message-filter">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A FS filter.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:attribute name="directory" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file share that is monitored for incoming
+						new files.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="input-suffix" type="xsd:string"
+				use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file suffix used to filter files targeted
+						for comsumption by the ESB (note: add the dot,
+						so something like '.esbIn').
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default=".esbInProcess" name="work-suffix"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file suffix used while the file is being
+						process, so that another thread or process won't
+						pick it up too.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="post-delete"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, the file will be deleted after it is
+						processed. Note that in that case post-directory
+						and post-suffix have no effect.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="post-rename"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, the file will be renamed after it is
+						processed. Note that in that case post-directory
+						and post-suffix have no effect.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="processed" name="post-directory"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file share to which the file will be moved
+						after it is processed by the ESB
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default=".esbDone" name="post-suffix"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file suffix which will be added to the file
+						name after it is processed.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="error-delete"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, the file will be deleted if an error
+						occurs during processing. Note that in that case
+						error-directory and error-suffix have no effect.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="processed" name="error-directory"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file share to which the file will be moved
+						after when an error occurs during processing.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default=".esbERROR" name="error-suffix"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file suffix which will be added to the file
+						name after an error occurs during processing.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="fs-bus" substitutionGroup="jesb:bus">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A Fs-Bus is a specific instance of a bus using the File
+				protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:fs-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="fs-provider" substitutionGroup="jesb:provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific instance of a provider, providing a file
+				system (local fileshare or NAS).
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus-provider" />
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="fs-listener" substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific listener using the file protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension
+					base="jesb:abstract-scheduled-listener">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:fs-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		FTP Type Implementations.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+	<xsd:element name="ftp-message-filter">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A FTP filter.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:attribute name="directory" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The ftp directory that is monitored for incoming
+						new files.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="username" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The username used to access the ftp server
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="password" type="xsd:string">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The password used to access the ftp server.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="input-suffix" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file suffix used to filter files targeted
+						for comsumption by the ESB (note: add the dot,
+						so something like '.esbIn').
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default=".esbInProcess" name="work-suffix"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file suffix used while the file is being
+						process, so that another thread or process won't
+						pick it up too.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="post-delete"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, the file will be deleted after it is
+						processed. Note that in that case post-directory
+						and post-suffix have no effect.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="post-rename"
+                type="xsd:boolean" use="optional">
+                <xsd:annotation>
+                    <xsd:documentation xml:lang="en">
+                        If true, the file will be renamed after it is
+                        processed. Note that in that case post-directory
+                        and post-suffix have no effect.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:attribute>
+			<xsd:attribute name="post-directory" type="xsd:string"
+				use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The ftp directory to which the file will be
+						moved after it is processed by the ESB
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default=".esbDone" name="post-suffix"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file suffix which will be added to the file
+						name after it is processed.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="error-delete"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, the file will be deleted if an error
+						occurs during processing. Note that in that case
+						error-directory and error-suffix have no effect.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="processed" name="error-directory"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The ftp directory to which the file will be
+						moved after when an error occurs during
+						processing.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default=".esbERROR" name="error-suffix"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The file suffix which will be added to the file
+						name after an error occurs during processing.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="passive" type="xsd:boolean"
+				use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						This is an ftp server setting which may vary per
+						session.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="ftp" name="protocol"
+				use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The protocol, can be sftp (SSH File Transfer
+						Protocol), ftps (FTP over SLL) and ftp (to which
+						it defaults).
+					</xsd:documentation>
+				</xsd:annotation>
+				<xsd:simpleType>
+					<xsd:restriction base="xsd:NMTOKEN">
+						<xsd:enumeration value="ftp" />
+						<xsd:enumeration value="ftps" />
+						<xsd:enumeration value="sftp" />
+					</xsd:restriction>
+				</xsd:simpleType>
+			</xsd:attribute>
+			<xsd:attribute name="certificate-url" type="xsd:string"
+				use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The url to a public server certificate for ftps, or to a
+						private certificate for sftp client verification. sftp certificate
+						can be located via a resource.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="certificate-name" type="xsd:string"
+				use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The common name of a certificate, which may be needed
+						for ftps.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="certificate-passphrase" type="xsd:string"
+				use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The passphrase of the private key, if necessary, for sftp client verification.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="false" name="read-only"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, the ftp server does not permit write
+						opertations on files. Note that in this case the
+						following properties have no effect:
+						work-suffix, post-delete, post-directory,
+						post-suffix, error-delete, error-directory, and
+						error-suffix.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="ftp-bus" substitutionGroup="jesb:bus">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A FTP-Bus is a specific instance of a bus using the FTP
+				protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:ftp-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="ftp-provider"
+		substitutionGroup="jesb:provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific instance of a provider, providing a ftp
+				service.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus-provider">
+					<xsd:attribute name="hostname" type="xsd:string"
+						use="required">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The ftp hostname, as it can be resolved
+								by DNS.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="ftp-listener"
+		substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific listener using the ftp protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension
+					base="jesb:abstract-scheduled-listener">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:ftp-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		SQL Type Implementations.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+	<xsd:element name="sql-message-filter">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A SQL filter.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:attribute name="tablename" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The table in which esb message are stored.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="message-id-column"
+				type="xsd:string" use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						A unique key (PK) in the table.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="message-column"
+				type="xsd:string" use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The field that holds the serialized message.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="status-column"
+				type="xsd:string" use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						This column contents ('P', 'W', 'E' or 'D')
+						indicates if the row is pending (P), in process
+						(W), in error(E) or done (D) if postDelete
+						and/or errorDelete are 'true' rows might be
+						deleted
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="where-condition" use="optional"
+				type="xsd:string" default="">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						A where clause, not including the word where,
+						which is applied to the query.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="order-by" use="optional"
+				type="xsd:string" default="">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						A where clause, not including the word where,
+						which is applied to the query.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="insert-timestamp-column" use="optional"
+				type="xsd:string">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						Holds the timestamp when the record was
+						inserted.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="post-delete"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, records will be deleted after
+						processing.((e.g. no rows with a 'D' for done,
+						in column defined in 'status_column')
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="true" name="error-delete"
+				type="xsd:boolean" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						If true, records in error will be deleted after
+						attempted picked up for processing.(e.g. no rows
+						with a 'E' for error, in column defined in
+						'status_column')
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="sql-bus" substitutionGroup="jesb:bus">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A SQL-Bus is a specific instance of a bus using the SQL
+				protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:sql-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="sql-provider"
+		substitutionGroup="jesb:provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific instance of a provider, providing a db
+				service.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus-provider">
+					<xsd:attribute name="datasource" type="xsd:string"
+						use="optional">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The name of the datasource.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="url" type="xsd:string"
+						use="optional">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The url needed to connect to the db.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="driver" type="xsd:string"
+						use="optional">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The driver needed to connect to the db.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="username" type="xsd:string"
+						use="optional">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The username used to access the
+								database.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="password" type="xsd:string"
+						use="optional">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The password used to access the
+								database.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="transacted"
+						type="xsd:boolean">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The transacted flag.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="sql-listener"
+		substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific listener using the SQL protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:dual-listener">
+					<xsd:sequence>
+						<xsd:element maxOccurs="1" minOccurs="0"
+							ref="jesb:sql-message-filter" />
+					</xsd:sequence>
+					<xsd:attribute default="10"
+						name="poll-frequency-seconds" use="optional">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The frequency with which this listener
+								polls the db in seconds. Defaults to 10
+								seconds.
+							</xsd:documentation>
+						</xsd:annotation>
+						<xsd:simpleType>
+							<xsd:restriction base="xsd:integer">
+								<xsd:minExclusive value="0" />
+							</xsd:restriction>
+						</xsd:simpleType>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		Hibernate Type Implementations.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+	<xsd:element name="hibernate-message-filter">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A Hibernate filter.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:attribute name="classname" type="xsd:string"
+				use="required">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						The class name to monitor.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute default="message_id" name="event"
+				type="xsd:string" use="optional">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">
+						A comma-separated list of events to intercept.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="hibernate-bus" substitutionGroup="jesb:bus">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A hibernate-bus is a specific instance of a bus using
+				the Hibernate protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus">
+					<xsd:sequence>
+						<xsd:element maxOccurs="unbounded" minOccurs="1"
+							ref="jesb:hibernate-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="hibernate-provider"
+		substitutionGroup="jesb:provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific instance of a provider, providing a hibernate
+				service.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus-provider">
+					<xsd:attribute name="hibernate-cfg-file"
+						type="xsd:string" use="required">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The Hibernate configuration file to use.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="hibernate-listener"
+		substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				A specific listener using the hibernate protocol.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:dual-listener">
+					<xsd:sequence>
+						<xsd:element maxOccurs="unbounded" minOccurs="0"
+							ref="jesb:hibernate-message-filter" />
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		JBoss Remoting Type Implementations.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+	<xsd:element name="jbr-bus" substitutionGroup="jesb:bus">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				JBoss Remoting Bus
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus">
+					<xsd:attribute name="port" type="xsd:int"
+						use="required">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								JBoss Remoting Server listen port.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="jbr-provider"
+		substitutionGroup="jesb:provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				JBoss Remoting Provider.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus-provider">
+					<xsd:attribute name="protocol" use="required">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								Jboss Remoting Listener/Server protocol.
+							</xsd:documentation>
+						</xsd:annotation>
+						<xsd:simpleType>
+							<xsd:restriction base="xsd:NMTOKEN">
+								<xsd:enumeration value="http" />
+                                <xsd:enumeration value="https" />
+								<xsd:enumeration value="socket" />
+                                <xsd:enumeration value="sslsocket" />
+							</xsd:restriction>
+						</xsd:simpleType>
+					</xsd:attribute>
+					<xsd:attribute name="host" type="xsd:string">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								JBoss Remoting Server bind address. When
+								not specified, defaults to
+								InetAddress.getLocalHost().getHostName().
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="jbr-listener"
+		substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				JBoss Remoting Listener.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:dual-listener" />
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+
+
+        <!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		Http Type Implementations.
+             88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+	<xsd:element name="http-bus" substitutionGroup="jesb:bus">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+			     Http Bus 
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus">
+                    <xsd:choice minOccurs="0" maxOccurs="2">
+                        <xsd:element name="protected-methods" minOccurs="0" maxOccurs="1">
+                            <xsd:complexType>
+                                <xsd:sequence>
+                                    <xsd:element name="method" minOccurs="1" maxOccurs="5">
+                                        <xsd:complexType>
+                                            <xsd:attribute name="name" use="required">
+                                                <xsd:simpleType>
+                                                    <xsd:restriction base="xsd:NMTOKEN">
+                                                        <xsd:enumeration value="GET" />
+                                                        <xsd:enumeration value="POST" />
+                                                        <xsd:enumeration value="PUT" />
+                                                        <xsd:enumeration value="DELETE" />
+                                                        <xsd:enumeration value="HEAD" />
+                                                    </xsd:restriction>
+                                                </xsd:simpleType>
+                                            </xsd:attribute>
+                                        </xsd:complexType>
+                                    </xsd:element>
+                                </xsd:sequence>
+                            </xsd:complexType>
+                        </xsd:element>
+                        <xsd:element name="allowed-roles" minOccurs="0" maxOccurs="1">
+                            <xsd:complexType>
+                                <xsd:sequence>
+                                    <xsd:element name="role" minOccurs="1" maxOccurs="unbounded">
+                                        <xsd:complexType>
+                                            <xsd:attribute name="name" type="xsd:string" use="required" />
+                                        </xsd:complexType>
+                                    </xsd:element>
+                                </xsd:sequence>
+                            </xsd:complexType>
+                        </xsd:element>
+                    </xsd:choice>
+                    <xsd:attribute name="transportGuarantee" use="optional">
+                        <xsd:simpleType>
+                            <xsd:restriction base="xsd:NMTOKEN">
+                                <xsd:enumeration value="NONE" />
+                                <xsd:enumeration value="INTEGRAL" />
+                                <xsd:enumeration value="CONFIDENTIAL" />
+                            </xsd:restriction>
+                        </xsd:simpleType>
+                    </xsd:attribute>
+                </xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="http-provider"
+		substitutionGroup="jesb:provider">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				Http Provider.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:bus-provider">
+                    <xsd:sequence>
+                        <xsd:element name="auth" minOccurs="0" maxOccurs="1">
+                            <xsd:complexType>
+                                <xsd:attribute name="method" use="optional" default="BASIC">
+                                    <xsd:simpleType>
+                                        <xsd:restriction base="xsd:NMTOKEN">
+                                            <xsd:enumeration value="BASIC" />
+                                            <xsd:enumeration value="DIGEST" />
+                                            <xsd:enumeration value="CLIENT-CERT" />
+                                        </xsd:restriction>
+                                    </xsd:simpleType>
+                                </xsd:attribute>
+                                <xsd:attribute name="domain" type="xsd:string" use="optional">
+                                    <xsd:annotation>
+                                        <xsd:documentation xml:lang="en">Security Domain.</xsd:documentation>
+                                    </xsd:annotation>
+                                </xsd:attribute>
+                            </xsd:complexType>
+                        </xsd:element>
+                        <xsd:element name="exception" type="jesb:httpExceptionMappings" minOccurs="0" maxOccurs="1" />
+                    </xsd:sequence>
+                </xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="http-gateway"
+		substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				http Listener.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:gateway-only-listener">
+                    <xsd:choice minOccurs="0" maxOccurs="2">
+                        <xsd:element name="exception" type="jesb:httpExceptionMappings">
+                            <xsd:annotation>
+                                <xsd:documentation xml:lang="en">
+                                    Exception to HTTP status code mappings.
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                        <xsd:element name="asyncResponse" type="jesb:asyncHttpResponse">
+                            <xsd:annotation>
+                                <xsd:documentation xml:lang="en">
+                                    Aynchronous HTTP Response.  If set, the gateway will asynchronously deliver the
+                                    message to the target Service.
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                    </xsd:choice>
+                    <xsd:attribute name="urlPattern" type="xsd:string" use="optional">
+                        <xsd:annotation>
+                            <xsd:documentation xml:lang="en">
+                                The URL Pattern of requests to be filtered to this listener.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:attribute>
+                    <xsd:attribute name="payloadAs" type="jesb:payloadAs" use="optional">
+                        <xsd:annotation>
+                            <xsd:documentation xml:lang="en">
+                                Set the ESB Message payload ass either a String or an array of bytes.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:attribute>
+                </xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+    <xsd:simpleType name="payloadAs">
+        <xsd:restriction base="xsd:NMTOKEN">
+            <xsd:enumeration value="STRING"/>
+            <xsd:enumeration value="BYTES"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+    <xsd:complexType name="httpExceptionMappings">
+        <xsd:sequence>
+            <xsd:element name="mapping" minOccurs="0" maxOccurs="unbounded">
+                <xsd:complexType>
+                    <xsd:attribute name="class" type="xsd:string" use="required" />
+                    <xsd:attribute name="status" type="xsd:integer" use="required" />
+                </xsd:complexType>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="mappingsFile" type="xsd:string" use="optional">
+            <xsd:annotation>
+                <xsd:documentation xml:lang="en">
+                    Path to a .properties file containing a list of Exception to HTTP Status code mappings.
+                </xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+    </xsd:complexType>
+    <xsd:complexType name="asyncHttpResponse">
+        <xsd:sequence>
+            <xsd:element name="payload" minOccurs="0" maxOccurs="1">
+                <xsd:annotation>
+                    <xsd:documentation xml:lang="en">
+                        Static HTTP Gateway response payload for async message delivery to service.
+                        <p/>
+                        If not set, an empty (zero length) payload will be returned in the HTTP Response.
+                    </xsd:documentation>
+                </xsd:annotation>
+                <xsd:complexType>
+                    <xsd:attribute name="classpathResource" type="xsd:string" use="required" />
+                    <xsd:attribute name="contentType" type="xsd:string" use="required" />
+                    <xsd:attribute name="characterEncoding" type="xsd:string" use="optional" />
+                </xsd:complexType>
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="statusCode" type="xsd:int" default="200" use="optional">
+            <xsd:annotation>
+                <xsd:documentation xml:lang="en">
+                    Static HTTP Gateway response code for async message delivery to service.
+                    <p/>
+                    If not set, a 200 status (OK) will be returned in the HTTP Response.
+                </xsd:documentation>
+            </xsd:annotation>
+        </xsd:attribute>
+    </xsd:complexType>
+
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+		Groovy Gateway Type Implementations.
+		88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+	<xsd:element name="groovy-listener"
+		substitutionGroup="jesb:listener">
+		<xsd:annotation>
+			<xsd:documentation xml:lang="en">
+				Groovy Listener.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:dual-listener">
+					<xsd:attribute name="script" type="xsd:string"
+						use="required">
+						<xsd:annotation>
+							<xsd:documentation xml:lang="en">
+								The path (classpath) to the Groovy
+								Gateway script. Or, the alias for the
+								pre-packaged Groovy Gateway script.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:attribute>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	
+	<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+        UDP Gateway Type Implementations.
+        88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
+    <xsd:element name="udp-listener" substitutionGroup="jesb:listener">
+        <xsd:annotation>
+            <xsd:documentation xml:lang="en">
+                UDP Listener that uses Mina.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+            <xsd:complexContent>
+                <xsd:extension base="jesb:dual-listener">
+                    <xsd:attribute name="host" type="xsd:string" use="required">
+                        <xsd:annotation>
+                            <xsd:documentation xml:lang="en">
+                                The host that this listener will listen to.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:attribute>
+                    <xsd:attribute name="port" type="xsd:integer" use="required">
+                        <xsd:annotation>
+                            <xsd:documentation xml:lang="en">
+                                The port that this listener will listen to.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:attribute>
+                    <xsd:attribute name="handlerClass" type="xsd:string" use="optional" default="org.jboss.soa.esb.listeners.gateway.mina.DefaultMessageHandler">
+                        <xsd:annotation>
+                            <xsd:documentation xml:lang="en">
+                                The fully qualified name of a org.jboss.soa.esb.listeners.gateway.mina.MessageHandler implementation.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:attribute>
+                </xsd:extension>
+            </xsd:complexContent>
+        </xsd:complexType>
+    </xsd:element>
+
+</xsd:schema>

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/etc/schemas/xml/jbossesb-1.2.0.xsdconfig (from rev 29337, labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsdconfig)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/etc/schemas/xml/jbossesb-1.2.0.xsdconfig	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/etc/schemas/xml/jbossesb-1.2.0.xsdconfig	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,14 @@
+<!-- An xsdconfig file must begin with a "config" element in the 
+        http://www.bea.com/2002/09/xbean/config namespace. Also, be sure
+        to declare any namespaces used to qualify types in your schema (here,
+        the namespace corresponding to the pol prefix. -->
+        
+<xb:config xmlns:pol="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd"
+    xmlns:xb="http://www.bea.com/2002/09/xbean/config">
+
+    <!-- Use the "namespace" element to map a namespace to the Java package
+        name that should be generated. -->
+    <xb:namespace uri="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+        <xb:package>org.jboss.soa.esb.listeners.config.xbeanmodel120</xb:package>
+    </xb:namespace>
+</xb:config>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/install/conf/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/install/conf/jbossesb-properties.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/install/conf/jbossesb-properties.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -35,6 +35,7 @@
 		<property name="org.jboss.soa.esb.jndi.server.url" value="${jboss.esb.bind.address}:1099"/>
 		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
         <property name="org.jboss.soa.esb.loadbalancer.policy" value="org.jboss.soa.esb.listeners.ha.RoundRobin"/>
+        <property name="org.jboss.soa.esb.mime.text.types" value="text/*;application/xml;application/*-xml"/>
         <property name="jboss.esb.invm.scope.default" value="NONE"/>
     </properties>
     <properties name="security">

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/install/esb-deployers-jboss-beans.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/install/esb-deployers-jboss-beans.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/install/esb-deployers-jboss-beans.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -38,7 +38,9 @@
 		<property name="actionArtifactsFile">/actionArtifactMap.properties</property>
 	</bean>
 
-	<bean name="EsbWebServiceDeployer" class="org.jboss.soa.esb.listeners.deployers.mc.EsbWebServiceDeployer"/>
+	<bean name="EsbWebServiceDeployer" class="org.jboss.soa.esb.listeners.deployers.mc.EsbWebServiceDeployer">
+        <depends>jboss.esb:service=PropertyService</depends>
+    </bean>
 
 	<bean name="EsbWsdlDeployer" class="org.jboss.soa.esb.listeners.deployers.mc.EsbWsdlDeployer"/>
 

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/ivy.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/ivy.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/ivy.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -18,7 +18,7 @@
         <dependency org="commons-lang" name="commons-lang" rev="2.1"/>
         <!-- dependency org="commons-net" name="commons-net" rev="2.0.0-652071"/ -->
         <!-- dependency org="org.apache.commons" name="not-yet-commons-ssl" rev="0.3.7"/ -->
-        <dependency org="org.codehaus.groovy" name="groovy-all" rev="1.5.0"/>
+        <dependency org="org.codehaus.groovy" name="groovy-all" rev="1.5.4"/>
         <dependency org="com.h2database" name="h2" rev="1.0.68"/>
         <dependency org="hibernate" name="hibernate3" rev="3.2.4.SP1"/>
         <dependency org="jboss" name="jboss-cache" rev="1.2.4.SP2"/>
@@ -31,7 +31,7 @@
              SNAPSHOT version. -->
         <dependency org="org.apache.ws.scout" name="jaxr-api" rev="1.0">
             <exclude org="axis" module="axis"/>
-            <exclude org="geronimo-spec" module="geronimo-spec-activation"/>            
+            <exclude org="geronimo-spec" module="geronimo-spec-activation"/>
         </dependency>
         <dependency org="org.apache.ws.scout" name="scout" rev="1.0">
             <exclude org="axis" module="axis"/>
@@ -65,7 +65,7 @@
         <dependency org="com.thoughtworks.xstream" name="xstream" rev="1.2.2"/>
         <dependency org="apache-bsf" name="bsf" rev="2.3.0"/>
         <dependency org="beanshell" name="bsh" rev="1.3.0"/>
-	
+
 		<!-- Smooks dependencies - smooks.version defined in ivysettings.xml-->
         <dependency org="org.milyn" name="milyn-commons" rev="${smooks.version}"/>
         <dependency org="org.milyn" name="milyn-smooks-core" rev="${smooks.version}"/>
@@ -102,7 +102,7 @@
         <dependency org="sun-jaxws" name="jaxws-rt" rev="2.1.1"/>
         <dependency org="sun-jaxb" name="jaxb-xjc" rev="2.1.4"/>
 
-		<!-- xmlunit -->	
+		<!-- xmlunit -->
         <dependency org="xmlunit" name="xmlunit" rev="1.2"/>
 
 		<!-- JBoss Microcontainer dependencies -->

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/build.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -14,6 +14,8 @@
 	<property name="schema101.classes.dir" location="${gendir}/classes" />
 	<property name="schema110.src.dir" location="${gendir}/src110" />
 	<property name="schema110.classes.dir" location="${gendir}/classes110" />
+    <property name="schema120.src.dir" location="${gendir}/src120" />
+    <property name="schema120.classes.dir" location="${gendir}/classes120" />
     <property environment="env"/>
 
     <property name="org.jboss.esb.lib.dir" location="${org.jboss.esb.internal.dest}/lib"/>
@@ -28,6 +30,7 @@
         <fileset dir="${org.jboss.esb.ext.lib.dir}/standalone" includes="*.jar"/>
 		<pathelement location="${schema101.classes.dir}"/>
 		<pathelement location="${schema110.classes.dir}"/>
+        <pathelement location="${schema120.classes.dir}"/>
 	</path>
 
     <target name="org.jboss.esb.rosetta.init">
@@ -182,6 +185,23 @@
             <fileset dir="${org.jboss.esb.rosetta.classes.dir}"
                 includes="VERSION org/jboss/soa/**/Version.class"/>
         </jar>
+
+        <!-- now handle 1.2.0 -->
+        <xmlbean
+            classgendir="${schema120.classes.dir}"
+            javasource="1.5"
+            debug="${org.jboss.esb.debug}"
+            srcgendir="${schema120.src.dir}"
+            destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/jbossesb-config-model-1.2.0.jar"
+            classpathref="xbeans-classpath">
+            <fileset dir="${org.jboss.esb.root.dir}/etc/schemas/xml/" includes="jbossesb-1.2.0.xsd,jbossesb-1.2.0.xsdconfig"/>
+        </xmlbean>
+        <!-- now add the xsd to it -->
+        <jar destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/jbossesb-config-model-1.2.0.jar" update="true" manifest="${org.jboss.esb.rosetta.classes.dir}/MANIFEST.MF"
+            basedir="${org.jboss.esb.root.dir}/etc/schemas/xml/" includes="jbossesb-1.2.0.xsd">
+            <fileset dir="${org.jboss.esb.rosetta.classes.dir}"
+                includes="VERSION org/jboss/soa/**/Version.class"/>
+        </jar>
     </target>
 
     <path id="xbeans-classpath">

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIService.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIService.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -46,9 +46,6 @@
 public class JuddiRMIService extends ServiceMBeanSupport implements JuddiRMIServiceMBean
 {
    private Logger logger = Logger.getLogger(this.getClass());
-   public static final String PROPNAME_JAVA_NAMING_FACTORY_INITIAL = "java.naming.factory.initial";
-   public static final String PROPNAME_JAVA_NAMING_PROVIDER_URL = "java.naming.provider.url";
-   public static final String PROPNAME_JAVA_NAMING_FACTORY_URL_PKGS = "java.naming.factory.url.pkgs";
    
    private static final String DEFAULT_PROPERTIES_RESOURCE_FILE = "esb.juddi.xml";
    private static final String JUDDI_PROPERTIES_RESOURCE_FILE = "esb.juddi.properties";
@@ -125,20 +122,6 @@
         }
         System.setProperty("juddi.propertiesFile", juddiPropertyFile.getAbsolutePath());
         System.setProperty("javax.xml.registry.ConnectionFactoryClass","org.apache.ws.scout.registry.ConnectionFactoryImpl");
-        
-        // Read properties from file and if they exist - pass them on to juddi as system properties
-        String factoryInitial =  xmlProperties.getProperty(PROPNAME_JAVA_NAMING_FACTORY_INITIAL, null);
-        String providerURL = xmlProperties.getProperty(PROPNAME_JAVA_NAMING_PROVIDER_URL, null); 
-        String factoryURLPkgs = xmlProperties.getProperty(PROPNAME_JAVA_NAMING_FACTORY_URL_PKGS, null);
-        if (factoryInitial != null) {
-            System.setProperty(PROPNAME_JAVA_NAMING_FACTORY_INITIAL, factoryInitial);
-        }
-        if (providerURL != null) {
-            System.setProperty(PROPNAME_JAVA_NAMING_PROVIDER_URL, providerURL);
-        }
-        if (factoryURLPkgs != null) {
-            System.setProperty(PROPNAME_JAVA_NAMING_FACTORY_URL_PKGS, factoryURLPkgs);
-        }
         JNDIRegistration.register();
 	}
 

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war)

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,66 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import org.jboss.soa.esb.helpers.KeyValuePair;
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-
-import java.util.List;
-import java.util.ArrayList;
-
-/**
- * Abstract web component model.
- * 
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public abstract class AbstractWebComponent {
-    
-    private String name;
-    private String runtimeClass;
-    private WebModel webModel;
-    private List<KeyValuePair> params = new ArrayList<KeyValuePair>();
-
-    public AbstractWebComponent(String name, String runtimeClass, WebModel webModel) {
-        AssertArgument.isNotNullAndNotEmpty(name, "name");
-        AssertArgument.isNotNullAndNotEmpty(runtimeClass, "runtimeClass");
-        AssertArgument.isNotNull(webModel, "webModel");
-        this.name = name;
-        this.runtimeClass = runtimeClass;
-        this.webModel = webModel;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getRuntimeClass() {
-        return runtimeClass;
-    }
-
-    public WebModel getWebModel() {
-        return webModel;
-    }
-
-    public List<KeyValuePair> getParams() {
-        return params;
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/AbstractWebComponent.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * Abstract web component model.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class AbstractWebComponent {
+    
+    private String name;
+    private String runtimeClass;
+    private WebModel webModel;
+    private List<KeyValuePair> params = new ArrayList<KeyValuePair>();
+
+    public AbstractWebComponent(String name, String runtimeClass, WebModel webModel) {
+        AssertArgument.isNotNullAndNotEmpty(name, "name");
+        AssertArgument.isNotNullAndNotEmpty(runtimeClass, "runtimeClass");
+        AssertArgument.isNotNull(webModel, "webModel");
+        this.name = name;
+        this.runtimeClass = runtimeClass;
+        this.webModel = webModel;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getRuntimeClass() {
+        return runtimeClass;
+    }
+
+    public WebModel getWebModel() {
+        return webModel;
+    }
+
+    public List<KeyValuePair> getParams() {
+        return params;
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-
-/**
- * Filter configuration model.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Filter extends AbstractWebComponent {
-
-    private Servlet targetServlet;
-
-    public Filter(String name, String runtimeClass, Servlet targetServlet) {
-        super(name, runtimeClass, targetServlet.getWebModel());
-        AssertArgument.isNotNull(targetServlet, "targetServlet");
-        this.targetServlet = targetServlet;
-        targetServlet.getWebModel().getFilters().add(this);
-    }
-
-    public Servlet getTargetServlet() {
-        return targetServlet;
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Filter.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+/**
+ * Filter configuration model.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Filter extends AbstractWebComponent {
+
+    private Servlet targetServlet;
+
+    public Filter(String name, String runtimeClass, Servlet targetServlet) {
+        super(name, runtimeClass, targetServlet.getWebModel());
+        AssertArgument.isNotNull(targetServlet, "targetServlet");
+        this.targetServlet = targetServlet;
+        targetServlet.getWebModel().getFilters().add(this);
+    }
+
+    public Servlet getTargetServlet() {
+        return targetServlet;
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,110 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2008, JBoss Inc.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import org.jboss.soa.esb.listeners.gateway.http.HttpGatewayServlet;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.ConfigurationException;
-
-/**
- * Http Gateway deployment factory.
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class HttpGatewayDeploymentFactory implements WebGatewayDeploymentFactory {
-    
-    public static final String URL_PATTERN = "urlPattern";
-    public static final String PROTECTED_METHODS = "protectedMethods";
-    public static final String TRANSPORT_GUARANTEE = "transportGuarantee";
-    public static final String ALLOWED_ROLES = "allowedRoles";
-    public static final String AUTH_METHOD = "authMethod";
-    public static final String AUTH_DOMAIN = "authDomain";
-
-    public void updateWebModel(ConfigTree webEndpointConfig, WebModel webModel) throws ConfigurationException {
-        String servletName = webEndpointConfig.getRequiredAttribute("name");
-        Servlet servlet = new Servlet(servletName, HttpGatewayServlet.class.getName(), webModel);
-
-        // Set the endpoint urlPattern so as to map requests from that namespace into
-        // this servlet instance...
-        String urlPattern = webEndpointConfig.getAttribute(URL_PATTERN);
-        if(urlPattern != null) {
-            if(urlPattern.startsWith("/")) {
-                servlet.getUrlMappings().add("/http" + urlPattern);
-            } else {
-                servlet.getUrlMappings().add("/http/" + urlPattern);
-            }
-        } else {
-            String serviceCat = webEndpointConfig.getAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG);
-            String serviceName = webEndpointConfig.getAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG);
-            servlet.getUrlMappings().add("/http/" + serviceCat + "/" + serviceName);
-        }
-
-        // Add the security configurations for the servlet...
-        addSecurityConstraints(webEndpointConfig, servlet);
-
-        // Map all config tree attributes as servlet parameters...
-        servlet.getParams().addAll(webEndpointConfig.attributesAsList());
-
-        // Set the authentication method and domain.  Yes... this can result in the auth method/domain being set
-        // and reset by multiple listeners, but the auth method source config should be the
-        // same for them all.  Also, we throw an exception from inside the WebModel if an attempt
-        // is made to reset it to something else...
-        webModel.setAuthMethod(webEndpointConfig.getAttribute(AUTH_METHOD));
-        webModel.setAuthDomain(webEndpointConfig.getAttribute(AUTH_DOMAIN));
-    }
-
-    private void addSecurityConstraints(ConfigTree webEndpointConfig, Servlet servlet) {
-
-        String methodsConfig = webEndpointConfig.getAttribute(PROTECTED_METHODS);
-        if(methodsConfig != null) {
-            SecurityConstraints securityConstraints = getSecurityConstraints(servlet);
-            String[] methods = methodsConfig.split(",");
-
-            // Add the specified methods...
-            for(String method : methods) {
-                securityConstraints.getProtectedMethods().add(method.trim());
-            }
-        }
-
-        String rolesConfig = webEndpointConfig.getAttribute(ALLOWED_ROLES);
-        if(rolesConfig != null) {
-            SecurityConstraints securityConstraints = getSecurityConstraints(servlet);
-            String[] roles = rolesConfig.split(",");
-
-            // Add the specified roles...
-            for(String role : roles) {
-                securityConstraints.getAllowedRoles().add(role.trim());
-            }
-        }
-
-        String transportGuarantee = webEndpointConfig.getAttribute(TRANSPORT_GUARANTEE);
-        if(transportGuarantee != null) {
-            getSecurityConstraints(servlet).setTransportGuarantee(transportGuarantee);            
-        }
-    }
-
-    private SecurityConstraints getSecurityConstraints(Servlet servlet) {
-        SecurityConstraints securityConstraints = servlet.getSecurityConstraints();
-        if(securityConstraints == null) {
-            securityConstraints = new SecurityConstraints(servlet);
-        }
-        return securityConstraints;
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/HttpGatewayDeploymentFactory.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,110 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.soa.esb.listeners.gateway.http.HttpGatewayServlet;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.ConfigurationException;
+
+/**
+ * Http Gateway deployment factory.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class HttpGatewayDeploymentFactory implements WebGatewayDeploymentFactory {
+    
+    public static final String URL_PATTERN = "urlPattern";
+    public static final String PROTECTED_METHODS = "protectedMethods";
+    public static final String TRANSPORT_GUARANTEE = "transportGuarantee";
+    public static final String ALLOWED_ROLES = "allowedRoles";
+    public static final String AUTH_METHOD = "authMethod";
+    public static final String AUTH_DOMAIN = "authDomain";
+
+    public void updateWebModel(ConfigTree webEndpointConfig, WebModel webModel) throws ConfigurationException {
+        String servletName = webEndpointConfig.getRequiredAttribute("name");
+        Servlet servlet = new Servlet(servletName, HttpGatewayServlet.class.getName(), webModel);
+
+        // Set the endpoint urlPattern so as to map requests from that namespace into
+        // this servlet instance...
+        String urlPattern = webEndpointConfig.getAttribute(URL_PATTERN);
+        if(urlPattern != null) {
+            if(urlPattern.startsWith("/")) {
+                servlet.getUrlMappings().add("/http" + urlPattern);
+            } else {
+                servlet.getUrlMappings().add("/http/" + urlPattern);
+            }
+        } else {
+            String serviceCat = webEndpointConfig.getAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG);
+            String serviceName = webEndpointConfig.getAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG);
+            servlet.getUrlMappings().add("/http/" + serviceCat + "/" + serviceName);
+        }
+
+        // Add the security configurations for the servlet...
+        addSecurityConstraints(webEndpointConfig, servlet);
+
+        // Map all config tree attributes as servlet parameters...
+        servlet.getParams().addAll(webEndpointConfig.attributesAsList());
+
+        // Set the authentication method and domain.  Yes... this can result in the auth method/domain being set
+        // and reset by multiple listeners, but the auth method source config should be the
+        // same for them all.  Also, we throw an exception from inside the WebModel if an attempt
+        // is made to reset it to something else...
+        webModel.setAuthMethod(webEndpointConfig.getAttribute(AUTH_METHOD));
+        webModel.setAuthDomain(webEndpointConfig.getAttribute(AUTH_DOMAIN));
+    }
+
+    private void addSecurityConstraints(ConfigTree webEndpointConfig, Servlet servlet) {
+
+        String methodsConfig = webEndpointConfig.getAttribute(PROTECTED_METHODS);
+        if(methodsConfig != null) {
+            SecurityConstraints securityConstraints = getSecurityConstraints(servlet);
+            String[] methods = methodsConfig.split(",");
+
+            // Add the specified methods...
+            for(String method : methods) {
+                securityConstraints.getProtectedMethods().add(method.trim());
+            }
+        }
+
+        String rolesConfig = webEndpointConfig.getAttribute(ALLOWED_ROLES);
+        if(rolesConfig != null) {
+            SecurityConstraints securityConstraints = getSecurityConstraints(servlet);
+            String[] roles = rolesConfig.split(",");
+
+            // Add the specified roles...
+            for(String role : roles) {
+                securityConstraints.getAllowedRoles().add(role.trim());
+            }
+        }
+
+        String transportGuarantee = webEndpointConfig.getAttribute(TRANSPORT_GUARANTEE);
+        if(transportGuarantee != null) {
+            getSecurityConstraints(servlet).setTransportGuarantee(transportGuarantee);            
+        }
+    }
+
+    private SecurityConstraints getSecurityConstraints(Servlet servlet) {
+        SecurityConstraints securityConstraints = servlet.getSecurityConstraints();
+        if(securityConstraints == null) {
+            securityConstraints = new SecurityConstraints(servlet);
+        }
+        return securityConstraints;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-
-import java.util.Set;
-import java.util.LinkedHashSet;
-
-/**
- * Security Constraints.
- * 
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class SecurityConstraints {
-
-    private Servlet servlet;
-    private Set<String> protectedMethods = new LinkedHashSet<String>() ;
-    private Set<String> allowedRoles = new AllowedRoleSet<String>();
-    private String transportGuarantee;
-
-    public SecurityConstraints(Servlet servlet) {
-        AssertArgument.isNotNull(servlet, "servlet");
-        this.servlet = servlet;
-        servlet.setSecurityConstraints(this);
-    }
-
-    public Set<String> getProtectedMethods() {
-        return protectedMethods;
-    }
-
-    public Set<String> getAllowedRoles() {
-        return allowedRoles;
-    }
-
-    public String getTransportGuarantee() {
-        return transportGuarantee;
-    }
-
-    public void setTransportGuarantee(String transportGuarantee) {
-        this.transportGuarantee = transportGuarantee;
-    }
-
-    private class AllowedRoleSet<T extends String> extends LinkedHashSet<String> {
-
-        public boolean add(String role) {
-            // Also add the role to the parent WebModel securityRoles, so the
-            // <security-role> entries can be easily added to the web.xml...
-            servlet.getWebModel().getSecurityRoles().add(role);
-            return super.add(role);
-        }
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/SecurityConstraints.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+import java.util.Set;
+import java.util.LinkedHashSet;
+
+/**
+ * Security Constraints.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SecurityConstraints {
+
+    private Servlet servlet;
+    private Set<String> protectedMethods = new LinkedHashSet<String>() ;
+    private Set<String> allowedRoles = new AllowedRoleSet<String>();
+    private String transportGuarantee;
+
+    public SecurityConstraints(Servlet servlet) {
+        AssertArgument.isNotNull(servlet, "servlet");
+        this.servlet = servlet;
+        servlet.setSecurityConstraints(this);
+    }
+
+    public Set<String> getProtectedMethods() {
+        return protectedMethods;
+    }
+
+    public Set<String> getAllowedRoles() {
+        return allowedRoles;
+    }
+
+    public String getTransportGuarantee() {
+        return transportGuarantee;
+    }
+
+    public void setTransportGuarantee(String transportGuarantee) {
+        this.transportGuarantee = transportGuarantee;
+    }
+
+    private class AllowedRoleSet<T extends String> extends LinkedHashSet<String> {
+
+        public boolean add(String role) {
+            // Also add the role to the parent WebModel securityRoles, so the
+            // <security-role> entries can be easily added to the web.xml...
+            servlet.getWebModel().getSecurityRoles().add(role);
+            return super.add(role);
+        }
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import java.util.List;
-import java.util.ArrayList;
-
-/**
- * Servlet configuration model.
- * 
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Servlet extends AbstractWebComponent {
-
-    private List<String> urlMappings = new ArrayList<String>();
-    private SecurityConstraints securityConstraints;
-
-    public Servlet(String name, String runtimeClass, WebModel webModel) {
-        super(name, runtimeClass, webModel);
-        webModel.getServlets().add(this);
-    }
-
-    public List<String> getUrlMappings() {
-        return urlMappings;
-    }
-
-    public SecurityConstraints getSecurityConstraints() {
-        return securityConstraints;
-    }
-
-    protected void setSecurityConstraints(SecurityConstraints securityConstraints) {
-        this.securityConstraints = securityConstraints;
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/Servlet.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * Servlet configuration model.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Servlet extends AbstractWebComponent {
+
+    private List<String> urlMappings = new ArrayList<String>();
+    private SecurityConstraints securityConstraints;
+
+    public Servlet(String name, String runtimeClass, WebModel webModel) {
+        super(name, runtimeClass, webModel);
+        webModel.getServlets().add(this);
+    }
+
+    public List<String> getUrlMappings() {
+        return urlMappings;
+    }
+
+    public SecurityConstraints getSecurityConstraints() {
+        return securityConstraints;
+    }
+
+    protected void setSecurityConstraints(SecurityConstraints securityConstraints) {
+        this.securityConstraints = securityConstraints;
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,136 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import org.jboss.soa.esb.util.DeploymentArchive;
-import org.jboss.soa.esb.util.FreeMarkerTemplate;
-import org.jboss.soa.esb.ConfigurationException;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.ByteArrayInputStream;
-import java.util.Map;
-import java.util.HashMap;
-
-import freemarker.template.TemplateException;
-
-/**
- * Web deployment archive.
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class WebDeploymentArchive extends DeploymentArchive {
-
-    private WebModel webModel;
-    private boolean archiveFinalized = false;
-
-    /**
-     * Public constructor.
-     *
-     * @param archiveName The archive name of the deployment.
-     */
-    public WebDeploymentArchive(String archiveName) {
-        super(archiveName);
-        webModel = new WebModel(archiveName);
-    }
-
-    public WebModel getWebModel() {
-        assertNotFinalized();
-        return webModel;
-    }
-
-    public void finalizeArchive() throws ConfigurationException {
-        try {
-            // Add the web.xml...
-            addWebXML();
-
-            // Add the jboss-web.xml...
-            addJBossWebXML();
-        } finally {
-            // Mark as finalized...
-            archiveFinalized = true;
-        }
-    }
-
-    private void addWebXML() throws ConfigurationException {
-        try {
-            String webXml = getWebXML();
-            addEntry("WEB-INF/web.xml", new ByteArrayInputStream(webXml.getBytes("UTF-8")));
-        } catch (Exception e) {
-            throw new ConfigurationException("Error adding web.xml to web deployment.", e);
-        }
-    }
-
-    String getWebXML() throws TemplateException {
-        FreeMarkerTemplate template = new FreeMarkerTemplate("templates/web.xml.ftl", WebDeploymentArchive.class);
-        Map contextObj = new HashMap();
-
-        contextObj.put("webModel", webModel);
-        
-        return template.apply(contextObj);
-    }
-
-    private void addJBossWebXML() throws ConfigurationException {
-        try {
-            String jbossWebXml = getJBossWebXML();
-            addEntry("WEB-INF/jboss-web.xml", new ByteArrayInputStream(jbossWebXml.getBytes("UTF-8")));
-        } catch (Exception e) {
-            throw new ConfigurationException("Error adding web.xml to web deployment.", e);
-        }
-    }
-
-    String getJBossWebXML() throws TemplateException {
-        FreeMarkerTemplate template = new FreeMarkerTemplate("templates/jboss-web.xml.ftl", WebDeploymentArchive.class);
-        Map contextObj = new HashMap();
-
-        contextObj.put("webModel", webModel);
-
-        return template.apply(contextObj);
-    }
-
-    public final void addEntry(String path, InputStream data) {
-        assertNotFinalized();
-        super.addEntry(path, data);
-    }
-
-    public final void addEntry(String path, byte[] data) {
-        assertNotFinalized();
-        super.addEntry(path, data);
-    }
-
-    public final void addEntry(String path) {
-        super.addEntry(path);
-    }
-
-    public final void addEntry(String path, String resource) throws IOException {
-        super.addEntry(path, resource);
-    }
-
-    public void addEntry(Class clazz) throws IOException {
-        super.addEntry(clazz);
-    }
-
-    private void assertNotFinalized() {
-        if(archiveFinalized) {
-            throw new IllegalStateException("Cannot update archive after it has been finalized!");
-        }
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchive.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,136 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.soa.esb.util.DeploymentArchive;
+import org.jboss.soa.esb.util.FreeMarkerTemplate;
+import org.jboss.soa.esb.ConfigurationException;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.ByteArrayInputStream;
+import java.util.Map;
+import java.util.HashMap;
+
+import freemarker.template.TemplateException;
+
+/**
+ * Web deployment archive.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class WebDeploymentArchive extends DeploymentArchive {
+
+    private WebModel webModel;
+    private boolean archiveFinalized = false;
+
+    /**
+     * Public constructor.
+     *
+     * @param archiveName The archive name of the deployment.
+     */
+    public WebDeploymentArchive(String archiveName) {
+        super(archiveName);
+        webModel = new WebModel(archiveName);
+    }
+
+    public WebModel getWebModel() {
+        assertNotFinalized();
+        return webModel;
+    }
+
+    public void finalizeArchive() throws ConfigurationException {
+        try {
+            // Add the web.xml...
+            addWebXML();
+
+            // Add the jboss-web.xml...
+            addJBossWebXML();
+        } finally {
+            // Mark as finalized...
+            archiveFinalized = true;
+        }
+    }
+
+    private void addWebXML() throws ConfigurationException {
+        try {
+            String webXml = getWebXML();
+            addEntry("WEB-INF/web.xml", new ByteArrayInputStream(webXml.getBytes("UTF-8")));
+        } catch (Exception e) {
+            throw new ConfigurationException("Error adding web.xml to web deployment.", e);
+        }
+    }
+
+    String getWebXML() throws TemplateException {
+        FreeMarkerTemplate template = new FreeMarkerTemplate("templates/web.xml.ftl", WebDeploymentArchive.class);
+        Map contextObj = new HashMap();
+
+        contextObj.put("webModel", webModel);
+        
+        return template.apply(contextObj);
+    }
+
+    private void addJBossWebXML() throws ConfigurationException {
+        try {
+            String jbossWebXml = getJBossWebXML();
+            addEntry("WEB-INF/jboss-web.xml", new ByteArrayInputStream(jbossWebXml.getBytes("UTF-8")));
+        } catch (Exception e) {
+            throw new ConfigurationException("Error adding web.xml to web deployment.", e);
+        }
+    }
+
+    String getJBossWebXML() throws TemplateException {
+        FreeMarkerTemplate template = new FreeMarkerTemplate("templates/jboss-web.xml.ftl", WebDeploymentArchive.class);
+        Map contextObj = new HashMap();
+
+        contextObj.put("webModel", webModel);
+
+        return template.apply(contextObj);
+    }
+
+    public final void addEntry(String path, InputStream data) {
+        assertNotFinalized();
+        super.addEntry(path, data);
+    }
+
+    public final void addEntry(String path, byte[] data) {
+        assertNotFinalized();
+        super.addEntry(path, data);
+    }
+
+    public final void addEntry(String path) {
+        super.addEntry(path);
+    }
+
+    public final void addEntry(String path, String resource) throws IOException {
+        super.addEntry(path, resource);
+    }
+
+    public void addEntry(Class clazz) throws IOException {
+        super.addEntry(clazz);
+    }
+
+    private void assertNotFinalized() {
+        if(archiveFinalized) {
+            throw new IllegalStateException("Cannot update archive after it has been finalized!");
+        }
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,62 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2008, JBoss Inc.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.internal.soa.esb.listeners.war.HttpGatewayDeploymentFactory;
-import org.jboss.logging.Logger;
-
-/**
- * Web Gateway Deployment Factory.
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public interface WebGatewayDeploymentFactory {
-
-    /**
-     * Update the {@link WebModel} based on the supplied web endpoint configuration.
-     * @param webEndpointConfig The web endpoint configuration.
-     * @param webModel The Web Model to be updated.
-     * @return The deployment archives.
-     * @throws ConfigurationException Failed to create the Deployment Archives. 
-     */
-    public void updateWebModel(ConfigTree webEndpointConfig, WebModel webModel) throws ConfigurationException;
-
-    /**
-     * Factory builder.
-     */
-    public static class FactoryBuilder {
-
-        private final static Logger logger = Logger.getLogger(FactoryBuilder.class);
-
-        public static WebGatewayDeploymentFactory createInstance(String gatewayClass) {
-
-            // Intentionally not allowing specification of the implementation.  Was deemed
-            // too risky.  Must be an internally defined implementation.
-            if(HttpGatewayDeploymentFactory.class.getName().equals(gatewayClass)) {
-                return new HttpGatewayDeploymentFactory();
-            }
-            
-            logger.debug("Not creating a WebGatewayDeploymentFactory instance for '" + gatewayClass + "'.  Not an internally defined WebGatewayDeploymentFactory implementation.");
-
-            return null;
-        }
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebGatewayDeploymentFactory.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.internal.soa.esb.listeners.war.HttpGatewayDeploymentFactory;
+import org.jboss.logging.Logger;
+
+/**
+ * Web Gateway Deployment Factory.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public interface WebGatewayDeploymentFactory {
+
+    /**
+     * Update the {@link WebModel} based on the supplied web endpoint configuration.
+     * @param webEndpointConfig The web endpoint configuration.
+     * @param webModel The Web Model to be updated.
+     * @return The deployment archives.
+     * @throws ConfigurationException Failed to create the Deployment Archives. 
+     */
+    public void updateWebModel(ConfigTree webEndpointConfig, WebModel webModel) throws ConfigurationException;
+
+    /**
+     * Factory builder.
+     */
+    public static class FactoryBuilder {
+
+        private final static Logger logger = Logger.getLogger(FactoryBuilder.class);
+
+        public static WebGatewayDeploymentFactory createInstance(String gatewayClass) {
+
+            // Intentionally not allowing specification of the implementation.  Was deemed
+            // too risky.  Must be an internally defined implementation.
+            if(HttpGatewayDeploymentFactory.class.getName().equals(gatewayClass)) {
+                return new HttpGatewayDeploymentFactory();
+            }
+            
+            logger.debug("Not creating a WebGatewayDeploymentFactory instance for '" + gatewayClass + "'.  Not an internally defined WebGatewayDeploymentFactory implementation.");
+
+            return null;
+        }
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,111 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-
-import java.util.*;
-
-/**
- * JEE WAR deployment model.
- * 
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class WebModel {
-
-    private String esbName;
-    private List<Filter> filters = new ArrayList<Filter>();
-    private List<Servlet> servlets = new ArrayList<Servlet>();
-    private Set<String> securityRoles = new LinkedHashSet<String>();
-    private String authMethod;
-    private String authDomain;
-
-    public WebModel(String esbName) {
-        AssertArgument.isNotNullAndNotEmpty(esbName, "esbName");
-        this.esbName = esbName;
-    }
-
-    public String getEsbName() {
-        return esbName;
-    }
-
-    public List<Filter> getFilters() {
-        return filters;
-    }
-
-    public List<Servlet> getServlets() {
-        return servlets;
-    }
-
-    public Set<String> getSecurityRoles() {
-        return securityRoles;
-    }
-
-    public String getAuthMethod() {
-        if(authMethod == null && (authDomain != null || !securityRoles.isEmpty())) {
-            // Default the method to "BASIC" if there's an authDomain,
-            // or role set, specified....
-            return "BASIC";
-        }
-
-        return authMethod;
-    }
-
-    public void setAuthMethod(String authMethod) throws ConfigurationException {
-        if(authMethod == null) {
-            // Just ignore it...
-            return;
-        }
-
-        // If it has already been set, create an error if the incoming value is something
-        // other than the current value?
-        if(this.authMethod != null && !this.authMethod.equals(authMethod)) {
-            throw new ConfigurationException("The authentication method for the web deployment associated with this deployment has already been set to '" + this.authMethod + "'.  Cannot reset to '" + authMethod + "'.");
-        }
-
-        this.authMethod = authMethod;
-    }
-
-    public String getAuthDomain() {
-        return authDomain;
-    }
-
-    public void setAuthDomain(String authDomain) throws ConfigurationException {
-        if(authDomain == null) {
-            // Just ignore it...
-            return;
-        }
-
-        if(!authDomain.startsWith("java:/jaas/")) {
-            authDomain = "java:/jaas/" + authDomain;
-        }
-
-        // If it has already been set, create an error if the incoming value is something
-        // other than the current value?
-        if(this.authDomain != null && !this.authDomain.equals(authDomain)) {
-            throw new ConfigurationException("The authentication domain for the web deployment associated with this deployment has already been set to '" + this.authDomain + "'.  Cannot reset to '" + authDomain + "'.");
-        }
-
-        this.authDomain = authDomain;
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/WebModel.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,111 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+import java.util.*;
+
+/**
+ * JEE WAR deployment model.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class WebModel {
+
+    private String esbName;
+    private List<Filter> filters = new ArrayList<Filter>();
+    private List<Servlet> servlets = new ArrayList<Servlet>();
+    private Set<String> securityRoles = new LinkedHashSet<String>();
+    private String authMethod;
+    private String authDomain;
+
+    public WebModel(String esbName) {
+        AssertArgument.isNotNullAndNotEmpty(esbName, "esbName");
+        this.esbName = esbName;
+    }
+
+    public String getEsbName() {
+        return esbName;
+    }
+
+    public List<Filter> getFilters() {
+        return filters;
+    }
+
+    public List<Servlet> getServlets() {
+        return servlets;
+    }
+
+    public Set<String> getSecurityRoles() {
+        return securityRoles;
+    }
+
+    public String getAuthMethod() {
+        if(authMethod == null && (authDomain != null || !securityRoles.isEmpty())) {
+            // Default the method to "BASIC" if there's an authDomain,
+            // or role set, specified....
+            return "BASIC";
+        }
+
+        return authMethod;
+    }
+
+    public void setAuthMethod(String authMethod) throws ConfigurationException {
+        if(authMethod == null) {
+            // Just ignore it...
+            return;
+        }
+
+        // If it has already been set, create an error if the incoming value is something
+        // other than the current value?
+        if(this.authMethod != null && !this.authMethod.equals(authMethod)) {
+            throw new ConfigurationException("The authentication method for the web deployment associated with this deployment has already been set to '" + this.authMethod + "'.  Cannot reset to '" + authMethod + "'.");
+        }
+
+        this.authMethod = authMethod;
+    }
+
+    public String getAuthDomain() {
+        return authDomain;
+    }
+
+    public void setAuthDomain(String authDomain) throws ConfigurationException {
+        if(authDomain == null) {
+            // Just ignore it...
+            return;
+        }
+
+        if(!authDomain.startsWith("java:/jaas/")) {
+            authDomain = "java:/jaas/" + authDomain;
+        }
+
+        // If it has already been set, create an error if the incoming value is something
+        // other than the current value?
+        if(this.authDomain != null && !this.authDomain.equals(authDomain)) {
+            throw new ConfigurationException("The authentication domain for the web deployment associated with this deployment has already been set to '" + this.authDomain + "'.  Cannot reset to '" + authDomain + "'.");
+        }
+
+        this.authDomain = authDomain;
+    }
+}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates)

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
-<jboss-web>
-
-    <#if webModel.authDomain??>
-    <security-domain>${webModel.authDomain}</security-domain>
-    </#if>
-
-</jboss-web>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/jboss-web.xml.ftl	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
+<jboss-web>
+
+    <#if webModel.authDomain??>
+    <security-domain>${webModel.authDomain}</security-domain>
+    </#if>
+
+</jboss-web>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-    <#list webModel.filters as filter>
-
-    <!-- Filter '${filter.name}' configuration... -->
-    <filter>
-        <filter-name>${filter.name}</filter-name>
-        <filter-class>${filter.runtimeClass}</filter-class>
-
-        <#list filter.params as param>
-        <init-param>
-            <param-name>${param.key}</param-name>
-            <param-value>${param.value}</param-value>
-        </init-param>
-        </#list>
-
-    </filter>
-
-    <filter-mapping>
-        <filter-name>${filter.name}</filter-name>
-        <servlet-name>${filter.targetServlet.name}</servlet-name>
-    </filter-mapping>
-    </#list>
-
-    <#list webModel.servlets as servlet>
-
-    <!-- Servlet '${servlet.name}' configuration... -->
-    <servlet>
-        <servlet-name>${servlet.name}</servlet-name>
-        <servlet-class>${servlet.runtimeClass}</servlet-class>
-
-        <#list servlet.params as param>
-        <init-param>
-            <param-name>${param.key}</param-name>
-            <param-value>${param.value}</param-value>
-        </init-param>
-        </#list>
-    
-    </servlet>
-
-    <#list servlet.urlMappings as urlMapping>
-    <servlet-mapping>
-        <servlet-name>${servlet.name}</servlet-name>
-        <url-pattern>${urlMapping}</url-pattern>
-    </servlet-mapping>
-    </#list>
-    </#list>
-
-    <!-- Security constraints... -->
-    <#list webModel.servlets as servlet>
-
-    <#if servlet.securityConstraints??>
-    <security-constraint>
-        <web-resource-collection>
-            <web-resource-name>Constraints for servlet ${servlet.name}</web-resource-name>
-            <#list servlet.urlMappings as urlMapping>
-            <url-pattern>${urlMapping}</url-pattern>
-            </#list>
-            <#list servlet.securityConstraints.protectedMethods as method>
-            <http-method>${method}</http-method>
-            </#list>
-        </web-resource-collection>
-        <#if (servlet.securityConstraints.allowedRoles?size > 0)>
-        <auth-constraint>
-            <#list servlet.securityConstraints.allowedRoles as role>
-            <role-name>${role}</role-name>
-            </#list>
-        </auth-constraint>
-        <#else>
-        <auth-constraint/>
-        </#if>
-        <#if servlet.securityConstraints.transportGuarantee??>
-        <user-data-constraint>
-            <transport-guarantee>${servlet.securityConstraints.transportGuarantee}</transport-guarantee>
-        </user-data-constraint>
-        </#if>
-    </security-constraint>
-    </#if>
-
-    </#list>
-
-    <#if webModel.authMethod??>
-    <login-config>
-        <auth-method>${webModel.authMethod}</auth-method>
-        <realm-name>Authentication Realm for ${webModel.esbName}</realm-name>
-    </login-config>
-    </#if>
-
-    <#list webModel.securityRoles as role>
-    <security-role>
-        <role-name>${role}</role-name>
-    </security-role>
-    </#list>
-
-</web-app>

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/listeners/war/templates/web.xml.ftl	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+    <#list webModel.filters as filter>
+
+    <!-- Filter '${filter.name}' configuration... -->
+    <filter>
+        <filter-name>${filter.name}</filter-name>
+        <filter-class>${filter.runtimeClass}</filter-class>
+
+        <#list filter.params as param>
+        <init-param>
+            <param-name>${param.key}</param-name>
+            <param-value>${param.value}</param-value>
+        </init-param>
+        </#list>
+
+    </filter>
+
+    <filter-mapping>
+        <filter-name>${filter.name}</filter-name>
+        <servlet-name>${filter.targetServlet.name}</servlet-name>
+    </filter-mapping>
+    </#list>
+
+    <#list webModel.servlets as servlet>
+
+    <!-- Servlet '${servlet.name}' configuration... -->
+    <servlet>
+        <servlet-name>${servlet.name}</servlet-name>
+        <servlet-class>${servlet.runtimeClass}</servlet-class>
+
+        <#list servlet.params as param>
+        <init-param>
+            <param-name>${param.key}</param-name>
+            <param-value>${param.value}</param-value>
+        </init-param>
+        </#list>
+    
+    </servlet>
+
+    <#list servlet.urlMappings as urlMapping>
+    <servlet-mapping>
+        <servlet-name>${servlet.name}</servlet-name>
+        <url-pattern>${urlMapping}</url-pattern>
+    </servlet-mapping>
+    </#list>
+    </#list>
+
+    <!-- Security constraints... -->
+    <#list webModel.servlets as servlet>
+
+    <#if servlet.securityConstraints??>
+    <security-constraint>
+        <web-resource-collection>
+            <web-resource-name>Constraints for servlet ${servlet.name}</web-resource-name>
+            <#list servlet.urlMappings as urlMapping>
+            <url-pattern>${urlMapping}</url-pattern>
+            </#list>
+            <#list servlet.securityConstraints.protectedMethods as method>
+            <http-method>${method}</http-method>
+            </#list>
+        </web-resource-collection>
+        <#if (servlet.securityConstraints.allowedRoles?size > 0)>
+        <auth-constraint>
+            <#list servlet.securityConstraints.allowedRoles as role>
+            <role-name>${role}</role-name>
+            </#list>
+        </auth-constraint>
+        <#else>
+        <auth-constraint/>
+        </#if>
+        <#if servlet.securityConstraints.transportGuarantee??>
+        <user-data-constraint>
+            <transport-guarantee>${servlet.securityConstraints.transportGuarantee}</transport-guarantee>
+        </user-data-constraint>
+        </#if>
+    </security-constraint>
+    </#if>
+
+    </#list>
+
+    <#if webModel.authMethod??>
+    <login-config>
+        <auth-method>${webModel.authMethod}</auth-method>
+        <realm-name>Authentication Realm for ${webModel.esbName}</realm-name>
+    </login-config>
+    </#if>
+
+    <#list webModel.securityRoles as role>
+    <security-role>
+        <role-name>${role}</role-name>
+    </security-role>
+    </#list>
+
+</web-app>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/BaseWebService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/BaseWebService.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/BaseWebService.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -73,6 +73,7 @@
 
     private static final boolean RETURN_STACK_TRACES ;
     private static final Logger LOGGER = Logger.getLogger(BaseWebService.class);
+    private static final javax.xml.soap.MessageFactory SOAP_MESSAGE_FACTORY ;
 
     private static final AddressingBuilder ADDRESSING_BUILDER = AddressingBuilder.getAddressingBuilder() ;
     private static final String ADDRESSING_NAMESPACE = ADDRESSING_BUILDER.getNamespaceURI() ;
@@ -83,10 +84,10 @@
     protected final MessagePayloadProxy responseProxy ;
     protected final String action ;
 
-    protected BaseWebService(final String category, final String name, final String requestLocation, final String responseLocation, final String action)
+    protected BaseWebService(final ServiceInvoker serviceInvoker, final String requestLocation, final String responseLocation, final String action)
         throws MessageDeliverException
     {
-        serviceInvoker = new ServiceInvoker(category, name) ;
+        this.serviceInvoker = serviceInvoker ;
         requestProxy = new MessagePayloadProxy(null, requestLocation) ;
         responseProxy = new MessagePayloadProxy(responseLocation, null) ;
         this.action = action ;
@@ -94,6 +95,11 @@
 
     public SOAPMessage invoke(final SOAPMessage request)
     {
+        if (SOAP_MESSAGE_FACTORY == null)
+        {
+            throw new WebServiceException("Failed to instantiate SOAP Message Factory") ;
+        }
+        
         final SOAPAddressingProperties soapIncomingProps = AddressingContext.getAddressingProperties() ;
         
         final Message esbReq = MessageFactory.getInstance().getMessage() ;
@@ -146,7 +152,7 @@
 
                 final Document respDoc = YADOMUtil.parseStream(new ByteArrayInputStream(soapRes.getBytes()),
                         false, false, true);
-                final SOAPMessage response = javax.xml.soap.MessageFactory.newInstance().createMessage();
+                final SOAPMessage response = SOAP_MESSAGE_FACTORY.createMessage();
                 response.getSOAPBody().addDocument(respDoc) ;
                 if (soapIncomingProps == null)
                 {
@@ -167,7 +173,7 @@
             {
                 AddressingContext.setAddressingProperties(null) ;
                 // We should be able to return null here but this causes JBossWS to NPE.
-                return javax.xml.soap.MessageFactory.newInstance().createMessage();
+                return SOAP_MESSAGE_FACTORY.createMessage();
             }
         }
         catch (final WebServiceException wse)
@@ -192,7 +198,7 @@
 
                         if (faultCode != null)
                         {
-                            faultMsg = javax.xml.soap.MessageFactory.newInstance().createMessage() ;
+                            faultMsg = SOAP_MESSAGE_FACTORY.createMessage() ;
                             final SOAPFault fault = faultMsg.getSOAPBody().addFault(faultCode, faultDescription) ;
                             if (faultDetail != null)
                             {
@@ -233,7 +239,7 @@
     private SOAPMessage generateFault(final Throwable th)
         throws SOAPException
     {
-        final SOAPMessage faultMsg = javax.xml.soap.MessageFactory.newInstance().createMessage() ;
+        final SOAPMessage faultMsg = SOAP_MESSAGE_FACTORY.createMessage() ;
         if (RETURN_STACK_TRACES)
         {
             final StringWriter sw = new StringWriter() ;
@@ -298,5 +304,16 @@
         final PropertyManager propertyManager = ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE) ;
         final String returnStackTraces = propertyManager.getProperty(Environment.WS_RETURN_STACK_TRACE);
         RETURN_STACK_TRACES = Boolean.parseBoolean(returnStackTraces) ;
+        
+        javax.xml.soap.MessageFactory soapMessageFactory = null ;
+        try
+        {
+            soapMessageFactory = javax.xml.soap.MessageFactory.newInstance() ;
+        }
+        catch (final SOAPException soape)
+        {
+            LOGGER.error("Could not instantiate SOAP Message Factory", soape) ;
+        }
+        SOAP_MESSAGE_FACTORY = soapMessageFactory ;
     }
 }

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -19,10 +19,14 @@
  */
 package org.jboss.internal.soa.esb.webservice;
 
+import org.jboss.soa.esb.client.ServiceInvoker;
+
 import javassist.ClassPool;
 import javassist.CtClass;
 import javassist.CtConstructor;
+import javassist.CtField;
 import javassist.LoaderClassPath;
+import javassist.Modifier;
 import javassist.NotFoundException;
 import javassist.bytecode.AnnotationsAttribute;
 import javassist.bytecode.ConstPool;
@@ -111,7 +115,14 @@
 			
 			seiClass.getClassFile().addAttribute(attribute);
 			
-			final String constructorStr = "super(\"" +category + "\",\"" + service + "\"," +
+			final String siClassName = ServiceInvoker.class.getName() ;
+			final CtClass siClass = pool.get(siClassName) ;
+			final String siFieldName = "serviceInvoker" ;
+			final CtField field = new CtField(siClass, siFieldName, seiClass) ;
+			field.setModifiers(Modifier.PRIVATE | Modifier.STATIC | Modifier.FINAL) ;
+			seiClass.addField(field, "new " + siClassName + "(\"" + category + "\", \"" + service + "\")") ;
+			
+			final String constructorStr = "super(" + siFieldName + "," +
 				getParamValue(epInfo.getRequestLocation()) + "," + getParamValue(epInfo.getResponseLocation()) + ", \"" + 
 				epInfo.getResponseAction() + "\");" ;
 			CtConstructor defaultConstructor = new CtConstructor(null, seiClass) ;

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/OneWayBaseWebService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/OneWayBaseWebService.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/OneWayBaseWebService.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -21,6 +21,7 @@
 */
 package org.jboss.internal.soa.esb.webservice;
 
+import org.jboss.soa.esb.client.ServiceInvoker;
 import org.jboss.soa.esb.listeners.message.MessageDeliverException;
 import org.jboss.soa.esb.message.Message;
 
@@ -30,10 +31,10 @@
  */
 public class OneWayBaseWebService extends BaseWebService
 {
-    protected OneWayBaseWebService(final String category, final String name, final String requestLocation, final String responseLocation, final String action)
+    protected OneWayBaseWebService(final ServiceInvoker serviceInvoker, final String requestLocation, final String responseLocation, final String action)
         throws MessageDeliverException
     {
-        super(category, name, requestLocation, responseLocation, action) ;
+        super(serviceInvoker, requestLocation, responseLocation, action) ;
     }
     
     @Override

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/RequestResponseBaseWebService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/RequestResponseBaseWebService.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/internal/soa/esb/webservice/RequestResponseBaseWebService.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -22,10 +22,12 @@
 package org.jboss.internal.soa.esb.webservice;
 
 import org.apache.log4j.Logger;
+import org.jboss.soa.esb.client.ServiceInvoker;
 import org.jboss.soa.esb.common.Environment;
 import org.jboss.soa.esb.common.ModulePropertyManager;
 import org.jboss.soa.esb.listeners.message.MessageDeliverException;
 import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
 
 import com.arjuna.common.util.propertyservice.PropertyManager;
 
@@ -40,10 +42,10 @@
     private static final long TIMEOUT ;
     private static final Logger LOGGER = Logger.getLogger(RequestResponseBaseWebService.class) ;
     
-    protected RequestResponseBaseWebService(final String category, final String name, final String requestLocation, final String responseLocation, final String action)
+    protected RequestResponseBaseWebService(final ServiceInvoker serviceInvoker, final String requestLocation, final String responseLocation, final String action)
         throws MessageDeliverException
     {
-        super(category, name, requestLocation, responseLocation, action) ;
+        super(serviceInvoker, requestLocation, responseLocation, action) ;
     }
     
     @Override

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.actions.routing.http;
-
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-
-import java.io.Serializable;
-
-/**
- * Http header.
- * <p/>
- * Simple name-value pair.
- * 
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class HttpHeader implements Serializable {
-    
-    private String name;
-    private String value;
-
-    public HttpHeader(String name, String value) {
-        AssertArgument.isNotNullAndNotEmpty(name, "name");
-        AssertArgument.isNotNullAndNotEmpty(value, "value");
-        this.name = name;
-        this.value = value;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getValue() {
-        return value;
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpHeader.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.actions.routing.http;
+
+/**
+ * Http Header.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @deprecated Use {@link org.jboss.soa.esb.http.HttpHeader}.
+ */
+public class HttpHeader extends org.jboss.soa.esb.http.HttpHeader {
+
+    public HttpHeader(String name, String value) {
+        super(name, value);
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.actions.routing.http;
-
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class HttpResponse implements Serializable {
-
-    public static final String RESPONSE_KEY = HttpResponse.class.getName() + "#response";
-
-    private int responseCode;
-    private long length;
-    private String encoding;
-    private List<HttpHeader> headers = new ArrayList<HttpHeader>();
-
-    public HttpResponse(int responseCode) {
-        this.responseCode = responseCode;
-    }
-
-    public int getResponseCode() {
-        return responseCode;
-    }
-
-    public long getLength() {
-        return length;
-    }
-
-    public void setLength(long length) {
-        this.length = length;
-    }
-
-    public String getEncoding() {
-        return encoding;
-    }
-
-    public void setEncoding(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public List<HttpHeader> getHeaders() {
-        return headers;
-    }
-
-    public void addHeader(HttpHeader header) {
-        AssertArgument.isNotNull(header, "header");
-        headers.add(header);
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpResponse.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.actions.routing.http;
+
+/**
+ * Http Response Object. 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @deprecated Use {@link org.jboss.soa.esb.http.HttpResponse}
+ */
+public class HttpResponse extends org.jboss.soa.esb.http.HttpResponse {
+    public HttpResponse(int responseCode) {
+        super(responseCode);
+    }
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpRouter.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpRouter.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/actions/routing/http/HttpRouter.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -20,12 +20,14 @@
 package org.jboss.soa.esb.actions.routing.http;
 
 import java.io.Closeable;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.Properties;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.apache.commons.httpclient.Header;
 import org.apache.commons.httpclient.HttpClient;
@@ -39,11 +41,17 @@
 import org.jboss.soa.esb.actions.routing.AbstractRouter;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.http.HttpClientFactory;
+import org.jboss.soa.esb.http.HttpHeader;
+import org.jboss.soa.esb.http.HttpRequest;
+import org.jboss.soa.esb.http.HttpResponse;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
 import org.jboss.soa.esb.listeners.message.MessageDeliverException;
 import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Properties;
 import org.jboss.soa.esb.message.ResponseHeader;
 import org.jboss.soa.esb.message.ResponseStatus;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.util.FileUtil;
 
 /**
  * Http router.
@@ -57,7 +65,7 @@
     private static Logger logger = Logger.getLogger(HttpRouter.class);
 
     private ConfigTree config;
-    private Properties httpClientProps = new Properties();
+    private java.util.Properties httpClientProps = new java.util.Properties();
     private HttpClient httpclient;
     private URL endpointUrl;
     private String method;
@@ -68,6 +76,16 @@
     private boolean httpResponseStatusEnabled;
     
     private final String[] mappedHeaderList ;
+
+    private static Set<String> coreProperties;
+    static {
+        coreProperties = new HashSet<String>();
+        coreProperties.add("endpointUrl");
+        coreProperties.add("method");
+        coreProperties.add("responseType");
+        coreProperties.add("Content-Type");
+        coreProperties.add("method");
+    }
     
     public HttpRouter(ConfigTree config) throws ConfigurationException {
         super(config);
@@ -133,7 +151,7 @@
         return message;
     }
 
-    byte[] readStream(final InputStream stream) throws IOException {
+    static byte[] readStream(final InputStream stream) throws IOException {
         if (stream != null) {
             return StreamUtils.readStream(stream);
         }
@@ -141,7 +159,7 @@
            return new byte[0];
     }
 
-    void closeStream(final Closeable c) throws IOException {
+    static void closeStream(final Closeable c) throws IOException {
         if (c != null) {
             c.close();
         }
@@ -168,7 +186,7 @@
 
     private void attachResponseDetails(Message message, HttpMethodBase method, int responseCode) {
         HttpResponse response = new HttpResponse(responseCode);
-        org.jboss.soa.esb.message.Properties properties = message.getProperties();
+        Properties properties = message.getProperties();
 
         response.setEncoding(method.getResponseCharSet());
         response.setLength(method.getResponseContentLength());
@@ -177,7 +195,7 @@
         for(Header responseHeader : responseHeaders) {
         	String name = responseHeader.getName();
         	String value = responseHeader.getValue();
-            response.addHeader(new HttpHeader(name, value));
+            response.addHeader(new org.jboss.soa.esb.http.HttpHeader(name, value));
             // JBESB-2511
             new ResponseHeader(name, value).setPropertyNameThis(properties);
         }
@@ -186,7 +204,7 @@
         	ResponseStatus.setHttpProperties(properties, responseCode, method.getStatusLine().getReasonPhrase());
         }
         
-        message.getBody().add(HttpResponse.RESPONSE_KEY, response);
+        response.setResponse(message);
     }
 
     private void setRequestHeaders(HttpMethodBase method, Message message) {
@@ -213,29 +231,52 @@
         }
     }
     
-    private void setMappedHttpHeaders(HttpMethodBase method, Message message) {
-        for (String headerName : mappedHeaderList) {
-            final Object header = getHttpHeaders(message, headerName);
-            if (header != null) {
-                final String headerValue = header.toString() ;
-                if (headerValue.length() > 0) {
-                    method.setRequestHeader(headerName, headerValue);
-                }
+	private void setMappedHttpHeaders(HttpMethodBase method, Message message) {
+    	HttpRequest request = HttpRequest.getRequest(message);
+    	Properties properties = message.getProperties();
+    	for (String headerName : mappedHeaderList) {
+    		String headerValue = null;
+    		if (request != null) {
+    			headerValue = getHttpHeaderValue(request, headerName);
+    		}
+    		if (headerValue == null) {
+    			headerValue = getHttpHeaderValue(properties, headerName);
+    		}
+    		if (headerValue != null) {
+    			method.setRequestHeader(headerName, headerValue);
+    		}
+    	}
+	}
+	
+    private String getHttpHeaderValue(HttpRequest request, String headerName) {
+    	String headerValue = null;
+        for (HttpHeader header : request.getHeaders()) {
+        	String name = header.getName();
+        	// HTTP header field names are case-insensitive
+            if (name.equalsIgnoreCase(headerName)) {
+            	headerValue = header.getValue();
+            	break;
             }
         }
+        return headerValue;
     }
     
-    // HTTP header field names are case-insensitive
-    private Object getHttpHeaders(Message esbMessage, String headerName) {
-        
-        org.jboss.soa.esb.message.Properties ps = esbMessage.getProperties();
-        for(String name : ps.getNames()) {
+    private String getHttpHeaderValue(Properties properties, String headerName) {
+    	String headerValue = null;
+        for (String name : properties.getNames()) {
+        	// HTTP header field names are case-insensitive
             if (name.equalsIgnoreCase(headerName)) {
-                return ps.getProperty(name);
+            	Object property = properties.getProperty(name);
+            	if (property != null) {
+            		headerValue = property.toString();
+            		if (headerValue.length() == 0) {
+            			headerValue = null;
+            		}
+            	}
+            	break;
             }
         }
-        
-        return null;
+        return headerValue;
     }
 
     public String[] getMappedHeaderList() {
@@ -275,4 +316,52 @@
             }
         }
     }
+
+    public static void main(String[] args) throws ConfigurationException, ActionProcessingException {
+        ConfigTree configTree = new ConfigTree("config");
+
+        for(String arg : args) {
+            int equalsIdx = arg.indexOf('=');
+
+            if(equalsIdx == -1) {
+                throw new IllegalArgumentException("Arguments must be in 'name=value' format.");
+            }
+
+            String name = arg.substring(0, equalsIdx);
+            String value = arg.substring(equalsIdx + 1);
+            if(!coreProperties.contains(name) && !name.equals("payload")) {
+                ConfigTree httpClientProperty = new ConfigTree("http-client-property", configTree);
+                httpClientProperty.setAttribute("name", name);
+                httpClientProperty.setAttribute("value", value);
+            } else {
+                configTree.setAttribute(name, value);
+            }
+        }
+
+        HttpRouter router = new HttpRouter(configTree);
+        Message message = MessageFactory.getInstance().getMessage();
+
+        String payload = configTree.getAttribute("payload");
+        if(payload != null) {
+            try {
+                File file = new File(payload);
+                if(file.exists()) {
+                    payload = FileUtil.readTextFile(file);
+                }
+            } catch (Exception e) {
+                // Ignore...
+            }
+            System.out.println("Request payload:\n" + payload);
+            System.out.println("--------------------------\n");
+            message.getBody().add(payload);
+        }
+
+        message = router.process(message);
+
+        HttpResponse responseInfo = HttpResponse.getResponse(message);
+        System.out.println();
+        System.out.println("Response Status Code: " + responseInfo.getResponseCode());
+        System.out.println("Response payload:\n" + message.getBody().get());
+        System.out.println("--------------------------\n");
+    }
 }

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpHeader.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/http/HttpHeader.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpHeader.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpHeader.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.http;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+import java.io.Serializable;
+
+/**
+ * Http header.
+ * <p/>
+ * Simple name-value pair.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class HttpHeader implements Serializable {
+    
+    private String name;
+    private String value;
+
+    public HttpHeader(String name, String value) {
+        AssertArgument.isNotNullAndNotEmpty(name, "name");
+        AssertArgument.isNotNullAndNotEmpty(value, "value");
+        this.name = name;
+        this.value = value;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpRequest.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/http/HttpRequest.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpRequest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpRequest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,250 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.http;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * HTTP Request Information.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class HttpRequest implements Serializable {
+
+    /** Request information key in esb message properties */
+    private static final String REQUEST_KEY = HttpRequest.class.getName() + "#request";
+
+    private String authType;
+    private String characterEncoding;
+    private String contentType;
+    private String contextPath;
+    private String localAddr;
+    private String localName;
+    private String method;
+    private String pathInfo;
+    private String protocol;
+    private String queryString;
+    private String remoteAddr;
+    private String remoteHost;
+    private String remoteUser;
+    private int contentLength;
+    private String requestSessionId;
+    private String requestURI;
+    private String scheme;
+    private String serverName;
+    private String requestPath;
+    private List<String> pathInfoTokens = new ArrayList<String>();
+    private Map<String, String[]> queryParams = new HashMap<String, String[]>();
+    private List<HttpHeader> headers = new ArrayList<HttpHeader>();
+
+    public String getAuthType() {
+        return authType;
+    }
+
+    public void setAuthType(String authType) {
+        this.authType = authType;
+    }
+
+    public String getCharacterEncoding() {
+        return characterEncoding;
+    }
+
+    public void setCharacterEncoding(String characterEncoding) {
+        this.characterEncoding = characterEncoding;
+    }
+
+    public String getContentType() {
+        return contentType;
+    }
+
+    public void setContentType(String contentType) {
+        this.contentType = contentType;
+    }
+
+    public String getContextPath() {
+        return contextPath;
+    }
+
+    public void setContextPath(String contextPath) {
+        this.contextPath = contextPath;
+    }
+
+    public String getLocalAddr() {
+        return localAddr;
+    }
+
+    public void setLocalAddr(String localAddr) {
+        this.localAddr = localAddr;
+    }
+
+    public String getLocalName() {
+        return localName;
+    }
+
+    public void setLocalName(String localName) {
+        this.localName = localName;
+    }
+
+    public String getMethod() {
+        return method;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    public String getPathInfo() {
+        return pathInfo;
+    }
+
+    public void setPathInfo(String pathInfo) {
+        this.pathInfo = pathInfo;
+    }
+
+    public String getProtocol() {
+        return protocol;
+    }
+
+    public void setProtocol(String protocol) {
+        this.protocol = protocol;
+    }
+
+    public String getQueryString() {
+        return queryString;
+    }
+
+    public void setQueryString(String queryString) {
+        this.queryString = queryString;
+    }
+
+    public String getRemoteAddr() {
+        return remoteAddr;
+    }
+
+    public void setRemoteAddr(String remoteAddr) {
+        this.remoteAddr = remoteAddr;
+    }
+
+    public String getRemoteHost() {
+        return remoteHost;
+    }
+
+    public void setRemoteHost(String remoteHost) {
+        this.remoteHost = remoteHost;
+    }
+
+    public String getRemoteUser() {
+        return remoteUser;
+    }
+
+    public void setRemoteUser(String remoteUser) {
+        this.remoteUser = remoteUser;
+    }
+
+    public int getContentLength() {
+        return contentLength;
+    }
+
+    public void setContentLength(int contentLength) {
+        this.contentLength = contentLength;
+    }
+
+    public String getRequestSessionId() {
+        return requestSessionId;
+    }
+
+    public void setRequestSessionId(String requestSessionId) {
+        this.requestSessionId = requestSessionId;
+    }
+
+    public String getRequestURI() {
+        return requestURI;
+    }
+
+    public void setRequestURI(String requestURI) {
+        this.requestURI = requestURI;
+    }
+
+    public String getScheme() {
+        return scheme;
+    }
+
+    public void setScheme(String scheme) {
+        this.scheme = scheme;
+    }
+
+    public String getServerName() {
+        return serverName;
+    }
+
+    public void setServerName(String serverName) {
+        this.serverName = serverName;
+    }
+
+    public String getRequestPath() {
+        return requestPath;
+    }
+
+    public void setRequestPath(String requestPath) {
+        this.requestPath = requestPath;
+    }
+
+    public List<String> getPathInfoTokens() {
+        return pathInfoTokens;
+    }
+
+    public Map<String, String[]> getQueryParams() {
+        return queryParams;
+    }
+
+    public List<HttpHeader> getHeaders() {
+        return headers;
+    }
+    
+    public HttpHeader getHeader(String headerName) {
+    	for (HttpHeader header : headers) {
+    		if (header.getName().equalsIgnoreCase(headerName)) {
+    			return header;
+    		}
+    	}
+    	return null;
+    }
+    
+    public String getHeaderValue(String headerName) {
+    	HttpHeader header = getHeader(headerName);
+    	return (header != null) ? header.getValue() : null;
+    }
+
+    public static HttpRequest getRequest(Message message) {
+        AssertArgument.isNotNull(message, "message");
+        return (HttpRequest) message.getProperties().getProperty(HttpRequest.REQUEST_KEY);
+    }
+
+    public void setRequest(Message message) {
+        AssertArgument.isNotNull(message, "message");
+        message.getProperties().setProperty(HttpRequest.REQUEST_KEY, this);
+    }
+}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpResponse.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/http/HttpResponse.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpResponse.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpResponse.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,92 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.http;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.soa.esb.message.Message;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class HttpResponse implements Serializable {
+
+    public static final String RESPONSE_KEY = HttpResponse.class.getName() + "#response";
+
+    private Integer responseCode;
+    private String contentType;
+    private String encoding;
+    private Long length;
+    private List<HttpHeader> headers = new ArrayList<org.jboss.soa.esb.http.HttpHeader>();
+
+    public HttpResponse(int responseCode) {
+        this.responseCode = responseCode;
+    }
+
+    public Integer getResponseCode() {
+        return responseCode;
+    }
+
+    public Long getLength() {
+        return length;
+    }
+
+    public void setLength(Long length) {
+        this.length = length;
+    }
+
+    public String getContentType() {
+        return contentType;
+    }
+
+    public void setContentType(String contentType) {
+        this.contentType = contentType;
+    }
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    public List<HttpHeader> getHeaders() {
+        return headers;
+    }
+
+    public void addHeader(HttpHeader header) {
+        AssertArgument.isNotNull(header, "header");
+        headers.add(header);
+    }
+
+    public static HttpResponse getResponse(Message message) {
+        AssertArgument.isNotNull(message, "message");
+        return (HttpResponse) message.getBody().get(HttpResponse.RESPONSE_KEY);
+    }
+
+    public void setResponse(Message message) {
+        AssertArgument.isNotNull(message, "message");
+        message.getBody().add(HttpResponse.RESPONSE_KEY, this);
+    }
+}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpServletSecUtil.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/http/HttpServletSecUtil.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpServletSecUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/http/HttpServletSecUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,100 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.http;
+
+import org.jboss.soa.esb.services.security.auth.AuthenticationRequest;
+import org.jboss.soa.esb.services.security.auth.AuthenticationRequestImpl;
+import org.jboss.soa.esb.services.security.PublicCryptoUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.util.Base64;
+import org.apache.log4j.Logger;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.ServletException;
+import java.util.Set;
+import java.util.HashSet;
+import java.security.Principal;
+
+/**
+ * Http Servlet security utilities.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class HttpServletSecUtil {
+
+    private static final Logger logger = Logger.getLogger(HttpServletSecUtil.class);
+
+    public static boolean addAuthDetailsToMessage(HttpServletRequest request, Message message) throws ServletException {
+        Principal userPrincipal = request.getUserPrincipal();
+
+        if(userPrincipal != null) {
+            // It's a logged in user.  Need to get the login details from the Authorization header
+            // and pass it along in the ESB Message sent to the Service...
+            AuthenticationRequest authRequest = buildAuthenticationRequest(request);
+
+            // Set the AuthenticationRequest on the inbound message...
+            try {
+                return PublicCryptoUtil.INSTANCE.addAuthRequestToMessage(authRequest, message);
+            } catch (MessageDeliverException e) {
+                throw new ServletException("Failed to attach AuthenticationRequest to ESB Message.", e);
+            }
+        }
+
+        return false;
+    }
+
+    public static AuthenticationRequest buildAuthenticationRequest(HttpServletRequest req) {
+        String authHeader = req.getHeader("Authorization");
+
+        if(authHeader == null) {
+            authHeader = req.getHeader("authorization");
+        }
+
+        if(authHeader != null) {
+            // Handle BASIC auth...
+            if("BASIC".equals(req.getAuthType())) {
+                String bas64Data = authHeader.substring(authHeader.indexOf(' ')).trim();
+                String decodedData = new String(Base64.decode(bas64Data));
+                String[] authTokens = decodedData.split(":");
+                Set<Object> credentials = new HashSet<Object>();
+
+                // The auth tokens are "username:password", so the second token is the
+                // password, which is the credential in this case...
+                credentials.add(authTokens[1].toCharArray());
+
+                if(logger.isDebugEnabled()) {
+                    logger.debug("User '" + authTokens[0] + "' authenticated by container using 'BASIC' auth.  Forwarding to ESB Service.");
+                }
+
+                return new AuthenticationRequestImpl.Builder(req.getUserPrincipal(), credentials).build();
+            } else {
+                if(logger.isDebugEnabled()) {
+                    logger.debug("Authentication  method '" + req.getAuthType() + "' not supported for passing Authorization token to ESB Security.");
+                }
+            }
+            // TODO: Add support for Client-cert and Digest auth?
+        }
+
+        return null;
+    }
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/LifecycleUtil.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/LifecycleUtil.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/LifecycleUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -29,6 +29,7 @@
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
 import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.internal.soa.esb.listeners.war.WebGatewayDeploymentFactory;
 import org.jboss.soa.esb.parameters.ParamRepositoryException;
 import org.jboss.soa.esb.parameters.ParamRepositoryFactory;
 import org.jboss.soa.esb.util.ClassUtil;
@@ -131,9 +132,16 @@
                 {
                     throw new ManagedLifecycleException("Could not locate managed instance " + classname) ;
                 }
-                
+
                 if (!ManagedLifecycle.class.isAssignableFrom(instanceClass))
                 {
+                    if (WebGatewayDeploymentFactory.class.isAssignableFrom(instanceClass)) {
+                        // These guys are deployed as sub deployments by the main
+                        // deployer, so we skip them here if they don't implement
+                        // ManagedLifecycle...
+                        continue;
+                    }
+                    
                     throw new ManagedLifecycleException("Managed instance " + classname + " does not implement ManagedLifecycle") ;
                 }
                 

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -63,6 +63,9 @@
         public static final String TRANSACTED_TAG            = "transacted";
         public static final String ROLLBACK_ON_PIPELINE_FAULTS = "rollbackOnPipelineFaults";
 
+    /** Gateways and Listeners */
+    public static final String BUSIDREF_ATTRIBUTE_TAG            = "busIdRef";
+
 	/** Deployment */
 	public static final String DEPLOYMENT_NAME_TAG 			= "deployment";
 

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -72,6 +72,15 @@
       }
    }
 
+   public static String getMep(ConfigTree listenerConfig) {
+       String mep = listenerConfig.getAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG);
+       if(mep != null) {
+           return mep;
+       } else {
+           return ListenerTagNames.MEP_REQUEST_RESPONSE;
+       }
+   }
+
    public static ManagedLifecycleController create(String configXml) {
 	   return create (configXml, null);
    }

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/DeploymentResourceLocator.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/DeploymentResourceLocator.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/DeploymentResourceLocator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/DeploymentResourceLocator.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.listeners.config;
+
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * Deployment resource locator.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public interface DeploymentResourceLocator {
+
+    /**
+     * Get the resource under the specified path.
+     * @param resourcePath Path to the resource in the deployment.
+     * @return The resource stream, or null if the resource does not exist.
+     */
+    InputStream getResource(String resourcePath);
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -21,32 +21,17 @@
 */
 package org.jboss.soa.esb.listeners.config;
 
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
+import java.io.*;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
+import java.util.*;
 import java.util.Map.Entry;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipException;
 import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
 
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
+import javax.management.JMException;
 
 import org.jboss.deployment.DeploymentException;
 import org.jboss.deployment.DeploymentInfo;
@@ -60,6 +45,7 @@
 import org.jboss.internal.soa.esb.webservice.ESBServiceContractPublisher;
 import org.jboss.internal.soa.esb.webservice.ESBServiceEndpointInfo;
 import org.jboss.internal.soa.esb.webservice.JAXWSProviderClassGenerator;
+import org.jboss.internal.soa.esb.listeners.war.*;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.MetaData;
 import org.jboss.metadata.XmlFileLoader;
@@ -67,9 +53,12 @@
 import org.jboss.mx.util.MBeanProxyExt;
 import org.jboss.mx.util.ObjectNameConverter;
 import org.jboss.soa.esb.Service;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.lifecycle.LifecycleResourceManager;
 import org.jboss.soa.esb.listeners.config.model.ModelAdapter;
 import org.jboss.soa.esb.util.FileUtil;
+import org.jboss.soa.esb.util.DeploymentArchive;
 import org.jboss.system.ServiceControllerMBean;
 import org.jboss.web.AbstractWebContainer;
 import org.w3c.dom.Element;
@@ -92,10 +81,11 @@
    
    private static final String PREFIX_CANONICAL_NAME = "jboss.esb:deployment=" ;
    private static final String ESB_ARTIFACT_NAME = "jbossesb.esb" ;
-   
+   private static final String SUB_DEPLOYMENTS = JBoss4ESBDeployer.class.getName() + "#SUB_DEPLOYMENTS";
+    
    /**
     * The path the the directory that will be used to generate the war file
-    * for EBWS deployments.
+    * for all web gateway deployments (EBWS and HTTP Gateways).
     */
    private String warFilesDir;
    
@@ -265,28 +255,22 @@
          initialiseDeploymentName(deployment) ;
          final String deploymentName = deployment.getDeploymentName() ;
          di.context.put(JBoss4ESBDeploymentMetaData.class, new JBoss4ESBDeploymentMetaData(deployment, deploymentName, deps)) ;
+         di.context.put(SUB_DEPLOYMENTS, new ArrayList<File>()) ;
+
          // invoke super-class initialization
          super.init(di);
-         
-         // create webservice WAR
-         final ClassLoader origCL = Thread.currentThread().getContextClassLoader() ;
-         final List<ContractReferencePublisher> publishers = new ArrayList<ContractReferencePublisher>() ;
-         final File warFile ;
-         try
-         {
-             Thread.currentThread().setContextClassLoader(di.localCl) ;
-             warFile = createWebserviceWars(di, model, deploymentName, publishers);
-         }
-         finally
-         {
-             Thread.currentThread().setContextClassLoader(origCL) ;
-         }
-         if (warFile != null)
-         {
-             deployment.setPublishers(publishers) ;
-             final URL warFileURL = warFile.toURL() ;
-             deployUrl(di, warFileURL, warFile.getName()) ;
-         }
+
+         // Deploy web gateways...
+          final ClassLoader origCL = Thread.currentThread().getContextClassLoader() ;
+          try
+          {
+              Thread.currentThread().setContextClassLoader(di.localCl) ;
+              deployWebGateways(deployment, model, di);
+          }
+          finally
+          {
+              Thread.currentThread().setContextClassLoader(origCL) ;
+          }
       }
       catch (Exception e)
       {
@@ -428,25 +412,16 @@
           }
       }
    }
-   
-   private File createWebserviceWars(final DeploymentInfo di, final ModelAdapter model, final String deploymentName,
-       final List<ContractReferencePublisher> publishers)
+
+   private void createWebserviceWars(final DeploymentInfo di, final ModelAdapter model, final String deploymentName,
+                                     final List<ContractReferencePublisher> publishers, WebDeploymentArchive webDeployment)
        throws DeploymentException
    {
-       final String esbName = di.shortName;
        final List<WebserviceInfo> endpointServices =  model.getWebserviceServices() ;
        if (endpointServices != null)
        {
            if (endpointServices.size() > 0)
            {
-               final StringWriter filterDefinitions = new StringWriter() ;
-               final StringWriter filterMappings = new StringWriter() ;
-               final StringWriter servletDefinitions = new StringWriter() ;
-               final StringWriter servletMappings = new StringWriter() ;
-               
-               final ByteArrayOutputStream baos = new ByteArrayOutputStream() ;
-               final ZipOutputStream zos = new ZipOutputStream(baos) ;
-               zos.setComment("ESB war file for exposing webservices: " + esbName) ;
                try
                {
                    final JAXWSProviderClassGenerator generator = new JAXWSProviderClassGenerator() ;
@@ -454,97 +429,48 @@
                    for(WebserviceInfo webserviceInfo: endpointServices)
                    {
                        final Service service = webserviceInfo.getService() ;
-                       
+
                        // Copy all schemas to the wsdl directory to support imports.
                        final File esbArchive = new File(di.watch.getFile());
                        final Map<String, String> schemasMap = JBoss4ESBDeployer.getSchemas(esbArchive);
                        final String wsdlDir = "WEB-INF/wsdl/" + service.getCategory().replace('/', '_') + "/";
                        for (Entry<String, String> schemaEntry : schemasMap.entrySet())
                        {
-                           try 
-                           {
-                               addFile(zos, wsdlDir + schemaEntry.getKey(), schemaEntry.getValue()) ;
-                               log.debug("Added schema " + wsdlDir + schemaEntry.getKey());
-                           }
-                           catch (final ZipException e)
-                           {
-                               log.debug(e.getMessage(), e);
-                           }
+                           webDeployment.addEntry(wsdlDir + schemaEntry.getKey(), schemaEntry.getValue().getBytes("UTF-8"));
+                           log.debug("Added schema " + wsdlDir + schemaEntry.getKey());
                        }
                        
                        final ESBServiceEndpointInfo serviceInfo = new ESBServiceEndpointInfo(webserviceInfo) ;
                        final String wsdl = ESBContractGenerator.generateWSDL(webserviceInfo, serviceInfo) ;
-                       addFile(zos, serviceInfo.getWSDLFileName(), wsdl) ;
-                       
+                       webDeployment.addEntry(serviceInfo.getWSDLFileName(), wsdl.getBytes("UTF-8"));
+
                        final String handlers = JBossDeployerUtil.getHandlers(serviceInfo) ;
                        final boolean includeHandlers = (handlers != null) ;
                        if (includeHandlers)
                        {
                            final String wsHandlerName = "WEB-INF/classes/" + serviceInfo.getPackageName().replace('.', '/') + "/esb-jaxws-handlers.xml" ;
-                           addFile(zos, wsHandlerName, handlers) ;
+                           webDeployment.addEntry(wsHandlerName, handlers.getBytes("UTF-8"));
                        }
                        
                        final byte[] wsClass = generator.generate(service.getCategory(),
                            service.getName(), serviceInfo, includeHandlers) ;
                        final String wsClassName = serviceInfo.getClassName().replace('.', '/') + ".class" ;
-                       addFile(zos, "WEB-INF/classes/" + wsClassName, wsClass) ;
+                       webDeployment.addEntry("WEB-INF/classes/" + wsClassName, wsClass);
 
+                       // Servlet....
+                       final Servlet servlet = new Servlet(serviceInfo.getServletName(), serviceInfo.getClassName(), webDeployment.getWebModel());
+                       servlet.getUrlMappings().add("/ebws" + serviceInfo.getServletPath());
+
                        // Filter...
                        // At the moment we only need the filter to overcome a bug in JBossWS re In-Only endpoints, so
                        // we only include for one way services...
                        if(serviceInfo.isOneWay()) {
-                           String filterName = serviceInfo.getServletName() + "_Filter";
-
-                           filterDefinitions.append("<filter><filter-name>") ;
-                           filterDefinitions.append(filterName)  ;
-                           filterDefinitions.append("</filter-name><filter-class>") ;
-                           filterDefinitions.append(ESBResponseFilter.class.getName()) ;
-                           filterDefinitions.append("</filter-class>") ;
-                           filterDefinitions.append("</filter>") ;
-
-                           filterMappings.append("<filter-mapping><filter-name>") ;
-                           filterMappings.append(filterName)  ;
-                           filterMappings.append("</filter-name><servlet-name>") ;
-                           filterMappings.append(serviceInfo.getServletName()) ;
-                           filterMappings.append("</servlet-name></filter-mapping>") ;
+                           new Filter(serviceInfo.getServletName() + "_Filter", ESBResponseFilter.class.getName(), servlet);
                        }
 
-                       // Servlet....
-                       servletDefinitions.append("<servlet><servlet-name>") ;
-                       servletDefinitions.append(serviceInfo.getServletName())  ;
-                       servletDefinitions.append("</servlet-name><servlet-class>") ;
-                       servletDefinitions.append(serviceInfo.getClassName()) ;
-                       servletDefinitions.append("</servlet-class></servlet>") ;
-                       
-                       servletMappings.append("<servlet-mapping><servlet-name>") ;
-                       servletMappings.append(serviceInfo.getServletName())  ;
-                       servletMappings.append("</servlet-name><url-pattern>") ;
-                       servletMappings.append(serviceInfo.getServletPath()) ;
-                       servletMappings.append("</url-pattern></servlet-mapping>") ;
-                       
                        final ContractReferencePublisher publisher = new ESBServiceContractPublisher(service, webserviceInfo.getDescription(), serviceInfo.getServletName()) ;
                        publishers.add(publisher) ;
                    }
-                   
-                   final StringWriter webXml = new StringWriter() ;
-                   webXml.append("<web-app xmlns=\"http://java.sun.com/xml/ns/j2ee\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"") ;
-                   webXml.append(" xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\" version=\"2.4\">") ;
-                   webXml.append(filterDefinitions.getBuffer()) ;
-                   webXml.append(filterMappings.getBuffer()) ;
-                   webXml.append(servletDefinitions.getBuffer()) ;
-                   webXml.append(servletMappings.getBuffer()) ;
-                   webXml.append("</web-app>") ;
-                   
-                   addFile(zos, "WEB-INF/web.xml", webXml.toString()) ;
-                   
-                   final File warFile = getESBWarFile(deploymentName, esbName, true) ;
-                   
-                   zos.close() ;
-                   
-                   final FileOutputStream fos = new FileOutputStream(warFile) ;
-                   fos.write(baos.toByteArray()) ;
-                   fos.close() ;
-                   return warFile ;
                }
                catch (final Exception ex)
                {
@@ -552,42 +478,95 @@
                }
            }
        }
-       return null ;
    }
-   
-   private File getESBWarFile(final String deploymentName, final String esbName, final boolean createDir)
-    {
-        final File esbDir = new File(esbWarFiles, deploymentName) ;
-        if (!esbDir.exists())
+
+    private void deployWebGateways(JBoss4ESBDeployment deployment, ModelAdapter model, DeploymentInfo di) throws ConfigurationException, DeploymentException, JMException {
+        final String deploymentName = deployment.getDeploymentName() ;
+        final List<ContractReferencePublisher> publishers = new ArrayList<ContractReferencePublisher>() ;
+        WebDeploymentArchive webDeployment = new WebDeploymentArchive(getESBWarFileName(di));
+        WebModel webModel = webDeployment.getWebModel();
+
+        // Add the EBWS components...
+        createWebserviceWars(di, model, deploymentName, publishers, webDeployment);
+
+        // Add the web deployments info to the WebModel...
+        ModelUtil.updateWebModel(ModelUtil.getListenerGroups(model), webModel);
+
+        // Add a sub-deloyment for the web model...
+        if(!webModel.getServlets().isEmpty()) {
+            // Finalize the webDeployment...
+            webDeployment.finalizeArchive();
+
+            // Now create and deploy the web deployment...
+            File file = createGatewayTempDeployment(webDeployment, di);
+            try {
+                deployUrl(di, file.toURL(), webDeployment.getArchiveName());
+
+                // Maintain a list of sub deployments so we can clean them
+                // up on undeploy...
+                getSubDeployments(di).add(file);
+            } catch (Throwable throwable        ) {
+                if(file.exists()) {
+                    file.delete();
+                }
+                throw new ConfigurationException("Error deploying '" + file.getAbsolutePath() + "'.", throwable);
+            }
+
+            deployment.setPublishers(publishers) ;
+        }
+    }
+
+    private File createGatewayTempDeployment(DeploymentArchive deploymentArchive, DeploymentInfo di) throws ConfigurationException {
+
+        File gatewayDeployFile = createTempDeploymentFile(esbWarFiles, deploymentArchive.getArchiveName(), true);
+        FileOutputStream fileOutStream;
+
+        try {
+            fileOutStream = new FileOutputStream(gatewayDeployFile);
+        } catch (FileNotFoundException e) {
+            throw new ConfigurationException("Unexpected exception.", e);
+        }
+
+        try {
+            deploymentArchive.toOutputStream(fileOutStream);
+        } catch (IOException e) {
+            throw new ConfigurationException("Error writing deployment archive '" + gatewayDeployFile.getAbsolutePath() + "'.", e);
+        } finally {
+            try {
+                fileOutStream.close();
+            } catch (IOException e) {
+                log.warn("Error closing deployment archive stream '" + gatewayDeployFile.getAbsolutePath() + "'", e);
+            }
+        }
+
+        return gatewayDeployFile;
+    }
+
+    private File createTempDeploymentFile(final File tempDir, final String archiveName, final boolean createDir) throws ConfigurationException {
+        if (!tempDir.exists())
         {
             if (!createDir)
             {
                 return null ;
             }
-            esbDir.mkdir() ;
+            tempDir.mkdir() ;
         }
-        
+
+        File file = new File(tempDir, archiveName);
+        if(file.exists()) {
+            log.debug("Deployment archive '" + archiveName + "' already exists.  Overwriting!!");
+        }
+
+        return file;
+    }
+   
+    private String getESBWarFileName(final DeploymentInfo di)
+    {
+        final String esbName = di.shortName;
         final int lastSeparator = esbName.lastIndexOf('.') ;
-        final String warFileName = ((lastSeparator >= 0) ? esbName.substring(0, lastSeparator) : esbName) + ".war" ;
-        
-        return new File(esbDir, warFileName) ;
+        return ((lastSeparator >= 0) ? esbName.substring(0, lastSeparator) : esbName) + ".war" ;
     }
 
-   private void addFile(final ZipOutputStream zos, final String filename, final String contents)
-       throws IOException
-   {
-       addFile(zos, filename, contents.getBytes()) ;
-   }
-   
-   private void addFile(final ZipOutputStream zos, final String filename, final byte[] contents)
-       throws IOException
-   {
-       final ZipEntry entry = new ZipEntry(filename) ;
-       zos.putNextEntry(entry) ;
-       zos.write(contents) ;
-       zos.closeEntry() ;
-   }
-
    public synchronized void start(DeploymentInfo di)
            throws DeploymentException
    {
@@ -634,15 +613,22 @@
            throws DeploymentException
    {
       final JBoss4ESBDeploymentMetaData metaData = (JBoss4ESBDeploymentMetaData)di.context.get(JBoss4ESBDeploymentMetaData.class) ;
+
+       for(File subDeployment : getSubDeployments(di)) {
+           try {
+               if(subDeployment.exists()) {
+                   if(!subDeployment.delete()) {
+                       log.debug("Failed to delete sub deployment '" + subDeployment.getAbsolutePath() + "'.");
+                   }
+               }
+           } catch (Exception e) {
+               log.debug("Failed to delete deployment file '" + subDeployment.getAbsolutePath() + "'.  Exception: " + e.getMessage());
+           }
+       }
+
       if (metaData != null)
       {
           final String deploymentName = metaData.getDeploymentName() ;
-          final File warFile = JBossDeployerUtil.getESBWarFile(deploymentName, di.shortName, false, esbWarFiles) ;
-          if (warFile != null)
-          {
-             warFile.delete();
-             warFile.getParentFile().delete() ;
-          }
           removeDeploymentName(deploymentName) ;
       }
       if (di.deployedObject != null)
@@ -674,10 +660,14 @@
     {
         esbNames.remove(deploymentName) ;
     }
+
+    private List<File> getSubDeployments(DeploymentInfo di) {
+        return (List<File>) di.context.get(SUB_DEPLOYMENTS);
+    }
     
     /**
      * Sets the directory that will be used for generating ESWS wars.
-     * @param String the directory to be used.
+     * @param dir The directory to be used.
      */
     public void setWarFilesDir(final String dir)
     {

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/ModelUtil.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ModelUtil.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/ModelUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/ModelUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.config;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.config.model.ModelAdapter;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.internal.soa.esb.listeners.war.WebModel;
+import org.jboss.internal.soa.esb.listeners.war.WebGatewayDeploymentFactory;
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Node;
+import org.w3c.dom.Element;
+
+import java.util.*;
+
+/**
+ * ESB configuration model utility methods.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class ModelUtil {
+
+    /**
+     * Get the lister groups (by busIdRef) in the supplied configuration model.
+     * <p/>
+     * Only looks at gateways at the moment.
+     *
+     * @param model The configuration model.
+     * @return A {@link java.util.Map} containing Lists of listener configurations, by busIdRef.
+     * @throws org.jboss.soa.esb.ConfigurationException Unable to convert the model to a DOM.
+     */
+    public static Map<String, List<ConfigTree>> getListenerGroups(ModelAdapter model) throws ConfigurationException {
+        Map<String, List<ConfigTree>> listenerGroups = new LinkedHashMap<String, List<ConfigTree>>();
+        Document gatewayConfig = model.generateGatewayConfig();
+        NodeList nodeList = gatewayConfig.getDocumentElement().getChildNodes();
+        int count = nodeList.getLength();
+
+        for(int i = 0; i < count; i++) {
+            Node child = nodeList.item(i);
+
+            if(child.getNodeType() == Node.ELEMENT_NODE) {
+                Element listenerElement = (Element) child;
+                String busIdRef = listenerElement.getAttribute(ListenerTagNames.BUSIDREF_ATTRIBUTE_TAG);
+
+                List<ConfigTree> listenerGroup = listenerGroups.get(busIdRef);
+
+                if(listenerGroup == null) {
+                    listenerGroup = new ArrayList<ConfigTree>();
+                    listenerGroups.put(busIdRef, listenerGroup);
+                }
+                listenerGroup.add(ConfigTree.fromElement(listenerElement));
+            }
+        }
+
+        return listenerGroups;
+    }
+
+    /**
+     * Update the supplied {@link org.jboss.internal.soa.esb.listeners.war.WebModel} based on the supplied listener group
+     * configurations.
+     * @param listenerGroups Listener group configurations, keyed by busrefid.
+     * @param webModel The webmodel to be updated.
+     * @throws org.jboss.soa.esb.ConfigurationException A Configuration exception occured mapping data onto
+     * the WebModel.
+     */
+    public static void updateWebModel(Map<String, List<ConfigTree>> listenerGroups, WebModel webModel) throws ConfigurationException {
+        Set<Map.Entry<String, List<ConfigTree>>> listenerGroupEntries = listenerGroups.entrySet();
+        for(Map.Entry<String, List<ConfigTree>> listenerGroup : listenerGroupEntries) {
+            List<ConfigTree> listeners = listenerGroup.getValue();
+
+            String gatewayClass = listeners.get(0).getAttribute(ListenerTagNames.GATEWAY_CLASS_TAG);
+            if(gatewayClass != null) {
+                WebGatewayDeploymentFactory deploymentFactory = WebGatewayDeploymentFactory.FactoryBuilder.createInstance(gatewayClass);
+
+                if(deploymentFactory != null) {
+                    // For each listener...
+                    for(ConfigTree listenerConfig : listeners) {
+                        deploymentFactory.updateWebModel(listenerConfig, webModel);
+                    }
+                }
+            }
+        }
+    }
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -29,9 +29,7 @@
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.dom.YADOMUtil;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel101.Bus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel101.Listener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel101.Provider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel101.*;
 import org.jboss.soa.esb.listeners.config.xbeanmodel101.PropertyDocument.Property;
 import org.jboss.soa.esb.listeners.config.xbeanmodel101.ServiceDocument.Service;
 import org.jboss.soa.esb.listeners.message.MessageAwareListener;
@@ -61,6 +59,21 @@
         if (!isGateway && !listenerNode.hasAttribute(ListenerTagNames.LISTENER_CLASS_TAG)) {
             listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
         }
+
+        ActionsDocument.Actions actions = service.getActions();
+        if(actions != null) {
+            MepType.Enum mep = actions.getMep();
+            if(mep != null) {
+                // Intentionally not setting a default of RequestResponse because the action pipeline
+                // has a "defaultProcessing" state that exists if the mep is not set (dubious??)....
+                listenerNode.setAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG, mep.toString());
+            }
+        }
+
+        String busIdRef = listener.getBusidref();
+        if(busIdRef != null) {
+            listenerNode.setAttribute(ListenerTagNames.BUSIDREF_ATTRIBUTE_TAG, busIdRef);
+        }
     }
 
     /**

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers110/MapperUtil.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers110/MapperUtil.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers110/MapperUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -29,9 +29,7 @@
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.dom.YADOMUtil;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel110.Bus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel110.Listener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel110.Provider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel110.*;
 import org.jboss.soa.esb.listeners.config.xbeanmodel110.PropertyDocument.Property;
 import org.jboss.soa.esb.listeners.config.xbeanmodel110.ServiceDocument.Service;
 import org.jboss.soa.esb.listeners.message.MessageAwareListener;
@@ -61,6 +59,21 @@
         if (!isGateway && !listenerNode.hasAttribute(ListenerTagNames.LISTENER_CLASS_TAG)) {
             listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
         }
+
+        ActionsDocument.Actions actions = service.getActions();
+        if(actions != null) {
+            MepType.Enum mep = actions.getMep();
+            if(mep != null) {
+                // Intentionally not setting a default of RequestResponse because the action pipeline
+                // has a "defaultProcessing" state that exists if the mep is not set (dubious??)....
+                listenerNode.setAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG, mep.toString());
+            }
+        }
+        
+        String busIdRef = listener.getBusidref();
+        if(busIdRef != null) {
+            listenerNode.setAttribute(ListenerTagNames.BUSIDREF_ATTRIBUTE_TAG, busIdRef);
+        }
     }
 
     /**

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120 (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120)

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,148 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.util.HashMap;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.MepType;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActionDocument.Action;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActionsDocument.Actions;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
-import org.w3c.dom.Element;
-
-/**
- * Performs the mapping of XSD based configuration service actions onto a "ConfigTree"
- * style listener configuration.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class ActionMapper {
-	private static final Logger logger = Logger.getLogger(ActionMapper.class);
-
-	/**
-	 * Perform the mapping.    Checks to ensure that action names are unique, and throws a ConfigurationException if
-	 * a duplicate action name is registered.
-	 * @param listenerConfigTree The listener ConfigTree to which the actions are to be added.
-	 * @param listenerService The Service to which the listener is bound.  The Service defines the actions.
-	 * @param model The configuration model from which the mapping is being performed.
-	 * @throws org.jboss.soa.esb.ConfigurationException
-	 */
-	public static void map(Element listenerConfigTree, Service listenerService, XMLBeansModel model) throws ConfigurationException {
-		if (listenerService.getActions()!=null) {
-		        final Actions actions = listenerService.getActions();
-		        final MepType.Enum mep  = actions.getMep() ;
-		        if (mep != null)
-		        {
-		            listenerConfigTree.setAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG, mep.toString()) ;
-		        }
-		        final String inxsd = actions.getInXsd();
-		        if (inxsd != null)
-		        {
-		            listenerConfigTree.setAttribute(ListenerTagNames.IN_XSD_ATTRIBUTE_TAG, inxsd);
-		        }
-		        final String outxsd = actions.getOutXsd();
-		        if (outxsd != null)
-		        {
-		            listenerConfigTree.setAttribute(ListenerTagNames.OUT_XSD_ATTRIBUTE_TAG, outxsd);
-		        }
-
-		        final String faultxsd = actions.getFaultXsd();
-
-		        if (faultxsd != null)
-		        {
-		            listenerConfigTree.setAttribute(ListenerTagNames.FAULT_XSD_ATTRIBUTE_TAG, faultxsd);
-		        }
-
-		        if (actions.isSetValidate())
-		        {
-		            listenerConfigTree.setAttribute(ListenerTagNames.VALIDATE_ATTRIBUTE_TAG, Boolean.toString(actions.getValidate())) ;
-		        }
-
-		        final String requestLocation = actions.getRequestLocation() ;
-		        if (requestLocation != null)
-		        {
-		            listenerConfigTree.setAttribute(ListenerTagNames.REQUEST_LOCATION_TAG, requestLocation) ;
-		        }
-
-		        final String responseLocation = actions.getResponseLocation() ;
-		        if (responseLocation != null)
-		        {
-		            listenerConfigTree.setAttribute(ListenerTagNames.RESPONSE_LOCATION_TAG, responseLocation) ;
-		        }
-
-		        SecurityMapper.map(listenerConfigTree, listenerService);
-			List<Action> actionList = actions.getActionList();
-
-			HashMap<String,String> hm = new HashMap<String,String>();
-			for(Action action : actionList) {
-				mapAction(listenerConfigTree, action);
-				if (hm.containsKey(action.getName())) {
-					throw new ConfigurationException("Tried to register a duplicate action name.  Service "
-							+ listenerService.getName() + " already contains an action named "
-							+ action.getName() + ".    Action names must be unique per service.");
-				} else {
-					hm.put(action.getName(), action.getName());
-				}
-			}
-		}
-	}
-
-	/**
-	 * Map an action instance onto the listener ConfigTree.
-	 * @param listenerConfigTree The target listener ConfigTree.
-	 * @param action The action instance.
-	 */
-	private static void mapAction(Element listenerConfigTree, Action action) {
-		Element actionConfigTree = YADOMUtil.addElement(listenerConfigTree, "action");
-		List<Property> properties = action.getPropertyList();
-
-		actionConfigTree.setAttribute(ListenerTagNames.ACTION_ELEMENT_TAG, action.getName());
-		actionConfigTree.setAttribute(ListenerTagNames.ACTION_CLASS_TAG, action.getClass1());
-		actionConfigTree.setAttribute(ListenerTagNames.PROCESS_METHOD_TAG, action.getProcess());
-		// The "okMethods" and "exceptionMethod" attributes are supported by adding them as child <property> elements.
-
-		// Map the property elements to action attributes...
-		for(Property property : properties) {
-			Element propertyElement = listenerConfigTree.getOwnerDocument().createElement("property");
-
-			MapperUtil.serialize(property, propertyElement);
-
-            if(property.getValue() != null) {
-                actionConfigTree.setAttribute(property.getName(), property.getValue());
-            }
-            // If the property has child content, add that directy to the action.  Of course it only really
-			// makes sense to do this with one property!
-			if(propertyElement.hasChildNodes()) {
-				YADOMUtil.copyChildNodes(propertyElement, actionConfigTree);
-			}
-		}
-
-		// Remove any empty attributes set on the action config...
-		YADOMUtil.removeEmptyAttributes(actionConfigTree);
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ActionMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.MepType;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActionDocument.Action;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActionsDocument.Actions;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.w3c.dom.Element;
+
+/**
+ * Performs the mapping of XSD based configuration service actions onto a "ConfigTree"
+ * style listener configuration.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class ActionMapper {
+	private static final Logger logger = Logger.getLogger(ActionMapper.class);
+
+	/**
+	 * Perform the mapping.    Checks to ensure that action names are unique, and throws a ConfigurationException if
+	 * a duplicate action name is registered.
+	 * @param listenerConfigTree The listener ConfigTree to which the actions are to be added.
+	 * @param listenerService The Service to which the listener is bound.  The Service defines the actions.
+	 * @param model The configuration model from which the mapping is being performed.
+	 * @throws org.jboss.soa.esb.ConfigurationException
+	 */
+	public static void map(Element listenerConfigTree, Service listenerService, XMLBeansModel model) throws ConfigurationException {
+		if (listenerService.getActions()!=null) {
+		        final Actions actions = listenerService.getActions();
+		        final MepType.Enum mep  = actions.getMep() ;
+		        if (mep != null)
+		        {
+		            listenerConfigTree.setAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG, mep.toString()) ;
+		        }
+		        final String inxsd = actions.getInXsd();
+		        if (inxsd != null)
+		        {
+		            listenerConfigTree.setAttribute(ListenerTagNames.IN_XSD_ATTRIBUTE_TAG, inxsd);
+		        }
+		        final String outxsd = actions.getOutXsd();
+		        if (outxsd != null)
+		        {
+		            listenerConfigTree.setAttribute(ListenerTagNames.OUT_XSD_ATTRIBUTE_TAG, outxsd);
+		        }
+
+		        final String faultxsd = actions.getFaultXsd();
+
+		        if (faultxsd != null)
+		        {
+		            listenerConfigTree.setAttribute(ListenerTagNames.FAULT_XSD_ATTRIBUTE_TAG, faultxsd);
+		        }
+
+		        if (actions.isSetValidate())
+		        {
+		            listenerConfigTree.setAttribute(ListenerTagNames.VALIDATE_ATTRIBUTE_TAG, Boolean.toString(actions.getValidate())) ;
+		        }
+
+		        final String requestLocation = actions.getRequestLocation() ;
+		        if (requestLocation != null)
+		        {
+		            listenerConfigTree.setAttribute(ListenerTagNames.REQUEST_LOCATION_TAG, requestLocation) ;
+		        }
+
+		        final String responseLocation = actions.getResponseLocation() ;
+		        if (responseLocation != null)
+		        {
+		            listenerConfigTree.setAttribute(ListenerTagNames.RESPONSE_LOCATION_TAG, responseLocation) ;
+		        }
+
+		        SecurityMapper.map(listenerConfigTree, listenerService);
+			List<Action> actionList = actions.getActionList();
+
+			HashMap<String,String> hm = new HashMap<String,String>();
+			for(Action action : actionList) {
+				mapAction(listenerConfigTree, action);
+				if (hm.containsKey(action.getName())) {
+					throw new ConfigurationException("Tried to register a duplicate action name.  Service "
+							+ listenerService.getName() + " already contains an action named "
+							+ action.getName() + ".    Action names must be unique per service.");
+				} else {
+					hm.put(action.getName(), action.getName());
+				}
+			}
+		}
+	}
+
+	/**
+	 * Map an action instance onto the listener ConfigTree.
+	 * @param listenerConfigTree The target listener ConfigTree.
+	 * @param action The action instance.
+	 */
+	private static void mapAction(Element listenerConfigTree, Action action) {
+		Element actionConfigTree = YADOMUtil.addElement(listenerConfigTree, "action");
+		List<Property> properties = action.getPropertyList();
+
+		actionConfigTree.setAttribute(ListenerTagNames.ACTION_ELEMENT_TAG, action.getName());
+		actionConfigTree.setAttribute(ListenerTagNames.ACTION_CLASS_TAG, action.getClass1());
+		actionConfigTree.setAttribute(ListenerTagNames.PROCESS_METHOD_TAG, action.getProcess());
+		// The "okMethods" and "exceptionMethod" attributes are supported by adding them as child <property> elements.
+
+		// Map the property elements to action attributes...
+		for(Property property : properties) {
+			Element propertyElement = listenerConfigTree.getOwnerDocument().createElement("property");
+
+			MapperUtil.serialize(property, propertyElement);
+
+            if(property.getValue() != null) {
+                actionConfigTree.setAttribute(property.getName(), property.getValue());
+            }
+            // If the property has child content, add that directy to the action.  Of course it only really
+			// makes sense to do this with one property!
+			if(propertyElement.hasChildNodes()) {
+				YADOMUtil.copyChildNodes(propertyElement, actionConfigTree);
+			}
+		}
+
+		// Remove any empty attributes set on the action config...
+		YADOMUtil.removeEmptyAttributes(actionConfigTree);
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,227 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.addressing.eprs.InVMEpr;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.AbstractScheduledListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.Bus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsProviderType;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.Provider;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsListenerDocument.FsListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpListenerDocument.FtpListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.GroovyListenerDocument.GroovyListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrListenerDocument.JbrListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsBusDocument.JmsBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsJcaProviderDocument.JmsJcaProvider;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsMessageFilterDocument.JmsMessageFilter;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlBusDocument.SqlBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlListenerDocument.SqlListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlProviderDocument.SqlProvider;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduledListenerDocument.ScheduledListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel110.HttpListenerDocument;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.message.MessageAwareListener;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * ESB Aware Listeners Configuration Generator.
- * <p/>
- * Generates a "ConfigTree" style configuration for the ESB Aware Listeners.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class ESBAwareGenerator {
-
-    private static final Logger logger = Logger.getLogger(ESBAwareGenerator.class);
-
-    /**
-	 * XMLBeans based configuration model instance.
-	 */
-	private XMLBeansModel model;
-
-	/**
-	 * Public constructor.
-	 * @param model XMLBeans based configuration model instance.
-	 */
-	public ESBAwareGenerator(XMLBeansModel model) {
-		this.model = model;
-	}
-
-	/**
-	 * Generate the configuration DOM for the target Server.
-	 * @return The configuration DOM.
-	 * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
-	 */
-	public Document generate() throws ConfigurationException {
-		Document doc = YADOMUtil.createDocument();
-		Element root;
-
-		doc.appendChild(doc.createComment("\n\tNOTE: DO NOT MODIFY\n\tThis file was auto-generated.\n"));
-		root = YADOMUtil.addElement(doc, "jbossesb-listeners");
-		root.setAttribute("parameterReloadSecs", model.getParameterReloadSecs());
-
-        // Add an InVM listener for each service...
-        List<Service> services = model.getServices();
-        for (int i = 0; i < services.size(); i++) {
-            Service service = services.get(i);
-            if(model.exposesInVMListener(service)) {
-                addInVMListener(root, service, i);
-            }
-        }
-
-		// Iterate over all the ESB Aware listner configs and map them to the listener configuration...
-		List<Listener> listeners = model.getESBAwareListeners();
-		for(Listener listener : listeners) {
-			addESBAwareConfig(root, listener);
-		}
-
-		return doc;
-	}
-
-    private void addInVMListener(Element root, Service service, int serviceIndex) throws ConfigurationException {
-        Element listenerNode = YADOMUtil.addElement(root, "InVM-" + serviceIndex);
-        Element properties = listenerNode.getOwnerDocument().createElement("properties");
-
-        MapperUtil.mapListenerServiceAttributes(listenerNode, service, false);
-        listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
-
-        Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
-        eprNode.setAttribute(ListenerTagNames.PROTOCOL_TAG, InVMEpr.INVM_PROTOCOL);
-
-        MapperUtil.mapProperties(service.getPropertyList(), properties);
-        eprNode.setAttribute(ListenerTagNames.URL_TAG, InVMEpr.INVM_PROTOCOL + "://"
-                + InVMEpr.createEncodedServiceId(service.getCategory(), service.getName())
-                + "/" + YADOMUtil.getAttribute(properties, "inVMPassByValue", "false")
-                + "?" + YADOMUtil.getAttribute(properties, "inVMLockStep", "false")
-                + "#" + YADOMUtil.getAttribute(properties, "inVMLockStepTimeout", "10000"));
-
-        listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, YADOMUtil.getAttribute(properties, ListenerTagNames.MAX_THREADS_TAG, "1"));
-
-        listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(getInVMTransacted(service))) ;
-        YADOMUtil.removeEmptyAttributes(eprNode);
-
-        ActionMapper.map(listenerNode, service, model);
-    }
-
-    /**
-     * Try to find the InVM transacted value.  Check to see if the transacted attribute
-     * has been explicitly set on the service.  If it has not been explicitly set then we
-     * check to see if any of the listener/bus configurations are transacted and assume the
-     * InVM is implicitly transacted.
-     *
-     * @param service The current service.
-     * @return true if transacted, false otherwise.
-     */
-    private boolean getInVMTransacted(final Service service)
-        throws ConfigurationException
-    {
-        if (service.isSetInvmScope()) {
-            return service.getInvmTransacted() ;
-        } else if (service.isSetListeners()) {
-            for (Listener listener: service.getListeners().getListenerList()) {
-                if (listener instanceof ScheduledListener) {
-                    if (((ScheduledListener)listener).getTransacted())
-                        return true ;
-                }
-                else if (listener instanceof JmsListener) {
-                    final Bus bus = model.getBus(listener.getBusidref()) ;
-                    if (!(bus instanceof JmsBus))
-                        continue ;
-
-                    final Provider provider = model.getProvider(bus) ;
-                    if (provider instanceof JmsJcaProvider) {
-                        // Jms JCA provider defaults to true
-                        final JmsJcaProvider jmsJcaProvider = (JmsJcaProvider)provider ;
-                        if (!jmsJcaProvider.isSetTransacted() || jmsJcaProvider.getTransacted())
-                            return true ;
-                    } else if (provider instanceof JmsProviderType) {
-                        JmsMessageFilter filter = ((JmsListener)listener).getJmsMessageFilter() ;
-                        if (filter == null)
-                            filter = ((JmsBus)bus).getJmsMessageFilter() ;
-                        if ((filter != null) && filter.getTransacted())
-                            return true ;
-                    }
-                } else if (listener instanceof SqlListener) {
-                    final Bus bus = model.getBus(listener.getBusidref()) ;
-                    if (!(bus instanceof SqlBus))
-                        continue ;
-
-                    final Provider provider = model.getProvider(bus) ;
-                    if ((provider instanceof SqlProvider) && ((SqlProvider)provider).getTransacted())
-                        return true ;
-                }
-            }
-        }
-        return false ;
-    }
-
-    /**
-	 * Add a single ESB Aware Listener configuration node to configuration root.
-	 * @param root Configuration root node.
-	 * @param listener The ESB Aware Listener configuration to be added.
-	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-	 */
-	private void addESBAwareConfig(Element root, Listener listener) throws ConfigurationException {
-		Element listenerConfigTree;
-		Service listenerService;
-
-		// Of course we could do the following reflectively if we really want to - TODO perhaps!!
-		if(listener instanceof JmsListener) {
-			listenerConfigTree = JmsListenerMapper.map(root, (JmsListener)listener, model);
-        } else if (listener instanceof ScheduledListener) {
-            listenerConfigTree = ScheduledListenerMapper.map(root, (ScheduledListener) listener, model);
-        } else if(listener instanceof FsListener) {
-         listenerConfigTree = FsListenerMapper.map(root, (FsListener)listener, model);
-		} else if (listener instanceof FtpListener) {
-			listenerConfigTree = FtpListenerMapper.map(root, (FtpListener)listener, model);
-		} else if (listener instanceof SqlListener) {
-			listenerConfigTree = SqlListenerMapper.map(root, (SqlListener)listener, model);
-        } else if (listener instanceof JbrListener) {
-            logger.error("JbossRemoting listener only supported in Gateway mode.");
-            return;
-        } else if (listener instanceof GroovyListener) {
-            listenerConfigTree = GroovyListenerMapper.map(root, (GroovyListener)listener, model);
-		} else {
-			listenerConfigTree = UntypedListenerMapper.map(root, listener, model);
-		}
-
-        if (listener instanceof AbstractScheduledListener) {
-            ScheduleMapper.map(listenerConfigTree, (AbstractScheduledListener) listener, model);
-        }
-
-        // Locate the Service to which the listener is bound...
-		listenerService = model.getService(listener);
-
-		// Map the actions and notiications...
-		ActionMapper.map(listenerConfigTree, listenerService, model);
-		NotificationMapper.map(listenerConfigTree, listenerService, model);
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,227 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.InVMEpr;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.AbstractScheduledListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Bus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsProviderType;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Provider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsListenerDocument.FsListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpListenerDocument.FtpListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.GroovyListenerDocument.GroovyListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrListenerDocument.JbrListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsBusDocument.JmsBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsJcaProviderDocument.JmsJcaProvider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsMessageFilterDocument.JmsMessageFilter;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlBusDocument.SqlBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlListenerDocument.SqlListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlProviderDocument.SqlProvider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduledListenerDocument.ScheduledListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel110.HttpListenerDocument;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.message.MessageAwareListener;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * ESB Aware Listeners Configuration Generator.
+ * <p/>
+ * Generates a "ConfigTree" style configuration for the ESB Aware Listeners.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class ESBAwareGenerator {
+
+    private static final Logger logger = Logger.getLogger(ESBAwareGenerator.class);
+
+    /**
+	 * XMLBeans based configuration model instance.
+	 */
+	private XMLBeansModel model;
+
+	/**
+	 * Public constructor.
+	 * @param model XMLBeans based configuration model instance.
+	 */
+	public ESBAwareGenerator(XMLBeansModel model) {
+		this.model = model;
+	}
+
+	/**
+	 * Generate the configuration DOM for the target Server.
+	 * @return The configuration DOM.
+	 * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
+	 */
+	public Document generate() throws ConfigurationException {
+		Document doc = YADOMUtil.createDocument();
+		Element root;
+
+		doc.appendChild(doc.createComment("\n\tNOTE: DO NOT MODIFY\n\tThis file was auto-generated.\n"));
+		root = YADOMUtil.addElement(doc, "jbossesb-listeners");
+		root.setAttribute("parameterReloadSecs", model.getParameterReloadSecs());
+
+        // Add an InVM listener for each service...
+        List<Service> services = model.getServices();
+        for (int i = 0; i < services.size(); i++) {
+            Service service = services.get(i);
+            if(model.exposesInVMListener(service)) {
+                addInVMListener(root, service, i);
+            }
+        }
+
+		// Iterate over all the ESB Aware listner configs and map them to the listener configuration...
+		List<Listener> listeners = model.getESBAwareListeners();
+		for(Listener listener : listeners) {
+			addESBAwareConfig(root, listener);
+		}
+
+		return doc;
+	}
+
+    private void addInVMListener(Element root, Service service, int serviceIndex) throws ConfigurationException {
+        Element listenerNode = YADOMUtil.addElement(root, "InVM-" + serviceIndex);
+        Element properties = listenerNode.getOwnerDocument().createElement("properties");
+
+        MapperUtil.mapListenerServiceAttributes(listenerNode, service, false);
+        listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
+
+        Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+        eprNode.setAttribute(ListenerTagNames.PROTOCOL_TAG, InVMEpr.INVM_PROTOCOL);
+
+        MapperUtil.mapProperties(service.getPropertyList(), properties);
+        eprNode.setAttribute(ListenerTagNames.URL_TAG, InVMEpr.INVM_PROTOCOL + "://"
+                + InVMEpr.createEncodedServiceId(service.getCategory(), service.getName())
+                + "/" + YADOMUtil.getAttribute(properties, "inVMPassByValue", "false")
+                + "?" + YADOMUtil.getAttribute(properties, "inVMLockStep", "false")
+                + "#" + YADOMUtil.getAttribute(properties, "inVMLockStepTimeout", "10000"));
+
+        listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, YADOMUtil.getAttribute(properties, ListenerTagNames.MAX_THREADS_TAG, "1"));
+
+        listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(getInVMTransacted(service))) ;
+        YADOMUtil.removeEmptyAttributes(eprNode);
+
+        ActionMapper.map(listenerNode, service, model);
+    }
+
+    /**
+     * Try to find the InVM transacted value.  Check to see if the transacted attribute
+     * has been explicitly set on the service.  If it has not been explicitly set then we
+     * check to see if any of the listener/bus configurations are transacted and assume the
+     * InVM is implicitly transacted.
+     *
+     * @param service The current service.
+     * @return true if transacted, false otherwise.
+     */
+    private boolean getInVMTransacted(final Service service)
+        throws ConfigurationException
+    {
+        if (service.isSetInvmScope()) {
+            return service.getInvmTransacted() ;
+        } else if (service.isSetListeners()) {
+            for (Listener listener: service.getListeners().getListenerList()) {
+                if (listener instanceof ScheduledListener) {
+                    if (((ScheduledListener)listener).getTransacted())
+                        return true ;
+                }
+                else if (listener instanceof JmsListener) {
+                    final Bus bus = model.getBus(listener.getBusidref()) ;
+                    if (!(bus instanceof JmsBus))
+                        continue ;
+
+                    final Provider provider = model.getProvider(bus) ;
+                    if (provider instanceof JmsJcaProvider) {
+                        // Jms JCA provider defaults to true
+                        final JmsJcaProvider jmsJcaProvider = (JmsJcaProvider)provider ;
+                        if (!jmsJcaProvider.isSetTransacted() || jmsJcaProvider.getTransacted())
+                            return true ;
+                    } else if (provider instanceof JmsProviderType) {
+                        JmsMessageFilter filter = ((JmsListener)listener).getJmsMessageFilter() ;
+                        if (filter == null)
+                            filter = ((JmsBus)bus).getJmsMessageFilter() ;
+                        if ((filter != null) && filter.getTransacted())
+                            return true ;
+                    }
+                } else if (listener instanceof SqlListener) {
+                    final Bus bus = model.getBus(listener.getBusidref()) ;
+                    if (!(bus instanceof SqlBus))
+                        continue ;
+
+                    final Provider provider = model.getProvider(bus) ;
+                    if ((provider instanceof SqlProvider) && ((SqlProvider)provider).getTransacted())
+                        return true ;
+                }
+            }
+        }
+        return false ;
+    }
+
+    /**
+	 * Add a single ESB Aware Listener configuration node to configuration root.
+	 * @param root Configuration root node.
+	 * @param listener The ESB Aware Listener configuration to be added.
+	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+	 */
+	private void addESBAwareConfig(Element root, Listener listener) throws ConfigurationException {
+		Element listenerConfigTree;
+		Service listenerService;
+
+		// Of course we could do the following reflectively if we really want to - TODO perhaps!!
+		if(listener instanceof JmsListener) {
+			listenerConfigTree = JmsListenerMapper.map(root, (JmsListener)listener, model);
+        } else if (listener instanceof ScheduledListener) {
+            listenerConfigTree = ScheduledListenerMapper.map(root, (ScheduledListener) listener, model);
+        } else if(listener instanceof FsListener) {
+         listenerConfigTree = FsListenerMapper.map(root, (FsListener)listener, model);
+		} else if (listener instanceof FtpListener) {
+			listenerConfigTree = FtpListenerMapper.map(root, (FtpListener)listener, model);
+		} else if (listener instanceof SqlListener) {
+			listenerConfigTree = SqlListenerMapper.map(root, (SqlListener)listener, model);
+        } else if (listener instanceof JbrListener) {
+            logger.error("JbossRemoting listener only supported in Gateway mode.");
+            return;
+        } else if (listener instanceof GroovyListener) {
+            listenerConfigTree = GroovyListenerMapper.map(root, (GroovyListener)listener, model);
+		} else {
+			listenerConfigTree = UntypedListenerMapper.map(root, listener, model);
+		}
+
+        if (listener instanceof AbstractScheduledListener) {
+            ScheduleMapper.map(listenerConfigTree, (AbstractScheduledListener) listener, model);
+        }
+
+        // Locate the Service to which the listener is bound...
+		listenerService = model.getService(listener);
+
+		// Map the actions and notiications...
+		ActionMapper.map(listenerConfigTree, listenerService, model);
+		NotificationMapper.map(listenerConfigTree, listenerService, model);
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,120 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.io.File;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.addressing.eprs.FileEpr;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsBusDocument.FsBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsListenerDocument.FsListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsMessageFilterDocument.FsMessageFilter;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsProviderDocument.FsProvider;
-import org.jboss.soa.esb.listeners.gateway.FileGatewayListener;
-import org.w3c.dom.Element;
-
-/**
- * Performs the mapping of a &lt;fs-listener&gt; XSD based configuration to the "ConfigTree"
- * style configuration, adding the "ConfigTree" listener config to the "root" node.
- *
- * @author <a href="mailto:kurt.stam at jboss.com">kurt.stam at jboss.com</a>
- */
-public class FsListenerMapper {
-
-	/**
-	 * Perform the mapping.
-	 * @param root The "ConfigTree" configuration root node.
-	 * @param listener The Jmslistener to be mapped into the ConfigTree.
-	 * @param model The configuration model from which the mapping is being performed.
-	 * @return The ConfigTree listener configuration node.
-	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-	 */
-	public static Element map(Element root, FsListener listener, XMLBeansModel model) throws ConfigurationException {
-		Element listenerNode = YADOMUtil.addElement(root, "listener");
-		FsBus bus;
-		FsProvider provider;
-
-        listenerNode.setAttribute("name", listener.getName());
-
-        try {
-			bus = (FsBus) model.getBus(listener.getBusidref());
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <fs-listener> must reference a <fs-bus>.");
-		}
-		try {
-			provider = (FsProvider) model.getProvider(bus);
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <fs-provider> instance.  Unexpected exception - this should have caused a validation error!");
-		}
-
-		FsMessageFilter messageFilter = listener.getFsMessageFilter();
-		if(messageFilter == null) {
-			messageFilter = bus.getFsMessageFilter();
-			if(messageFilter == null) {
-				throw new ConfigurationException("No <fs-detination> defined on either <fs-listener> [" + listener.getName() + "] or <fs-bus> [" + bus.getBusid() + "].");
-			}
-		}
-		// Map the standard listener attributes - common across all listener types...
-		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-		// Map the <property> elements targeted at the listener - from the listener itself.
-		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-		if(listener.getIsGateway()) {
-			listenerNode.setAttribute("gatewayClass", FileGatewayListener.class.getName());
-			// Map EPR related attributes onto the listener - from the bus and provider and listener.
-			// Note: This will change - the Gateways will also support the EPR element...
-			mapFsEprProperties(listenerNode, provider, messageFilter);
-			MapperUtil.mapEPRProperties(listener, listenerNode, model);
-		} else {
-			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
-
-			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
-			mapFsEprProperties(eprNode, provider, messageFilter);
-			MapperUtil.mapEPRProperties(listener, eprNode, model);
-			// Remove any empty attributes set on the EPR config...
-			YADOMUtil.removeEmptyAttributes(eprNode);
-		}
-
-		// Remove any empty attributes set on the listener config...
-		YADOMUtil.removeEmptyAttributes(listenerNode);
-
-		return listenerNode;
-	}
-
-	private static void mapFsEprProperties(Element toElement, FsProvider provider, FsMessageFilter messageFilter) {
-		final File directory = new File(messageFilter.getDirectory()) ;
-		toElement.setAttribute(ListenerTagNames.URL_TAG, directory.toURI().toString());
-		toElement.setAttribute(FileEpr.INPUT_SUFFIX_TAG, messageFilter.getInputSuffix());
-		toElement.setAttribute(FileEpr.WORK_SUFFIX_TAG, messageFilter.getWorkSuffix());
-		toElement.setAttribute(FileEpr.POST_DEL_TAG, String.valueOf(messageFilter.getPostDelete()));
-		toElement.setAttribute(FileEpr.POST_RENAME_TAG, String.valueOf(messageFilter.getPostRename()));
-		if (!messageFilter.getPostDelete()) {
-			toElement.setAttribute(FileEpr.POST_DIR_TAG, messageFilter.getPostDirectory());
-			toElement.setAttribute(FileEpr.POST_SUFFIX_TAG, messageFilter.getPostSuffix());
-		}
-		toElement.setAttribute(FileEpr.ERROR_DEL_TAG, String.valueOf(messageFilter.getErrorDelete()));
-		if (!messageFilter.getErrorDelete()) {
-			toElement.setAttribute(FileEpr.ERROR_DIR_TAG, messageFilter.getErrorDirectory());
-			toElement.setAttribute(FileEpr.ERROR_SUFFIX_TAG, messageFilter.getErrorSuffix());
-		}
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FsListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.io.File;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsBusDocument.FsBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsListenerDocument.FsListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsMessageFilterDocument.FsMessageFilter;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsProviderDocument.FsProvider;
+import org.jboss.soa.esb.listeners.gateway.FileGatewayListener;
+import org.w3c.dom.Element;
+
+/**
+ * Performs the mapping of a &lt;fs-listener&gt; XSD based configuration to the "ConfigTree"
+ * style configuration, adding the "ConfigTree" listener config to the "root" node.
+ *
+ * @author <a href="mailto:kurt.stam at jboss.com">kurt.stam at jboss.com</a>
+ */
+public class FsListenerMapper {
+
+	/**
+	 * Perform the mapping.
+	 * @param root The "ConfigTree" configuration root node.
+	 * @param listener The Jmslistener to be mapped into the ConfigTree.
+	 * @param model The configuration model from which the mapping is being performed.
+	 * @return The ConfigTree listener configuration node.
+	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, FsListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, "listener");
+		FsBus bus;
+		FsProvider provider;
+
+        listenerNode.setAttribute("name", listener.getName());
+
+        try {
+			bus = (FsBus) model.getBus(listener.getBusidref());
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <fs-listener> must reference a <fs-bus>.");
+		}
+		try {
+			provider = (FsProvider) model.getProvider(bus);
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <fs-provider> instance.  Unexpected exception - this should have caused a validation error!");
+		}
+
+		FsMessageFilter messageFilter = listener.getFsMessageFilter();
+		if(messageFilter == null) {
+			messageFilter = bus.getFsMessageFilter();
+			if(messageFilter == null) {
+				throw new ConfigurationException("No <fs-detination> defined on either <fs-listener> [" + listener.getName() + "] or <fs-bus> [" + bus.getBusid() + "].");
+			}
+		}
+		// Map the standard listener attributes - common across all listener types...
+		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+		// Map the <property> elements targeted at the listener - from the listener itself.
+		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+		if(listener.getIsGateway()) {
+			listenerNode.setAttribute("gatewayClass", FileGatewayListener.class.getName());
+			// Map EPR related attributes onto the listener - from the bus and provider and listener.
+			// Note: This will change - the Gateways will also support the EPR element...
+			mapFsEprProperties(listenerNode, provider, messageFilter);
+			MapperUtil.mapEPRProperties(listener, listenerNode, model);
+		} else {
+			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+
+			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
+			mapFsEprProperties(eprNode, provider, messageFilter);
+			MapperUtil.mapEPRProperties(listener, eprNode, model);
+			// Remove any empty attributes set on the EPR config...
+			YADOMUtil.removeEmptyAttributes(eprNode);
+		}
+
+		// Remove any empty attributes set on the listener config...
+		YADOMUtil.removeEmptyAttributes(listenerNode);
+
+		return listenerNode;
+	}
+
+	private static void mapFsEprProperties(Element toElement, FsProvider provider, FsMessageFilter messageFilter) {
+		final File directory = new File(messageFilter.getDirectory()) ;
+		toElement.setAttribute(ListenerTagNames.URL_TAG, directory.toURI().toString());
+		toElement.setAttribute(FileEpr.INPUT_SUFFIX_TAG, messageFilter.getInputSuffix());
+		toElement.setAttribute(FileEpr.WORK_SUFFIX_TAG, messageFilter.getWorkSuffix());
+		toElement.setAttribute(FileEpr.POST_DEL_TAG, String.valueOf(messageFilter.getPostDelete()));
+		toElement.setAttribute(FileEpr.POST_RENAME_TAG, String.valueOf(messageFilter.getPostRename()));
+		if (!messageFilter.getPostDelete()) {
+			toElement.setAttribute(FileEpr.POST_DIR_TAG, messageFilter.getPostDirectory());
+			toElement.setAttribute(FileEpr.POST_SUFFIX_TAG, messageFilter.getPostSuffix());
+		}
+		toElement.setAttribute(FileEpr.ERROR_DEL_TAG, String.valueOf(messageFilter.getErrorDelete()));
+		if (!messageFilter.getErrorDelete()) {
+			toElement.setAttribute(FileEpr.ERROR_DIR_TAG, messageFilter.getErrorDirectory());
+			toElement.setAttribute(FileEpr.ERROR_SUFFIX_TAG, messageFilter.getErrorSuffix());
+		}
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,148 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.addressing.eprs.FTPEpr;
-import org.jboss.soa.esb.addressing.eprs.FTPSEpr;
-import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpBusDocument.FtpBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpListenerDocument.FtpListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpMessageFilterDocument.FtpMessageFilter;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpMessageFilterDocument.FtpMessageFilter.Protocol;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpProviderDocument.FtpProvider;
-import org.jboss.soa.esb.listeners.gateway.ReadOnlyRemoteGatewayListener;
-import org.jboss.soa.esb.listeners.gateway.RemoteGatewayListener;
-import org.w3c.dom.Element;
-
-/**
- * Performs the mapping of a &lt;fs-listener&gt; XSD based configuration to the "ConfigTree"
- * style configuration, adding the "ConfigTree" listener config to the "root" node.
- *
- * @author <a href="mailto:kurt.stam at jboss.com">kurt.stam at jboss.com</a>
- */
-public class FtpListenerMapper {
-
-	/**
-	 * Perform the mapping.
-	 * @param root The "ConfigTree" configuration root node.
-	 * @param listener The Jmslistener to be mapped into the ConfigTree.
-	 * @param model The configuration model from which the mapping is being performed.
-	 * @return The ConfigTree listener configuration node.
-	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-	 */
-	public static Element map(Element root, FtpListener listener, XMLBeansModel model) throws ConfigurationException {
-		Element listenerNode = YADOMUtil.addElement(root, "listener");
-		FtpBus bus;
-		FtpProvider provider;
-
-        listenerNode.setAttribute("name", listener.getName());
-
-		try {
-			bus = (FtpBus) model.getBus(listener.getBusidref());
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <ftp-listener> must reference a <ftp-bus>.");
-		}
-		try {
-			provider = (FtpProvider) model.getProvider(bus);
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <ftp-provider> instance.  Unexpected exception - this should have caused a validation error!");
-		}
-
-		FtpMessageFilter messageFilter = listener.getFtpMessageFilter();
-		if(messageFilter == null) {
-			messageFilter = bus.getFtpMessageFilter();
-			if(messageFilter == null) {
-				throw new ConfigurationException("No <ftp-detination> defined on either <ftp-listener> [" + listener.getName() + "] or <ftp-bus> [" + bus.getBusid() + "].");
-			}
-		}
-		// Map the standard listener attributes - common across all listener types...
-		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-		// Map the <property> elements targeted at the listener - from the listener itself.
-		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-		if(listener.getIsGateway()) {
-			if ( messageFilter.getReadOnly() )
-				listenerNode.setAttribute("gatewayClass", ReadOnlyRemoteGatewayListener.class.getName());
-			else
-				listenerNode.setAttribute("gatewayClass", RemoteGatewayListener.class.getName());
-			// Map EPR related attributes onto the listener - from the bus and provider and listener.
-			// Note: This will change - the Gateways will also support the EPR element...
-			mapFtpEprProperties(listenerNode, provider, messageFilter);
-			MapperUtil.mapEPRProperties(listener, listenerNode, model);
-		} else {
-			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
-
-			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
-			mapFtpEprProperties(eprNode, provider, messageFilter);
-			MapperUtil.mapEPRProperties(listener, eprNode, model);
-			// Remove any empty attributes set on the EPR config...
-			YADOMUtil.removeEmptyAttributes(eprNode);
-		}
-
-		// Remove any empty attributes set on the listener config...
-		YADOMUtil.removeEmptyAttributes(listenerNode);
-
-		return listenerNode;
-	}
-
-	/**
-	 *  The separator used by the ftp protocol to separate the
-	 *  host:port section from the path
-	 */
-	private static final String FTP_SEPARATOR = "/";
-
-	private static void mapFtpEprProperties(Element toElement, FtpProvider provider, FtpMessageFilter messageFilter)
-	{
-		String inputDir = messageFilter.getDirectory();
-		if ( ! inputDir.startsWith( FTP_SEPARATOR ) )
-			inputDir = FTP_SEPARATOR + inputDir;
-
-		final String filterPassword = messageFilter.getPassword() ;
-		final String urlPassword = (filterPassword == null ? "" : ":" + filterPassword) ;
-		toElement.setAttribute(ListenerTagNames.URL_TAG, messageFilter.getProtocol() + "://" + messageFilter.getUsername()
-				+ urlPassword + "@" + provider.getHostname() + inputDir );
-		toElement.setAttribute(FTPEpr.INPUT_SUFFIX_TAG, messageFilter.getInputSuffix());
-		toElement.setAttribute(FTPEpr.WORK_SUFFIX_TAG, messageFilter.getWorkSuffix());
-		toElement.setAttribute(FTPEpr.POST_DEL_TAG, String.valueOf(messageFilter.getPostDelete()));
-		toElement.setAttribute(FTPEpr.POST_RENAME_TAG, String.valueOf(messageFilter.getPostRename()));
-
-		if (!messageFilter.getPostDelete()) {
-			toElement.setAttribute(FTPEpr.POST_DIR_TAG, messageFilter.getPostDirectory());
-			toElement.setAttribute(FTPEpr.POST_SUFFIX_TAG, messageFilter.getPostSuffix());
-		}
-		toElement.setAttribute(FTPEpr.ERROR_DEL_TAG, String.valueOf(messageFilter.getErrorDelete()));
-		if (!messageFilter.getErrorDelete()) {
-			toElement.setAttribute(FTPEpr.ERROR_DIR_TAG, messageFilter.getErrorDirectory());
-			toElement.setAttribute(FTPEpr.ERROR_SUFFIX_TAG, messageFilter.getErrorSuffix());
-		}
-		toElement.setAttribute(FTPEpr.PASSIVE_TAG, String.valueOf(messageFilter.getPassive()));
-		if (Protocol.SFTP.equals(messageFilter.getProtocol())) {
-			toElement.setAttribute(SFTPEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
-			toElement.setAttribute(SFTPEpr.PASSPHRASE_TAG, messageFilter.getCertificatePassphrase()) ;
-		}
-		if (Protocol.FTPS.equals(messageFilter.getProtocol())) {
-			toElement.setAttribute(FTPSEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
-			toElement.setAttribute(FTPSEpr.CERTIFICATE_NAME_TAG, messageFilter.getCertificateName());
-		}
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FTPSEpr;
+import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpBusDocument.FtpBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpListenerDocument.FtpListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpMessageFilterDocument.FtpMessageFilter;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpMessageFilterDocument.FtpMessageFilter.Protocol;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpProviderDocument.FtpProvider;
+import org.jboss.soa.esb.listeners.gateway.ReadOnlyRemoteGatewayListener;
+import org.jboss.soa.esb.listeners.gateway.RemoteGatewayListener;
+import org.w3c.dom.Element;
+
+/**
+ * Performs the mapping of a &lt;fs-listener&gt; XSD based configuration to the "ConfigTree"
+ * style configuration, adding the "ConfigTree" listener config to the "root" node.
+ *
+ * @author <a href="mailto:kurt.stam at jboss.com">kurt.stam at jboss.com</a>
+ */
+public class FtpListenerMapper {
+
+	/**
+	 * Perform the mapping.
+	 * @param root The "ConfigTree" configuration root node.
+	 * @param listener The Jmslistener to be mapped into the ConfigTree.
+	 * @param model The configuration model from which the mapping is being performed.
+	 * @return The ConfigTree listener configuration node.
+	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, FtpListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, "listener");
+		FtpBus bus;
+		FtpProvider provider;
+
+        listenerNode.setAttribute("name", listener.getName());
+
+		try {
+			bus = (FtpBus) model.getBus(listener.getBusidref());
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <ftp-listener> must reference a <ftp-bus>.");
+		}
+		try {
+			provider = (FtpProvider) model.getProvider(bus);
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <ftp-provider> instance.  Unexpected exception - this should have caused a validation error!");
+		}
+
+		FtpMessageFilter messageFilter = listener.getFtpMessageFilter();
+		if(messageFilter == null) {
+			messageFilter = bus.getFtpMessageFilter();
+			if(messageFilter == null) {
+				throw new ConfigurationException("No <ftp-detination> defined on either <ftp-listener> [" + listener.getName() + "] or <ftp-bus> [" + bus.getBusid() + "].");
+			}
+		}
+		// Map the standard listener attributes - common across all listener types...
+		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+		// Map the <property> elements targeted at the listener - from the listener itself.
+		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+		if(listener.getIsGateway()) {
+			if ( messageFilter.getReadOnly() )
+				listenerNode.setAttribute("gatewayClass", ReadOnlyRemoteGatewayListener.class.getName());
+			else
+				listenerNode.setAttribute("gatewayClass", RemoteGatewayListener.class.getName());
+			// Map EPR related attributes onto the listener - from the bus and provider and listener.
+			// Note: This will change - the Gateways will also support the EPR element...
+			mapFtpEprProperties(listenerNode, provider, messageFilter);
+			MapperUtil.mapEPRProperties(listener, listenerNode, model);
+		} else {
+			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+
+			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
+			mapFtpEprProperties(eprNode, provider, messageFilter);
+			MapperUtil.mapEPRProperties(listener, eprNode, model);
+			// Remove any empty attributes set on the EPR config...
+			YADOMUtil.removeEmptyAttributes(eprNode);
+		}
+
+		// Remove any empty attributes set on the listener config...
+		YADOMUtil.removeEmptyAttributes(listenerNode);
+
+		return listenerNode;
+	}
+
+	/**
+	 *  The separator used by the ftp protocol to separate the
+	 *  host:port section from the path
+	 */
+	private static final String FTP_SEPARATOR = "/";
+
+	private static void mapFtpEprProperties(Element toElement, FtpProvider provider, FtpMessageFilter messageFilter)
+	{
+		String inputDir = messageFilter.getDirectory();
+		if ( ! inputDir.startsWith( FTP_SEPARATOR ) )
+			inputDir = FTP_SEPARATOR + inputDir;
+
+		final String filterPassword = messageFilter.getPassword() ;
+		final String urlPassword = (filterPassword == null ? "" : ":" + filterPassword) ;
+		toElement.setAttribute(ListenerTagNames.URL_TAG, messageFilter.getProtocol() + "://" + messageFilter.getUsername()
+				+ urlPassword + "@" + provider.getHostname() + inputDir );
+		toElement.setAttribute(FTPEpr.INPUT_SUFFIX_TAG, messageFilter.getInputSuffix());
+		toElement.setAttribute(FTPEpr.WORK_SUFFIX_TAG, messageFilter.getWorkSuffix());
+		toElement.setAttribute(FTPEpr.POST_DEL_TAG, String.valueOf(messageFilter.getPostDelete()));
+		toElement.setAttribute(FTPEpr.POST_RENAME_TAG, String.valueOf(messageFilter.getPostRename()));
+
+		if (!messageFilter.getPostDelete()) {
+			toElement.setAttribute(FTPEpr.POST_DIR_TAG, messageFilter.getPostDirectory());
+			toElement.setAttribute(FTPEpr.POST_SUFFIX_TAG, messageFilter.getPostSuffix());
+		}
+		toElement.setAttribute(FTPEpr.ERROR_DEL_TAG, String.valueOf(messageFilter.getErrorDelete()));
+		if (!messageFilter.getErrorDelete()) {
+			toElement.setAttribute(FTPEpr.ERROR_DIR_TAG, messageFilter.getErrorDirectory());
+			toElement.setAttribute(FTPEpr.ERROR_SUFFIX_TAG, messageFilter.getErrorSuffix());
+		}
+		toElement.setAttribute(FTPEpr.PASSIVE_TAG, String.valueOf(messageFilter.getPassive()));
+		if (Protocol.SFTP.equals(messageFilter.getProtocol())) {
+			toElement.setAttribute(SFTPEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
+			toElement.setAttribute(SFTPEpr.PASSPHRASE_TAG, messageFilter.getCertificatePassphrase()) ;
+		}
+		if (Protocol.FTPS.equals(messageFilter.getProtocol())) {
+			toElement.setAttribute(FTPSEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
+			toElement.setAttribute(FTPSEpr.CERTIFICATE_NAME_TAG, messageFilter.getCertificateName());
+		}
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,154 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.util.HashMap;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsListenerDocument.FsListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpListenerDocument.FtpListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.GroovyListenerDocument.GroovyListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateListenerDocument.HibernateListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrListenerDocument.JbrListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpGatewayDocument.HttpGateway;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlListenerDocument.SqlListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.UdpListenerDocument.UdpListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JcaGatewayDocument;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.AbstractScheduledListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel110.HttpListenerDocument;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Gateway Listeners Configuration Generator.
- * <p/>
- * Generates a "ConfigTree" style configuration for the Gateways Listeners.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class GatewayGenerator {
-
-	private static final Logger logger = Logger.getLogger(GatewayGenerator.class);
-
-    /**
-     * XMLBeans based configuration model instance.
-     */
-    private XMLBeansModel model;
-
-    /**
-     * Public constructor.
-     *
-     * @param model XMLBeans based configuration model instance.
-     */
-    public GatewayGenerator(XMLBeansModel model) {
-        this.model = model;
-    }
-
-    /**
-     * Generate the configuration DOM for the target Server.
-     *
-     * @return The configuration DOM.
-     * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
-     */
-    public Document generate() throws ConfigurationException {
-        Document doc = YADOMUtil.createDocument();
-        Element root;
-
-        doc.appendChild(doc.createComment("\n\tNOTE: DO NOT MODIFY\n\tThis file was auto-generated.\n"));
-        root = YADOMUtil.addElement(doc, "jbossesb-gateways");
-        root.setAttribute("parameterReloadSecs", model.getParameterReloadSecs());
-
-        List<Service> services = model.getServices();
-        HashMap<String, HashMap<String, String>> hm = new HashMap<String, HashMap<String, String>>();
-        for (Service service : services) {
-        	if (hm.containsKey(service.getCategory())) {
-        		HashMap<String, String> hc = hm.get(service.getCategory());
-
-        		if (hc.containsKey(service.getName())) {
-        			throw new ConfigurationException("Service names must be unique within a category.  "
-        					+ "The service name " + service.getName()
-        					+ " is already defined within the " + service.getCategory() + " category.");
-        		} else {
-        			hc.put(service.getName(), service.getName());
-        		}
-        	} else {
-        		HashMap <String,String> hc = new HashMap<String,String>();
-        		hc.put(service.getName(), service.getName());
-        		hm.put(service.getCategory(), hc);
-        	}
-        }
-
-        // Iterate over all the gateway configs and map them to the gateway configuration...
-        List<Listener> gateways = model.getGatewayListeners();
-        for (Listener gateway : gateways) {
-            addGatewayConfig(root, gateway);
-        }
-
-        return doc;
-    }
-
-    /**
-     * Add a single gateway configuration node to configuration root.
-     *
-     * @param root    Configuration root node.
-     * @param gateway The Gateway Listener configuration to be added.
-     * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-     */
-    private void addGatewayConfig(Element root, Listener gateway) throws ConfigurationException {
-        Element listenerConfig;
-
-        // Of course we could do the following reflectively if we really want to - TODO perhaps!!
-        if (gateway instanceof JmsListener) {
-            listenerConfig = JmsListenerMapper.map(root, (JmsListener) gateway, model);
-        } else if (gateway instanceof FsListener) {
-            listenerConfig = FsListenerMapper.map(root, (FsListener) gateway, model);
-        } else if (gateway instanceof JcaGatewayDocument.JcaGateway) {
-            listenerConfig = JcaGatewayMapper.map(root, (JcaGatewayDocument.JcaGateway) gateway, model);
-        } else if (gateway instanceof FtpListener) {
-            listenerConfig = FtpListenerMapper.map(root, (FtpListener) gateway, model);
-        } else if (gateway instanceof SqlListener) {
-            listenerConfig = SqlListenerMapper.map(root, (SqlListener) gateway, model);
-        } else if (gateway instanceof JbrListener) {
-            listenerConfig = JbrListenerMapper.map(root, (JbrListener) gateway, model);
-        } else if (gateway instanceof HttpGateway) {
-        	listenerConfig = HttpGatewayMapper.map(root, (HttpGateway) gateway, model);
-        } else if (gateway instanceof GroovyListener) {
-            listenerConfig = GroovyListenerMapper.map(root, (GroovyListener) gateway, model);
-        } else if (gateway instanceof HibernateListener) {
-            listenerConfig = HibernateListenerMapper.map(root, (HibernateListener) gateway, model);
-        } else if (gateway instanceof UdpListener) {
-            listenerConfig = UdpListenerMapper.map(root, (UdpListener) gateway, model);
-        } else {
-            listenerConfig = UntypedListenerMapper.map(root, gateway, model);
-        }
-
-        if (gateway instanceof AbstractScheduledListener) {
-            ScheduleMapper.map(listenerConfig, (AbstractScheduledListener) gateway, model);
-        }
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,154 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FsListenerDocument.FsListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpListenerDocument.FtpListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.GroovyListenerDocument.GroovyListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateListenerDocument.HibernateListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrListenerDocument.JbrListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpGatewayDocument.HttpGateway;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlListenerDocument.SqlListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.UdpListenerDocument.UdpListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JcaGatewayDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.AbstractScheduledListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel110.HttpListenerDocument;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * Gateway Listeners Configuration Generator.
+ * <p/>
+ * Generates a "ConfigTree" style configuration for the Gateways Listeners.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class GatewayGenerator {
+
+	private static final Logger logger = Logger.getLogger(GatewayGenerator.class);
+
+    /**
+     * XMLBeans based configuration model instance.
+     */
+    private XMLBeansModel model;
+
+    /**
+     * Public constructor.
+     *
+     * @param model XMLBeans based configuration model instance.
+     */
+    public GatewayGenerator(XMLBeansModel model) {
+        this.model = model;
+    }
+
+    /**
+     * Generate the configuration DOM for the target Server.
+     *
+     * @return The configuration DOM.
+     * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
+     */
+    public Document generate() throws ConfigurationException {
+        Document doc = YADOMUtil.createDocument();
+        Element root;
+
+        doc.appendChild(doc.createComment("\n\tNOTE: DO NOT MODIFY\n\tThis file was auto-generated.\n"));
+        root = YADOMUtil.addElement(doc, "jbossesb-gateways");
+        root.setAttribute("parameterReloadSecs", model.getParameterReloadSecs());
+
+        List<Service> services = model.getServices();
+        HashMap<String, HashMap<String, String>> hm = new HashMap<String, HashMap<String, String>>();
+        for (Service service : services) {
+        	if (hm.containsKey(service.getCategory())) {
+        		HashMap<String, String> hc = hm.get(service.getCategory());
+
+        		if (hc.containsKey(service.getName())) {
+        			throw new ConfigurationException("Service names must be unique within a category.  "
+        					+ "The service name " + service.getName()
+        					+ " is already defined within the " + service.getCategory() + " category.");
+        		} else {
+        			hc.put(service.getName(), service.getName());
+        		}
+        	} else {
+        		HashMap <String,String> hc = new HashMap<String,String>();
+        		hc.put(service.getName(), service.getName());
+        		hm.put(service.getCategory(), hc);
+        	}
+        }
+
+        // Iterate over all the gateway configs and map them to the gateway configuration...
+        List<Listener> gateways = model.getGatewayListeners();
+        for (Listener gateway : gateways) {
+            addGatewayConfig(root, gateway);
+        }
+
+        return doc;
+    }
+
+    /**
+     * Add a single gateway configuration node to configuration root.
+     *
+     * @param root    Configuration root node.
+     * @param gateway The Gateway Listener configuration to be added.
+     * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+     */
+    private void addGatewayConfig(Element root, Listener gateway) throws ConfigurationException {
+        Element listenerConfig;
+
+        // Of course we could do the following reflectively if we really want to - TODO perhaps!!
+        if (gateway instanceof JmsListener) {
+            listenerConfig = JmsListenerMapper.map(root, (JmsListener) gateway, model);
+        } else if (gateway instanceof FsListener) {
+            listenerConfig = FsListenerMapper.map(root, (FsListener) gateway, model);
+        } else if (gateway instanceof JcaGatewayDocument.JcaGateway) {
+            listenerConfig = JcaGatewayMapper.map(root, (JcaGatewayDocument.JcaGateway) gateway, model);
+        } else if (gateway instanceof FtpListener) {
+            listenerConfig = FtpListenerMapper.map(root, (FtpListener) gateway, model);
+        } else if (gateway instanceof SqlListener) {
+            listenerConfig = SqlListenerMapper.map(root, (SqlListener) gateway, model);
+        } else if (gateway instanceof JbrListener) {
+            listenerConfig = JbrListenerMapper.map(root, (JbrListener) gateway, model);
+        } else if (gateway instanceof HttpGateway) {
+        	listenerConfig = HttpGatewayMapper.map(root, (HttpGateway) gateway, model);
+        } else if (gateway instanceof GroovyListener) {
+            listenerConfig = GroovyListenerMapper.map(root, (GroovyListener) gateway, model);
+        } else if (gateway instanceof HibernateListener) {
+            listenerConfig = HibernateListenerMapper.map(root, (HibernateListener) gateway, model);
+        } else if (gateway instanceof UdpListener) {
+            listenerConfig = UdpListenerMapper.map(root, (UdpListener) gateway, model);
+        } else {
+            listenerConfig = UntypedListenerMapper.map(root, gateway, model);
+        }
+
+        if (gateway instanceof AbstractScheduledListener) {
+            ScheduleMapper.map(listenerConfig, (AbstractScheduledListener) gateway, model);
+        }
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.GroovyListenerDocument;
-import org.jboss.soa.esb.listeners.gateway.GroovyGateway;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.w3c.dom.Element;
-
-/**
- * Config mapper class for the Groovy Listener.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class GroovyListenerMapper {
-
-    public static Element map(Element root, GroovyListenerDocument.GroovyListener listener, XMLBeansModel model) throws ConfigurationException {
-        Element listenerNode = YADOMUtil.addElement(root, "listener");
-
-        listenerNode.setAttribute("name", listener.getName());
-
-        // Map the standard listener attributes - common across all listener types...
-        MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-        // Map the <property> elements targeted at the listener - from the listener itself.
-        MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-
-        if(listener.getIsGateway()) {
-            listenerNode.setAttribute("gatewayClass", GroovyGateway.class.getName());
-        } else {
-            listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, GroovyGateway.class.getName());
-        }
-
-        listenerNode.setAttribute("script", listener.getScript());
-
-        return listenerNode;
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GroovyListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.GroovyListenerDocument;
+import org.jboss.soa.esb.listeners.gateway.GroovyGateway;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.w3c.dom.Element;
+
+/**
+ * Config mapper class for the Groovy Listener.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class GroovyListenerMapper {
+
+    public static Element map(Element root, GroovyListenerDocument.GroovyListener listener, XMLBeansModel model) throws ConfigurationException {
+        Element listenerNode = YADOMUtil.addElement(root, "listener");
+
+        listenerNode.setAttribute("name", listener.getName());
+
+        // Map the standard listener attributes - common across all listener types...
+        MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+        // Map the <property> elements targeted at the listener - from the listener itself.
+        MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+
+        if(listener.getIsGateway()) {
+            listenerNode.setAttribute("gatewayClass", GroovyGateway.class.getName());
+        } else {
+            listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, GroovyGateway.class.getName());
+        }
+
+        listenerNode.setAttribute("script", listener.getScript());
+
+        return listenerNode;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,121 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.util.List;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.addressing.eprs.HibernateEpr;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateBusDocument.HibernateBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateListenerDocument.HibernateListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateMessageFilterDocument.HibernateMessageFilter;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateProviderDocument.HibernateProvider;
-import org.jboss.soa.esb.listeners.gateway.HibernateGatewayListener;
-import org.w3c.dom.Element;
-
-/**
- * Performs the mapping of a &lt;fs-listener&gt; XSD based configuration to the "ConfigTree"
- * style configuration, adding the "ConfigTree" listener config to the "root" node.
- *
- * @author <a href="mailto:tcunning at redhat.com">tcunning at redhat.com</a>
- */
-public class HibernateListenerMapper {
-
-	/**
-	 * Perform the mapping.
-	 * @param root The "ConfigTree" configuration root node.
-	 * @param listener The Jmslistener to be mapped into the ConfigTree.
-	 * @param model The configuration model from which the mapping is being performed.
-	 * @return The ConfigTree listener configuration node.
-	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-	 */
-	public static Element map(Element root, HibernateListener listener, XMLBeansModel model) throws ConfigurationException {
-		Element listenerNode = YADOMUtil.addElement(root, "listener");
-		HibernateBus bus;
-		HibernateProvider provider;
-
-        listenerNode.setAttribute("name", listener.getName());
-
-		try {
-			bus = (HibernateBus) model.getBus(listener.getBusidref());
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <hibernate-listener> must reference a <hibernate-bus>.");
-		}
-		try {
-			provider = (HibernateProvider) model.getProvider(bus);
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <hibernate-provider> instance.  Unexpected exception - this should have caused a validation error!");
-		}
-
-		List<HibernateMessageFilter> messageFilters = null;
-		messageFilters = listener.getHibernateMessageFilterList();
-
-		if(messageFilters.size() == 0) {
-			messageFilters = bus.getHibernateMessageFilterList();
-			if(messageFilters == null) {
-				throw new ConfigurationException("No <hibernate-message-filter> defined on either <hibernate-listener> [" + listener.getName() + "] or <hibernate-bus> [" + bus.getBusid() + "].");
-			}
-		}
-		// Map the standard listener attributes - common across all listener types...
-		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-		// Map the <property> elements targeted at the listener - from the listener itself.
-		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-		if(listener.getIsGateway()) {
-			listenerNode.setAttribute("gatewayClass", HibernateGatewayListener.class.getName());
-			// Map EPR related attributes onto the listener - from the bus and provider and listener.
-			// Note: This will change - the Gateways will also support the EPR element...
-			mapHibernateEprProperties(listenerNode, provider, messageFilters);
-			MapperUtil.mapEPRProperties(listener, listenerNode, model);
-		} else {
-			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
-			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
-			mapHibernateEprProperties(eprNode, provider, messageFilters);
-			MapperUtil.mapEPRProperties(listener, eprNode, model);
-			// Remove any empty attributes set on the EPR config...
-			YADOMUtil.removeEmptyAttributes(eprNode);
-		}
-
-		// Remove any empty attributes set on the listener config...
-		YADOMUtil.removeEmptyAttributes(listenerNode);
-
-		return listenerNode;
-	}
-
-	/**
-	 * mapHibernateEprProperties creates a ConfigTree with the details we need
-	 * from the HibernateProvider and MessageFilters.
-	 * @param toElement the element we are passing on
-	 * @param provider the provider object
-	 * @param messageFilters collection of MessageFilters we need to implement
-	 */
-	private static void mapHibernateEprProperties(Element toElement, HibernateProvider provider, List<HibernateMessageFilter> messageFilters) {
-		toElement.setAttribute(HibernateEpr.HIBERNATE_CFG_TAG, provider.getHibernateCfgFile());
-		for (HibernateMessageFilter messageFilter: messageFilters) {
-			Element temp = YADOMUtil.addElement(toElement, "messagefilter");
-			temp.setAttribute(HibernateEpr.CLASS_NAME_TAG, messageFilter.getClassname());
-			temp.setAttribute(HibernateEpr.EVENT_TAG, messageFilter.getEvent());
-			toElement.appendChild(temp);
-		}
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HibernateListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,121 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.util.List;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.HibernateEpr;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateBusDocument.HibernateBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateListenerDocument.HibernateListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateMessageFilterDocument.HibernateMessageFilter;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HibernateProviderDocument.HibernateProvider;
+import org.jboss.soa.esb.listeners.gateway.HibernateGatewayListener;
+import org.w3c.dom.Element;
+
+/**
+ * Performs the mapping of a &lt;fs-listener&gt; XSD based configuration to the "ConfigTree"
+ * style configuration, adding the "ConfigTree" listener config to the "root" node.
+ *
+ * @author <a href="mailto:tcunning at redhat.com">tcunning at redhat.com</a>
+ */
+public class HibernateListenerMapper {
+
+	/**
+	 * Perform the mapping.
+	 * @param root The "ConfigTree" configuration root node.
+	 * @param listener The Jmslistener to be mapped into the ConfigTree.
+	 * @param model The configuration model from which the mapping is being performed.
+	 * @return The ConfigTree listener configuration node.
+	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, HibernateListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, "listener");
+		HibernateBus bus;
+		HibernateProvider provider;
+
+        listenerNode.setAttribute("name", listener.getName());
+
+		try {
+			bus = (HibernateBus) model.getBus(listener.getBusidref());
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <hibernate-listener> must reference a <hibernate-bus>.");
+		}
+		try {
+			provider = (HibernateProvider) model.getProvider(bus);
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <hibernate-provider> instance.  Unexpected exception - this should have caused a validation error!");
+		}
+
+		List<HibernateMessageFilter> messageFilters = null;
+		messageFilters = listener.getHibernateMessageFilterList();
+
+		if(messageFilters.size() == 0) {
+			messageFilters = bus.getHibernateMessageFilterList();
+			if(messageFilters == null) {
+				throw new ConfigurationException("No <hibernate-message-filter> defined on either <hibernate-listener> [" + listener.getName() + "] or <hibernate-bus> [" + bus.getBusid() + "].");
+			}
+		}
+		// Map the standard listener attributes - common across all listener types...
+		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+		// Map the <property> elements targeted at the listener - from the listener itself.
+		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+		if(listener.getIsGateway()) {
+			listenerNode.setAttribute("gatewayClass", HibernateGatewayListener.class.getName());
+			// Map EPR related attributes onto the listener - from the bus and provider and listener.
+			// Note: This will change - the Gateways will also support the EPR element...
+			mapHibernateEprProperties(listenerNode, provider, messageFilters);
+			MapperUtil.mapEPRProperties(listener, listenerNode, model);
+		} else {
+			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
+			mapHibernateEprProperties(eprNode, provider, messageFilters);
+			MapperUtil.mapEPRProperties(listener, eprNode, model);
+			// Remove any empty attributes set on the EPR config...
+			YADOMUtil.removeEmptyAttributes(eprNode);
+		}
+
+		// Remove any empty attributes set on the listener config...
+		YADOMUtil.removeEmptyAttributes(listenerNode);
+
+		return listenerNode;
+	}
+
+	/**
+	 * mapHibernateEprProperties creates a ConfigTree with the details we need
+	 * from the HibernateProvider and MessageFilters.
+	 * @param toElement the element we are passing on
+	 * @param provider the provider object
+	 * @param messageFilters collection of MessageFilters we need to implement
+	 */
+	private static void mapHibernateEprProperties(Element toElement, HibernateProvider provider, List<HibernateMessageFilter> messageFilters) {
+		toElement.setAttribute(HibernateEpr.HIBERNATE_CFG_TAG, provider.getHibernateCfgFile());
+		for (HibernateMessageFilter messageFilter: messageFilters) {
+			Element temp = YADOMUtil.addElement(toElement, "messagefilter");
+			temp.setAttribute(HibernateEpr.CLASS_NAME_TAG, messageFilter.getClassname());
+			temp.setAttribute(HibernateEpr.EVENT_TAG, messageFilter.getEvent());
+			toElement.appendChild(temp);
+		}
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,252 +0,0 @@
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.util.ClassUtil;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.gateway.http.HttpGatewayServlet;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpBusDocument.HttpBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpGatewayDocument.HttpGateway;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpProviderDocument.HttpProvider;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.PayloadAs;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpExceptionMappings;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.AsyncHttpResponse;
-import org.jboss.internal.soa.esb.listeners.war.HttpGatewayDeploymentFactory;
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-import org.w3c.dom.Element;
-import org.apache.log4j.Logger;
-
-import java.util.*;
-import java.io.InputStream;
-import java.io.IOException;
-
-/**
- * Http gateway mapper.
- * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
- */
-public class HttpGatewayMapper {
-
-    private static final Logger logger = Logger.getLogger(HttpGatewayMapper.class);
-
-    /**
-     * Perform the Http listener mapping.
-     * @param root The "ConfigTree" configuration root node.
-     * @param listener http listener config.
-     * @param model The configuration model from which the mapping is being performed.
-     * @return The ConfigTree listener configuration node.
-     * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-     */
-    public static Element map(Element root, HttpGateway listener, XMLBeansModel model) throws ConfigurationException {
-        Element listenerNode = YADOMUtil.addElement(root, "listener");
-        HttpBus bus;
-        HttpProvider provider;
-
-        listenerNode.setAttribute("name", listener.getName());
-
-        try {
-            bus = (HttpBus) model.getOptionalBus(listener.getBusidref());
-        } catch (ClassCastException e) {
-            throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <http-listener> must reference a <http-bus>.");
-        }
-
-        // Map the standard listener attributes - common across all listener types...
-        MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-
-        String urlPattern = listener.getUrlPattern();
-        PayloadAs.Enum payloadAs = listener.getPayloadAs();
-
-        if(listener.getAsyncResponseList() != null && !listener.getAsyncResponseList().isEmpty()) {
-            AsyncHttpResponse asyncResponse = listener.getAsyncResponseList().get(0);
-            listenerNode.setAttribute(HttpGatewayServlet.ASYNC_SERVICE_INVOKE, "true");
-            listenerNode.setAttribute(HttpGatewayServlet.ASYNC_STATUS_CODE, Integer.toString(asyncResponse.getStatusCode()));
-            AsyncHttpResponse.Payload payload = asyncResponse.getPayload();
-            if(payload != null) {
-                listenerNode.setAttribute(HttpGatewayServlet.ASYNC_PAYLOAD, payload.getClasspathResource());
-                listenerNode.setAttribute(HttpGatewayServlet.ASYNC_PAYLOAD_CONTENT_TYPE, payload.getContentType());
-                if(payload.getCharacterEncoding() != null) {
-                    listenerNode.setAttribute(HttpGatewayServlet.ASYNC_PAYLOAD_CHARACTER_ENCODING, payload.getCharacterEncoding());
-                }
-            }
-        } else {
-            listenerNode.setAttribute(HttpGatewayServlet.ASYNC_SERVICE_INVOKE, "false");
-        }
-
-        if(bus != null) {
-            try {
-                provider = (HttpProvider) model.getProvider(bus);
-            } catch (ClassCastException e) {
-                throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <http-provider> instance.  Unexpected exception - this should have caused a validation error!");
-            }
-
-            // Map the <property> elements targeted at the listener - from the listener itself.
-            //MapperUtil.mapProperties(provider.getPropertyList(), listenerNode);
-            for(Property property : provider.getPropertyList()) {
-                Element propertyElement = listenerNode.getOwnerDocument().createElement("property");
-                MapperUtil.serialize(property, propertyElement);
-                listenerNode.appendChild(propertyElement);
-            }
-
-            List<HttpBus.ProtectedMethods> protectedMethodsList = bus.getProtectedMethodsList();
-            List<HttpBus.AllowedRoles> rolesList = bus.getAllowedRolesList();
-            HttpProvider.Auth authType = provider.getAuth();
-            HttpBus.TransportGuarantee.Enum transportGuarantee = bus.getTransportGuarantee();
-
-            MapperUtil.mapProperties(bus.getPropertyList(), listenerNode);
-            mapStandardSettings(listenerNode, urlPattern, payloadAs, listener.getPropertyList());
-
-            if(protectedMethodsList != null && !protectedMethodsList.isEmpty()) {
-                HttpBus.ProtectedMethods methods = protectedMethodsList.get(0);
-                StringBuilder methodsString = new StringBuilder();
-
-                for(HttpBus.ProtectedMethods.Method method : methods.getMethodList()) {
-                    if(methodsString.length() > 0) {
-                        methodsString.append(",");
-                    }
-                    methodsString.append(method.getName().toString());
-                }
-                listenerNode.setAttribute(HttpGatewayDeploymentFactory.PROTECTED_METHODS, methodsString.toString());
-            }
-            if(rolesList != null && !rolesList.isEmpty()) {
-                HttpBus.AllowedRoles roles = rolesList.get(0);
-                StringBuilder rolesString = new StringBuilder();
-
-                for(HttpBus.AllowedRoles.Role role : roles.getRoleList()) {
-                    if(rolesString.length() > 0) {
-                        rolesString.append(",");
-                    }
-                    rolesString.append(role.getName().toString());
-                }
-                listenerNode.setAttribute(HttpGatewayDeploymentFactory.ALLOWED_ROLES, rolesString.toString());
-            }
-            if(authType != null) {
-                listenerNode.setAttribute(HttpGatewayDeploymentFactory.AUTH_METHOD, authType.getMethod().toString());
-                listenerNode.setAttribute(HttpGatewayDeploymentFactory.AUTH_DOMAIN, authType.getDomain());
-            }
-
-            if(transportGuarantee != null) {
-                listenerNode.setAttribute(HttpGatewayDeploymentFactory.TRANSPORT_GUARANTEE, transportGuarantee.toString());
-            }
-
-            // Exception status mappings...
-            mapExceptionStatusMappings(listenerNode, provider, listener);
-        } else {
-            // Use the "default" http bus....
-            mapStandardSettings(listenerNode, urlPattern, payloadAs, listener.getPropertyList());
-
-            // Exception status mappings...
-            mapExceptionStatusMappings(listenerNode, (HttpProvider) model.getProvider(HttpProvider.class), listener);
-        }
-
-        return listenerNode;
-    }
-
-    private static void mapStandardSettings(Element listenerNode, String urlPattern, PayloadAs.Enum payloadAs, List<Property> listenerProps) {
-        MapperUtil.mapProperties(listenerProps, listenerNode);
-
-        listenerNode.setAttribute(ListenerTagNames.GATEWAY_CLASS_TAG, HttpGatewayDeploymentFactory.class.getName());
-        listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, "true");
-
-        if(urlPattern != null) {
-            listenerNode.setAttribute(HttpGatewayDeploymentFactory.URL_PATTERN, urlPattern);
-        }
-        if(payloadAs != null) {
-            listenerNode.setAttribute(HttpGatewayServlet.PAYLOAD_AS, payloadAs.toString());
-        }
-    }
-
-    private static void mapExceptionStatusMappings(Element listenerNode, HttpProvider provider, HttpGateway listener) throws ConfigurationException {
-        StringBuilder exceptionMappingsAttrBuilder = new StringBuilder();
-
-        if(provider != null) {
-            HttpExceptionMappings providerExceptionConfig = provider.getException();
-            if(providerExceptionConfig != null) {
-                buildExceptionMappingCSV(exceptionMappingsAttrBuilder, providerExceptionConfig);
-            }
-        }
-
-        if(listener != null && listener.getExceptionList() != null && !listener.getExceptionList().isEmpty()) {
-            HttpExceptionMappings listenerExceptionConfig = listener.getExceptionList().get(0);
-            buildExceptionMappingCSV(exceptionMappingsAttrBuilder, listenerExceptionConfig);
-        }
-
-        if(exceptionMappingsAttrBuilder.length() > 0) {
-            listenerNode.setAttribute(org.jboss.soa.esb.listeners.gateway.http.HttpGatewayServlet.EXCEPTION_MAPPINGS, exceptionMappingsAttrBuilder.toString());
-        }
-    }
-
-    private static void buildExceptionMappingCSV(StringBuilder exceptionMappingsAttrBuilder, HttpExceptionMappings exceptionConfig) throws ConfigurationException {
-        // The mappings file is a .properties file containing exception-to-status-code mappings...
-        String mappingsFile = exceptionConfig.getMappingsFile();
-        if(mappingsFile != null) {
-            exceptionMappingsAttrBuilder.append(mappingsFile);
-            exceptionMappingsAttrBuilder.append(",");
-        }
-
-        // We add the exception mappings as a CSV list of exception class name and status
-        // code key value pairs...
-        List<HttpExceptionMappings.Mapping> mappings = exceptionConfig.getMappingList();
-        if(mappings != null && !mappings.isEmpty()) {
-            for(HttpExceptionMappings.Mapping mapping : mappings) {
-                exceptionMappingsAttrBuilder.append(mapping.getClass1().trim());
-                exceptionMappingsAttrBuilder.append("=");
-                exceptionMappingsAttrBuilder.append(mapping.getStatus());
-                exceptionMappingsAttrBuilder.append(",");
-            }
-        }
-    }
-
-    public static Map<String, Integer> decodeExceptionMappingsCSV(String exceptionMappingsCSV) throws ConfigurationException {
-        AssertArgument.isNotNullAndNotEmpty(exceptionMappingsCSV, "exceptionMappingsCSV");
-
-        Map<String, Integer> mappings = new HashMap<String, Integer>();
-        String[] mappingDecls = exceptionMappingsCSV.split(",");
-
-        for(String mappingDecl : mappingDecls) {
-            String[] mappingTokens = mappingDecl.split("=");
-            if(mappingTokens.length == 1) {
-                loadExceptionMappings(mappingTokens[0], mappings);
-            } else if(mappingTokens.length == 2) {
-                try {
-                    mappings.put(mappingTokens[0], Integer.valueOf(mappingTokens[1]));
-                } catch(NumberFormatException e) {
-                    throw new ConfigurationException("Invalid Exception Status Mapping mapping declaration '" + mappingDecl + "'.  Status code value '" + mappingTokens[1] + "' not a valid integer.");
-                }
-            } else {
-                throw new ConfigurationException("Invalid Exception Status Mapping mapping declaration '" + mappingDecl + "'.  Expected either an exception mapping file name, or a '<exception>=<status>' Key Value Pair.");
-            }
-        }
-
-        return mappings;
-    }
-
-    private static void loadExceptionMappings(String mappingsFile, Map<String, Integer> mappings) throws ConfigurationException {
-        Properties mappingProperties = new Properties();
-        InputStream stream = ClassUtil.getResourceAsStream(mappingsFile, HttpGatewayMapper.class);
-
-        if(stream == null) {
-            throw new ConfigurationException("Failed to find Exception to HTTP Status code mappings file '" + mappingsFile + "' on classpath.");
-        }
-
-        try {
-            mappingProperties.load(stream);
-        } catch (IOException e) {
-            throw new ConfigurationException("Error reading Exception to HTTP Status code mappings file '" + mappingsFile + "'.", e);
-        } finally {
-            try {
-                stream.close();
-            } catch (IOException e) {
-                logger.debug("Error closing Exception to HTTP Status code mappings file '" + mappingsFile + "'.", e);
-            }
-        }
-
-        Set<Map.Entry<Object, Object>> entries = mappingProperties.entrySet();
-        for(Map.Entry<Object, Object> entry : entries) {
-            try {
-                mappings.put((String) entry.getKey(), Integer.valueOf((String) entry.getValue()));
-            } catch(NumberFormatException e) {
-                throw new ConfigurationException("Invalid Exception Status Mapping mapping '" + entry.getKey() + "=" + entry.getValue() + "'.  Status code value '" + entry.getValue() + "' not a valid integer.");
-            }
-        }
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/HttpGatewayMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,252 @@
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.util.ClassUtil;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.gateway.http.HttpGatewayServlet;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpBusDocument.HttpBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpGatewayDocument.HttpGateway;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpProviderDocument.HttpProvider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.PayloadAs;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.HttpExceptionMappings;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.AsyncHttpResponse;
+import org.jboss.internal.soa.esb.listeners.war.HttpGatewayDeploymentFactory;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.w3c.dom.Element;
+import org.apache.log4j.Logger;
+
+import java.util.*;
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * Http gateway mapper.
+ * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
+ */
+public class HttpGatewayMapper {
+
+    private static final Logger logger = Logger.getLogger(HttpGatewayMapper.class);
+
+    /**
+     * Perform the Http listener mapping.
+     * @param root The "ConfigTree" configuration root node.
+     * @param listener http listener config.
+     * @param model The configuration model from which the mapping is being performed.
+     * @return The ConfigTree listener configuration node.
+     * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+     */
+    public static Element map(Element root, HttpGateway listener, XMLBeansModel model) throws ConfigurationException {
+        Element listenerNode = YADOMUtil.addElement(root, "listener");
+        HttpBus bus;
+        HttpProvider provider;
+
+        listenerNode.setAttribute("name", listener.getName());
+
+        try {
+            bus = (HttpBus) model.getOptionalBus(listener.getBusidref());
+        } catch (ClassCastException e) {
+            throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <http-listener> must reference a <http-bus>.");
+        }
+
+        // Map the standard listener attributes - common across all listener types...
+        MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+
+        String urlPattern = listener.getUrlPattern();
+        PayloadAs.Enum payloadAs = listener.getPayloadAs();
+
+        if(listener.getAsyncResponseList() != null && !listener.getAsyncResponseList().isEmpty()) {
+            AsyncHttpResponse asyncResponse = listener.getAsyncResponseList().get(0);
+            listenerNode.setAttribute(HttpGatewayServlet.ASYNC_SERVICE_INVOKE, "true");
+            listenerNode.setAttribute(HttpGatewayServlet.ASYNC_STATUS_CODE, Integer.toString(asyncResponse.getStatusCode()));
+            AsyncHttpResponse.Payload payload = asyncResponse.getPayload();
+            if(payload != null) {
+                listenerNode.setAttribute(HttpGatewayServlet.ASYNC_PAYLOAD, payload.getClasspathResource());
+                listenerNode.setAttribute(HttpGatewayServlet.ASYNC_PAYLOAD_CONTENT_TYPE, payload.getContentType());
+                if(payload.getCharacterEncoding() != null) {
+                    listenerNode.setAttribute(HttpGatewayServlet.ASYNC_PAYLOAD_CHARACTER_ENCODING, payload.getCharacterEncoding());
+                }
+            }
+        } else {
+            listenerNode.setAttribute(HttpGatewayServlet.ASYNC_SERVICE_INVOKE, "false");
+        }
+
+        if(bus != null) {
+            try {
+                provider = (HttpProvider) model.getProvider(bus);
+            } catch (ClassCastException e) {
+                throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <http-provider> instance.  Unexpected exception - this should have caused a validation error!");
+            }
+
+            // Map the <property> elements targeted at the listener - from the listener itself.
+            //MapperUtil.mapProperties(provider.getPropertyList(), listenerNode);
+            for(Property property : provider.getPropertyList()) {
+                Element propertyElement = listenerNode.getOwnerDocument().createElement("property");
+                MapperUtil.serialize(property, propertyElement);
+                listenerNode.appendChild(propertyElement);
+            }
+
+            List<HttpBus.ProtectedMethods> protectedMethodsList = bus.getProtectedMethodsList();
+            List<HttpBus.AllowedRoles> rolesList = bus.getAllowedRolesList();
+            HttpProvider.Auth authType = provider.getAuth();
+            HttpBus.TransportGuarantee.Enum transportGuarantee = bus.getTransportGuarantee();
+
+            MapperUtil.mapProperties(bus.getPropertyList(), listenerNode);
+            mapStandardSettings(listenerNode, urlPattern, payloadAs, listener.getPropertyList());
+
+            if(protectedMethodsList != null && !protectedMethodsList.isEmpty()) {
+                HttpBus.ProtectedMethods methods = protectedMethodsList.get(0);
+                StringBuilder methodsString = new StringBuilder();
+
+                for(HttpBus.ProtectedMethods.Method method : methods.getMethodList()) {
+                    if(methodsString.length() > 0) {
+                        methodsString.append(",");
+                    }
+                    methodsString.append(method.getName().toString());
+                }
+                listenerNode.setAttribute(HttpGatewayDeploymentFactory.PROTECTED_METHODS, methodsString.toString());
+            }
+            if(rolesList != null && !rolesList.isEmpty()) {
+                HttpBus.AllowedRoles roles = rolesList.get(0);
+                StringBuilder rolesString = new StringBuilder();
+
+                for(HttpBus.AllowedRoles.Role role : roles.getRoleList()) {
+                    if(rolesString.length() > 0) {
+                        rolesString.append(",");
+                    }
+                    rolesString.append(role.getName().toString());
+                }
+                listenerNode.setAttribute(HttpGatewayDeploymentFactory.ALLOWED_ROLES, rolesString.toString());
+            }
+            if(authType != null) {
+                listenerNode.setAttribute(HttpGatewayDeploymentFactory.AUTH_METHOD, authType.getMethod().toString());
+                listenerNode.setAttribute(HttpGatewayDeploymentFactory.AUTH_DOMAIN, authType.getDomain());
+            }
+
+            if(transportGuarantee != null) {
+                listenerNode.setAttribute(HttpGatewayDeploymentFactory.TRANSPORT_GUARANTEE, transportGuarantee.toString());
+            }
+
+            // Exception status mappings...
+            mapExceptionStatusMappings(listenerNode, provider, listener);
+        } else {
+            // Use the "default" http bus....
+            mapStandardSettings(listenerNode, urlPattern, payloadAs, listener.getPropertyList());
+
+            // Exception status mappings...
+            mapExceptionStatusMappings(listenerNode, (HttpProvider) model.getProvider(HttpProvider.class), listener);
+        }
+
+        return listenerNode;
+    }
+
+    private static void mapStandardSettings(Element listenerNode, String urlPattern, PayloadAs.Enum payloadAs, List<Property> listenerProps) {
+        MapperUtil.mapProperties(listenerProps, listenerNode);
+
+        listenerNode.setAttribute(ListenerTagNames.GATEWAY_CLASS_TAG, HttpGatewayDeploymentFactory.class.getName());
+        listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, "true");
+
+        if(urlPattern != null) {
+            listenerNode.setAttribute(HttpGatewayDeploymentFactory.URL_PATTERN, urlPattern);
+        }
+        if(payloadAs != null) {
+            listenerNode.setAttribute(HttpGatewayServlet.PAYLOAD_AS, payloadAs.toString());
+        }
+    }
+
+    private static void mapExceptionStatusMappings(Element listenerNode, HttpProvider provider, HttpGateway listener) throws ConfigurationException {
+        StringBuilder exceptionMappingsAttrBuilder = new StringBuilder();
+
+        if(provider != null) {
+            HttpExceptionMappings providerExceptionConfig = provider.getException();
+            if(providerExceptionConfig != null) {
+                buildExceptionMappingCSV(exceptionMappingsAttrBuilder, providerExceptionConfig);
+            }
+        }
+
+        if(listener != null && listener.getExceptionList() != null && !listener.getExceptionList().isEmpty()) {
+            HttpExceptionMappings listenerExceptionConfig = listener.getExceptionList().get(0);
+            buildExceptionMappingCSV(exceptionMappingsAttrBuilder, listenerExceptionConfig);
+        }
+
+        if(exceptionMappingsAttrBuilder.length() > 0) {
+            listenerNode.setAttribute(org.jboss.soa.esb.listeners.gateway.http.HttpGatewayServlet.EXCEPTION_MAPPINGS, exceptionMappingsAttrBuilder.toString());
+        }
+    }
+
+    private static void buildExceptionMappingCSV(StringBuilder exceptionMappingsAttrBuilder, HttpExceptionMappings exceptionConfig) throws ConfigurationException {
+        // The mappings file is a .properties file containing exception-to-status-code mappings...
+        String mappingsFile = exceptionConfig.getMappingsFile();
+        if(mappingsFile != null) {
+            exceptionMappingsAttrBuilder.append(mappingsFile);
+            exceptionMappingsAttrBuilder.append(",");
+        }
+
+        // We add the exception mappings as a CSV list of exception class name and status
+        // code key value pairs...
+        List<HttpExceptionMappings.Mapping> mappings = exceptionConfig.getMappingList();
+        if(mappings != null && !mappings.isEmpty()) {
+            for(HttpExceptionMappings.Mapping mapping : mappings) {
+                exceptionMappingsAttrBuilder.append(mapping.getClass1().trim());
+                exceptionMappingsAttrBuilder.append("=");
+                exceptionMappingsAttrBuilder.append(mapping.getStatus());
+                exceptionMappingsAttrBuilder.append(",");
+            }
+        }
+    }
+
+    public static Map<String, Integer> decodeExceptionMappingsCSV(String exceptionMappingsCSV) throws ConfigurationException {
+        AssertArgument.isNotNullAndNotEmpty(exceptionMappingsCSV, "exceptionMappingsCSV");
+
+        Map<String, Integer> mappings = new HashMap<String, Integer>();
+        String[] mappingDecls = exceptionMappingsCSV.split(",");
+
+        for(String mappingDecl : mappingDecls) {
+            String[] mappingTokens = mappingDecl.split("=");
+            if(mappingTokens.length == 1) {
+                loadExceptionMappings(mappingTokens[0], mappings);
+            } else if(mappingTokens.length == 2) {
+                try {
+                    mappings.put(mappingTokens[0], Integer.valueOf(mappingTokens[1]));
+                } catch(NumberFormatException e) {
+                    throw new ConfigurationException("Invalid Exception Status Mapping mapping declaration '" + mappingDecl + "'.  Status code value '" + mappingTokens[1] + "' not a valid integer.");
+                }
+            } else {
+                throw new ConfigurationException("Invalid Exception Status Mapping mapping declaration '" + mappingDecl + "'.  Expected either an exception mapping file name, or a '<exception>=<status>' Key Value Pair.");
+            }
+        }
+
+        return mappings;
+    }
+
+    private static void loadExceptionMappings(String mappingsFile, Map<String, Integer> mappings) throws ConfigurationException {
+        Properties mappingProperties = new Properties();
+        InputStream stream = ClassUtil.getResourceAsStream(mappingsFile, HttpGatewayMapper.class);
+
+        if(stream == null) {
+            throw new ConfigurationException("Failed to find Exception to HTTP Status code mappings file '" + mappingsFile + "' on classpath.");
+        }
+
+        try {
+            mappingProperties.load(stream);
+        } catch (IOException e) {
+            throw new ConfigurationException("Error reading Exception to HTTP Status code mappings file '" + mappingsFile + "'.", e);
+        } finally {
+            try {
+                stream.close();
+            } catch (IOException e) {
+                logger.debug("Error closing Exception to HTTP Status code mappings file '" + mappingsFile + "'.", e);
+            }
+        }
+
+        Set<Map.Entry<Object, Object>> entries = mappingProperties.entrySet();
+        for(Map.Entry<Object, Object> entry : entries) {
+            try {
+                mappings.put((String) entry.getKey(), Integer.valueOf((String) entry.getValue()));
+            } catch(NumberFormatException e) {
+                throw new ConfigurationException("Invalid Exception Status Mapping mapping '" + entry.getKey() + "=" + entry.getValue() + "'.  Status code value '" + entry.getValue() + "' not a valid integer.");
+            }
+        }
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,87 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrBusDocument.JbrBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrListenerDocument.JbrListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrProviderDocument.JbrProvider;
-import org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener;
-import org.w3c.dom.Element;
-
-/**
- * JBoss Remoting listener mapper.
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class JbrListenerMapper {
-
-    /**
-     * Perform the mapping.
-     * @param root The "ConfigTree" configuration root node.
-     * @param listener JBoss Remoting listener config.
-     * @param model The configuration model from which the mapping is being performed.
-     * @return The ConfigTree listener configuration node.
-     * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-     */
-    public static Element map(Element root, JbrListener listener, XMLBeansModel model) throws ConfigurationException {
-        Element listenerNode = YADOMUtil.addElement(root, "listener");
-        JbrBus bus;
-        JbrProvider provider;
-
-        listenerNode.setAttribute("name", listener.getName());
-
-        try {
-            bus = (JbrBus) model.getBus(listener.getBusidref());
-        } catch (ClassCastException e) {
-            throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <jbr-listener> must reference a <jbr-bus>.");
-        }
-        try {
-            provider = (JbrProvider) model.getProvider(bus);
-        } catch (ClassCastException e) {
-            throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <jbr-provider> instance.  Unexpected exception - this should have caused a validation error!");
-        }
-
-        // Map the standard listener attributes - common across all listener types...
-        MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-        // Map the <property> elements targeted at the listener - from the listener itself.
-        MapperUtil.mapProperties(provider.getPropertyList(), listenerNode);
-        MapperUtil.mapProperties(bus.getPropertyList(), listenerNode);
-        MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-
-        if(listener.getIsGateway()) {
-            String host = provider.getHost();
-
-            listenerNode.setAttribute("gatewayClass", JBossRemotingGatewayListener.class.getName());
-			listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, Boolean.toString(listener.getIsGateway()));
-
-            if(host != null) {
-                listenerNode.setAttribute(JBossRemotingGatewayListener.JBR_SERVER_HOST, host);
-            }
-            listenerNode.setAttribute(JBossRemotingGatewayListener.JBR_SERVER_PROTOCOL, provider.getProtocol().toString());
-            listenerNode.setAttribute(JBossRemotingGatewayListener.JBR_SERVER_PORT, Integer.toString(bus.getPort()));
-        } else {
-            throw new ConfigurationException("Invalid <jbr-listener> config [" + listener.getName() + "].  <jbr-listener> is currently only supported as a gateway listener.");
-        }
-
-        return listenerNode;
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JbrListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,87 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrBusDocument.JbrBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrListenerDocument.JbrListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbrProviderDocument.JbrProvider;
+import org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener;
+import org.w3c.dom.Element;
+
+/**
+ * JBoss Remoting listener mapper.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class JbrListenerMapper {
+
+    /**
+     * Perform the mapping.
+     * @param root The "ConfigTree" configuration root node.
+     * @param listener JBoss Remoting listener config.
+     * @param model The configuration model from which the mapping is being performed.
+     * @return The ConfigTree listener configuration node.
+     * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+     */
+    public static Element map(Element root, JbrListener listener, XMLBeansModel model) throws ConfigurationException {
+        Element listenerNode = YADOMUtil.addElement(root, "listener");
+        JbrBus bus;
+        JbrProvider provider;
+
+        listenerNode.setAttribute("name", listener.getName());
+
+        try {
+            bus = (JbrBus) model.getBus(listener.getBusidref());
+        } catch (ClassCastException e) {
+            throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <jbr-listener> must reference a <jbr-bus>.");
+        }
+        try {
+            provider = (JbrProvider) model.getProvider(bus);
+        } catch (ClassCastException e) {
+            throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <jbr-provider> instance.  Unexpected exception - this should have caused a validation error!");
+        }
+
+        // Map the standard listener attributes - common across all listener types...
+        MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+        // Map the <property> elements targeted at the listener - from the listener itself.
+        MapperUtil.mapProperties(provider.getPropertyList(), listenerNode);
+        MapperUtil.mapProperties(bus.getPropertyList(), listenerNode);
+        MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+
+        if(listener.getIsGateway()) {
+            String host = provider.getHost();
+
+            listenerNode.setAttribute("gatewayClass", JBossRemotingGatewayListener.class.getName());
+			listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, Boolean.toString(listener.getIsGateway()));
+
+            if(host != null) {
+                listenerNode.setAttribute(JBossRemotingGatewayListener.JBR_SERVER_HOST, host);
+            }
+            listenerNode.setAttribute(JBossRemotingGatewayListener.JBR_SERVER_PROTOCOL, provider.getProtocol().toString());
+            listenerNode.setAttribute(JBossRemotingGatewayListener.JBR_SERVER_PORT, Integer.toString(bus.getPort()));
+        } else {
+            throw new ConfigurationException("Invalid <jbr-listener> config [" + listener.getName() + "].  <jbr-listener> is currently only supported as a gateway listener.");
+        }
+
+        return listenerNode;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,66 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JcaGatewayDocument.JcaGateway;
-import org.jboss.soa.esb.listeners.jca.JcaInflowGateway;
-import org.w3c.dom.Element;
-
-/**
- * comment
- *
- * @author <a href="bill at jboss.com">Bill Burke</a>
- * @version $Revision$
- */
-public class JcaGatewayMapper
-{
-   public static Element map(Element root, JcaGateway gateway, XMLBeansModel model) throws ConfigurationException
-   {
-      Element listenerNode = YADOMUtil.addElement(root, "listener");
-
-      listenerNode.setAttribute("name", gateway.getName());
-
-      ServiceDocument.Service service = model.getService(gateway);
-      listenerNode.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());
-      listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());
-      listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG, service.getName());
-
-      listenerNode.setAttribute("adapter", gateway.getAdapter());
-      listenerNode.setAttribute("endpointClass", gateway.getEndpointClass());
-      listenerNode.setAttribute("messagingType", gateway.getMessagingType());
-      listenerNode.setAttribute("jcaBridge", gateway.getJcaBridge());
-      listenerNode.setAttribute("transacted", new Boolean(gateway.getTransacted()).toString());
-
-      MapperUtil.mapProperties(gateway.getPropertyList(), listenerNode);
-      listenerNode.setAttribute("gatewayClass", JcaInflowGateway.class.getName());
-      Element activationConfig = YADOMUtil.addElement(listenerNode, "activation-config");
-      MapperUtil.serialize(gateway.getActivationConfig(), activationConfig);
-
-
-      YADOMUtil.removeEmptyAttributes(listenerNode);
-      return listenerNode;
-   }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JcaGatewayMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,66 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JcaGatewayDocument.JcaGateway;
+import org.jboss.soa.esb.listeners.jca.JcaInflowGateway;
+import org.w3c.dom.Element;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision$
+ */
+public class JcaGatewayMapper
+{
+   public static Element map(Element root, JcaGateway gateway, XMLBeansModel model) throws ConfigurationException
+   {
+      Element listenerNode = YADOMUtil.addElement(root, "listener");
+
+      listenerNode.setAttribute("name", gateway.getName());
+
+      ServiceDocument.Service service = model.getService(gateway);
+      listenerNode.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());
+      listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());
+      listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG, service.getName());
+
+      listenerNode.setAttribute("adapter", gateway.getAdapter());
+      listenerNode.setAttribute("endpointClass", gateway.getEndpointClass());
+      listenerNode.setAttribute("messagingType", gateway.getMessagingType());
+      listenerNode.setAttribute("jcaBridge", gateway.getJcaBridge());
+      listenerNode.setAttribute("transacted", new Boolean(gateway.getTransacted()).toString());
+
+      MapperUtil.mapProperties(gateway.getPropertyList(), listenerNode);
+      listenerNode.setAttribute("gatewayClass", JcaInflowGateway.class.getName());
+      Element activationConfig = YADOMUtil.addElement(listenerNode, "activation-config");
+      MapperUtil.serialize(gateway.getActivationConfig(), activationConfig);
+
+
+      YADOMUtil.removeEmptyAttributes(listenerNode);
+      return listenerNode;
+   }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,299 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.jms.Queue;
-import javax.jms.Topic;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.addressing.eprs.JMSEpr;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsProviderType;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActivationConfigDocument.ActivationConfig;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsBusDocument.JmsBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsJcaProviderDocument.JmsJcaProvider;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsMessageFilterDocument.JmsMessageFilter;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsMessageFilterDocument.JmsMessageFilter.DestType;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
-import org.jboss.soa.esb.listeners.gateway.JmsGatewayListener;
-import org.jboss.soa.esb.listeners.gateway.PackageJmsMessageContents;
-import org.jboss.soa.esb.listeners.jca.JcaConstants;
-import org.jboss.soa.esb.listeners.jca.JcaGatewayListener;
-import org.jboss.soa.esb.listeners.jca.JcaJMSInflowMessageProcessorAdapter;
-import org.jboss.soa.esb.listeners.jca.JcaJMSMessageAwareComposer;
-import org.jboss.soa.esb.listeners.jca.JcaMessageAwareListener;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-/**
- * Performs the mapping of a &lt;jms-listener&gt; XSD based configuration to the "ConfigTree"
- * style configuration, adding the "ConfigTree" listener config to the "root" node.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class JmsListenerMapper {
-
-	@SuppressWarnings("unused")
-	private static Logger log = Logger.getLogger( JmsListenerMapper.class );
-
-	/**
-	 * Perform the mapping.
-	 * @param root The "ConfigTree" configuration root node.
-	 * @param listener The Jmslistener to be mapped into the ConfigTree.
-	 * @param model The configuration model from which the mapping is being performed.
-	 * @return The ConfigTree listener configuration node.
-	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-	 */
-	public static Element map(Element root, JmsListener listener, XMLBeansModel model) throws ConfigurationException {
-		Element listenerNode = YADOMUtil.addElement(root, "listener");
-		JmsBus bus;
-		JmsProviderType provider;
-
-        listenerNode.setAttribute("name", listener.getName());
-
-		try {
-			bus = (JmsBus) model.getBus(listener.getBusidref());
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <jms-listener> must reference a <jms-bus>.");
-		}
-		try {
-			provider = (JmsProviderType) model.getProvider(bus);
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <jms-provider> instance.  Unexpected exception - this should have caused a validation error!");
-		}
-
-		JmsMessageFilter messageFilter = listener.getJmsMessageFilter();
-		if(messageFilter == null) {
-			messageFilter = bus.getJmsMessageFilter();
-			if(messageFilter == null) {
-				throw new ConfigurationException("No <jms-detination> defined on either <jms-listener> [" + listener.getName() + "] or <jms-bus> [" + bus.getBusid() + "].");
-			}
-		}
-
-		final Class<?> gatewayClass ;
-		if (provider instanceof JmsJcaProvider) {
-		    final JmsJcaProvider jmsJcaProvider = (JmsJcaProvider)provider ;
-                    mapJmsJcaAttributes(listener, listenerNode, jmsJcaProvider, messageFilter) ;
-		    gatewayClass = JcaGatewayListener.class ;
-		} else {
-		    gatewayClass = JmsGatewayListener.class ;
-		}
-
-		// Map the standard listener attributes - common across all listener types...
-		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-		// Map the <property> elements targeted at the listener - from the listener itself.
-		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-		if(listener.getIsGateway()) {
-
-			listenerNode.setAttribute("gatewayClass", gatewayClass.getName());
-			listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, Boolean.toString(listener.getIsGateway()));
-
-			// Map EPR related attributes onto the listener - from the bus and provider and listener.
-			// Note: This will change - the Gateways will also support the EPR element...
-			mapJmsEprProperties(listenerNode, provider, messageFilter);
-                        listenerNode.setAttribute(ListenerTagNames.PROTOCOL_TAG, JMSEpr.JMS_PROTOCOL);
-
-			MapperUtil.mapEPRProperties(listener, listenerNode, model);
-		} else {
-			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
-
-
-			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
-			mapJmsEprProperties(eprNode, provider, messageFilter);
-			eprNode.setAttribute(ListenerTagNames.PROTOCOL_TAG, JMSEpr.JMS_PROTOCOL);
-
-			MapperUtil.mapEPRProperties(listener, eprNode, model);
-			// Remove any empty attributes set on the EPR config...
-			YADOMUtil.removeEmptyAttributes(eprNode);
-		}
-
-		// Remove any empty attributes set on the listener config...
-		YADOMUtil.removeEmptyAttributes(listenerNode);
-
-		return listenerNode;
-	}
-
-    private static void mapJmsEprProperties(Element toElement, JmsProviderType provider, JmsMessageFilter messageFilter) {
-		if(messageFilter.getDestType() == DestType.QUEUE) {
-            toElement.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, JMSEpr.QUEUE_TYPE);
-        } else {
-            toElement.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, JMSEpr.TOPIC_TYPE);
-        }
-        toElement.setAttribute(JMSEpr.DESTINATION_NAME_TAG, messageFilter.getDestName());
-		toElement.setAttribute(JMSEpr.MESSAGE_SELECTOR_TAG, messageFilter.getSelector());
-		toElement.setAttribute(JMSEpr.CONNECTION_FACTORY_TAG, provider.getConnectionFactory());
-		toElement.setAttribute(JMSEpr.JNDI_CONTEXT_FACTORY_TAG, provider.getJndiContextFactory());
-		toElement.setAttribute(JMSEpr.JNDI_PKG_PREFIX_TAG, provider.getJndiPkgPrefix());
-		toElement.setAttribute(JMSEpr.JNDI_URL_TAG, provider.getJndiURL());
-		toElement.setAttribute(JMSEpr.PERSISTENT_TAG, Boolean.toString( messageFilter.getPersistent()));
-		toElement.setAttribute(JMSEpr.ACKNOWLEDGE_MODE_TAG, messageFilter.getAcknowledgeMode());
-		toElement.setAttribute(JMSEpr.JMS_SECURITY_PRINCIPAL_TAG, messageFilter.getJmsSecurityPrincipal());
-		toElement.setAttribute(JMSEpr.JMS_SECURITY_CREDENTIAL_TAG, messageFilter.getJmsSecurityCredential());
-		toElement.setAttribute(JMSEpr.TRANSACTED_TAG, Boolean.toString( messageFilter.getTransacted()));
-	}
-
-    /*
-     * @throws ConfigurationException is one of the following activation-config
-     * properties are overridden:
-     * 	- destination
-     * 	- destinationType
-     * 	- messageSelector
-     * 	- maxMessages
-     */
-    private static void mapJmsJcaAttributes(final JmsListener listener,
-        final Element listenerNode, final JmsJcaProvider jmsJcaProvider,
-        final JmsMessageFilter messageFilter)
-        throws ConfigurationException {
-        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_ADAPTER,
-            jmsJcaProvider.getAdapter(), "jms-ra.rar") ;
-        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_ENDPOINT_CLASS,
-            jmsJcaProvider.getEndpointClass(), JcaJMSInflowMessageProcessorAdapter.class.getName()) ;
-        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_MESSAGING_TYPE,
-            jmsJcaProvider.getMessagingType()) ;
-        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_JCA_BRIDGE,
-            jmsJcaProvider.getJcaBridge()) ;
-        final boolean transacted ;
-        if (jmsJcaProvider.isSetTransacted())
-        {
-            transacted = jmsJcaProvider.getTransacted() ;
-        }
-        else
-        {
-            transacted = true ;
-        }
-
-        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_TRANSACTED,
-            Boolean.toString(transacted)) ;
-
-        if (listener.getIsGateway())
-        {
-            setAttribute(listenerNode, ListenerTagNames.GATEWAY_COMPOSER_CLASS_TAG,
-                PackageJmsMessageContents.class.getName()) ;
-            setAttribute(listenerNode, ListenerTagNames.GATEWAY_COMPOSER_METHOD_TAG,
-                "process") ;
-        }
-        else
-        {
-            setAttribute(listenerNode, ListenerTagNames.LISTENER_CLASS_TAG,
-                JcaMessageAwareListener.class.getName()) ;
-            setAttribute(listenerNode, JcaConstants.ATTRIBUTE_LISTENER_COMPOSER_CLASS,
-                JcaJMSMessageAwareComposer.class.getName()) ;
-        }
-
-        final Element activationConfigElement = YADOMUtil.addElement(listenerNode, JcaConstants.ELEMENT_ACTIVATION_CONFIG) ;
-         addPropertyElement(activationConfigElement, "destination", messageFilter.getDestName()) ;
-        if (jmsJcaProvider.isSetProviderAdapterJNDI())
-        {
-            addPropertyElement(activationConfigElement, "providerAdapterJNDI", jmsJcaProvider.getProviderAdapterJNDI()) ;
-        }
-        final int destType = messageFilter.getDestType().intValue() ;
-        if (destType == DestType.INT_QUEUE)
-        {
-            addPropertyElement(activationConfigElement, "destinationType", Queue.class.getName()) ;
-        }
-        else if (destType == DestType.INT_TOPIC)
-        {
-            addPropertyElement(activationConfigElement, "destinationType", Topic.class.getName()) ;
-        }
-        else
-        {
-            throw new ConfigurationException("Unknown destination type: " + messageFilter.getDestType()) ;
-        }
-
-        if (messageFilter.getSelector() != null)
-        {
-            addPropertyElement(activationConfigElement, "messageSelector", messageFilter.getSelector()) ;
-        }
-        if (listener.getMaxThreads() > 0)
-        {
-            addPropertyElement(activationConfigElement, "maxMessages", Integer.toString(listener.getMaxThreads())) ;
-        }
-
-		final List<String> defaultPropertyNames = getDefaultActivationConfigNames( activationConfigElement );
-		log.debug("Default activation-config properties :" + defaultPropertyNames );
-
-		/*
-		 * 	add user activation-config properties specified in the provider element.
-		 */
-        ActivationConfig activationConfig = jmsJcaProvider.getActivationConfig();
-        if ( activationConfig != null )
-        {
-            List<Property> propertyList = activationConfig.getPropertyList();
-            for (Iterator<Property> iterator = propertyList.iterator(); iterator.hasNext();)
-    		{
-    			Property prop = iterator.next();
-    			if ( defaultPropertyNames.contains( prop.getName() ))
-        			throw new ConfigurationException( "activation-config already contains [" + prop.getName() + "], which cannot be overridden");
-
-                addPropertyElement(activationConfigElement, prop.getName(), prop.getValue()) ;
-    		}
-        }
-    }
-
-    private static List<String> getDefaultActivationConfigNames(final Element activationConfigElement )
-    {
-		NodeList defaultActivationProperties = activationConfigElement.getElementsByTagName( "property" );
-		final List<String> defaultPropertyNames = new ArrayList<String>(5);
-		for (int i = defaultActivationProperties.getLength() ; i-->0 ; )
-			defaultPropertyNames.add(defaultActivationProperties.item( i ).getAttributes().getNamedItem( "name" ).getNodeValue() );
-
-		return defaultPropertyNames;
-    }
-
-    private static void setAttribute(final Element listenerNode,
-        final String name, final String value)
-    {
-        if (value != null)
-        {
-            listenerNode.setAttribute(name, value) ;
-        }
-    }
-
-    private static void setAttribute(final Element listenerNode,
-        final String name, final String value, final String defaultValue)
-    {
-        if (value == null)
-        {
-            listenerNode.setAttribute(name, defaultValue) ;
-        }
-        else
-        {
-            listenerNode.setAttribute(name, value) ;
-        }
-    }
-
-    private static void addPropertyElement(final Element activationConfigElement,
-        final String name, final String value)
-    {
-        final Element propertyElement = YADOMUtil.addElement(activationConfigElement,
-            JcaConstants.ELEMENT_PROPERTY) ;
-        propertyElement.setAttribute("name", name) ;
-        propertyElement.setAttribute("value", value) ;
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,299 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.jms.Queue;
+import javax.jms.Topic;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsProviderType;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActivationConfigDocument.ActivationConfig;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsBusDocument.JmsBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsJcaProviderDocument.JmsJcaProvider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsMessageFilterDocument.JmsMessageFilter;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsMessageFilterDocument.JmsMessageFilter.DestType;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
+import org.jboss.soa.esb.listeners.gateway.JmsGatewayListener;
+import org.jboss.soa.esb.listeners.gateway.PackageJmsMessageContents;
+import org.jboss.soa.esb.listeners.jca.JcaConstants;
+import org.jboss.soa.esb.listeners.jca.JcaGatewayListener;
+import org.jboss.soa.esb.listeners.jca.JcaJMSInflowMessageProcessorAdapter;
+import org.jboss.soa.esb.listeners.jca.JcaJMSMessageAwareComposer;
+import org.jboss.soa.esb.listeners.jca.JcaMessageAwareListener;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * Performs the mapping of a &lt;jms-listener&gt; XSD based configuration to the "ConfigTree"
+ * style configuration, adding the "ConfigTree" listener config to the "root" node.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class JmsListenerMapper {
+
+	@SuppressWarnings("unused")
+	private static Logger log = Logger.getLogger( JmsListenerMapper.class );
+
+	/**
+	 * Perform the mapping.
+	 * @param root The "ConfigTree" configuration root node.
+	 * @param listener The Jmslistener to be mapped into the ConfigTree.
+	 * @param model The configuration model from which the mapping is being performed.
+	 * @return The ConfigTree listener configuration node.
+	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, JmsListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, "listener");
+		JmsBus bus;
+		JmsProviderType provider;
+
+        listenerNode.setAttribute("name", listener.getName());
+
+		try {
+			bus = (JmsBus) model.getBus(listener.getBusidref());
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <jms-listener> must reference a <jms-bus>.");
+		}
+		try {
+			provider = (JmsProviderType) model.getProvider(bus);
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <jms-provider> instance.  Unexpected exception - this should have caused a validation error!");
+		}
+
+		JmsMessageFilter messageFilter = listener.getJmsMessageFilter();
+		if(messageFilter == null) {
+			messageFilter = bus.getJmsMessageFilter();
+			if(messageFilter == null) {
+				throw new ConfigurationException("No <jms-detination> defined on either <jms-listener> [" + listener.getName() + "] or <jms-bus> [" + bus.getBusid() + "].");
+			}
+		}
+
+		final Class<?> gatewayClass ;
+		if (provider instanceof JmsJcaProvider) {
+		    final JmsJcaProvider jmsJcaProvider = (JmsJcaProvider)provider ;
+                    mapJmsJcaAttributes(listener, listenerNode, jmsJcaProvider, messageFilter) ;
+		    gatewayClass = JcaGatewayListener.class ;
+		} else {
+		    gatewayClass = JmsGatewayListener.class ;
+		}
+
+		// Map the standard listener attributes - common across all listener types...
+		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+		// Map the <property> elements targeted at the listener - from the listener itself.
+		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+		if(listener.getIsGateway()) {
+
+			listenerNode.setAttribute("gatewayClass", gatewayClass.getName());
+			listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, Boolean.toString(listener.getIsGateway()));
+
+			// Map EPR related attributes onto the listener - from the bus and provider and listener.
+			// Note: This will change - the Gateways will also support the EPR element...
+			mapJmsEprProperties(listenerNode, provider, messageFilter);
+                        listenerNode.setAttribute(ListenerTagNames.PROTOCOL_TAG, JMSEpr.JMS_PROTOCOL);
+
+			MapperUtil.mapEPRProperties(listener, listenerNode, model);
+		} else {
+			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+
+
+			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
+			mapJmsEprProperties(eprNode, provider, messageFilter);
+			eprNode.setAttribute(ListenerTagNames.PROTOCOL_TAG, JMSEpr.JMS_PROTOCOL);
+
+			MapperUtil.mapEPRProperties(listener, eprNode, model);
+			// Remove any empty attributes set on the EPR config...
+			YADOMUtil.removeEmptyAttributes(eprNode);
+		}
+
+		// Remove any empty attributes set on the listener config...
+		YADOMUtil.removeEmptyAttributes(listenerNode);
+
+		return listenerNode;
+	}
+
+    private static void mapJmsEprProperties(Element toElement, JmsProviderType provider, JmsMessageFilter messageFilter) {
+		if(messageFilter.getDestType() == DestType.QUEUE) {
+            toElement.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, JMSEpr.QUEUE_TYPE);
+        } else {
+            toElement.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, JMSEpr.TOPIC_TYPE);
+        }
+        toElement.setAttribute(JMSEpr.DESTINATION_NAME_TAG, messageFilter.getDestName());
+		toElement.setAttribute(JMSEpr.MESSAGE_SELECTOR_TAG, messageFilter.getSelector());
+		toElement.setAttribute(JMSEpr.CONNECTION_FACTORY_TAG, provider.getConnectionFactory());
+		toElement.setAttribute(JMSEpr.JNDI_CONTEXT_FACTORY_TAG, provider.getJndiContextFactory());
+		toElement.setAttribute(JMSEpr.JNDI_PKG_PREFIX_TAG, provider.getJndiPkgPrefix());
+		toElement.setAttribute(JMSEpr.JNDI_URL_TAG, provider.getJndiURL());
+		toElement.setAttribute(JMSEpr.PERSISTENT_TAG, Boolean.toString( messageFilter.getPersistent()));
+		toElement.setAttribute(JMSEpr.ACKNOWLEDGE_MODE_TAG, messageFilter.getAcknowledgeMode());
+		toElement.setAttribute(JMSEpr.JMS_SECURITY_PRINCIPAL_TAG, messageFilter.getJmsSecurityPrincipal());
+		toElement.setAttribute(JMSEpr.JMS_SECURITY_CREDENTIAL_TAG, messageFilter.getJmsSecurityCredential());
+		toElement.setAttribute(JMSEpr.TRANSACTED_TAG, Boolean.toString( messageFilter.getTransacted()));
+	}
+
+    /*
+     * @throws ConfigurationException is one of the following activation-config
+     * properties are overridden:
+     * 	- destination
+     * 	- destinationType
+     * 	- messageSelector
+     * 	- maxMessages
+     */
+    private static void mapJmsJcaAttributes(final JmsListener listener,
+        final Element listenerNode, final JmsJcaProvider jmsJcaProvider,
+        final JmsMessageFilter messageFilter)
+        throws ConfigurationException {
+        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_ADAPTER,
+            jmsJcaProvider.getAdapter(), "jms-ra.rar") ;
+        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_ENDPOINT_CLASS,
+            jmsJcaProvider.getEndpointClass(), JcaJMSInflowMessageProcessorAdapter.class.getName()) ;
+        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_MESSAGING_TYPE,
+            jmsJcaProvider.getMessagingType()) ;
+        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_JCA_BRIDGE,
+            jmsJcaProvider.getJcaBridge()) ;
+        final boolean transacted ;
+        if (jmsJcaProvider.isSetTransacted())
+        {
+            transacted = jmsJcaProvider.getTransacted() ;
+        }
+        else
+        {
+            transacted = true ;
+        }
+
+        setAttribute(listenerNode, JcaConstants.ATTRIBUTE_TRANSACTED,
+            Boolean.toString(transacted)) ;
+
+        if (listener.getIsGateway())
+        {
+            setAttribute(listenerNode, ListenerTagNames.GATEWAY_COMPOSER_CLASS_TAG,
+                PackageJmsMessageContents.class.getName()) ;
+            setAttribute(listenerNode, ListenerTagNames.GATEWAY_COMPOSER_METHOD_TAG,
+                "process") ;
+        }
+        else
+        {
+            setAttribute(listenerNode, ListenerTagNames.LISTENER_CLASS_TAG,
+                JcaMessageAwareListener.class.getName()) ;
+            setAttribute(listenerNode, JcaConstants.ATTRIBUTE_LISTENER_COMPOSER_CLASS,
+                JcaJMSMessageAwareComposer.class.getName()) ;
+        }
+
+        final Element activationConfigElement = YADOMUtil.addElement(listenerNode, JcaConstants.ELEMENT_ACTIVATION_CONFIG) ;
+         addPropertyElement(activationConfigElement, "destination", messageFilter.getDestName()) ;
+        if (jmsJcaProvider.isSetProviderAdapterJNDI())
+        {
+            addPropertyElement(activationConfigElement, "providerAdapterJNDI", jmsJcaProvider.getProviderAdapterJNDI()) ;
+        }
+        final int destType = messageFilter.getDestType().intValue() ;
+        if (destType == DestType.INT_QUEUE)
+        {
+            addPropertyElement(activationConfigElement, "destinationType", Queue.class.getName()) ;
+        }
+        else if (destType == DestType.INT_TOPIC)
+        {
+            addPropertyElement(activationConfigElement, "destinationType", Topic.class.getName()) ;
+        }
+        else
+        {
+            throw new ConfigurationException("Unknown destination type: " + messageFilter.getDestType()) ;
+        }
+
+        if (messageFilter.getSelector() != null)
+        {
+            addPropertyElement(activationConfigElement, "messageSelector", messageFilter.getSelector()) ;
+        }
+        if (listener.getMaxThreads() > 0)
+        {
+            addPropertyElement(activationConfigElement, "maxMessages", Integer.toString(listener.getMaxThreads())) ;
+        }
+
+		final List<String> defaultPropertyNames = getDefaultActivationConfigNames( activationConfigElement );
+		log.debug("Default activation-config properties :" + defaultPropertyNames );
+
+		/*
+		 * 	add user activation-config properties specified in the provider element.
+		 */
+        ActivationConfig activationConfig = jmsJcaProvider.getActivationConfig();
+        if ( activationConfig != null )
+        {
+            List<Property> propertyList = activationConfig.getPropertyList();
+            for (Iterator<Property> iterator = propertyList.iterator(); iterator.hasNext();)
+    		{
+    			Property prop = iterator.next();
+    			if ( defaultPropertyNames.contains( prop.getName() ))
+        			throw new ConfigurationException( "activation-config already contains [" + prop.getName() + "], which cannot be overridden");
+
+                addPropertyElement(activationConfigElement, prop.getName(), prop.getValue()) ;
+    		}
+        }
+    }
+
+    private static List<String> getDefaultActivationConfigNames(final Element activationConfigElement )
+    {
+		NodeList defaultActivationProperties = activationConfigElement.getElementsByTagName( "property" );
+		final List<String> defaultPropertyNames = new ArrayList<String>(5);
+		for (int i = defaultActivationProperties.getLength() ; i-->0 ; )
+			defaultPropertyNames.add(defaultActivationProperties.item( i ).getAttributes().getNamedItem( "name" ).getNodeValue() );
+
+		return defaultPropertyNames;
+    }
+
+    private static void setAttribute(final Element listenerNode,
+        final String name, final String value)
+    {
+        if (value != null)
+        {
+            listenerNode.setAttribute(name, value) ;
+        }
+    }
+
+    private static void setAttribute(final Element listenerNode,
+        final String name, final String value, final String defaultValue)
+    {
+        if (value == null)
+        {
+            listenerNode.setAttribute(name, defaultValue) ;
+        }
+        else
+        {
+            listenerNode.setAttribute(name, value) ;
+        }
+    }
+
+    private static void addPropertyElement(final Element activationConfigElement,
+        final String name, final String value)
+    {
+        final Element propertyElement = YADOMUtil.addElement(activationConfigElement,
+            JcaConstants.ELEMENT_PROPERTY) ;
+        propertyElement.setAttribute("name", name) ;
+        propertyElement.setAttribute("value", value) ;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,195 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.util.List;
-
-import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.XmlCursor.TokenType;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.*;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
-import org.jboss.soa.esb.listeners.message.MessageAwareListener;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Mapper utility methods.
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public abstract class MapperUtil {
-
-	/**
-	 * Map all default listener attributes onto the target listener ConfigTree.
-	 * @param listener The listener configuration instance.
-	 * @param listenerNode The target DOM ConfigTree listener element.
-	 * @param model The model.
-	 */
-    protected static void mapDefaultAttributes(Listener listener, Element listenerNode, XMLBeansModel model) {
-        Service service = model.getService(listener);
-        boolean isGateway = XMLBeansModel.isGateway(listener);
-
-        // Map maxThreads - appears to be a JMS only attrib...
-        if(listener instanceof DualListener) {
-            listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, String.valueOf(((DualListener)listener).getMaxThreads()));
-        } else {
-            listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, "1");
-        }
-
-        mapListenerServiceAttributes(listenerNode, service, isGateway);
-        if (!isGateway && !listenerNode.hasAttribute(ListenerTagNames.LISTENER_CLASS_TAG)) {
-            listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
-        }
-
-        ActionsDocument.Actions actions = service.getActions();
-        if(actions != null) {
-            MepType.Enum mep = actions.getMep();
-            if(mep != null) {
-                // Intentionally not setting a default of RequestResponse because the action pipeline
-                // has a "defaultProcessing" state that exists if the mep is not set (dubious??)....
-                listenerNode.setAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG, mep.toString());
-            }
-        }
-
-        String busIdRef = listener.getBusidref();
-        if(busIdRef != null) {
-            listenerNode.setAttribute(ListenerTagNames.BUSIDREF_ATTRIBUTE_TAG, busIdRef);
-        }
-    }
-
-    /**
-     * Map the Service specific attributes onto the listener configuration.
-     * @param listenerNode The listener config node.
-     * @param service The Service details (from the model).
-     * @param isGateway True if the listener is a gateway, otherwise false.
-     */
-    public static void mapListenerServiceAttributes(Element listenerNode, Service service, boolean isGateway) {
-        listenerNode.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());
-        if (isGateway) {
-            listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());
-            listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG, service.getName());
-        } else {
-            listenerNode.setAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, service.getCategory());
-            listenerNode.setAttribute(ListenerTagNames.SERVICE_NAME_TAG, service.getName());
-        }
-    }
-
-	/**
-	 * Map all the properties targeted at the supplied listener onto the target element.
-	 * <p/>
-	 * This involves copying the properties from the associated bus and provider nodes.
-	 * @param listener The listener config instance.
-	 * @param target The target DOM ConfigTree listener element.
-	 * @param model The model.
-	 * @throws org.jboss.soa.esb.ConfigurationException Bad bis configuration.
-	 */
-	protected static void mapEPRProperties(Listener listener, Element target, XMLBeansModel model) throws ConfigurationException {
-		Bus bus = model.getBus(listener.getBusidref());
-		Provider provider = model.getProvider(bus);
-
-		// Map the properties from the provider config...
-		mapProperties(provider.getPropertyList(), target);
-		// Map the properties from the bus config...
-		mapProperties(bus.getPropertyList(), target);
-	}
-
-	/**
-	 * Map all the supplied properties onto the target element.
-	 * @param target The target DOM element.
-	 * @param properties The properties to be mapped.
-	 */
-	public static void mapProperties(List<Property> properties, Element target) {
-		// Map the property elements to actions attributes...
-		for(Property property : properties) {
-         Element propertyElement = target.getOwnerDocument().createElement("property");
-         serialize(property, propertyElement);
-         if (propertyElement.hasChildNodes())
-         {
-            YADOMUtil.copyChildNodes(propertyElement, target);
-         }
-         else
-         {
-            target.setAttribute(property.getName(), property.getValue());
-         }
-      }
-	}
-
-	/**
-	 * Serialise the supplied {@link org.apache.xmlbeans.XmlObject} instance to the supplied element.
-	 * @param xmlObject The XmlObject instance.
-	 * @param toElement The element to which the cursor is to be serialised.
-	 */
-	protected static void serialize(XmlObject xmlObject, Element toElement) {
-		XmlCursor cursor = xmlObject.newCursor();
-
-		// Note there are methods on the XmlObject that "looked" as though they might be able
-		// to do this for us (save, newDomNode etc), but they kept throwing exceptions.
-
-		serialize(cursor, toElement);
-		cursor.dispose();
-	}
-
-	/**
-	 * Serialise the XML content behind the supplied XmlCursor instance to the supplied
-	 * target element.
-	 * @param cursor The cursor instance.
-	 * @param toElement The target DOM Element.
-	 */
-	private static void serialize(XmlCursor cursor, Element toElement) {
-		TokenType token;
-		Document doc = toElement.getOwnerDocument();
-
-		while(true) {
-			token = cursor.toNextToken();
-
-			switch (token.intValue()) {
-			case TokenType.INT_ATTR:
-				toElement.setAttribute(cursor.getName().getLocalPart(), cursor.getTextValue());
-				break;
-			case TokenType.INT_COMMENT:
-				toElement.appendChild(doc.createComment(cursor.getTextValue()));
-				break;
-			case TokenType.INT_START:
-				Element childElement = doc.createElement(cursor.getName().getLocalPart());
-				toElement.appendChild(childElement);
-				serialize(cursor, childElement);
-				break;
-			case TokenType.INT_TEXT:
-				toElement.appendChild(doc.createTextNode(cursor.getChars()));
-				break;
-			case TokenType.INT_END:
-			case TokenType.INT_STARTDOC:
-			case TokenType.INT_ENDDOC:
-			case TokenType.INT_NONE:
-				return;
-			case TokenType.INT_PROCINST:
-			case TokenType.INT_NAMESPACE:
-			default:
-				break;
-			}
-		}
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,195 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.util.List;
+
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor.TokenType;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.*;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.jboss.soa.esb.listeners.message.MessageAwareListener;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * Mapper utility methods.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class MapperUtil {
+
+	/**
+	 * Map all default listener attributes onto the target listener ConfigTree.
+	 * @param listener The listener configuration instance.
+	 * @param listenerNode The target DOM ConfigTree listener element.
+	 * @param model The model.
+	 */
+    protected static void mapDefaultAttributes(Listener listener, Element listenerNode, XMLBeansModel model) {
+        Service service = model.getService(listener);
+        boolean isGateway = XMLBeansModel.isGateway(listener);
+
+        // Map maxThreads - appears to be a JMS only attrib...
+        if(listener instanceof DualListener) {
+            listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, String.valueOf(((DualListener)listener).getMaxThreads()));
+        } else {
+            listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, "1");
+        }
+
+        mapListenerServiceAttributes(listenerNode, service, isGateway);
+        if (!isGateway && !listenerNode.hasAttribute(ListenerTagNames.LISTENER_CLASS_TAG)) {
+            listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
+        }
+
+        ActionsDocument.Actions actions = service.getActions();
+        if(actions != null) {
+            MepType.Enum mep = actions.getMep();
+            if(mep != null) {
+                // Intentionally not setting a default of RequestResponse because the action pipeline
+                // has a "defaultProcessing" state that exists if the mep is not set (dubious??)....
+                listenerNode.setAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG, mep.toString());
+            }
+        }
+
+        String busIdRef = listener.getBusidref();
+        if(busIdRef != null) {
+            listenerNode.setAttribute(ListenerTagNames.BUSIDREF_ATTRIBUTE_TAG, busIdRef);
+        }
+    }
+
+    /**
+     * Map the Service specific attributes onto the listener configuration.
+     * @param listenerNode The listener config node.
+     * @param service The Service details (from the model).
+     * @param isGateway True if the listener is a gateway, otherwise false.
+     */
+    public static void mapListenerServiceAttributes(Element listenerNode, Service service, boolean isGateway) {
+        listenerNode.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());
+        if (isGateway) {
+            listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());
+            listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG, service.getName());
+        } else {
+            listenerNode.setAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, service.getCategory());
+            listenerNode.setAttribute(ListenerTagNames.SERVICE_NAME_TAG, service.getName());
+        }
+    }
+
+	/**
+	 * Map all the properties targeted at the supplied listener onto the target element.
+	 * <p/>
+	 * This involves copying the properties from the associated bus and provider nodes.
+	 * @param listener The listener config instance.
+	 * @param target The target DOM ConfigTree listener element.
+	 * @param model The model.
+	 * @throws org.jboss.soa.esb.ConfigurationException Bad bis configuration.
+	 */
+	protected static void mapEPRProperties(Listener listener, Element target, XMLBeansModel model) throws ConfigurationException {
+		Bus bus = model.getBus(listener.getBusidref());
+		Provider provider = model.getProvider(bus);
+
+		// Map the properties from the provider config...
+		mapProperties(provider.getPropertyList(), target);
+		// Map the properties from the bus config...
+		mapProperties(bus.getPropertyList(), target);
+	}
+
+	/**
+	 * Map all the supplied properties onto the target element.
+	 * @param target The target DOM element.
+	 * @param properties The properties to be mapped.
+	 */
+	public static void mapProperties(List<Property> properties, Element target) {
+		// Map the property elements to actions attributes...
+		for(Property property : properties) {
+         Element propertyElement = target.getOwnerDocument().createElement("property");
+         serialize(property, propertyElement);
+         if (propertyElement.hasChildNodes())
+         {
+            YADOMUtil.copyChildNodes(propertyElement, target);
+         }
+         else
+         {
+            target.setAttribute(property.getName(), property.getValue());
+         }
+      }
+	}
+
+	/**
+	 * Serialise the supplied {@link org.apache.xmlbeans.XmlObject} instance to the supplied element.
+	 * @param xmlObject The XmlObject instance.
+	 * @param toElement The element to which the cursor is to be serialised.
+	 */
+	protected static void serialize(XmlObject xmlObject, Element toElement) {
+		XmlCursor cursor = xmlObject.newCursor();
+
+		// Note there are methods on the XmlObject that "looked" as though they might be able
+		// to do this for us (save, newDomNode etc), but they kept throwing exceptions.
+
+		serialize(cursor, toElement);
+		cursor.dispose();
+	}
+
+	/**
+	 * Serialise the XML content behind the supplied XmlCursor instance to the supplied
+	 * target element.
+	 * @param cursor The cursor instance.
+	 * @param toElement The target DOM Element.
+	 */
+	private static void serialize(XmlCursor cursor, Element toElement) {
+		TokenType token;
+		Document doc = toElement.getOwnerDocument();
+
+		while(true) {
+			token = cursor.toNextToken();
+
+			switch (token.intValue()) {
+			case TokenType.INT_ATTR:
+				toElement.setAttribute(cursor.getName().getLocalPart(), cursor.getTextValue());
+				break;
+			case TokenType.INT_COMMENT:
+				toElement.appendChild(doc.createComment(cursor.getTextValue()));
+				break;
+			case TokenType.INT_START:
+				Element childElement = doc.createElement(cursor.getName().getLocalPart());
+				toElement.appendChild(childElement);
+				serialize(cursor, childElement);
+				break;
+			case TokenType.INT_TEXT:
+				toElement.appendChild(doc.createTextNode(cursor.getChars()));
+				break;
+			case TokenType.INT_END:
+			case TokenType.INT_STARTDOC:
+			case TokenType.INT_ENDDOC:
+			case TokenType.INT_NONE:
+				return;
+			case TokenType.INT_PROCINST:
+			case TokenType.INT_NAMESPACE:
+			default:
+				break;
+			}
+		}
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
-import org.w3c.dom.Element;
-
-/**
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class NotificationMapper {
-
-	/**
-	 * @param listenerConfigTree
-	 * @param listenerService
-	 * @param model
-	 */
-	public static void map(Element listenerConfigTree, Service listenerService, XMLBeansModel model) {
-		// TODO Auto-generated method stub
-
-	}
-
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/NotificationMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.w3c.dom.Element;
+
+/**
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class NotificationMapper {
+
+	/**
+	 * @param listenerConfigTree
+	 * @param listenerService
+	 * @param model
+	 */
+	public static void map(Element listenerConfigTree, Service listenerService, XMLBeansModel model) {
+		// TODO Auto-generated method stub
+
+	}
+
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,138 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.AbstractScheduledListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FrequencyUnit;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.Schedule;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.CronScheduleDocument.CronSchedule;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduleProviderDocument.ScheduleProvider;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SimpleScheduleDocument.SimpleSchedule;
-import org.jboss.soa.esb.schedule.SchedulerResource;
-import org.w3c.dom.Element;
-
-/**
- * Schedule Mapper.
- * <p/>
- * Maps the scheduling info from the Schedule based listener config, to the
- * ConfigTree config model.
- *
- * @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class ScheduleMapper {
-
-    private static Logger logger = Logger.getLogger(ScheduleMapper.class);
-
-    public static void map(Element listenerConfig, AbstractScheduledListener scheduledListener, final XMLBeansModel model) throws ConfigurationException {
-        String scheduleIdRef = scheduledListener.getScheduleidref();
-        Element domElement = (Element) scheduledListener.getDomNode();
-        int scheduleFrequency = scheduledListener.getScheduleFrequency();
-        int pollFrequency = scheduledListener.getPollFrequencySeconds();
-        int pollLatency = getPollLatencySeconds(scheduledListener);
-
-        if(scheduleIdRef != null) {
-            listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_ID_REF, scheduleIdRef);
-            final Schedule schedule = model.getSchedule(scheduleIdRef) ;
-            if (schedule.isSetStartDate()) {
-                listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_START_DATE, Long.toString(schedule.getStartDate().getTimeInMillis())) ;
-            }
-            if (schedule.isSetEndDate()) {
-                listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_END_DATE, Long.toString(schedule.getEndDate().getTimeInMillis())) ;
-            }
-            if (schedule instanceof SimpleSchedule) {
-                final SimpleSchedule simpleSchedule = (SimpleSchedule)schedule ;
-                final long simpleFrequency = simpleSchedule.getFrequency() ;
-                final FrequencyUnit.Enum unit = simpleSchedule.getFrequencyUnits() ;
-                final String frequencyVal ;
-                if (unit.equals(FrequencyUnit.SECONDS)) {
-                    frequencyVal = Long.toString(simpleFrequency * 1000) ;
-                } else {
-                    frequencyVal = Long.toString(simpleFrequency) ;
-                }
-                listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_SIMPLE_FREQUENCY, frequencyVal) ;
-                if (simpleSchedule.isSetExecCount()) {
-                    listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_SIMPLE_EXEC, Integer.toString(simpleSchedule.getExecCount())) ;
-                }
-            } else if (schedule instanceof CronSchedule) {
-                final String cronExpression = ((CronSchedule)schedule).getCronExpression() ;
-                if (cronExpression == null) {
-                    throw new ConfigurationException("Missing cron expression from configuration") ;
-                }
-                listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_CRON_EXPRESSION, cronExpression) ;
-            } else {
-                throw new ConfigurationException("Unknown schedule type specified in configuration: " + schedule.getClass().getName()) ;
-            }
-
-            if(domElement.hasAttribute("poll-frequency-seconds") || domElement.hasAttribute("schedule-frequency") ) {
-                logger.warn("Schedule Listener '" + listenerConfig.getTagName() + "' defines both 'scheduleidref' and frequency attributes.  Using the 'scheduleidref'.");
-            }
-        } else if(scheduleFrequency > -1) {
-            listenerConfig.setAttribute(ScheduleProviderFactory.ATTR_FREQUENCY, Integer.toString(scheduleFrequency));
-        } else if(pollFrequency > -1) {
-            listenerConfig.setAttribute(ScheduleProviderFactory.ATTR_FREQUENCY, Integer.toString(pollFrequency));
-        } else if(pollLatency > -1) {
-            listenerConfig.setAttribute(ScheduleProviderFactory.ATTR_FREQUENCY, Integer.toString(pollLatency));
-        } else {
-            listenerConfig.setAttribute(ScheduleProviderFactory.ATTR_FREQUENCY, "10");
-        }
-
-        final ScheduleProvider scheduleProvider = model.getScheduleProvider() ;
-        if (scheduleProvider != null) {
-            // There is only one schedule provider allowed in the configuration at present
-            copyProperties(listenerConfig, model.getScheduleProvider().getPropertyList(), model.getScheduledListenerCount()) ;
-        }
-
-        if(domElement.hasAttribute("poll-frequency-seconds")) {
-            logger.warn("Attrubute 'poll-frequency-seconds' is DEPRECATED.  Please change your configuration to use 'schedule-frequency'.");
-        }
-        if(pollLatency > -1) {
-            logger.warn("Property 'pollLatencySeconds' is DEPRECATED.  Please change your configuration to use 'schedule-frequency'.");
-        }
-    }
-
-    private static void copyProperties(final Element listenerConfig, final List<PropertyDocument.Property> properties, final int numScheduledListeners)
-    {
-        final Element schedulePropertyElement = YADOMUtil.addElement(listenerConfig, ListenerTagNames.SCHEDULE_PROPERTIES) ;
-        schedulePropertyElement.setAttribute(SchedulerResource.THREAD_COUNT, Integer.toString(numScheduledListeners)) ;
-
-        if ((properties != null) && (properties.size() > 0))
-        {
-            MapperUtil.mapProperties(properties, schedulePropertyElement) ;
-        }
-    }
-
-    private static int getPollLatencySeconds(AbstractScheduledListener scheduledListener) {
-        String value = XMLBeansModel.getProperty(scheduledListener.getPropertyList(), "pollLatencySeconds", "-1");
-
-        try {
-            return Integer.parseInt(value);
-        } catch (NumberFormatException e) {
-            return -1;
-        }
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,138 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.AbstractScheduledListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FrequencyUnit;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Schedule;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.CronScheduleDocument.CronSchedule;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduleProviderDocument.ScheduleProvider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SimpleScheduleDocument.SimpleSchedule;
+import org.jboss.soa.esb.schedule.SchedulerResource;
+import org.w3c.dom.Element;
+
+/**
+ * Schedule Mapper.
+ * <p/>
+ * Maps the scheduling info from the Schedule based listener config, to the
+ * ConfigTree config model.
+ *
+ * @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class ScheduleMapper {
+
+    private static Logger logger = Logger.getLogger(ScheduleMapper.class);
+
+    public static void map(Element listenerConfig, AbstractScheduledListener scheduledListener, final XMLBeansModel model) throws ConfigurationException {
+        String scheduleIdRef = scheduledListener.getScheduleidref();
+        Element domElement = (Element) scheduledListener.getDomNode();
+        int scheduleFrequency = scheduledListener.getScheduleFrequency();
+        int pollFrequency = scheduledListener.getPollFrequencySeconds();
+        int pollLatency = getPollLatencySeconds(scheduledListener);
+
+        if(scheduleIdRef != null) {
+            listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_ID_REF, scheduleIdRef);
+            final Schedule schedule = model.getSchedule(scheduleIdRef) ;
+            if (schedule.isSetStartDate()) {
+                listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_START_DATE, Long.toString(schedule.getStartDate().getTimeInMillis())) ;
+            }
+            if (schedule.isSetEndDate()) {
+                listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_END_DATE, Long.toString(schedule.getEndDate().getTimeInMillis())) ;
+            }
+            if (schedule instanceof SimpleSchedule) {
+                final SimpleSchedule simpleSchedule = (SimpleSchedule)schedule ;
+                final long simpleFrequency = simpleSchedule.getFrequency() ;
+                final FrequencyUnit.Enum unit = simpleSchedule.getFrequencyUnits() ;
+                final String frequencyVal ;
+                if (unit.equals(FrequencyUnit.SECONDS)) {
+                    frequencyVal = Long.toString(simpleFrequency * 1000) ;
+                } else {
+                    frequencyVal = Long.toString(simpleFrequency) ;
+                }
+                listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_SIMPLE_FREQUENCY, frequencyVal) ;
+                if (simpleSchedule.isSetExecCount()) {
+                    listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_SIMPLE_EXEC, Integer.toString(simpleSchedule.getExecCount())) ;
+                }
+            } else if (schedule instanceof CronSchedule) {
+                final String cronExpression = ((CronSchedule)schedule).getCronExpression() ;
+                if (cronExpression == null) {
+                    throw new ConfigurationException("Missing cron expression from configuration") ;
+                }
+                listenerConfig.setAttribute(ListenerTagNames.SCHEDULE_CRON_EXPRESSION, cronExpression) ;
+            } else {
+                throw new ConfigurationException("Unknown schedule type specified in configuration: " + schedule.getClass().getName()) ;
+            }
+
+            if(domElement.hasAttribute("poll-frequency-seconds") || domElement.hasAttribute("schedule-frequency") ) {
+                logger.warn("Schedule Listener '" + listenerConfig.getTagName() + "' defines both 'scheduleidref' and frequency attributes.  Using the 'scheduleidref'.");
+            }
+        } else if(scheduleFrequency > -1) {
+            listenerConfig.setAttribute(ScheduleProviderFactory.ATTR_FREQUENCY, Integer.toString(scheduleFrequency));
+        } else if(pollFrequency > -1) {
+            listenerConfig.setAttribute(ScheduleProviderFactory.ATTR_FREQUENCY, Integer.toString(pollFrequency));
+        } else if(pollLatency > -1) {
+            listenerConfig.setAttribute(ScheduleProviderFactory.ATTR_FREQUENCY, Integer.toString(pollLatency));
+        } else {
+            listenerConfig.setAttribute(ScheduleProviderFactory.ATTR_FREQUENCY, "10");
+        }
+
+        final ScheduleProvider scheduleProvider = model.getScheduleProvider() ;
+        if (scheduleProvider != null) {
+            // There is only one schedule provider allowed in the configuration at present
+            copyProperties(listenerConfig, model.getScheduleProvider().getPropertyList(), model.getScheduledListenerCount()) ;
+        }
+
+        if(domElement.hasAttribute("poll-frequency-seconds")) {
+            logger.warn("Attrubute 'poll-frequency-seconds' is DEPRECATED.  Please change your configuration to use 'schedule-frequency'.");
+        }
+        if(pollLatency > -1) {
+            logger.warn("Property 'pollLatencySeconds' is DEPRECATED.  Please change your configuration to use 'schedule-frequency'.");
+        }
+    }
+
+    private static void copyProperties(final Element listenerConfig, final List<PropertyDocument.Property> properties, final int numScheduledListeners)
+    {
+        final Element schedulePropertyElement = YADOMUtil.addElement(listenerConfig, ListenerTagNames.SCHEDULE_PROPERTIES) ;
+        schedulePropertyElement.setAttribute(SchedulerResource.THREAD_COUNT, Integer.toString(numScheduledListeners)) ;
+
+        if ((properties != null) && (properties.size() > 0))
+        {
+            MapperUtil.mapProperties(properties, schedulePropertyElement) ;
+        }
+    }
+
+    private static int getPollLatencySeconds(AbstractScheduledListener scheduledListener) {
+        String value = XMLBeansModel.getProperty(scheduledListener.getPropertyList(), "pollLatencySeconds", "-1");
+
+        try {
+            return Integer.parseInt(value);
+        } catch (NumberFormatException e) {
+            return -1;
+        }
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,119 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.schedule.*;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduleProviderDocument;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SimpleScheduleDocument;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.CronScheduleDocument;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.FrequencyUnit;
-
-import java.util.List;
-import java.util.Properties;
-import java.util.ArrayList;
-
-/**
- * Factory class for creating and configuring a {@link org.jboss.soa.esb.schedule.ScheduleProvider}
- * instance.
- *
- * @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public abstract class ScheduleProviderFactory {
-
-    public static final String ATTR_SCHEDULE_ID_REF = "scheduleidref";
-    public static final String ATTR_FREQUENCY = "schedule-frequency";
-
-    public static ScheduleProvider createInstance(List<ManagedLifecycle> listeners, ScheduleProviderDocument.ScheduleProvider scheduleProviderConfig) throws ConfigurationException {
-        Properties schedulerConfig = null;
-        List<Schedule> schedules = null;
-        ScheduleProvider instance;
-
-        if(scheduleProviderConfig != null) {
-            schedulerConfig = XMLBeansModel.toProperties(scheduleProviderConfig.getPropertyList());
-            schedules = getSchedules(scheduleProviderConfig);
-        }
-        instance = new ScheduleProvider(schedulerConfig, schedules);
-
-        try {
-            for(ManagedLifecycle listener : listeners) {
-                if(listener instanceof ScheduledEventListener) {
-                    ConfigTree config = listener.getConfig();
-                    String scheduleIdRef = config.getAttribute(ATTR_SCHEDULE_ID_REF);
-
-                    if(scheduleIdRef != null) {
-                        instance.addListener((ScheduledEventListener) listener, scheduleIdRef);
-                    } else {
-                        long frequency = config.getLongAttribute(ATTR_FREQUENCY, 10);
-                        instance.addListener((ScheduledEventListener) listener, frequency);
-                    }
-                }
-            }
-        } catch (SchedulingException e) {
-            throw new ConfigurationException(e);
-        }
-
-        return instance;
-    }
-
-    private static List<Schedule> getSchedules(ScheduleProviderDocument.ScheduleProvider scheduleProviderConfig) throws ConfigurationException {
-        List<Schedule> schedules = new ArrayList<Schedule>();
-        List<org.jboss.soa.esb.listeners.config.xbeanmodel120.Schedule> scheduleConfigs = scheduleProviderConfig.getScheduleList();
-        List<String> schedulIds = new ArrayList<String>();
-
-        // We wouldn't have to do this if we were using JAXB!!!
-        // TODO: Get XMLBeans to fudge the class names for the generated binds - existing names are potentialy dangerous because they're the same as the non XMLBeans types
-        for(org.jboss.soa.esb.listeners.config.xbeanmodel120.Schedule scheduleConfig : scheduleConfigs) {
-            String scheduleId = scheduleConfig.getScheduleid();
-            Schedule schedule;
-
-            if(schedulIds.contains(scheduleId)) {
-                throw new ConfigurationException("Duplicate 'scheduleid' value of '" + scheduleId + "'.  Must be unique on a per <schedule-provider> basis.");
-            }
-            schedulIds.add(scheduleId);
-
-            if(scheduleConfig instanceof SimpleScheduleDocument.SimpleSchedule) {
-                SimpleSchedule simpleSchedule;
-                FrequencyUnit.Enum frequencyUnit = ((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequencyUnits();
-
-                schedule = simpleSchedule = new SimpleSchedule(scheduleId);
-                if(frequencyUnit == FrequencyUnit.SECONDS) {
-                    simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency() * 1000);
-                } else {
-                simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency());
-                }
-                simpleSchedule.setExecCount(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getExecCount());
-            } else {
-                CronSchedule cronSchedule;
-
-                schedule = cronSchedule = new CronSchedule(scheduleId);
-                cronSchedule.setCronExpression(((CronScheduleDocument.CronSchedule)scheduleConfig).getCronExpression());
-            }
-            schedule.setStartDate(scheduleConfig.getStartDate());
-            schedule.setEndDate(scheduleConfig.getEndDate());
-            schedules.add(schedule);
-        }
-
-        return schedules;
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduleProviderFactory.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,119 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.schedule.*;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduleProviderDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SimpleScheduleDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.CronScheduleDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FrequencyUnit;
+
+import java.util.List;
+import java.util.Properties;
+import java.util.ArrayList;
+
+/**
+ * Factory class for creating and configuring a {@link org.jboss.soa.esb.schedule.ScheduleProvider}
+ * instance.
+ *
+ * @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class ScheduleProviderFactory {
+
+    public static final String ATTR_SCHEDULE_ID_REF = "scheduleidref";
+    public static final String ATTR_FREQUENCY = "schedule-frequency";
+
+    public static ScheduleProvider createInstance(List<ManagedLifecycle> listeners, ScheduleProviderDocument.ScheduleProvider scheduleProviderConfig) throws ConfigurationException {
+        Properties schedulerConfig = null;
+        List<Schedule> schedules = null;
+        ScheduleProvider instance;
+
+        if(scheduleProviderConfig != null) {
+            schedulerConfig = XMLBeansModel.toProperties(scheduleProviderConfig.getPropertyList());
+            schedules = getSchedules(scheduleProviderConfig);
+        }
+        instance = new ScheduleProvider(schedulerConfig, schedules);
+
+        try {
+            for(ManagedLifecycle listener : listeners) {
+                if(listener instanceof ScheduledEventListener) {
+                    ConfigTree config = listener.getConfig();
+                    String scheduleIdRef = config.getAttribute(ATTR_SCHEDULE_ID_REF);
+
+                    if(scheduleIdRef != null) {
+                        instance.addListener((ScheduledEventListener) listener, scheduleIdRef);
+                    } else {
+                        long frequency = config.getLongAttribute(ATTR_FREQUENCY, 10);
+                        instance.addListener((ScheduledEventListener) listener, frequency);
+                    }
+                }
+            }
+        } catch (SchedulingException e) {
+            throw new ConfigurationException(e);
+        }
+
+        return instance;
+    }
+
+    private static List<Schedule> getSchedules(ScheduleProviderDocument.ScheduleProvider scheduleProviderConfig) throws ConfigurationException {
+        List<Schedule> schedules = new ArrayList<Schedule>();
+        List<org.jboss.soa.esb.listeners.config.xbeanmodel120.Schedule> scheduleConfigs = scheduleProviderConfig.getScheduleList();
+        List<String> schedulIds = new ArrayList<String>();
+
+        // We wouldn't have to do this if we were using JAXB!!!
+        // TODO: Get XMLBeans to fudge the class names for the generated binds - existing names are potentialy dangerous because they're the same as the non XMLBeans types
+        for(org.jboss.soa.esb.listeners.config.xbeanmodel120.Schedule scheduleConfig : scheduleConfigs) {
+            String scheduleId = scheduleConfig.getScheduleid();
+            Schedule schedule;
+
+            if(schedulIds.contains(scheduleId)) {
+                throw new ConfigurationException("Duplicate 'scheduleid' value of '" + scheduleId + "'.  Must be unique on a per <schedule-provider> basis.");
+            }
+            schedulIds.add(scheduleId);
+
+            if(scheduleConfig instanceof SimpleScheduleDocument.SimpleSchedule) {
+                SimpleSchedule simpleSchedule;
+                FrequencyUnit.Enum frequencyUnit = ((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequencyUnits();
+
+                schedule = simpleSchedule = new SimpleSchedule(scheduleId);
+                if(frequencyUnit == FrequencyUnit.SECONDS) {
+                    simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency() * 1000);
+                } else {
+                simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency());
+                }
+                simpleSchedule.setExecCount(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getExecCount());
+            } else {
+                CronSchedule cronSchedule;
+
+                schedule = cronSchedule = new CronSchedule(scheduleId);
+                cronSchedule.setCronExpression(((CronScheduleDocument.CronSchedule)scheduleConfig).getCronExpression());
+            }
+            schedule.setStartDate(scheduleConfig.getStartDate());
+            schedule.setEndDate(scheduleConfig.getEndDate());
+            schedules.add(schedule);
+        }
+
+        return schedules;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.w3c.dom.Element;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduledListenerDocument;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.ScheduleListener;
-import org.jboss.soa.esb.dom.YADOMUtil;
-
-/**
- * Mapper for the {@link org.jboss.soa.esb.listeners.ScheduleListener}.
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class ScheduledListenerMapper {
-    public static Element map(Element root, ScheduledListenerDocument.ScheduledListener listener, XMLBeansModel model) {
-        Service service = model.getService(listener);
-        boolean isGateway = listener.getIsGateway();
-        Element listenerNode = YADOMUtil.addElement(root, "listener");
-
-        listenerNode.setAttribute("name", listener.getName());
-
-        listenerNode.setAttribute("event-processor", listener.getEventProcessor());
-        listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, ScheduleListener.class.getName());
-        if (listener.isSetTransacted()) {
-            listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(listener.getTransacted()));
-        }
-
-        MapperUtil.mapListenerServiceAttributes(listenerNode, service, isGateway) ;
-        // Map the <property> elements targeted at the listener - from the listener itself.
-        MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-
-        return listenerNode;
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ScheduledListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.w3c.dom.Element;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduledListenerDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.ScheduleListener;
+import org.jboss.soa.esb.dom.YADOMUtil;
+
+/**
+ * Mapper for the {@link org.jboss.soa.esb.listeners.ScheduleListener}.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class ScheduledListenerMapper {
+    public static Element map(Element root, ScheduledListenerDocument.ScheduledListener listener, XMLBeansModel model) {
+        Service service = model.getService(listener);
+        boolean isGateway = listener.getIsGateway();
+        Element listenerNode = YADOMUtil.addElement(root, "listener");
+
+        listenerNode.setAttribute("name", listener.getName());
+
+        listenerNode.setAttribute("event-processor", listener.getEventProcessor());
+        listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, ScheduleListener.class.getName());
+        if (listener.isSetTransacted()) {
+            listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(listener.getTransacted()));
+        }
+
+        MapperUtil.mapListenerServiceAttributes(listenerNode, service, isGateway) ;
+        // Map the <property> elements targeted at the listener - from the listener itself.
+        MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+
+        return listenerNode;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,59 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SecurityDocument.Security;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
-import org.w3c.dom.Element;
-
-/**
- * Performs the mapping of XSD based configuration service actions onto a
- * "ConfigTree" style listener configuration.
- *
- * @author <a href="mailto:dbevenius at jboss.com">Daniel Bevenius</a>
- */
-public class SecurityMapper
-{
-	private SecurityMapper() {}
-
-	/**
-	 * Perform the mapping.
-	 *
-	 * @param toConfigTree
-	 *            The listener ConfigTree to which the actions are to be added.
-	 * @param service
-	 *            The Service to which the listener is bound. The Service defines the actions.
-	 * @throws org.jboss.soa.esb.ConfigurationException
-	 */
-	public static void map( final Element toConfigTree, final Service service ) throws ConfigurationException
-	{
-		final Security security = service.getSecurity();
-		if ( security != null)
-		{
-    		final Element securityElement = YADOMUtil.addElement( toConfigTree, ListenerTagNames.SECURITY_TAG );
-			MapperUtil.serialize( security, securityElement );
-		}
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SecurityDocument.Security;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.w3c.dom.Element;
+
+/**
+ * Performs the mapping of XSD based configuration service actions onto a
+ * "ConfigTree" style listener configuration.
+ *
+ * @author <a href="mailto:dbevenius at jboss.com">Daniel Bevenius</a>
+ */
+public class SecurityMapper
+{
+	private SecurityMapper() {}
+
+	/**
+	 * Perform the mapping.
+	 *
+	 * @param toConfigTree
+	 *            The listener ConfigTree to which the actions are to be added.
+	 * @param service
+	 *            The Service to which the listener is bound. The Service defines the actions.
+	 * @throws org.jboss.soa.esb.ConfigurationException
+	 */
+	public static void map( final Element toConfigTree, final Service service ) throws ConfigurationException
+	{
+		final Security security = service.getSecurity();
+		if ( security != null)
+		{
+    		final Element securityElement = YADOMUtil.addElement( toConfigTree, ListenerTagNames.SECURITY_TAG );
+			MapperUtil.serialize( security, securityElement );
+		}
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,146 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlBusDocument.SqlBus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlListenerDocument.SqlListener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlMessageFilterDocument.SqlMessageFilter;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlProviderDocument.SqlProvider;
-import org.jboss.soa.esb.listeners.gateway.SqlTableGatewayListener;
-import org.w3c.dom.Element;
-
-/**
- * Performs the mapping of a &lt;fs-listener&gt; XSD based configuration to the "ConfigTree"
- * style configuration, adding the "ConfigTree" listener config to the "root" node.
- *
- * @author <a href="mailto:kurt.stam at jboss.com">kurt.stam at jboss.com</a>
- */
-public class SqlListenerMapper {
-
-	/**
-	 * Perform the mapping.
-	 * @param root The "ConfigTree" configuration root node.
-	 * @param listener The Jmslistener to be mapped into the ConfigTree.
-	 * @param model The configuration model from which the mapping is being performed.
-	 * @return The ConfigTree listener configuration node.
-	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-	 */
-	public static Element map(Element root, SqlListener listener, XMLBeansModel model) throws ConfigurationException {
-		Element listenerNode = YADOMUtil.addElement(root, "listener");
-		SqlBus bus;
-		SqlProvider provider;
-
-        listenerNode.setAttribute("name", listener.getName());
-
-		try {
-			bus = (SqlBus) model.getBus(listener.getBusidref());
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <sql-listener> must reference a <sql-bus>.");
-		}
-		try {
-			provider = (SqlProvider) model.getProvider(bus);
-		} catch (ClassCastException e) {
-			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <sql-provider> instance.  Unexpected exception - this should have caused a validation error!");
-		}
-
-		if (provider.getDatasource() != null) {
-			if ((provider.getUsername() != null)
-					|| (provider.getDriver() != null)) {
-				throw new ConfigurationException ("Invalid sql-provider configuration : a datasource and a username/password/driver "
-						+ "combination cannot both be defined.   Use only one (datasource or JDBC connection info)."
-						+ "Datasource : [" + provider.getDatasource() + "] JDBC URL [" + provider.getUrl() + "]");
-			}
-		} else if (provider.getUrl() == null) {
-			throw new ConfigurationException ("Invalid sql-provider configuration : a datasource or a URL/username/password/driver "
-					+ "combination must be defined.   Use only one (datasource or JDBC connection info).  "
-					+ "URL was null.");
-		} else if (provider.getUsername() == null) {
-			throw new ConfigurationException ("Invalid sql-provider configuration :  a datasource or a URL/username/password/driver "
-					+ "combination must be defined.   Use only one (datasource or JDBC connection info).   "
-					+ "Username was null.");
-		} else if (provider.getDriver() == null) {
-			throw new ConfigurationException ("Invalid sql-provider configuration : either a datasource or a URL/username/password/driver "
-					+ "combination must be defined.   Use only one (datasource or JDBC connection info).   "
-					+ "Driver was null.");
-		}
-
-		SqlMessageFilter messageFilter = listener.getSqlMessageFilter();
-		if(messageFilter == null) {
-			messageFilter = bus.getSqlMessageFilter();
-			if(messageFilter == null) {
-				throw new ConfigurationException("No <sql-destination> defined on either <sql-listener> [" + listener.getName() + "] or <sql-bus> [" + bus.getBusid() + "].");
-			}
-		}
-        listenerNode.setAttribute("pollLatencySeconds", String.valueOf(listener.getPollFrequencySeconds()));
-        if (provider.isSetTransacted()) {
-            listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(provider.getTransacted())) ;
-        }
-		// Map the standard listener attributes - common across all listener types...
-		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-		// Map the <property> elements targeted at the listener - from the listener itself.
-		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-		if(listener.getIsGateway()) {
-			listenerNode.setAttribute("gatewayClass", SqlTableGatewayListener.class.getName());
-			listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, Boolean.toString(listener.getIsGateway()));
-
-			// Map EPR related attributes onto the listener - from the bus and provider and listener.
-			// Note: This will change - the Gateways will also support the EPR element...
-			mapSqlEprProperties(listenerNode, provider, messageFilter);
-			MapperUtil.mapEPRProperties(listener, listenerNode, model);
-		} else {
-			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
-
-			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
-			mapSqlEprProperties(eprNode, provider, messageFilter);
-			MapperUtil.mapEPRProperties(listener, eprNode, model);
-			// Remove any empty attributes set on the EPR config...
-			YADOMUtil.removeEmptyAttributes(eprNode);
-		}
-
-		// Remove any empty attributes set on the listener config...
-		YADOMUtil.removeEmptyAttributes(listenerNode);
-
-		return listenerNode;
-	}
-
-	private static void mapSqlEprProperties(Element toElement, SqlProvider provider, SqlMessageFilter messageFilter) {
-		toElement.setAttribute(JDBCEpr.DATASOURCE_TAG, provider.getDatasource());
-		toElement.setAttribute(JDBCEpr.URL_TAG, provider.getUrl());
-		toElement.setAttribute(JDBCEpr.DRIVER_TAG, provider.getDriver());
-		toElement.setAttribute(JDBCEpr.USERNAME_TAG, provider.getUsername());
-		toElement.setAttribute(JDBCEpr.PASSWORD_TAG, provider.getPassword());
-		toElement.setAttribute(JDBCEpr.TABLE_NAME_TAG, messageFilter.getTablename());
-		toElement.setAttribute(JDBCEpr.WHERE_CONDITION_TAG, messageFilter.getWhereCondition());
-		toElement.setAttribute(JDBCEpr.ORDER_BY_TAG, messageFilter.getOrderBy());
-		toElement.setAttribute(JDBCEpr.MESSAGE_ID_COLUMN_TAG, messageFilter.getMessageIdColumn());
-		toElement.setAttribute(JDBCEpr.DATA_COLUMN_TAG, messageFilter.getMessageColumn());
-		toElement.setAttribute(JDBCEpr.STATUS_COLUMN_TAG, String.valueOf(messageFilter.getStatusColumn()));
-		toElement.setAttribute(JDBCEpr.TIMESTAMP_COLUMN_TAG, messageFilter.getInsertTimestampColumn());
-		toElement.setAttribute(JDBCEpr.POST_DEL_TAG, String.valueOf(messageFilter.getPostDelete()));
-		toElement.setAttribute(JDBCEpr.ERROR_DEL_TAG, String.valueOf(messageFilter.getErrorDelete()));
-
-
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/SqlListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,146 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlBusDocument.SqlBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlListenerDocument.SqlListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlMessageFilterDocument.SqlMessageFilter;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlProviderDocument.SqlProvider;
+import org.jboss.soa.esb.listeners.gateway.SqlTableGatewayListener;
+import org.w3c.dom.Element;
+
+/**
+ * Performs the mapping of a &lt;fs-listener&gt; XSD based configuration to the "ConfigTree"
+ * style configuration, adding the "ConfigTree" listener config to the "root" node.
+ *
+ * @author <a href="mailto:kurt.stam at jboss.com">kurt.stam at jboss.com</a>
+ */
+public class SqlListenerMapper {
+
+	/**
+	 * Perform the mapping.
+	 * @param root The "ConfigTree" configuration root node.
+	 * @param listener The Jmslistener to be mapped into the ConfigTree.
+	 * @param model The configuration model from which the mapping is being performed.
+	 * @return The ConfigTree listener configuration node.
+	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, SqlListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, "listener");
+		SqlBus bus;
+		SqlProvider provider;
+
+        listenerNode.setAttribute("name", listener.getName());
+
+		try {
+			bus = (SqlBus) model.getBus(listener.getBusidref());
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "].  A <sql-listener> must reference a <sql-bus>.");
+		}
+		try {
+			provider = (SqlProvider) model.getProvider(bus);
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "].  Should be contained within a <sql-provider> instance.  Unexpected exception - this should have caused a validation error!");
+		}
+
+		if (provider.getDatasource() != null) {
+			if ((provider.getUsername() != null)
+					|| (provider.getDriver() != null)) {
+				throw new ConfigurationException ("Invalid sql-provider configuration : a datasource and a username/password/driver "
+						+ "combination cannot both be defined.   Use only one (datasource or JDBC connection info)."
+						+ "Datasource : [" + provider.getDatasource() + "] JDBC URL [" + provider.getUrl() + "]");
+			}
+		} else if (provider.getUrl() == null) {
+			throw new ConfigurationException ("Invalid sql-provider configuration : a datasource or a URL/username/password/driver "
+					+ "combination must be defined.   Use only one (datasource or JDBC connection info).  "
+					+ "URL was null.");
+		} else if (provider.getUsername() == null) {
+			throw new ConfigurationException ("Invalid sql-provider configuration :  a datasource or a URL/username/password/driver "
+					+ "combination must be defined.   Use only one (datasource or JDBC connection info).   "
+					+ "Username was null.");
+		} else if (provider.getDriver() == null) {
+			throw new ConfigurationException ("Invalid sql-provider configuration : either a datasource or a URL/username/password/driver "
+					+ "combination must be defined.   Use only one (datasource or JDBC connection info).   "
+					+ "Driver was null.");
+		}
+
+		SqlMessageFilter messageFilter = listener.getSqlMessageFilter();
+		if(messageFilter == null) {
+			messageFilter = bus.getSqlMessageFilter();
+			if(messageFilter == null) {
+				throw new ConfigurationException("No <sql-destination> defined on either <sql-listener> [" + listener.getName() + "] or <sql-bus> [" + bus.getBusid() + "].");
+			}
+		}
+        listenerNode.setAttribute("pollLatencySeconds", String.valueOf(listener.getPollFrequencySeconds()));
+        if (provider.isSetTransacted()) {
+            listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(provider.getTransacted())) ;
+        }
+		// Map the standard listener attributes - common across all listener types...
+		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+		// Map the <property> elements targeted at the listener - from the listener itself.
+		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+		if(listener.getIsGateway()) {
+			listenerNode.setAttribute("gatewayClass", SqlTableGatewayListener.class.getName());
+			listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, Boolean.toString(listener.getIsGateway()));
+
+			// Map EPR related attributes onto the listener - from the bus and provider and listener.
+			// Note: This will change - the Gateways will also support the EPR element...
+			mapSqlEprProperties(listenerNode, provider, messageFilter);
+			MapperUtil.mapEPRProperties(listener, listenerNode, model);
+		} else {
+			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+
+			// Map EPR related attributes onto the EPR - from the bus and provider and listener...
+			mapSqlEprProperties(eprNode, provider, messageFilter);
+			MapperUtil.mapEPRProperties(listener, eprNode, model);
+			// Remove any empty attributes set on the EPR config...
+			YADOMUtil.removeEmptyAttributes(eprNode);
+		}
+
+		// Remove any empty attributes set on the listener config...
+		YADOMUtil.removeEmptyAttributes(listenerNode);
+
+		return listenerNode;
+	}
+
+	private static void mapSqlEprProperties(Element toElement, SqlProvider provider, SqlMessageFilter messageFilter) {
+		toElement.setAttribute(JDBCEpr.DATASOURCE_TAG, provider.getDatasource());
+		toElement.setAttribute(JDBCEpr.URL_TAG, provider.getUrl());
+		toElement.setAttribute(JDBCEpr.DRIVER_TAG, provider.getDriver());
+		toElement.setAttribute(JDBCEpr.USERNAME_TAG, provider.getUsername());
+		toElement.setAttribute(JDBCEpr.PASSWORD_TAG, provider.getPassword());
+		toElement.setAttribute(JDBCEpr.TABLE_NAME_TAG, messageFilter.getTablename());
+		toElement.setAttribute(JDBCEpr.WHERE_CONDITION_TAG, messageFilter.getWhereCondition());
+		toElement.setAttribute(JDBCEpr.ORDER_BY_TAG, messageFilter.getOrderBy());
+		toElement.setAttribute(JDBCEpr.MESSAGE_ID_COLUMN_TAG, messageFilter.getMessageIdColumn());
+		toElement.setAttribute(JDBCEpr.DATA_COLUMN_TAG, messageFilter.getMessageColumn());
+		toElement.setAttribute(JDBCEpr.STATUS_COLUMN_TAG, String.valueOf(messageFilter.getStatusColumn()));
+		toElement.setAttribute(JDBCEpr.TIMESTAMP_COLUMN_TAG, messageFilter.getInsertTimestampColumn());
+		toElement.setAttribute(JDBCEpr.POST_DEL_TAG, String.valueOf(messageFilter.getPostDelete()));
+		toElement.setAttribute(JDBCEpr.ERROR_DEL_TAG, String.valueOf(messageFilter.getErrorDelete()));
+
+
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.UdpListenerDocument;
-import org.jboss.soa.esb.listeners.gateway.mina.UdpGatewayConfig;
-import org.jboss.soa.esb.listeners.gateway.mina.UdpGatewayListener;
-import org.w3c.dom.Element;
-
-/**
- * Config mapper class for the UDP Listener.
- *
- * @author <a href="mailto:dbevenius at jboss.com">Daniel Bevenius</a>
- */
-public class UdpListenerMapper {
-
-    public static Element map(final Element root, final UdpListenerDocument.UdpListener listener, final XMLBeansModel model) throws ConfigurationException
-    {
-        final Element listenerNode = YADOMUtil.addElement(root, "listener");
-
-        listenerNode.setAttribute("name", listener.getName());
-
-        // Map the standard listener attributes - common across all listener types...
-        MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-
-        // Map the <property> elements targeted at the listener - from the listener itself.
-        MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-
-        listenerNode.setAttribute("gatewayClass", UdpGatewayListener.class.getName());
-
-        // Map the host, port, and handler class
-        listenerNode.setAttribute(UdpGatewayConfig.HOST_ATTR, listener.getHost());
-        listenerNode.setAttribute(UdpGatewayConfig.PORT_ATTR, listener.getPort().toString());
-        listenerNode.setAttribute(UdpGatewayConfig.HANDLER_CLASS_ATTR, listener.getHandlerClass());
-
-        return listenerNode;
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UdpListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.UdpListenerDocument;
+import org.jboss.soa.esb.listeners.gateway.mina.UdpGatewayConfig;
+import org.jboss.soa.esb.listeners.gateway.mina.UdpGatewayListener;
+import org.w3c.dom.Element;
+
+/**
+ * Config mapper class for the UDP Listener.
+ *
+ * @author <a href="mailto:dbevenius at jboss.com">Daniel Bevenius</a>
+ */
+public class UdpListenerMapper {
+
+    public static Element map(final Element root, final UdpListenerDocument.UdpListener listener, final XMLBeansModel model) throws ConfigurationException
+    {
+        final Element listenerNode = YADOMUtil.addElement(root, "listener");
+
+        listenerNode.setAttribute("name", listener.getName());
+
+        // Map the standard listener attributes - common across all listener types...
+        MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+
+        // Map the <property> elements targeted at the listener - from the listener itself.
+        MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+
+        listenerNode.setAttribute("gatewayClass", UdpGatewayListener.class.getName());
+
+        // Map the host, port, and handler class
+        listenerNode.setAttribute(UdpGatewayConfig.HOST_ATTR, listener.getHost());
+        listenerNode.setAttribute(UdpGatewayConfig.PORT_ATTR, listener.getPort().toString());
+        listenerNode.setAttribute(UdpGatewayConfig.HANDLER_CLASS_ATTR, listener.getHandlerClass());
+
+        return listenerNode;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,108 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.dom.YADOMUtil;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.Bus;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.Provider;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.BusImpl;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.ListenerImpl;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.BusProviderImpl;
-import org.w3c.dom.Element;
-
-/**
- * Perform a mapping for an "untyped" listener configuration.
- * <p/>
- * By "untyped" we mean that the listener type is not defined in the XSD, but instead is being
- * defined using the base &lt;listener&gt; type, mapping all it's associated
- * &lt;property&gt; values (including those of the associated bus and provider) onto the listener
- * ConfigTree as attributes.
- * <p/>
- * This is effectively like the base transform - if we don't have a mapper for the listener, this one is applied.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class UntypedListenerMapper {
-
-	/**
-	 * Perform the mapping.
-	 * @param root The "ConfigTree" configuration root node.
-	 * @param listener The listener to be mapped into the ConfigTree.
-	 * @param model The configuration model from which the mapping is being performed.
-	 * @return The ConfigTree listener configuration node.
-	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
-	 */
-	public static Element map(Element root, Listener listener, XMLBeansModel model) throws ConfigurationException {
-		Element listenerNode = YADOMUtil.addElement(root, "listener");
-
-        listenerNode.setAttribute("name", listener.getName());
-
-		assertListenerConfigOK(listener, model);
-
-		// Map the standard listener attributes - common across all listener types...
-		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
-		// Map the <property> elements targeted at the listener - from the listener itself.
-		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
-
-		if(listenerNode.getAttribute(ListenerTagNames.IS_GATEWAY_TAG).equals("true")) {
-			MapperUtil.mapEPRProperties(listener, listenerNode, model);
-		} else {
-			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
-			MapperUtil.mapEPRProperties(listener, eprNode, model);
-
-			// Remove any empty attributes set on the EPR config...
-			YADOMUtil.removeEmptyAttributes(eprNode);
-		}
-
-		// Remove any empty attributes set on the listener config...
-		YADOMUtil.removeEmptyAttributes(listenerNode);
-
-		return listenerNode;
-	}
-
-	/**
-	 * Assert that a valid mapping can be performed from the supplied listener, and the bus + provider it reverences.
-	 * @param listener The listener to be checked.
-	 * @param model The config model instance.
-	 * @throws org.jboss.soa.esb.ConfigurationException Invalid mappng request.
-	 */
-
-	private static void assertListenerConfigOK(Listener listener, XMLBeansModel model) throws ConfigurationException {
-
-		// Note we're purposely performing instanceof comparisons here...
-
-		if(listener.getClass() != ListenerImpl.class) {
-			throw new ConfigurationException("Can only use the " + UntypedListenerMapper.class.getName() + " mapper on the base listener type.  Cannot use on " + listener.getClass().getName());
-		}
-		Bus bus = model.getBus(listener.getBusidref());
-		if(bus.getClass() != BusImpl.class) {
-			throw new ConfigurationException("The base Listener config [" + listener.getName() + "] must reference a base Bus config type (<bus>).");
-		}
-		Provider provider = model.getProvider(bus);
-		if(provider.getClass().isAssignableFrom(BusProviderImpl.class)) {
-			throw new ConfigurationException("A base Bus config type (<bus>) must be contained within a base Provider type (<bus-provider>).");
-		}
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,108 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Bus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Provider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.BusImpl;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.ListenerImpl;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.BusProviderImpl;
+import org.w3c.dom.Element;
+
+/**
+ * Perform a mapping for an "untyped" listener configuration.
+ * <p/>
+ * By "untyped" we mean that the listener type is not defined in the XSD, but instead is being
+ * defined using the base &lt;listener&gt; type, mapping all it's associated
+ * &lt;property&gt; values (including those of the associated bus and provider) onto the listener
+ * ConfigTree as attributes.
+ * <p/>
+ * This is effectively like the base transform - if we don't have a mapper for the listener, this one is applied.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class UntypedListenerMapper {
+
+	/**
+	 * Perform the mapping.
+	 * @param root The "ConfigTree" configuration root node.
+	 * @param listener The listener to be mapped into the ConfigTree.
+	 * @param model The configuration model from which the mapping is being performed.
+	 * @return The ConfigTree listener configuration node.
+	 * @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, Listener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, "listener");
+
+        listenerNode.setAttribute("name", listener.getName());
+
+		assertListenerConfigOK(listener, model);
+
+		// Map the standard listener attributes - common across all listener types...
+		MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+		// Map the <property> elements targeted at the listener - from the listener itself.
+		MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
+
+		if(listenerNode.getAttribute(ListenerTagNames.IS_GATEWAY_TAG).equals("true")) {
+			MapperUtil.mapEPRProperties(listener, listenerNode, model);
+		} else {
+			Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+			MapperUtil.mapEPRProperties(listener, eprNode, model);
+
+			// Remove any empty attributes set on the EPR config...
+			YADOMUtil.removeEmptyAttributes(eprNode);
+		}
+
+		// Remove any empty attributes set on the listener config...
+		YADOMUtil.removeEmptyAttributes(listenerNode);
+
+		return listenerNode;
+	}
+
+	/**
+	 * Assert that a valid mapping can be performed from the supplied listener, and the bus + provider it reverences.
+	 * @param listener The listener to be checked.
+	 * @param model The config model instance.
+	 * @throws org.jboss.soa.esb.ConfigurationException Invalid mappng request.
+	 */
+
+	private static void assertListenerConfigOK(Listener listener, XMLBeansModel model) throws ConfigurationException {
+
+		// Note we're purposely performing instanceof comparisons here...
+
+		if(listener.getClass() != ListenerImpl.class) {
+			throw new ConfigurationException("Can only use the " + UntypedListenerMapper.class.getName() + " mapper on the base listener type.  Cannot use on " + listener.getClass().getName());
+		}
+		Bus bus = model.getBus(listener.getBusidref());
+		if(bus.getClass() != BusImpl.class) {
+			throw new ConfigurationException("The base Listener config [" + listener.getName() + "] must reference a base Bus config type (<bus>).");
+		}
+		Provider provider = model.getProvider(bus);
+		if(provider.getClass().isAssignableFrom(BusProviderImpl.class)) {
+			throw new ConfigurationException("A base Bus config type (<bus>) must be contained within a base Provider type (<bus-provider>).");
+		}
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,577 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.listeners.config.mappers120;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import org.jboss.internal.soa.esb.publish.ActionContractPublisher;
-import org.jboss.internal.soa.esb.publish.ContractPublisher;
-import org.jboss.internal.soa.esb.publish.Publish;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.common.ModulePropertyManager;
-import org.jboss.soa.esb.listeners.config.ServicePublisher;
-import org.jboss.soa.esb.listeners.config.WebserviceInfo;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.*;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActionDocument.Action;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActionsDocument.Actions;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbossesbDocument.Jbossesb;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ProvidersDocument.Providers;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduleProviderDocument.ScheduleProvider;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServicesDocument.Services;
-import org.jboss.soa.esb.util.ClassUtil;
-import org.w3c.dom.Document;
-
-/**
- * XMLBeans based model implementation.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class XMLBeansModel {
-
-    /**
-     * XMLBeans config model instance.
-     */
-    private Jbossesb jbossesb;
-
-    /**
-     * Constructor.
-     * @param xmlBeansDoc XMLBeans config model.
-     */
-    public XMLBeansModel(Jbossesb jbossesb) {
-        this.jbossesb = jbossesb;
-    }
-
-    /**
-     * Get the list of ESB Gateway Listeners from the configuration.
-     * @return The list of ESB Gateway Listeners from the configuration.
-     * @throws org.jboss.soa.esb.ConfigurationException Bad configuration.
-     */
-    public List<Listener> getGatewayListeners() throws ConfigurationException {
-        return getListeners(true);
-    }
-
-    /**
-     * Get the list of ESB Aware Listeners from the configuration.
-     * @return The list of ESB Aware Listeners from the configuration.
-     * @throws org.jboss.soa.esb.ConfigurationException Bad configuration.
-     */
-    public List<Listener> getESBAwareListeners() throws ConfigurationException {
-        return getListeners(false);
-    }
-
-    /**
-     * Get the Service to which the supplied {@link org.jboss.soa.esb.listeners.config.xbeanmodel110.Listener} configuration instance is bound.
-     * @param listener The listener instance (Gateway or ESB Aware).
-     * @return The Service to which the
-     */
-    public Service getService(Listener listener) {
-        List<Service> services = getServices();
-
-        for(Service service : services) {
-            ListenersDocument.Listeners listeners = service.getListeners();
-
-            if(listeners != null) {
-                List<Listener> listenerList = listeners.getListenerList();
-
-                if(listenerList != null) {
-                    for(Listener serviceListener : listenerList) {
-                        if(serviceListener == listener) {
-                            return service;
-                        }
-                    }
-                }
-            }
-        }
-
-        throw new IllegalStateException("No Service instance found for the supplied Listener instance.  This should not be possible if the Listener instance was provided by this configuration.  Where has this Listener instance come from?");
-    }
-
-    /**
-     * Get the Service list.
-     * @return Service list.
-     */
-    public List<Service> getServices() {
-        final Services services = jbossesb.getServices();
-        if (services != null) {
-            return jbossesb.getServices().getServiceList();
-        } else {
-            return Collections.emptyList();
-        }
-    }
-
-    /**
-     * Get the &lt;bus&gt; configuration matching the supplied busid reference value.
-     * @param busid The required &lt;bus&gt; configuration reference value.
-     * @return The Bus configuration instance.
-     * @throws org.jboss.soa.esb.ConfigurationException Unknown busid reference value.
-     */
-    public Bus getBus(String busid) throws ConfigurationException {
-        Bus bus = getOptionalBus(busid);
-
-        if(bus == null) {
-            throw new ConfigurationException("Invalid ESB Configuration: No <bus> configuration matching busid reference value [" + busid + "].");
-        }
-
-        return bus;
-    }
-
-    /**
-     * Get the &lt;bus&gt; configuration matching the supplied busid reference value.
-     * @param busid The required &lt;bus&gt; configuration reference value.
-     * @return The Bus configuration instance.
-     */
-    public Bus getOptionalBus(String busid) {
-        Providers providers = jbossesb.getProviders();
-
-        if(providers != null) {
-            List<Provider> providerList = providers.getProviderList();
-
-            for(Provider provider : providerList) {
-                if(provider instanceof BusProvider) {
-                    List<Bus> buses = ((BusProvider)provider).getBusList();
-
-                    for(Bus bus : buses) {
-                        if(bus.getBusid().equals(busid)) {
-                            return bus;
-                        }
-                    }
-                }
-            }
-        }
-        
-        return null;
-    }
-
-    /**
-     * Get the &lt;provider&gt; configuration containing the supplied Bus configuration instance.
-     * @param bus The Bus config instance whose Provider is being sought.
-     * @return The Provider configuration instance.
-     */
-    public Provider getProvider(Bus bus) {
-        Providers providers = jbossesb.getProviders();
-
-        if(providers != null) {
-            List<Provider> providerList = providers.getProviderList();
-
-            for(Provider provider : providerList) {
-                if(provider instanceof BusProvider) {
-                    List<Bus> buses = ((BusProvider)provider).getBusList();
-
-                    for(Bus installedBus : buses) {
-                        if(installedBus == bus) {
-                            return provider;
-                        }
-                    }
-                }
-            }
-        }
-        
-        throw new IllegalStateException("No Provider instance found for the supplied Bus config instance.  This should not be possible if the Bus instance was provided by this configuration.  Where has this Bus instance come from?");
-    }
-
-    /**
-     * Get the &lt;provider&gt; configuration containing the supplied Bus configuration instance.
-     * @param providerType The Bus Provider type is being sought.
-     * @return The Provider configuration instance.
-     */
-    public Provider getProvider(Class<? extends BusProvider> providerType) {
-        Providers providers = jbossesb.getProviders();
-
-        if(providers != null) {
-            List<Provider> providerList = providers.getProviderList();
-
-            for(Provider provider : providerList) {
-                if(providerType.isAssignableFrom(provider.getClass())) {
-                    return provider;
-                }
-            }
-        }
-        
-        return null;
-    }
-
-    public Schedule getSchedule(final String id) {
-        if((id == null) || (jbossesb.getProviders() == null)) {
-            return null;
-        }
-
-        List<Provider> providers = jbossesb.getProviders().getProviderList();
-
-        for(Provider provider : providers) {
-            if(provider instanceof ScheduleProvider) {
-                final ScheduleProvider scheduleProvider = (ScheduleProvider)provider ;
-                final List<Schedule> schedules = scheduleProvider.getScheduleList() ;
-                for(Schedule schedule: schedules) {
-                    if (id.equals(schedule.getScheduleid())) {
-                        return schedule ;
-                    }
-                }
-            }
-        }
-
-        return null;
-    }
-
-    public ScheduleProvider getScheduleProvider() {
-        if(jbossesb.getProviders() == null) {
-            return null;
-        }
-
-        List<Provider> providers = jbossesb.getProviders().getProviderList();
-
-        for(Provider provider : providers) {
-            if(provider instanceof ScheduleProvider) {
-                return (ScheduleProvider) provider;
-            }
-        }
-
-        return null;
-    }
-
-    public int getScheduledListenerCount() {
-        int count = 0 ;
-        if (jbossesb.getServices() != null) {
-            final List<Service> services = getServices() ;
-            for(Service service: services) {
-                final ListenersDocument.Listeners listeners = service.getListeners() ;
-                if (listeners != null) {
-                    for (Listener listener: listeners.getListenerList()) {
-                        if (listener instanceof AbstractScheduledListener) {
-                            count++ ;
-                        }
-                    }
-                }
-            }
-        }
-        return count ;
-    }
-
-    public static boolean isGateway(Listener listener)
-    {
-        if(listener instanceof GatewayOnlyListener) {
-            return true;
-        } else if(listener instanceof DualListener) {
-            return ((DualListener)listener).getIsGateway();
-        }
-
-        return false;
-    }
-
-    /**
-     * Get the list of ESB Listeners based on their Gateway flag.
-     * @return The list of ESB Aware or Gateway Listeners from the configuration.
-     * @param isGateway Is the listener a gateway or ESB aware listener.
-     * @throws org.jboss.soa.esb.ConfigurationException Bad configuration.
-     */
-    private List<Listener> getListeners(boolean isGateway) throws ConfigurationException {
-        List<Listener> gateways = new ArrayList<Listener>();
-        if (jbossesb.getServices() != null) {
-            List<Service> services = getServices();
-
-            for(Service service : services) {
-                boolean listenerAdded = false;
-                ListenersDocument.Listeners listeners = service.getListeners();
-
-                if(listeners != null) {
-                    for(Listener listener : listeners.getListenerList()) {
-                        if(isGateway(listener) == isGateway) {
-                            gateways.add(listener);
-                            listenerAdded = true;
-                        }
-                    }
-                }
-
-                // Make sure each Service config has a message aware listener...
-                // http://jira.jboss.com/jira/browse/JBESB-648
-                if(!exposesInVMListener(service) && !isGateway && !listenerAdded) {
-                    throw new ConfigurationException("Service configuration for Service '" + service.getCategory() + ":" + service.getName() + "' doesn't define a Message-Aware Listener (i.e. is-gateway='false').");
-                }
-            }
-        }
-
-        return gateways;
-    }
-
-    /**
-     * Gets the setting for the number of seconds between reloads.
-     *
-     * @return The param reload seconds config value.
-     */
-    public String getParameterReloadSecs() {
-        return jbossesb.getParameterReloadSecs().getStringValue();
-    }
-
-    public static String getProperty(List<Property> properties, String name, String defaultVal) {
-        for (Property property : properties) {
-            if(property.getName().equals(name)) {
-                return property.getValue();
-            }
-        }
-
-        return defaultVal;
-    }
-
-    public static boolean exposesInVMListener(Service service) {
-        if(service.xgetInvmScope() != null && service.xgetInvmScope().getStringValue() != null) {
-            return (service.xgetInvmScope().getStringValue().equals("GLOBAL"));
-        }
-
-        String systemDefaultScope = System.getProperty(Environment.DEFAULT_INVM_SCOPE, "GLOBAL");
-        String defaultScope = ModulePropertyManager.getPropertyManager("core").getProperty(Environment.DEFAULT_INVM_SCOPE, systemDefaultScope);
-
-        return defaultScope.equals("GLOBAL");
-    }
-
-    /**
-     * Verify the schedule provider configuration.
-     * @throws org.jboss.soa.esb.ConfigurationException
-     */
-    public void verifyScheduleProviderConfig()
-        throws ConfigurationException {
-        Providers providersConfig = jbossesb.getProviders();
-
-        if(providersConfig == null) {
-            return;
-        }
-
-        List<Provider> providers = providersConfig.getProviderList();
-        int numScheduleProviders = 0;
-
-        for(Provider provider : providers) {
-            if(provider instanceof ScheduleProvider) {
-                numScheduleProviders++;
-            }
-        }
-
-        if(numScheduleProviders > 1) {
-            throw new ConfigurationException("Configuration contains " + numScheduleProviders + " <schedule-provider> configurations.  Only one of this provider type can exist per configuration.");
-        }
-    }
-
-
-    /**
-     * Get a map of service publishers provided by each service.
-     *
-     * @return The map of service publishers, keyed by service.
-     */
-    public Map<org.jboss.soa.esb.Service, List<ServicePublisher>> getServicePublishers() {
-        List<Service> serviceConfigs = getServices();
-        final Map<org.jboss.soa.esb.Service, List<ServicePublisher>> servicePublishers = new LinkedHashMap<org.jboss.soa.esb.Service, List<ServicePublisher>>() ;
-
-        for (Service docService : serviceConfigs) {
-            ContractPublisher publisher = getContractPublisher(docService);
-            final org.jboss.soa.esb.Service service = new org.jboss.soa.esb.Service(docService.getCategory(), docService.getName()) ;
-            ServicePublisher servicePublisher = new ServicePublisher(service.getName(), service.getCategory(), publisher);
-
-            servicePublisher.setDescription(docService.getDescription());
-            addPublisher(servicePublishers, service, servicePublisher) ;
-        }
-
-        return servicePublishers ;
-    }
-
-    /**
-     * Get the contract publisher for the service.
-     * @param service The current service definition.
-     * @return The contract publisher of null if none present.
-     */
-    private static ContractPublisher getContractPublisher(Service service) {
-        if(service.getActions() == null || service.getActions().getActionList() == null) {
-            return null;
-        }
-
-        for (Action action : service.getActions().getActionList()) {
-            Class<Class> actionClass;
-
-            try {
-                actionClass = (Class<Class>) ClassUtil.forName(action.getClass1(), ServicePublisher.class);
-            } catch (ClassNotFoundException e) {
-                throw new RuntimeException("Failed to find action class '" + action.getClass1() + "'.", e);
-            }
-
-            Publish publishAnnotation = (Publish) actionClass.getAnnotation(Publish.class);
-            if (publishAnnotation != null) {
-                Class publisherClass;
-                ActionContractPublisher publisher = null;
-
-                publisherClass = publishAnnotation.value();
-                try {
-                    publisher = (ActionContractPublisher) publisherClass.newInstance();
-                    final org.jboss.soa.esb.listeners.config.Action actionInfo = new org.jboss.soa.esb.listeners.config.Action(
-                        action.getName(), action.getClass1(), action.getProcess(), toProperties(action.getPropertyList())) ;
-
-                    if(actionInfo.getProperties().getProperty("publishContract", "true").equals("true")) {
-                        publisher.setActionConfig(actionInfo);
-                        return publisher;
-                    }
-                } catch (ClassCastException e) {
-                    throw new RuntimeException("Action Contract Publisher class '" + publisherClass.getName() + "' must implement " + ActionContractPublisher.class.getName());
-                } catch (Exception e) {
-                    throw new RuntimeException("Failed to instantiate Contract Publisher '" + publisherClass.getName() + "'. Class must implement a public default constructor.", e);
-                }
-            }
-        }
-
-        // No publisher configured on any of the actions in the processing chain...
-        return null;
-    }
-
-
-    /**
-     * Add the publisher into map for the specified service.
-     * @param servicePublishers The service publishers
-     * @param service The service name
-     * @param publisher The publisher
-     */
-    private static void addPublisher(final Map<org.jboss.soa.esb.Service, List<ServicePublisher>> servicePublishers,
-            final org.jboss.soa.esb.Service service, final ServicePublisher publisher)
-    {
-        final List<ServicePublisher> publishers = servicePublishers.get(service) ;
-        if (publishers != null) {
-            publishers.add(publisher);
-        } else {
-            final List<ServicePublisher> newPublishers = new ArrayList<ServicePublisher>() ;
-            newPublishers.add(publisher) ;
-            servicePublishers.put(service, newPublishers) ;
-        }
-    }
-
-    /**
-     * Generate the ESB Aware configuration document.
-     * @return The ESB aware configuration.
-     * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
-     */
-    public Document generateESBAwareConfig()
-        throws ConfigurationException
-    {
-        // Generate and serialise the configuration for the ESB Aware listeners...
-        ESBAwareGenerator awareGenerator = new ESBAwareGenerator(this);
-        return awareGenerator.generate();
-    }
-
-    /**
-     * Generate the gateway configuration document.
-     * @return The gateway configuration.
-     * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
-     */
-    public Document generateGatewayConfig()
-        throws ConfigurationException
-    {
-        // Generate and serialise the configuration for the Gateway listeners...
-        GatewayGenerator gatewayGenerator = new GatewayGenerator(this);
-        return gatewayGenerator.generate();
-    }
-
-    /**
-     * Get the properties from the document.
-     * @param configProperties The document properties.
-     * @return The properties.
-     */
-    public static Properties toProperties(List<Property> configProperties) {
-        Properties properties = new Properties();
-
-        for(Property property : configProperties) {
-            String name = property.getName();
-            String value = property.getValue();
-
-            if(value != null) {
-                properties.setProperty(name, value);
-            }
-            // TODO: https://jira.jboss.org/jira/browse/JBESB-2381
-        }
-
-        return properties;
-    }
-
-    /**
-     * Get the list of actions in this deployment.
-     * @return a list of actions or null if none present.
-     */
-    public Set<String> getActions()
-    {
-        final Services services = jbossesb.getServices() ;
-        if (services != null)
-        {
-            final Set<String> actionClasses = new HashSet<String>() ;
-
-            for(final Service service : services.getServiceList())
-            {
-                final Actions actions = service.getActions() ;
-                if (actions != null)
-                {
-                    for (final Action action: actions.getActionList())
-                    {
-                        actionClasses.add(action.getClass1()) ;
-                    }
-                }
-            }
-
-            return actionClasses ;
-        }
-        return null ;
-    }
-
-
-    /**
-     * Get the list of services which require a webservice endpoint.
-     * @return The list of services.
-     */
-    public List<WebserviceInfo> getWebserviceServices()
-    {
-        final List<WebserviceInfo> endpointServices = new ArrayList<WebserviceInfo>() ;
-        final Services services = jbossesb.getServices() ;
-        if (services != null)
-        {
-            for(final Service service : services.getServiceList())
-            {
-                final Actions actions = service.getActions() ;
-                if (actions != null)
-                {
-                    if (!actions.isSetWebservice() || actions.getWebservice())
-                    {
-                        final String inXsd = actions.getInXsd() ;
-                        if (inXsd != null)
-                        {
-                            final WebserviceInfo webserviceInfo = new WebserviceInfo(
-                                new org.jboss.soa.esb.Service(service.getCategory(), service.getName()),
-                                actions.getInXsd(), actions.getOutXsd(), actions.getFaultXsd(),
-                                service.getDescription(), MepType.REQUEST_RESPONSE.equals(actions.getMep()),
-                                actions.getRequestLocation(), actions.getResponseLocation(), actions.getAddressing()) ;
-                            endpointServices.add(webserviceInfo) ;
-                        }
-                    }
-                }
-            }
-        }
-        return endpointServices ;
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,577 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import org.jboss.internal.soa.esb.publish.ActionContractPublisher;
+import org.jboss.internal.soa.esb.publish.ContractPublisher;
+import org.jboss.internal.soa.esb.publish.Publish;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.listeners.config.ServicePublisher;
+import org.jboss.soa.esb.listeners.config.WebserviceInfo;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.*;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActionDocument.Action;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActionsDocument.Actions;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbossesbDocument.Jbossesb;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ProvidersDocument.Providers;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ScheduleProviderDocument.ScheduleProvider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServicesDocument.Services;
+import org.jboss.soa.esb.util.ClassUtil;
+import org.w3c.dom.Document;
+
+/**
+ * XMLBeans based model implementation.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class XMLBeansModel {
+
+    /**
+     * XMLBeans config model instance.
+     */
+    private Jbossesb jbossesb;
+
+    /**
+     * Constructor.
+     * @param xmlBeansDoc XMLBeans config model.
+     */
+    public XMLBeansModel(Jbossesb jbossesb) {
+        this.jbossesb = jbossesb;
+    }
+
+    /**
+     * Get the list of ESB Gateway Listeners from the configuration.
+     * @return The list of ESB Gateway Listeners from the configuration.
+     * @throws org.jboss.soa.esb.ConfigurationException Bad configuration.
+     */
+    public List<Listener> getGatewayListeners() throws ConfigurationException {
+        return getListeners(true);
+    }
+
+    /**
+     * Get the list of ESB Aware Listeners from the configuration.
+     * @return The list of ESB Aware Listeners from the configuration.
+     * @throws org.jboss.soa.esb.ConfigurationException Bad configuration.
+     */
+    public List<Listener> getESBAwareListeners() throws ConfigurationException {
+        return getListeners(false);
+    }
+
+    /**
+     * Get the Service to which the supplied {@link org.jboss.soa.esb.listeners.config.xbeanmodel110.Listener} configuration instance is bound.
+     * @param listener The listener instance (Gateway or ESB Aware).
+     * @return The Service to which the
+     */
+    public Service getService(Listener listener) {
+        List<Service> services = getServices();
+
+        for(Service service : services) {
+            ListenersDocument.Listeners listeners = service.getListeners();
+
+            if(listeners != null) {
+                List<Listener> listenerList = listeners.getListenerList();
+
+                if(listenerList != null) {
+                    for(Listener serviceListener : listenerList) {
+                        if(serviceListener == listener) {
+                            return service;
+                        }
+                    }
+                }
+            }
+        }
+
+        throw new IllegalStateException("No Service instance found for the supplied Listener instance.  This should not be possible if the Listener instance was provided by this configuration.  Where has this Listener instance come from?");
+    }
+
+    /**
+     * Get the Service list.
+     * @return Service list.
+     */
+    public List<Service> getServices() {
+        final Services services = jbossesb.getServices();
+        if (services != null) {
+            return jbossesb.getServices().getServiceList();
+        } else {
+            return Collections.emptyList();
+        }
+    }
+
+    /**
+     * Get the &lt;bus&gt; configuration matching the supplied busid reference value.
+     * @param busid The required &lt;bus&gt; configuration reference value.
+     * @return The Bus configuration instance.
+     * @throws org.jboss.soa.esb.ConfigurationException Unknown busid reference value.
+     */
+    public Bus getBus(String busid) throws ConfigurationException {
+        Bus bus = getOptionalBus(busid);
+
+        if(bus == null) {
+            throw new ConfigurationException("Invalid ESB Configuration: No <bus> configuration matching busid reference value [" + busid + "].");
+        }
+
+        return bus;
+    }
+
+    /**
+     * Get the &lt;bus&gt; configuration matching the supplied busid reference value.
+     * @param busid The required &lt;bus&gt; configuration reference value.
+     * @return The Bus configuration instance.
+     */
+    public Bus getOptionalBus(String busid) {
+        Providers providers = jbossesb.getProviders();
+
+        if(providers != null) {
+            List<Provider> providerList = providers.getProviderList();
+
+            for(Provider provider : providerList) {
+                if(provider instanceof BusProvider) {
+                    List<Bus> buses = ((BusProvider)provider).getBusList();
+
+                    for(Bus bus : buses) {
+                        if(bus.getBusid().equals(busid)) {
+                            return bus;
+                        }
+                    }
+                }
+            }
+        }
+        
+        return null;
+    }
+
+    /**
+     * Get the &lt;provider&gt; configuration containing the supplied Bus configuration instance.
+     * @param bus The Bus config instance whose Provider is being sought.
+     * @return The Provider configuration instance.
+     */
+    public Provider getProvider(Bus bus) {
+        Providers providers = jbossesb.getProviders();
+
+        if(providers != null) {
+            List<Provider> providerList = providers.getProviderList();
+
+            for(Provider provider : providerList) {
+                if(provider instanceof BusProvider) {
+                    List<Bus> buses = ((BusProvider)provider).getBusList();
+
+                    for(Bus installedBus : buses) {
+                        if(installedBus == bus) {
+                            return provider;
+                        }
+                    }
+                }
+            }
+        }
+        
+        throw new IllegalStateException("No Provider instance found for the supplied Bus config instance.  This should not be possible if the Bus instance was provided by this configuration.  Where has this Bus instance come from?");
+    }
+
+    /**
+     * Get the &lt;provider&gt; configuration containing the supplied Bus configuration instance.
+     * @param providerType The Bus Provider type is being sought.
+     * @return The Provider configuration instance.
+     */
+    public Provider getProvider(Class<? extends BusProvider> providerType) {
+        Providers providers = jbossesb.getProviders();
+
+        if(providers != null) {
+            List<Provider> providerList = providers.getProviderList();
+
+            for(Provider provider : providerList) {
+                if(providerType.isAssignableFrom(provider.getClass())) {
+                    return provider;
+                }
+            }
+        }
+        
+        return null;
+    }
+
+    public Schedule getSchedule(final String id) {
+        if((id == null) || (jbossesb.getProviders() == null)) {
+            return null;
+        }
+
+        List<Provider> providers = jbossesb.getProviders().getProviderList();
+
+        for(Provider provider : providers) {
+            if(provider instanceof ScheduleProvider) {
+                final ScheduleProvider scheduleProvider = (ScheduleProvider)provider ;
+                final List<Schedule> schedules = scheduleProvider.getScheduleList() ;
+                for(Schedule schedule: schedules) {
+                    if (id.equals(schedule.getScheduleid())) {
+                        return schedule ;
+                    }
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public ScheduleProvider getScheduleProvider() {
+        if(jbossesb.getProviders() == null) {
+            return null;
+        }
+
+        List<Provider> providers = jbossesb.getProviders().getProviderList();
+
+        for(Provider provider : providers) {
+            if(provider instanceof ScheduleProvider) {
+                return (ScheduleProvider) provider;
+            }
+        }
+
+        return null;
+    }
+
+    public int getScheduledListenerCount() {
+        int count = 0 ;
+        if (jbossesb.getServices() != null) {
+            final List<Service> services = getServices() ;
+            for(Service service: services) {
+                final ListenersDocument.Listeners listeners = service.getListeners() ;
+                if (listeners != null) {
+                    for (Listener listener: listeners.getListenerList()) {
+                        if (listener instanceof AbstractScheduledListener) {
+                            count++ ;
+                        }
+                    }
+                }
+            }
+        }
+        return count ;
+    }
+
+    public static boolean isGateway(Listener listener)
+    {
+        if(listener instanceof GatewayOnlyListener) {
+            return true;
+        } else if(listener instanceof DualListener) {
+            return ((DualListener)listener).getIsGateway();
+        }
+
+        return false;
+    }
+
+    /**
+     * Get the list of ESB Listeners based on their Gateway flag.
+     * @return The list of ESB Aware or Gateway Listeners from the configuration.
+     * @param isGateway Is the listener a gateway or ESB aware listener.
+     * @throws org.jboss.soa.esb.ConfigurationException Bad configuration.
+     */
+    private List<Listener> getListeners(boolean isGateway) throws ConfigurationException {
+        List<Listener> gateways = new ArrayList<Listener>();
+        if (jbossesb.getServices() != null) {
+            List<Service> services = getServices();
+
+            for(Service service : services) {
+                boolean listenerAdded = false;
+                ListenersDocument.Listeners listeners = service.getListeners();
+
+                if(listeners != null) {
+                    for(Listener listener : listeners.getListenerList()) {
+                        if(isGateway(listener) == isGateway) {
+                            gateways.add(listener);
+                            listenerAdded = true;
+                        }
+                    }
+                }
+
+                // Make sure each Service config has a message aware listener...
+                // http://jira.jboss.com/jira/browse/JBESB-648
+                if(!exposesInVMListener(service) && !isGateway && !listenerAdded) {
+                    throw new ConfigurationException("Service configuration for Service '" + service.getCategory() + ":" + service.getName() + "' doesn't define a Message-Aware Listener (i.e. is-gateway='false').");
+                }
+            }
+        }
+
+        return gateways;
+    }
+
+    /**
+     * Gets the setting for the number of seconds between reloads.
+     *
+     * @return The param reload seconds config value.
+     */
+    public String getParameterReloadSecs() {
+        return jbossesb.getParameterReloadSecs().getStringValue();
+    }
+
+    public static String getProperty(List<Property> properties, String name, String defaultVal) {
+        for (Property property : properties) {
+            if(property.getName().equals(name)) {
+                return property.getValue();
+            }
+        }
+
+        return defaultVal;
+    }
+
+    public static boolean exposesInVMListener(Service service) {
+        if(service.xgetInvmScope() != null && service.xgetInvmScope().getStringValue() != null) {
+            return (service.xgetInvmScope().getStringValue().equals("GLOBAL"));
+        }
+
+        String systemDefaultScope = System.getProperty(Environment.DEFAULT_INVM_SCOPE, "GLOBAL");
+        String defaultScope = ModulePropertyManager.getPropertyManager("core").getProperty(Environment.DEFAULT_INVM_SCOPE, systemDefaultScope);
+
+        return defaultScope.equals("GLOBAL");
+    }
+
+    /**
+     * Verify the schedule provider configuration.
+     * @throws org.jboss.soa.esb.ConfigurationException
+     */
+    public void verifyScheduleProviderConfig()
+        throws ConfigurationException {
+        Providers providersConfig = jbossesb.getProviders();
+
+        if(providersConfig == null) {
+            return;
+        }
+
+        List<Provider> providers = providersConfig.getProviderList();
+        int numScheduleProviders = 0;
+
+        for(Provider provider : providers) {
+            if(provider instanceof ScheduleProvider) {
+                numScheduleProviders++;
+            }
+        }
+
+        if(numScheduleProviders > 1) {
+            throw new ConfigurationException("Configuration contains " + numScheduleProviders + " <schedule-provider> configurations.  Only one of this provider type can exist per configuration.");
+        }
+    }
+
+
+    /**
+     * Get a map of service publishers provided by each service.
+     *
+     * @return The map of service publishers, keyed by service.
+     */
+    public Map<org.jboss.soa.esb.Service, List<ServicePublisher>> getServicePublishers() {
+        List<Service> serviceConfigs = getServices();
+        final Map<org.jboss.soa.esb.Service, List<ServicePublisher>> servicePublishers = new LinkedHashMap<org.jboss.soa.esb.Service, List<ServicePublisher>>() ;
+
+        for (Service docService : serviceConfigs) {
+            ContractPublisher publisher = getContractPublisher(docService);
+            final org.jboss.soa.esb.Service service = new org.jboss.soa.esb.Service(docService.getCategory(), docService.getName()) ;
+            ServicePublisher servicePublisher = new ServicePublisher(service.getName(), service.getCategory(), publisher);
+
+            servicePublisher.setDescription(docService.getDescription());
+            addPublisher(servicePublishers, service, servicePublisher) ;
+        }
+
+        return servicePublishers ;
+    }
+
+    /**
+     * Get the contract publisher for the service.
+     * @param service The current service definition.
+     * @return The contract publisher of null if none present.
+     */
+    private static ContractPublisher getContractPublisher(Service service) {
+        if(service.getActions() == null || service.getActions().getActionList() == null) {
+            return null;
+        }
+
+        for (Action action : service.getActions().getActionList()) {
+            Class<Class> actionClass;
+
+            try {
+                actionClass = (Class<Class>) ClassUtil.forName(action.getClass1(), ServicePublisher.class);
+            } catch (ClassNotFoundException e) {
+                throw new RuntimeException("Failed to find action class '" + action.getClass1() + "'.", e);
+            }
+
+            Publish publishAnnotation = (Publish) actionClass.getAnnotation(Publish.class);
+            if (publishAnnotation != null) {
+                Class publisherClass;
+                ActionContractPublisher publisher = null;
+
+                publisherClass = publishAnnotation.value();
+                try {
+                    publisher = (ActionContractPublisher) publisherClass.newInstance();
+                    final org.jboss.soa.esb.listeners.config.Action actionInfo = new org.jboss.soa.esb.listeners.config.Action(
+                        action.getName(), action.getClass1(), action.getProcess(), toProperties(action.getPropertyList())) ;
+
+                    if(actionInfo.getProperties().getProperty("publishContract", "true").equals("true")) {
+                        publisher.setActionConfig(actionInfo);
+                        return publisher;
+                    }
+                } catch (ClassCastException e) {
+                    throw new RuntimeException("Action Contract Publisher class '" + publisherClass.getName() + "' must implement " + ActionContractPublisher.class.getName());
+                } catch (Exception e) {
+                    throw new RuntimeException("Failed to instantiate Contract Publisher '" + publisherClass.getName() + "'. Class must implement a public default constructor.", e);
+                }
+            }
+        }
+
+        // No publisher configured on any of the actions in the processing chain...
+        return null;
+    }
+
+
+    /**
+     * Add the publisher into map for the specified service.
+     * @param servicePublishers The service publishers
+     * @param service The service name
+     * @param publisher The publisher
+     */
+    private static void addPublisher(final Map<org.jboss.soa.esb.Service, List<ServicePublisher>> servicePublishers,
+            final org.jboss.soa.esb.Service service, final ServicePublisher publisher)
+    {
+        final List<ServicePublisher> publishers = servicePublishers.get(service) ;
+        if (publishers != null) {
+            publishers.add(publisher);
+        } else {
+            final List<ServicePublisher> newPublishers = new ArrayList<ServicePublisher>() ;
+            newPublishers.add(publisher) ;
+            servicePublishers.put(service, newPublishers) ;
+        }
+    }
+
+    /**
+     * Generate the ESB Aware configuration document.
+     * @return The ESB aware configuration.
+     * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
+     */
+    public Document generateESBAwareConfig()
+        throws ConfigurationException
+    {
+        // Generate and serialise the configuration for the ESB Aware listeners...
+        ESBAwareGenerator awareGenerator = new ESBAwareGenerator(this);
+        return awareGenerator.generate();
+    }
+
+    /**
+     * Generate the gateway configuration document.
+     * @return The gateway configuration.
+     * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
+     */
+    public Document generateGatewayConfig()
+        throws ConfigurationException
+    {
+        // Generate and serialise the configuration for the Gateway listeners...
+        GatewayGenerator gatewayGenerator = new GatewayGenerator(this);
+        return gatewayGenerator.generate();
+    }
+
+    /**
+     * Get the properties from the document.
+     * @param configProperties The document properties.
+     * @return The properties.
+     */
+    public static Properties toProperties(List<Property> configProperties) {
+        Properties properties = new Properties();
+
+        for(Property property : configProperties) {
+            String name = property.getName();
+            String value = property.getValue();
+
+            if(value != null) {
+                properties.setProperty(name, value);
+            }
+            // TODO: https://jira.jboss.org/jira/browse/JBESB-2381
+        }
+
+        return properties;
+    }
+
+    /**
+     * Get the list of actions in this deployment.
+     * @return a list of actions or null if none present.
+     */
+    public Set<String> getActions()
+    {
+        final Services services = jbossesb.getServices() ;
+        if (services != null)
+        {
+            final Set<String> actionClasses = new HashSet<String>() ;
+
+            for(final Service service : services.getServiceList())
+            {
+                final Actions actions = service.getActions() ;
+                if (actions != null)
+                {
+                    for (final Action action: actions.getActionList())
+                    {
+                        actionClasses.add(action.getClass1()) ;
+                    }
+                }
+            }
+
+            return actionClasses ;
+        }
+        return null ;
+    }
+
+
+    /**
+     * Get the list of services which require a webservice endpoint.
+     * @return The list of services.
+     */
+    public List<WebserviceInfo> getWebserviceServices()
+    {
+        final List<WebserviceInfo> endpointServices = new ArrayList<WebserviceInfo>() ;
+        final Services services = jbossesb.getServices() ;
+        if (services != null)
+        {
+            for(final Service service : services.getServiceList())
+            {
+                final Actions actions = service.getActions() ;
+                if (actions != null)
+                {
+                    if (!actions.isSetWebservice() || actions.getWebservice())
+                    {
+                        final String inXsd = actions.getInXsd() ;
+                        if (inXsd != null)
+                        {
+                            final WebserviceInfo webserviceInfo = new WebserviceInfo(
+                                new org.jboss.soa.esb.Service(service.getCategory(), service.getName()),
+                                actions.getInXsd(), actions.getOutXsd(), actions.getFaultXsd(),
+                                service.getDescription(), MepType.REQUEST_RESPONSE.equals(actions.getMep()),
+                                actions.getRequestLocation(), actions.getResponseLocation(), actions.getAddressing()) ;
+                            endpointServices.add(webserviceInfo) ;
+                        }
+                    }
+                }
+            }
+        }
+        return endpointServices ;
+    }
+}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/Model120SchemaParser.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/Model120SchemaParser.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/Model120SchemaParser.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/Model120SchemaParser.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,158 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config.model;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.xmlbeans.XmlException;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.Service;
+import org.jboss.soa.esb.listeners.config.ServicePublisher;
+import org.jboss.soa.esb.listeners.config.WebserviceInfo;
+import org.jboss.soa.esb.listeners.config.mappers120.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbossesbDocument.Factory;
+import org.w3c.dom.Document;
+
+/**
+ * Schema parser for jbossesb-1.2.0.xsd schema.
+ *
+ * <a href='mailto:Kevin.Conner at jboss.com>Kevin Conner</a>
+ */
+class Model120SchemaParser implements SchemaParser
+{
+    /**
+     * The namespace associated with this parser.
+     */
+    static final String NAMESPACE = "http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" ;
+
+    /**
+     * The schema resource for validation.
+     */
+    static final String SCHEMA = "/jbossesb-1.2.0.xsd";
+
+    /**
+     * Obtain a model adapter from the specified stream.
+     * @param reader The XML stream reader.
+     * @return The model adapter
+     * @throws javax.xml.stream.XMLStreamException for errors during parsing.
+     */
+    public ModelAdapter parse(final XMLStreamReader reader)
+        throws ModelException
+    {
+        try
+        {
+           return new Model120Adapter(new XMLBeansModel(Factory.parse(reader).getJbossesb())) ;
+        }
+        catch (final XmlException xmle)
+        {
+            throw new ModelException("Error during schema parsing", xmle) ;
+        }
+    }
+
+    /**
+     * Model adapter for the jbossesb-1.2.0.xsd schema.
+     *
+     * <a href='mailto:Kevin.Conner at jboss.com>Kevin Conner</a>
+     *
+     */
+    private static final class Model120Adapter implements ModelAdapter
+    {
+        /**
+         * The model for jbossesb-1.2.0.xsd.
+         */
+        private final XMLBeansModel model ;
+
+        /**
+         * Create the jbossesb-1.2.0 model adapter.
+         * @param model The jbossesb-1.2.0 model.
+         */
+        Model120Adapter(final XMLBeansModel model)
+        {
+            this.model = model ;
+        }
+
+        /**
+         * Verify the schedule provider configuration.
+         * @throws org.jboss.soa.esb.ConfigurationException
+         */
+        public void verifyScheduleProviderConfig()
+            throws ConfigurationException
+        {
+            model.verifyScheduleProviderConfig() ;
+        }
+
+        /**
+         * Get a map of service publishers provided by each service.
+         *
+         * @return The map of service publishers, keyed by service.
+         */
+        public Map<Service, List<ServicePublisher>> getServicePublishers()
+        {
+            return model.getServicePublishers() ;
+        }
+
+
+        /**
+         * Generate the ESB Aware configuration document.
+         * @return The ESB aware configuration.
+         * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
+         */
+        public Document generateESBAwareConfig()
+            throws ConfigurationException
+        {
+            return model.generateESBAwareConfig() ;
+        }
+
+        /**
+         * Generate the gateway configuration document.
+         * @return The gateway configuration.
+         * @throws org.jboss.soa.esb.ConfigurationException Error creating configuration.
+         */
+        public Document generateGatewayConfig()
+            throws ConfigurationException
+        {
+            return model.generateGatewayConfig() ;
+        }
+
+        /**
+         * Get the list of actions in this deployment.
+         * @return a list of actions or null if none present.
+         */
+        public Set<String> getActions()
+        {
+            return model.getActions() ;
+        }
+
+        /**
+         * Get the list of services which require a webservice endpoint.
+         * @return The list of services.
+         */
+        public List<WebserviceInfo> getWebserviceServices()
+        {
+            return model.getWebserviceServices() ;
+        }
+    }
+}
\ No newline at end of file

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/ModelParser.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/ModelParser.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/config/model/ModelParser.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -71,12 +71,13 @@
     {
         SCHEMA_PARSERS.put(Model101SchemaParser.NAMESPACE, new Model101SchemaParser()) ;
         SCHEMA_PARSERS.put(Model110SchemaParser.NAMESPACE, new Model110SchemaParser()) ;
+        SCHEMA_PARSERS.put(Model120SchemaParser.NAMESPACE, new Model120SchemaParser()) ;
 
         Schema schema = null ;
         try
         {
             schema = XMLHelper.getSchema(new String[] {Model101SchemaParser.SCHEMA,
-                Model110SchemaParser.SCHEMA}) ;
+                Model110SchemaParser.SCHEMA, Model120SchemaParser.SCHEMA}) ;
         }
         catch (SAXException saxe)
         {

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/deployers/mc/EsbWebServiceDeployer.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/deployers/mc/EsbWebServiceDeployer.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/deployers/mc/EsbWebServiceDeployer.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -37,19 +37,24 @@
 import org.jboss.internal.soa.esb.webservice.ESBServiceEndpointInfo;
 import org.jboss.internal.soa.esb.webservice.JAXWSProviderClassGenerator;
 import org.jboss.internal.soa.esb.webservice.WebServicePublishException;
+import org.jboss.internal.soa.esb.listeners.war.WebModel;
+import org.jboss.internal.soa.esb.listeners.war.Filter;
+import org.jboss.internal.soa.esb.listeners.war.Servlet;
+import org.jboss.internal.soa.esb.listeners.war.SecurityConstraints;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
 import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
 import org.jboss.metadata.web.jboss.JBossServletMetaData;
 import org.jboss.metadata.web.jboss.JBossServletsMetaData;
 import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.AuthConstraintMetaData;
-import org.jboss.metadata.web.spec.FilterMetaData;
-import org.jboss.metadata.web.spec.FiltersMetaData;
-import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
-import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.*;
 import org.jboss.soa.esb.Service;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.KeyValuePair;
 import org.jboss.soa.esb.listeners.config.WebserviceInfo;
+import org.jboss.soa.esb.listeners.config.ModelUtil;
 import org.jboss.soa.esb.listeners.deployers.mc.util.VfsUtil;
 import org.jboss.virtual.MemoryFileFactory;
 import org.jboss.virtual.VirtualFile;
@@ -113,18 +118,22 @@
     @Override
     public void deploy(final VFSDeploymentUnit unit, final EsbMetaData esbMetaData) throws DeploymentException
     {
+        boolean webMetaDataCreated = false;
+        final JBossWebMetaData webMetaData = new JBossWebMetaData();
+        final JBossServletsMetaData servlets = new JBossServletsMetaData();
+        final List<ServletMappingMetaData> servletMappings = new ArrayList<ServletMappingMetaData>();
+        final FiltersMetaData filters = new FiltersMetaData();
+        final List<FilterMappingMetaData> filterMappings = new ArrayList<FilterMappingMetaData>();
+        final List<ContractReferencePublisher> publishers = new ArrayList<ContractReferencePublisher>() ;
+        final List<SecurityConstraintMetaData> securityConstraintsMDs = new ArrayList<SecurityConstraintMetaData>();
+        final WebserviceDescriptionsMetaData descriptions = new WebserviceDescriptionsMetaData();
+
         final List<WebserviceInfo> webServices = esbMetaData.getModel().getWebserviceServices();
         if (hasWebServices(webServices))
         {
-            log.debug("Deploying webservices for : " + esbMetaData.getDeploymentName());
-            
-            final JBossWebMetaData webMetaData = new JBossWebMetaData();
-            final JBossServletsMetaData servlets = new JBossServletsMetaData();
-            final List<ServletMappingMetaData> servletMappings = new ArrayList<ServletMappingMetaData>();
-            final FiltersMetaData filters = new FiltersMetaData();
-            final List<ContractReferencePublisher> publishers = new ArrayList<ContractReferencePublisher>() ;
-            final WebserviceDescriptionsMetaData descriptions = new WebserviceDescriptionsMetaData();
-                
+            webMetaDataCreated = true;
+            log.debug("Deploying webservices for : " + esbMetaData.getDeploymentName());            
+
             try
             {
                 // Create an in-memory file system.
@@ -163,7 +172,9 @@
                         
                     if (serviceInfo.isOneWay())
                     {
-                        filters.add(createFilter(serviceInfo));
+                        FilterMetaData filter = createFilter(serviceInfo);
+                        filters.add(filter);
+                        filterMappings.add(createFilterMapping(serviceInfo, filter));
                     }
                     
                     final Service service = wsInfo.getService();
@@ -177,7 +188,7 @@
                     VfsUtil.addFile(classesUrl, servletClassName, servletClass);
                     log.debug("Generated ServletImpl '" + servletClassUrl + "'");
                         
-                    servlets.add(createServlets(service, serviceInfo, generator, includeHandlers));
+                    servlets.add(createServlets(serviceInfo, generator, includeHandlers));
                     servletMappings.add(createServletMapping(serviceInfo));
                     
                     final WebserviceDescriptionMetaData description = new WebserviceDescriptionMetaData();
@@ -194,35 +205,101 @@
             {
                 throw new DeploymentException("Failed to create webservice artifact", e);
             }
-                
+        }
+
+        WebModel webModel = new WebModel(esbMetaData.getArchiveName());
+        try {
+            ModelUtil.updateWebModel(ModelUtil.getListenerGroups(esbMetaData.getModel()), webModel);
+        } catch (ConfigurationException e) {
+            throw new DeploymentException("Failed to capture web metadata from ESB configuration.", e);
+        }
+        
+        // Add the filters...
+        for(Filter filter : webModel.getFilters()) {
+            webMetaDataCreated = true;
+            filters.add(createFilter(filter));
+            filterMappings.add(createFilterMapping(filter));
+        }
+
+        // Add the Servlets...
+        for(Servlet servlet : webModel.getServlets()) {
+            webMetaDataCreated = true;
+            servlets.add(createServlet(servlet));
+            servletMappings.add(createServletMapping(servlet));
+
+            SecurityConstraints securityConstraints = servlet.getSecurityConstraints();
+            if(securityConstraints != null) {
+                SecurityConstraintMetaData securityConstraintMD = new SecurityConstraintMetaData();
+
+                securityConstraintsMDs.add(securityConstraintMD);
+                securityConstraintMD.setDisplayName("Constraints for servlet '" + servlet.getName() + "'.");
+
+                // Add the resource details...
+                WebResourceCollectionsMetaData resources = new WebResourceCollectionsMetaData();
+                WebResourceCollectionMetaData resource = new WebResourceCollectionMetaData();
+                resources.add(resource);
+                securityConstraintMD.setResourceCollections(resources);
+                resource.setHttpMethods(new ArrayList(securityConstraints.getProtectedMethods()));
+                resource.setUrlPatterns(servlet.getUrlMappings());
+
+                // Add the Auth Constraint...
+                if(!securityConstraints.getAllowedRoles().isEmpty()) {
+                    AuthConstraintMetaData constraint = new AuthConstraintMetaData();
+                    constraint.setRoleNames(new ArrayList(securityConstraints.getAllowedRoles()));
+                    securityConstraintMD.setAuthConstraint(constraint);
+                }
+
+                // Add the User Constraint...
+                if(securityConstraints.getTransportGuarantee() != null) {
+                    UserDataConstraintMetaData constraint = new UserDataConstraintMetaData();
+                    constraint.setTransportGuarantee(TransportGuaranteeType.valueOf(securityConstraints.getTransportGuarantee()));
+                    securityConstraintMD.setUserDataConstraint(constraint);
+                }
+            }
+        }
+
+        if(webModel.getAuthMethod() != null) {
+            LoginConfigMetaData loginConfig = new LoginConfigMetaData();
+            loginConfig.setAuthMethod(webModel.getAuthMethod());
+            loginConfig.setRealmName("Authentication Realm for '" + esbMetaData.getArchiveName() + "'");
+            webMetaData.setLoginConfig(loginConfig);
+        }
+        if(webModel.getAuthDomain() != null) {
+            webMetaData.setSecurityDomain(webModel.getAuthDomain());
+        }
+        if(!webModel.getSecurityRoles().isEmpty()) {
+            SecurityRolesMetaData secRolesMetaData = new SecurityRolesMetaData();
+            webMetaData.setSecurityRoles(secRolesMetaData);
+            for(String role : webModel.getSecurityRoles()) {
+                SecurityRoleMetaData secRoleMetaData = new SecurityRoleMetaData();
+                secRoleMetaData.setRoleName(role);
+                secRolesMetaData.add(secRoleMetaData);
+            }
+        }
+
+        if(webMetaDataCreated) {
             webMetaData.setContextRoot(esbMetaData.getDeploymentName());
             webMetaData.setServlets(servlets);
             webMetaData.setServletMappings(servletMappings);
             webMetaData.setFilters(filters);
+            webMetaData.setFilterMappings(filterMappings);
             webMetaData.setWebserviceDescriptions(descriptions);
+            webMetaData.setSecurityContraints(securityConstraintsMDs);
             
-            List<SecurityConstraintMetaData> securityConstraints = new ArrayList<SecurityConstraintMetaData>();
-            SecurityConstraintMetaData securityConstraintMD = new SecurityConstraintMetaData();
-            securityConstraintMD.setAuthConstraint(new AuthConstraintMetaData());
-            securityConstraints.add(securityConstraintMD);
-            webMetaData.setSecurityContraints(securityConstraints);
-            webMetaData.setSecurityDomain("securityDomain");
-            
-            
             esbMetaData.setPublishers(publishers);
-            
+
             unit.addAttachment(JBossWebMetaData.class, webMetaData);
         }
     }
-    
+
     @Override
-    public void undeploy(final VFSDeploymentUnit unit, final EsbMetaData esbMetaData) 
+    public void undeploy(final VFSDeploymentUnit unit, final EsbMetaData esbMetaData)
     {
         try
         {
             removeVirtualFile(unit, DYNAMIC_CL_DIR_KEY);
             removeVirtualFile(unit, DYNAMIC_WEBINF_CL_DIR_KEY);
-        } 
+        }
         finally
         {
             try
@@ -236,7 +313,7 @@
             }
         }
     }
-    
+
     private void removeVirtualFile(final VFSDeploymentUnit unit, final String attachmenKey)
     {
         final VirtualFile file = unit.removeAttachment(attachmenKey, VirtualFile.class);
@@ -245,7 +322,7 @@
             unit.removeClassPath(file);
         }
     }
-    
+
     private void removeFromClassPath(final VFSDeploymentUnit unit, final String attachmentKey)
     {
         final URL url = unit.removeAttachment(attachmentKey, URL.class);
@@ -254,7 +331,7 @@
             MemoryFileFactory.delete(url);
         }
     }
-    
+
     private boolean hasWebServices(final List<WebserviceInfo> endpointServices)
     {
         return endpointServices != null && endpointServices.size() > 0;
@@ -264,11 +341,11 @@
     {
         final ServletMappingMetaData mapping = new ServletMappingMetaData();
         mapping.setServletName(serviceInfo.getServletName());
-        mapping.setUrlPatterns(Arrays.asList(new String[] { serviceInfo.getServletPath()}));
+        mapping.setUrlPatterns(Arrays.asList(new String[] { "/ebws" + serviceInfo.getServletPath()}));
         return mapping;
     }
 
-    private JBossServletMetaData createServlets(final Service service, final ESBServiceEndpointInfo serviceInfo, final JAXWSProviderClassGenerator generator, final boolean includeHandlers) throws WebServicePublishException
+    private JBossServletMetaData createServlets(final ESBServiceEndpointInfo serviceInfo, final JAXWSProviderClassGenerator generator, final boolean includeHandlers) throws WebServicePublishException
     {
         final JBossServletMetaData servlet = new JBossServletMetaData();
         servlet.setServletName(serviceInfo.getServletName());
@@ -283,7 +360,7 @@
         final FilterMetaData filter = new FilterMetaData();
         filter.setFilterName(serviceInfo.getServletName() + "_Filter");
         filter.setFilterClass(ESBResponseFilter.class.getName());
-                            
+
         // Set up the initparam 'OneWay'
         final ParamValueMetaData oneWayInitParam = new ParamValueMetaData();
         oneWayInitParam.setParamName("OneWay");
@@ -291,4 +368,70 @@
         filter.setInitParam(Arrays.asList(new ParamValueMetaData[] {oneWayInitParam}));
         return filter;
     }
+
+    private FilterMappingMetaData createFilterMapping(ESBServiceEndpointInfo serviceInfo, FilterMetaData filter) {
+        FilterMappingMetaData mapping = new FilterMappingMetaData();
+        mapping.setFilterName(filter.getFilterName());
+        mapping.setServletNames(Arrays.asList(new String[] {serviceInfo.getServletName()}));
+        return mapping;
+    }
+
+    private JBossServletMetaData createServlet(Servlet servlet) {
+        JBossServletMetaData servletMD = new JBossServletMetaData();
+
+        servletMD.setServletName(servlet.getName());
+        servletMD.setServletClass(servlet.getRuntimeClass());
+        servletMD.setLoadOnStartup(1);
+
+        List<ParamValueMetaData> initParamsMetaData = createParamsMetaData(servlet.getParams());
+        if(initParamsMetaData != null) {
+            servletMD.setInitParam(initParamsMetaData);
+        }
+
+        return servletMD;
+    }
+
+    private ServletMappingMetaData createServletMapping(Servlet servlet) {
+        final ServletMappingMetaData mapping = new ServletMappingMetaData();
+        mapping.setServletName(servlet.getName());
+        mapping.setUrlPatterns(servlet.getUrlMappings());
+        return mapping;
+    }
+
+    private FilterMetaData createFilter(final Filter filter)
+    {
+        FilterMetaData filterMetaData = new FilterMetaData();
+
+        filterMetaData.setFilterName(filter.getName());
+        filterMetaData.setFilterClass(filter.getRuntimeClass());
+
+        List<ParamValueMetaData> initParamsMetaData = createParamsMetaData(filter.getParams());
+        if(initParamsMetaData != null) {
+            filterMetaData.setInitParam(initParamsMetaData);
+        }
+
+        return filterMetaData;
+    }
+
+    private List<ParamValueMetaData> createParamsMetaData(List<KeyValuePair> initParams) {
+        List<ParamValueMetaData> initParamsMetaData = null;
+        if(!initParams.isEmpty()) {
+            initParamsMetaData = new ArrayList<ParamValueMetaData>();
+            for(KeyValuePair initParam : initParams) {
+                ParamValueMetaData initParamMetaData = new ParamValueMetaData();
+
+                initParamMetaData.setParamName(initParam.getKey());
+                initParamMetaData.setParamValue(initParam.getValue());
+                initParamsMetaData.add(initParamMetaData);
+            }
+        }
+        return initParamsMetaData;
+    }
+
+    private FilterMappingMetaData createFilterMapping(Filter filter) {
+        FilterMappingMetaData mapping = new FilterMappingMetaData();
+        mapping.setFilterName(filter.getName());
+        mapping.setServletNames(Arrays.asList(new String[] {filter.getTargetServlet().getName()}));
+        return mapping;
+    }
 }

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpDispatchServlet.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpDispatchServlet.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpDispatchServlet.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -30,7 +30,7 @@
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.couriers.FaultMessageException;
 import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.gateway.http.HttpRequestWrapper;
 import org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter;
 import org.jboss.soa.esb.message.Message;
 
@@ -41,6 +41,7 @@
  * This class will also return the esb error message and error stack trace to client 
  * 
  * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
+ * @deprecated
  */
 public class HttpDispatchServlet extends HttpServlet {
 	private static final long serialVersionUID = 1L;
@@ -118,7 +119,7 @@
 			return;
 		}
 		
-		HttpRequestWrapper wrapper = new HttpRequestWrapper(request, response);
+		org.jboss.soa.esb.listeners.gateway.http.HttpRequestWrapper wrapper = new HttpRequestWrapper(request, response, null);
        
 		try {
 			if (synchronous) {

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpGatewayListener.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpGatewayListener.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -28,7 +28,6 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.management.InstanceNotFoundException;
 import javax.management.ObjectName;
 import javax.naming.Context;
 import javax.naming.InitialContext;
@@ -46,13 +45,13 @@
 import org.apache.log4j.Logger;
 import org.jboss.mx.util.MBeanServerLocator;
 import org.jboss.naming.Util;
-import org.jboss.remoting.ServerInvoker;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.addressing.EPR;
 import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.KeyValuePair;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.gateway.http.HttpRequestWrapper;
 import org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle;
 import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
 import org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter;
@@ -73,81 +72,82 @@
  * <p>The different tomcat listener can be started in same port with different context.for example: 
  * <code> http://localhost:8765/jbossesb/servicecategory/servicename </code>
  *
- * <p>This class uses the {@link org.jboss.soa.esb.listeners.gateway.HttpMessageComposer}
+ * <p>This class uses the {@link HttpMessageComposer}
  * by default.
  * @see org.jboss.soa.esb.listeners.gateway.HttpMessageComposer
  * @see org.jboss.soa.esb.listeners.gateway.HttpDispatchServlet 
  * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
+ * @deprecated
  */
 public class HttpGatewayListener extends AbstractManagedLifecycle {
 
 	private static final long serialVersionUID = 1L;
-	
-	
+
+
 	private static Logger logger = Logger.getLogger(HttpGatewayListener.class);
 
-    
+
 	/**The tag used to read the host value from configuration */
 	public static String SERVER_HOST_TAG = "http_host";
-	
-	/**The tag used to read the port value from configuration */	
+
+	/**The tag used to read the port value from configuration */
 	public static String SERVER_PORT_TAG = "http_port";
-	
-	/**The tag used to read the context value from configuration */	
+
+	/**The tag used to read the context value from configuration */
 	public static String REQUEST_CONTEXT_TAG = "http_context";
-	
-	/**The tag used to read the dispatch servlet class name value from configuration */	
+
+	/**The tag used to read the dispatch servlet class name value from configuration */
 	public static String DISPATCH_SERVLET_CLASS = "dispatch_servlet";
-	
-	/**Allow http method config attribute name*/     
+
+	/**Allow http method config attribute name*/
     public static final String ALLOW_HTTP_METHOD = "allowHttpMethod";
-    
+
     /**Auth method config attribute name */
     public static final String AUTH_METHOD = "authMethod";
-    
+
     /**Security domain config attribute name */
     public static final String SECURITY_DOMAIN = "securityDomain";
-    
+
     /**Security role config attribute name */
-    public static final String SECURITY_ROLE = "securityRole";	
-	
+    public static final String SECURITY_ROLE = "securityRole";
+
 	/**Http host value*/
 	public String host = null;
-	
+
 	/**Http address value*/
 	public String address = null;
-	
+
 	/**Http port value*/
 	public String port = null;
-	
+
 	/** Default max threads */
-	
+
 	public String maxThreads = "5";
-	
+
 	/**listener contenxt */
 	public String httpContext = null;
 
 	/** Endpoint reference that presents this listener */
 	private EPR endpointReference = null;
-	
+
 	/**Service category*/
 	private String serviceCategory = null;
-	
+
 	/**Service name*/
 	private String serviceName = null;
-		
+
 	/**The new created tomcat standard context, it reprents a web app*/
 	private StandardContext ctx = null;
-			
+
 	/** The default servlet used to dispatch the http request to ESB service*/
 	private String dispatchServletClassName = HttpDispatchServlet.class.getName();
-	
+
 	/** Protocol value */
 	private Object protocol = "http";
-	
+
 	/** Imply if the port number is the jboss.web used, if yes , the new created context will be attched to jboss web Servlet engine */
 	private boolean useJBossWebServletEngine = false;
-    
+
 	/**Constuct the TomcatGatewyListner
 	 * @param config The listener configuration
 	 * @throws ConfigurationException Exception during construction
@@ -162,14 +162,14 @@
 			throw new ConfigurationException("Invalid host configuration");
 		}
 		port = config.getAttribute(SERVER_PORT_TAG);
-		httpContext = config.getAttribute(REQUEST_CONTEXT_TAG);		
+		httpContext = config.getAttribute(REQUEST_CONTEXT_TAG);
 		serviceCategory = config.getAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG);
 		serviceName = config.getAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG);
-		
+
 		if (config.getAttribute(DISPATCH_SERVLET_CLASS) != null) {
 			dispatchServletClassName = config.getAttribute(DISPATCH_SERVLET_CLASS);
 		}
-				
+
         boolean synchronous = !config.getAttribute("synchronous", "true").equalsIgnoreCase("false");
         if (!synchronous) {
 			String asyncResponse = config.getAttribute("asyncResponse");
@@ -180,7 +180,7 @@
 				}
 			}
 		}
-        
+
         //validate allow http method configuration
         if (config.getAttribute(ALLOW_HTTP_METHOD) != null) {
         	String allowMethods = config.getAttribute(ALLOW_HTTP_METHOD);
@@ -193,21 +193,21 @@
         	standardMesthods.add("OPTIONS");
         	standardMesthods.add("HEAD");
         	standardMesthods.add("TRACE");
-        	
+
         	for (String method : methods) {
         		if (!standardMesthods.contains(method.toUpperCase())) {
-        			throw new ConfigurationException("Invalid allow http method configuration, please specify the specify method list with comma-separated(e.g. POST,GET,PUT,DELETE"); 
+        			throw new ConfigurationException("Invalid allow http method configuration, please specify the specify method list with comma-separated(e.g. POST,GET,PUT,DELETE");
         		}
         	}
         }
-        		
-		try {			
+
+		try {
 			Set ports = HttpServerDelegate.getInstance().queryObjects("jboss.web:port="+ port+",type=Connector,*");
-			if (ports.size() > 0) {				
+			if (ports.size() > 0) {
 				//When this gateway stared on JBoss default port 8080 or 80, the configured host will be ignored
 				Set contexts = HttpServerDelegate.getInstance().queryObjects("jboss.web:host=localhost"  + ",path=" + httpContext + ",*");
 			    if (contexts.size() > 0) {
-					throw new ConfigurationException("There is already an http context named " + httpContext + ", choose another one"); 
+					throw new ConfigurationException("There is already an http context named " + httpContext + ", choose another one");
 				}
 			    logger.info("This http gateway listener [" + config.getAttribute(ListenerTagNames.NAME_TAG) +  "] will be started on JBoss default port " + port + " and the configured host will be ignored.");
 				//the created context will be attached jboss.web domain
@@ -216,28 +216,28 @@
 				//if the port is not the jboss.web used, check if the http context name is duplicate
 				Set contexts = HttpServerDelegate.getInstance().queryObjects(HttpServerDelegate.DOMAIN_NAME + ":host=" + HttpServerDelegate.defaultVHost  + ",path=" + httpContext + ",*");
 				if (contexts.size() > 0) {
-					throw new ConfigurationException("There is already an http context named " + httpContext + ", choose another one"); 
+					throw new ConfigurationException("There is already an http context named " + httpContext + ", choose another one");
 				}
 			}
 		} catch (Exception e) {
 			throw new ConfigurationException(e);
 		}
-		
-		//Check the http security configuration 
+
+		//Check the http security configuration
 		if (config.getAttribute(AUTH_METHOD) != null) {
 			if (config.getAttribute(SECURITY_DOMAIN) == null) {
-				throw new ConfigurationException("Security domain configuration for this context not found for http authentication method " + config.getAttribute(AUTH_METHOD)); 
+				throw new ConfigurationException("Security domain configuration for this context not found for http authentication method " + config.getAttribute(AUTH_METHOD));
 			}
-			
+
 			if (config.getAttribute(SECURITY_ROLE) == null) {
-				throw new ConfigurationException("Security role configuration for this context not found for http authentication method " + config.getAttribute(AUTH_METHOD));  
-			}			
+				throw new ConfigurationException("Security role configuration for this context not found for http authentication method " + config.getAttribute(AUTH_METHOD));
+			}
         }
 	}
 
 	/*
 	 * Start the Tomcat listner
-	 * 
+	 *
 	 * @see org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle#doStart()
 	 */
 	protected void doStart() throws ManagedLifecycleException {
@@ -248,7 +248,7 @@
 			throw new ManagedLifecycleException(
 					"Failed to start Http gateway listener", e);
 		}
-		
+
 		try {
 			registerEndpoint();
 		} catch (Throwable t) {
@@ -260,12 +260,12 @@
 				throw new ManagedLifecycleException(
 						"Failed to stop Http gateway listener", e);
 			}
-		} 
+		}
 	}
 
 	/*
 	 * Stop the tomcat listener
-	 * 
+	 *
 	 * @see org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle#doStop()
 	 */
 	protected void doStop() throws ManagedLifecycleException {
@@ -276,52 +276,52 @@
 			throw new ManagedLifecycleException(
 					"Failed to stop Http gateway listener", e);
 		}
-		
-		
+
+
 	}
 
 	/*
 	 * Initialize the tomcat listener
-	 * 
+	 *
 	 * @see org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle#doInitialise()
 	 */
 	protected void doInitialise() throws ManagedLifecycleException {
-		
+
 	}
 
 	/*
 	 * Destory the tomcat listener
-	 * 
+	 *
 	 * @see org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle#doDestroy()
 	 */
 	protected void doDestroy() throws ManagedLifecycleException {
 	}
-	
-	
-	
+
+
+
 	/**
 	 * Start the tomcat http server.It will check if it really needs to create
-	 * Tomcat connector and host. Then add these new tomcat component to tomcat Engine 
+	 * Tomcat connector and host. Then add these new tomcat component to tomcat Engine
 	 * tree through JMX server.
 	 * @throws Exception For error during start tomcat context
 	 */
 	@SuppressWarnings("unchecked")
 	protected void startHttpServer() throws Exception {
-		
+
 		ctx = new StandardContext();
 		URL[] urls = new URL[]{};
 		URLClassLoader urlClassLoader = new URLClassLoader(urls, getClass().getClassLoader());
-		
+
 		WebappLoader loader = new WebappLoader(urlClassLoader);
 		ctx.setLoader(loader);
 		ContextConfig ctxCfg = new ContextConfig();
 		ctx.addLifecycleListener(ctxCfg);
-		
+
 		ctxCfg.setDefaultWebXml("org/apache/catalin/startup/NO_DEFAULT_XML");
 		ctx.setPath(httpContext);
 		ctx.setDocBase(".");
-		
-		
+
+
 		ClassLoader oldloader = Thread.currentThread().getContextClassLoader();
 		Thread.currentThread().setContextClassLoader(urlClassLoader);
 		initWebappDefaults(ctx);
@@ -337,15 +337,15 @@
 				maxThreads = getConfig().getAttribute(ListenerTagNames.MAX_THREADS_TAG);
 			}
 			properties.add(new KeyValuePair("maxThreads", maxThreads));
-			
+
 			HttpServerDelegate.getInstance().createConnector(address, port, properties);
 			HttpServerDelegate.getInstance().addContext(HttpServerDelegate.defaultVHost, ctx);
 		} else {
 			//add it to jboss.web servlet engine
-			connectorName = "jboss.web:port=" + port + ",type=Connector,*";			
+			connectorName = "jboss.web:port=" + port + ",type=Connector,*";
 			HttpServerDelegate.getInstance().addContext(new ObjectName("jboss.web:host=localhost,type=Host"), ctx);
-		}			
-		
+		}
+
 		Set connectors = HttpServerDelegate.getInstance().queryObjects(connectorName);
 		if (connectors.isEmpty()) {
 			throw new javax.management.InstanceNotFoundException("ObjectName: "+ connectorName + " Not found");
@@ -356,7 +356,7 @@
 		} catch (Exception e) {
             //do nothing and use default http
 			protocol = "http";
-		} 
+		}
 
 	}
 
@@ -386,15 +386,15 @@
                     + "' for service '" + serviceCategory + ":" + serviceName + "'.", t);
         }
     }
-    
-	/**Stop tomcat server. It will destroy the generated tomcat connector or host . 
-	 * Before do it , it will check if the reference count for it is zero .When there 
-	 * is no tomcat listener uses the generated host or connector, it will destroy it 
+
+	/**Stop tomcat server. It will destroy the generated tomcat connector or host .
+	 * Before do it , it will check if the reference count for it is zero .When there
+	 * is no tomcat listener uses the generated host or connector, it will destroy it
 	 * @throws Exception For errors during stop tomcat connector or host
 	 */
     @SuppressWarnings("unchecked")
-	public void stopHttpServer() throws Exception {		
-		//Destroy the created context     
+	public void stopHttpServer() throws Exception {
+		//Destroy the created context
         if (!useJBossWebServletEngine) {
         	 HttpServerDelegate.getInstance().destroyContext(HttpServerDelegate.defaultVHost, address, port, httpContext);
         } else {
@@ -405,8 +405,19 @@
 	    }
     }
 
+	/**Get the uncomposed message delivery dapater
+	 * @return uncomposed message delivery adapter
+	 * @throws ConfigurationException For configuation error 
+	 */
+	protected UncomposedMessageDeliveryAdapter createDeliveryAdapter()
+			throws ConfigurationException {
+		return UncomposedMessageDeliveryAdapter.getGatewayDeliveryAdapter(
+				getConfig(),
+				new HttpMessageComposer<HttpRequestWrapper>());
+	}
+
 	/**Initialize the StandardContext.By default it will uses 
-	 * {@link org.jboss.soa.esb.listeners.gateway.TomcatDefaultServlet} as default servlet mapping
+	 * {@link HttpDispatchServlet} as default servlet mapping
 	 * @param ctx Created tomcat standard context
 	 * @throws Exception For errors during initialization
 	 */

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,224 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.gateway;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.actions.ActionUtils;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.message.AbstractMessageComposer;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
-import org.jboss.soa.esb.message.Body;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.MessagePayloadProxy;
-import org.jboss.soa.esb.message.Properties;
-import org.jboss.soa.esb.message.ResponseHeader;
-import org.jboss.soa.esb.message.MessagePayloadProxy.NullPayloadHandling;
-import org.jboss.soa.esb.message.body.content.BytesBody;
-
-/**
- * TomcatMessageComposer class is used to compose the HttpServletRquest
- * to ESB aware message and decompse the ESB aware message to HttpServletRespones 
- * <p>
- * This class will put the http request header and other requst information in ESB message properties with the key "RequestInfoMap".
- * <p>If the request is the submitted from html form(with the <code>Content-Type: application/x-www-form-urlencoded</code>), HttpServletRequest.getParameterMap() result) 
- * will be put in ESB message properties. The key for it is "RequestParamterMap". It put the the byte array read from request inputstream in message payload.
- * <p>In decompose process, the header map in message properties will be added 
- * in HttpServletResponse. The value for "ResponseStatus" store in ESB message properties will 
- * put in the http response. The message payload byte[] or String object will be wrote to HttpServletResponse. 
- * If the object in message payload is not byte[],it will throw exception when the ESB message
- * is decomposed
- *  
- * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
- */
-public class HttpMessageComposer<T extends HttpRequestWrapper>
-		extends AbstractMessageComposer<T> {
-	
-	/** Request parameter map key in esb message properties */
-	public static final String HTTP_REQUEST_PARAMETER_MAP = "RequestParameterMap";
-	
-	/** Request information map key in esb message properties */
-	public static final String HTTP_REQUEST_INFO_MAP = "RequestInfoMap";
-	
-	/** Reponse header map key in esb message properties */
-	public static final String HTTP_RESPONSE_HEADER_MAP = "ResponseHeaderMap";
-	
-	/** Response status key in esb message properties */
-	public static final String HTTP_RESPONSE_STATUS = "ResponseStatus";
-
-	/** Message payload proxy */
-	private MessagePayloadProxy payloadProxy;
-
-	/* 
-	 * Method for configue the payload proxy 
-	 */
-	public void setConfiguration(ConfigTree config) {
-		super.setConfiguration(config);
-		payloadProxy = new MessagePayloadProxy(config, new String[] {
-				ActionUtils.POST_ACTION_DATA, Body.DEFAULT_LOCATION,
-				BytesBody.BYTES_LOCATION },
-				new String[] { ActionUtils.POST_ACTION_DATA });
-		payloadProxy.setNullSetPayloadHandling(NullPayloadHandling.LOG);
-	}
-
-	protected MessagePayloadProxy getPayloadProxy() {
-		return payloadProxy;
-	}
-
-	/* 
-	 *Method for populating the ESB aware message from a HttpServletRequest 	 
-	 */
-	@SuppressWarnings("unchecked")
-	protected void populateMessage(Message message, T requestWrapper)
-			throws MessageDeliverException {
-		HttpServletRequest request = requestWrapper.getRequest();
-		Properties properties = message.getProperties();
-		//Set http request info
-		setRequestInfo(request, properties);
-		//Set http request params
-		Map paraMap = request.getParameterMap();
-		byte[] bodyBytes = null;
-		try {
-			bodyBytes = StreamUtils.readStream(request.getInputStream());
-		} catch (IOException e) {
-			throw new MessageDeliverException(
-					"Failed to read body data from http request", e);
-		}
-		if (paraMap != null && paraMap.size() > 0) {
-			properties.setProperty(HTTP_REQUEST_PARAMETER_MAP, paraMap);
-		}
-		// https://jira.jboss.org/jira/browse/JBESB-2664
-		String contentType = request.getContentType();
-		if ( contentType != null && contentType.toLowerCase().startsWith("text/") ) {
-			String characterEncoding = request.getCharacterEncoding();
-			try {
-				String bodyString = new String(bodyBytes, characterEncoding);
-				payloadProxy.setPayload(message, bodyString);
-			} catch (UnsupportedEncodingException e) {
-				throw new IllegalStateException("Unexpected environmental exception:  [" + characterEncoding + "] character encoding not supported.");
-			}
-		} else {
-			payloadProxy.setPayload(message, bodyBytes);
-		}
-	}
-	
-	/* 
-	 * Method for decompsing a esb message to a HttpServletResponse
-	 */
-	@SuppressWarnings("unchecked")
-	public Object decompose(Message message, T requestWrapper) throws MessageDeliverException {
-        HttpServletResponse  httpResponse = (HttpServletResponse)requestWrapper.getResponse();
-        
-        Properties properties = message.getProperties();
-        for ( String propertyName : properties.getNames() )
-        {
-        	Object propertyValue = properties.getProperty(propertyName);
-        	if ( propertyName.equals(HTTP_RESPONSE_HEADER_MAP) )
-        	{
-        		Map headerMap = (Map)propertyValue;
-        		for (Object headerKey : headerMap.keySet() )
-        		{
-        			String headerName = (String)headerKey;
-        			String headerValue = (String)headerMap.get(headerName);
-        			httpResponse.setHeader(headerName, headerValue);
-        		}
-        	}
-        	else if (propertyValue instanceof ResponseHeader)
-        	{
-        		// JBESB-2511
-        		ResponseHeader header = (ResponseHeader)propertyValue;
-        		header.setHeaderNameValue(httpResponse);
-        	}
-        }
-        
-        Object status = properties.getProperty(HTTP_RESPONSE_STATUS);
-        if (status != null) {
-        	// JBESB-2761
-        	int responseStatus = Integer.valueOf(status.toString()).intValue();
-        	httpResponse.setStatus(responseStatus);	
-        }
-        
-		Object obj = payloadProxy.getPayload(message);
-		try {
-			if (obj instanceof String) {
-
-				requestWrapper.getResponse().getWriter().write((String) obj);
-
-			} else if (obj instanceof byte[]) {
-				requestWrapper.getResponse().getOutputStream().write(
-						(byte[]) obj);
-			} else {
-				throw new MessageDeliverException(
-						"Message payload is not byte array or String");
-			}
-		} catch (IOException e) {
-			throw new MessageDeliverException("Unexpected error when write the message to http response", e);
-		}
-		return requestWrapper.getResponse();
-	}
-
-	/**
-	 * Method for get request information from a servlet request
-	 * The result includes the http header and other servlet request information
-	 * @param request ServletRequest
-	 * @return Request information includes the http header and other information parsed by 
-	 *         servlet container from a servlet request
-	 */
-	public void setRequestInfo(HttpServletRequest request, Properties properties) {
-        Map<String, Object> requestInfoMap = new HashMap<String, Object>();
-        requestInfoMap.put("authType", request.getAuthType());
-        requestInfoMap.put("characterEncoding", request.getCharacterEncoding());
-        requestInfoMap.put("contentType", request.getContentType());
-        requestInfoMap.put("contextPath", request.getContextPath());
-        requestInfoMap.put("localAddr", request.getLocalAddr());
-        requestInfoMap.put("localName", request.getLocalName());
-        requestInfoMap.put("method", request.getMethod());
-        requestInfoMap.put("pathInfo", request.getPathInfo());
-        requestInfoMap.put("protocol", request.getProtocol());
-        requestInfoMap.put("queryString", request.getQueryString());
-        requestInfoMap.put("remoteAddr", request.getRemoteAddr());
-        requestInfoMap.put("remoteHost", request.getRemoteHost());
-        requestInfoMap.put("remoteUser", request.getRemoteUser());
-        requestInfoMap.put("contentLength", Integer.toString(request.getContentLength()));
-        requestInfoMap.put("requestSessionId", request.getRequestedSessionId());
-        requestInfoMap.put("requestURI", request.getRequestURI());
-        requestInfoMap.put("schema", request.getScheme());
-        requestInfoMap.put("serverName", request.getServerName());
-        
-        //Add http header
-        Enumeration enumeration = request.getHeaderNames();
-		while (enumeration.hasMoreElements()) {
-			String name = (String) enumeration.nextElement();
-			String value = request.getHeader(name);
-			requestInfoMap.put(name, value);
-			properties.setProperty(name, value);
-		}
-		
-		properties.setProperty(HTTP_REQUEST_INFO_MAP, requestInfoMap);
-	}
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,246 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.gateway;
+
+import java.io.IOException;
+import java.util.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.message.AbstractMessageComposer;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.MessagePayloadProxy;
+import org.jboss.soa.esb.message.MessagePayloadProxy.NullPayloadHandling;
+import org.jboss.soa.esb.message.body.content.BytesBody;
+
+/**
+ * Http Message Composer.
+ * <p/>
+ * This class is used to compose the HttpServletRquest
+ * to ESB aware message and decompse the ESB aware message to HttpServletRespones
+ * <p>
+ * This class will put the http request header and other requst information in ESB message properties with the key "RequestInfoMap".
+ * <p>
+ * If the request is the submitted from html form(with the <code>Content-Type: application/x-www-form-urlencoded</code>), HttpServletRequest.getParameterMap() result)
+ * will be put in ESB message properties. The key for it is "RequestParamterMap". It put the the byte array read from request inputstream in message payload.
+ * <p>
+ * In decompose process, the header map in message properties will be added
+ * in HttpServletResponse. The value for "ReponseStatus" store in ESB message properties will
+ * put in the http response. The message payload byte[] or String object will be wrote to HttpServletResponse.
+ * If the object in message payload is not byte[],it will throw exception when the ESB message
+ * is decomposed
+ *
+ * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
+ * @deprecated
+ */
+public class HttpMessageComposer<T extends org.jboss.soa.esb.listeners.gateway.http.HttpRequestWrapper> extends AbstractMessageComposer<T> {
+
+    private static final Logger logger = Logger.getLogger(HttpMessageComposer.class);
+
+    /** Request parameter map key in esb message properties */
+	public static final String HTTP_REQUEST_PARAMETER_MAP = "RequestParameterMap";
+
+	/** Request information map key in esb message properties */
+	public static final String HTTP_REQUEST_INFO_MAP = "RequestInfoMap";
+
+	/** Reponse header map key in esb message properties */
+	public static final String HTTP_RESPONSE_HEADER_MAP = "ResponseHeaderMap";
+
+	/** Response status key in esb message properties */
+	public static final String HTTP_RESPONSE_STATUS = "ReponseStatus";
+
+	/** Message payload proxy */
+	private MessagePayloadProxy payloadProxy;
+
+	/*
+	 * Method for configue the payload proxy
+	 */
+	public void setConfiguration(ConfigTree config) {
+		super.setConfiguration(config);
+		payloadProxy = new MessagePayloadProxy(config, new String[] {
+				ActionUtils.POST_ACTION_DATA, Body.DEFAULT_LOCATION,
+				BytesBody.BYTES_LOCATION },
+				new String[] { ActionUtils.POST_ACTION_DATA });
+		payloadProxy.setNullSetPayloadHandling(NullPayloadHandling.LOG);
+	}
+
+	protected MessagePayloadProxy getPayloadProxy() {
+		return payloadProxy;
+	}
+
+	/*
+	 *Method for populating the ESB aware message from a HttpServletRequest
+	 */
+	@SuppressWarnings("unchecked")
+	protected void populateMessage(Message message, T requestWrapper)
+			throws MessageDeliverException {
+		HttpServletRequest request = requestWrapper.getRequest();
+		Map paraMap = request.getParameterMap();
+		byte[] bodyBytes = null;
+
+        try {
+			bodyBytes = StreamUtils.readStream(request.getInputStream());
+		} catch (IOException e) {
+			throw new MessageDeliverException("Failed to read body data from http request", e);
+		}
+
+        //Set http request info
+		message.getProperties().setProperty(HTTP_REQUEST_INFO_MAP, getRequestInfo(request));
+		if (paraMap != null && !paraMap.isEmpty()) {
+		   message.getProperties().setProperty(this.HTTP_REQUEST_PARAMETER_MAP, paraMap);
+		}
+
+        payloadProxy.setPayload(message, bodyBytes);
+	}
+
+	/*
+	 * Method for decompsing a esb message to a HttpServletResponse
+	 */
+	@SuppressWarnings("unchecked")
+	public Object decompose(Message message, T requestWrapper) throws MessageDeliverException {
+        HttpServletRequest request = requestWrapper.getRequest();
+        HttpServletResponse  response = requestWrapper.getResponse();
+        Map<String, String> headers;
+        Integer status;
+
+        try {
+            headers = (Map<String, String>) message.getProperties().getProperty(HTTP_RESPONSE_HEADER_MAP);
+        } catch(ClassCastException e) {
+            response.setStatus(HttpServletResponse.SC_BAD_GATEWAY);
+            logger.debug("'" + HTTP_RESPONSE_HEADER_MAP + "' must be of type " + Map.class.getName());
+            return null;
+        }
+
+        try {
+            status = (Integer) message.getProperties().getProperty(HTTP_RESPONSE_STATUS);
+        } catch(ClassCastException e) {
+            response.setStatus(HttpServletResponse.SC_BAD_GATEWAY);
+            logger.debug("'" + HTTP_RESPONSE_STATUS + "' must be of type Integer.");
+            return null;
+        }
+
+        if (headers != null) {
+            Set<Map.Entry<String, String>> entries = headers.entrySet();
+            for(Map.Entry<String, String> entry : entries) {
+                String headerName = entry.getKey();
+                if(headerName.equals("Content-Type")) {
+                    response.setContentType(entry.getValue());
+                } else {
+                    response.setHeader(entry.getKey(), entry.getValue());
+                }
+            }
+        }
+
+		Object obj = payloadProxy.getPayload(message);
+		try {
+            byte[] outBytes;
+
+            if (obj instanceof String) {
+                String encoding = request.getCharacterEncoding();
+                if(encoding == null) {
+                    encoding = "UTF-8";
+                }
+                outBytes = ((String) obj).getBytes(encoding);
+            } else if (obj instanceof byte[]) {
+				outBytes = (byte[]) obj;
+            } else if (obj == null) {
+                response.setContentLength(0);
+                response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+                logger.debug("Expected a response payload from '" + ListenerTagNames.MEP_REQUEST_RESPONSE + "' service '" + requestWrapper.getService() + "', but received none.");
+                return null;
+            } else {
+                response.setContentLength(0);
+                response.setStatus(HttpServletResponse.SC_BAD_GATEWAY);
+                logger.debug("Unsupport HTTP response payload type " + obj.getClass().getName() + " from service '" + requestWrapper.getService() + "'.  Only supports java.lang.String or byte[] payloads.");
+                return null;
+			}
+
+            if(outBytes.length > 0) {
+                response.getOutputStream().write(outBytes);
+            }
+            response.setContentLength(outBytes.length);
+
+            if (status != null) {
+                response.setStatus(status);
+            } else {
+                response.setStatus(HttpServletResponse.SC_OK);
+            }
+        } catch (IOException e) {
+			throw new MessageDeliverException("Unexpected error when write the message to http response", e);
+		}
+
+        return null;
+	}
+
+	/**
+	 * Method for get request information from a servlet request
+	 * The result includes the http header and other servlet request information
+	 * @param request ServletRequest
+	 * @return Request information includes the http header and other information parsed by
+	 *         servlet container from a servlet request
+	 */
+	public Map<String, Object> getRequestInfo(HttpServletRequest request) {
+        Map<String, Object> requestInfoMap = new HashMap<String, Object>();
+
+        requestInfoMap.put("authType", request.getAuthType());
+        requestInfoMap.put("characterEncoding", request.getCharacterEncoding());
+        requestInfoMap.put("contentType", request.getContentType());
+        requestInfoMap.put("contextPath", request.getContextPath());
+        requestInfoMap.put("localAddr", request.getLocalAddr());
+        requestInfoMap.put("localName", request.getLocalName());
+        requestInfoMap.put("method", request.getMethod());
+        requestInfoMap.put("pathInfo", request.getPathInfo());
+        requestInfoMap.put("protocol", request.getProtocol());
+        requestInfoMap.put("queryString", request.getQueryString());
+        requestInfoMap.put("remoteAddr", request.getRemoteAddr());
+        requestInfoMap.put("remoteHost", request.getRemoteHost());
+        requestInfoMap.put("remoteUser", request.getRemoteUser());
+        requestInfoMap.put("contentLength", Integer.toString(request.getContentLength()));
+        requestInfoMap.put("requestSessionId", request.getRequestedSessionId());
+        requestInfoMap.put("requestURI", request.getRequestURI());
+        requestInfoMap.put("scheme", request.getScheme());
+        requestInfoMap.put("serverName", request.getServerName());
+        requestInfoMap.put("requestPath", request.getServletPath());
+        requestInfoMap.put("pathInfo", request.getPathInfo());
+        if(request.getPathInfo() != null) {
+            requestInfoMap.put("pathInfoTokens", request.getPathInfo().split("/"));
+        } else {
+            requestInfoMap.put("pathInfoTokens", new String[0]);
+        }
+
+        //Add http header
+        Enumeration enumeration = request.getHeaderNames();
+		while (enumeration.hasMoreElements()) {
+			String name = (String) enumeration.nextElement();
+			String value = request.getHeader(name);
+			requestInfoMap.put(name, value);
+		}
+
+        return requestInfoMap;
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpRequestWrapper.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpRequestWrapper.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpRequestWrapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.gateway;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-/**
- * This class wraps the HttpServletRequest and HttpServletResponse
- * It will passed to TomcatMessageComposer to populate or decompose 
- * an ESB message 
- * 
- * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
- */
-public class HttpRequestWrapper {
-	private HttpServletRequest request = null;
-	private HttpServletResponse response = null;
-	public HttpRequestWrapper(HttpServletRequest req, HttpServletResponse res) {
-		request = req;
-		response = res;
-	}
-	
-	public HttpServletRequest getRequest() {
-		return request;
-	}
-	
-	public HttpServletResponse getResponse() {
-		return response;
-	}
-}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpServerDelegate.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpServerDelegate.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpServerDelegate.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -45,7 +45,7 @@
  * This class creates and starts the jboss esb tomcat engine. The tomcat Connector 
  * , Host , StandardContext are also can be created with this class. 
  * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
- *
+ * @deprecated
  */
 public class HttpServerDelegate {
 	public static final String defaultVHost = "localhost";

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http)

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,242 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2008, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.gateway.http;
-
-import org.jboss.soa.esb.Service;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.http.HttpServletSecUtil;
-import org.jboss.soa.esb.util.ClassUtil;
-import org.jboss.soa.esb.couriers.FaultMessageException;
-import org.jboss.soa.esb.services.registry.RegistryException;
-import org.jboss.soa.esb.services.security.auth.ws.WSSecurityInfoExtractor;
-import org.jboss.soa.esb.services.security.PublicCryptoUtil;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
-import org.jboss.soa.esb.listeners.message.MessageComposer;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.listeners.config.mappers120.HttpGatewayMapper;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.apache.log4j.Logger;
-
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import javax.servlet.ServletConfig;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.Map;
-
-/**
- * Http Gateway Servlet.
- * <p/>
- * An instance of this class gets configured for each http-listener urlPattern.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- * @see org.jboss.internal.soa.esb.listeners.war.HttpGatewayDeploymentFactory
- */
-public class HttpGatewayServlet extends HttpServlet {
-
-    private static final Logger logger = Logger.getLogger(HttpGatewayServlet.class);
-
-    public static final String PAYLOAD_AS = "payloadAs";
-    public static final String EXCEPTION_MAPPINGS = "httpExceptionMappings";
-
-    public static final String ASYNC_SERVICE_INVOKE = "asyncServiceInvoke";
-    public static final String ASYNC_STATUS_CODE = "asyncStatusCode";
-    public static final String ASYNC_PAYLOAD = "asyncPayloadPath";
-    public static final String ASYNC_PAYLOAD_CONTENT_TYPE= "asyncPayloadContentType";
-    public static final String ASYNC_PAYLOAD_CHARACTER_ENCODING = "asyncPayloadCharacterEncoding";
-
-    private Service service;
-    private ServiceInvoker serviceInvoker;
-    private boolean asyncInvoke;
-    private int asyncStatusCode = HttpServletResponse.SC_OK;
-    private byte[] asyncPayload;
-    private String asyncContentType;
-    private String asyncCharacterEncoding;
-    private MessageComposer<HttpRequestWrapper> messageComposer;
-    private long blockingTimeout = 30000L;
-    private Map<String, Integer> exceptionMappings;
-
-    public void init(ServletConfig config) throws ServletException {
-        service = new Service(config.getInitParameter(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG), config.getInitParameter(ListenerTagNames.TARGET_SERVICE_NAME_TAG));
-        try {
-            serviceInvoker = new ServiceInvoker(service);
-        } catch (MessageDeliverException e) {
-            throw new ServletException("Unable to create ServiceInvoker for Service '" + service + "'.", e);
-        }
-
-        ConfigTree configTree = toConfigTree(config);
-        try {
-            messageComposer = MessageComposer.Factory.getInstance(configTree.getAttribute(ListenerTagNames.GATEWAY_COMPOSER_CLASS_TAG, HttpMessageComposer.class.getName()), configTree);
-        } catch (ConfigurationException e) {
-            throw new ServletException("Failed to create message composer.", e);
-        } catch (MessageDeliverException e) {
-            throw new ServletException("Failed to create message composer.", e);
-        }
-
-        asyncInvoke = configTree.getBooleanAttribute(ASYNC_SERVICE_INVOKE, false);
-        if(asyncInvoke) {
-            String asyncSCConfig = configTree.getAttribute(ASYNC_STATUS_CODE);
-            try {
-                asyncStatusCode = Integer.parseInt(asyncSCConfig);
-            } catch (NumberFormatException e) {
-                throw new ServletException("Invalid static asynchronous response code configuration '" + asyncSCConfig + "'.", e);
-            }
-
-            String payloadPath = configTree.getAttribute(ASYNC_PAYLOAD);
-            if(payloadPath != null) {
-                try {
-                    asyncPayload = readStaticAsyncResponse(payloadPath);
-                } catch (ConfigurationException e) {
-                    throw new ServletException("Invalid Exception to HTTP Status mapping configuration.", e);
-                }
-                asyncContentType = configTree.getAttribute(ASYNC_PAYLOAD_CONTENT_TYPE);
-                asyncCharacterEncoding = configTree.getAttribute(ASYNC_PAYLOAD_CHARACTER_ENCODING);
-            }
-        } else {
-            blockingTimeout = configTree.getLongAttribute("synchronousTimeout", 30000L);
-        }
-
-        String exceptionMappingsCSV = configTree.getAttribute(EXCEPTION_MAPPINGS);
-        if(exceptionMappingsCSV != null) {
-            try {
-                exceptionMappings = HttpGatewayMapper.decodeExceptionMappingsCSV(exceptionMappingsCSV);
-            } catch (ConfigurationException e) {
-                throw new ServletException("Invalid Exception to HTTP Status mapping configuration.", e);
-            }
-        }
-    }
-
-    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
-        HttpRequestWrapper wrapper = new HttpRequestWrapper(req, resp, service);
-
-        Message inMessage;
-        try {
-            inMessage = messageComposer.compose(wrapper);
-        } catch (MessageDeliverException e) {
-            throw new ServletException("Failed to create message.", e);
-        }
-
-        // Add any servlet authentication details to the message if there were non
-        // presented in the message payload e.g. on a SOAP message...
-        if(!PublicCryptoUtil.INSTANCE.isAuthRequestOnMessage(inMessage)) {
-            HttpServletSecUtil.addAuthDetailsToMessage(req, inMessage);
-        }
-
-        Message outMessage;
-        try {
-            // Dispatch the message to the action pipeline...
-            if(!asyncInvoke) {
-                outMessage = serviceInvoker.deliverSync(inMessage, blockingTimeout);
-
-                // Set the mep as a header on the response...
-                resp.setHeader(ASYNC_SERVICE_INVOKE, "false");
-            } else {
-                serviceInvoker.deliverAsync(inMessage);
-
-                resp.setStatus(asyncStatusCode);
-
-                // Set the mep as a header on the response...
-                resp.setHeader(ASYNC_SERVICE_INVOKE, "true");
-
-                if(asyncPayload != null) {
-                    resp.setContentLength(asyncPayload.length);
-                    resp.setContentType(asyncContentType);
-                    if(asyncCharacterEncoding != null) {
-                        resp.setCharacterEncoding(asyncCharacterEncoding);
-                    }
-
-                    // Only write to the output after setting all headers etc...
-                    resp.getOutputStream().write(asyncPayload);
-                } else {
-                    resp.setContentLength(0);
-                }
-
-                return;
-            }
-        } catch (MessageDeliverException e) {
-            throw new ServletException("Failed to deliver message.", e);
-        } catch (RegistryException e) {
-            throw new ServletException("Failed to deliver message.", e);
-        } catch (FaultMessageException e) {
-            Throwable cause = e.getCause();
-            if(cause != null && exceptionMappings != null && exceptionMappings.containsKey(cause.getClass().getName())) {
-                String exceptionClass = cause.getClass().getName();
-
-                resp.setStatus(exceptionMappings.get(exceptionClass));
-                resp.setHeader("Exception", exceptionClass);
-
-                e.printStackTrace(resp.getWriter());
-                resp.setContentType("text/plain");
-
-                return;
-            } else {
-                throw new ServletException("Failed to deliver message.", e);
-            }
-        }
-
-        if(outMessage != null) {
-            try {
-                messageComposer.decompose(outMessage, wrapper);
-            } catch (MessageDeliverException e) {
-                throw new ServletException("Failed to decompose response message.", e);
-            }
-        } else {
-            resp.setContentLength(0);
-            resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
-            return;
-        }
-    }
-
-    private ConfigTree toConfigTree(ServletConfig config) {
-        ConfigTree configTree = new ConfigTree("config");
-        Enumeration configNames = config.getInitParameterNames();
-
-        while(configNames.hasMoreElements()) {
-            String name = (String) configNames.nextElement();
-            configTree.setAttribute(name, config.getInitParameter(name));
-        }
-
-        return configTree;
-    }
-
-    private byte[] readStaticAsyncResponse(String payloadPath) throws ConfigurationException {
-        InputStream stream = ClassUtil.getResourceAsStream(payloadPath, HttpGatewayServlet.class);
-
-        if(stream == null) {
-            throw new ConfigurationException("Failed to access static HTTP response payload file '" + payloadPath + "' on classpath.");
-        }
-
-        try {
-            return StreamUtils.readStream(stream);
-        } finally {
-            try {
-                stream.close();
-            } catch (IOException e) {
-                logger.error("Unexpected Error closing static HTTP response payload file '" + payloadPath + "' ", e);
-            }
-        }
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpGatewayServlet.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,242 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.gateway.http;
+
+import org.jboss.soa.esb.Service;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.http.HttpServletSecUtil;
+import org.jboss.soa.esb.util.ClassUtil;
+import org.jboss.soa.esb.couriers.FaultMessageException;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.security.auth.ws.WSSecurityInfoExtractor;
+import org.jboss.soa.esb.services.security.PublicCryptoUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.listeners.message.MessageComposer;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.mappers120.HttpGatewayMapper;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.apache.log4j.Logger;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletException;
+import javax.servlet.ServletConfig;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Enumeration;
+import java.util.Map;
+
+/**
+ * Http Gateway Servlet.
+ * <p/>
+ * An instance of this class gets configured for each http-listener urlPattern.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @see org.jboss.internal.soa.esb.listeners.war.HttpGatewayDeploymentFactory
+ */
+public class HttpGatewayServlet extends HttpServlet {
+
+    private static final Logger logger = Logger.getLogger(HttpGatewayServlet.class);
+
+    public static final String PAYLOAD_AS = "payloadAs";
+    public static final String EXCEPTION_MAPPINGS = "httpExceptionMappings";
+
+    public static final String ASYNC_SERVICE_INVOKE = "asyncServiceInvoke";
+    public static final String ASYNC_STATUS_CODE = "asyncStatusCode";
+    public static final String ASYNC_PAYLOAD = "asyncPayloadPath";
+    public static final String ASYNC_PAYLOAD_CONTENT_TYPE= "asyncPayloadContentType";
+    public static final String ASYNC_PAYLOAD_CHARACTER_ENCODING = "asyncPayloadCharacterEncoding";
+
+    private Service service;
+    private ServiceInvoker serviceInvoker;
+    private boolean asyncInvoke;
+    private int asyncStatusCode = HttpServletResponse.SC_OK;
+    private byte[] asyncPayload;
+    private String asyncContentType;
+    private String asyncCharacterEncoding;
+    private MessageComposer<HttpRequestWrapper> messageComposer;
+    private long blockingTimeout = 30000L;
+    private Map<String, Integer> exceptionMappings;
+
+    public void init(ServletConfig config) throws ServletException {
+        service = new Service(config.getInitParameter(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG), config.getInitParameter(ListenerTagNames.TARGET_SERVICE_NAME_TAG));
+        try {
+            serviceInvoker = new ServiceInvoker(service);
+        } catch (MessageDeliverException e) {
+            throw new ServletException("Unable to create ServiceInvoker for Service '" + service + "'.", e);
+        }
+
+        ConfigTree configTree = toConfigTree(config);
+        try {
+            messageComposer = MessageComposer.Factory.getInstance(configTree.getAttribute(ListenerTagNames.GATEWAY_COMPOSER_CLASS_TAG, HttpMessageComposer.class.getName()), configTree);
+        } catch (ConfigurationException e) {
+            throw new ServletException("Failed to create message composer.", e);
+        } catch (MessageDeliverException e) {
+            throw new ServletException("Failed to create message composer.", e);
+        }
+
+        asyncInvoke = configTree.getBooleanAttribute(ASYNC_SERVICE_INVOKE, false);
+        if(asyncInvoke) {
+            String asyncSCConfig = configTree.getAttribute(ASYNC_STATUS_CODE);
+            try {
+                asyncStatusCode = Integer.parseInt(asyncSCConfig);
+            } catch (NumberFormatException e) {
+                throw new ServletException("Invalid static asynchronous response code configuration '" + asyncSCConfig + "'.", e);
+            }
+
+            String payloadPath = configTree.getAttribute(ASYNC_PAYLOAD);
+            if(payloadPath != null) {
+                try {
+                    asyncPayload = readStaticAsyncResponse(payloadPath);
+                } catch (ConfigurationException e) {
+                    throw new ServletException("Invalid Exception to HTTP Status mapping configuration.", e);
+                }
+                asyncContentType = configTree.getAttribute(ASYNC_PAYLOAD_CONTENT_TYPE);
+                asyncCharacterEncoding = configTree.getAttribute(ASYNC_PAYLOAD_CHARACTER_ENCODING);
+            }
+        } else {
+            blockingTimeout = configTree.getLongAttribute("synchronousTimeout", 30000L);
+        }
+
+        String exceptionMappingsCSV = configTree.getAttribute(EXCEPTION_MAPPINGS);
+        if(exceptionMappingsCSV != null) {
+            try {
+                exceptionMappings = HttpGatewayMapper.decodeExceptionMappingsCSV(exceptionMappingsCSV);
+            } catch (ConfigurationException e) {
+                throw new ServletException("Invalid Exception to HTTP Status mapping configuration.", e);
+            }
+        }
+    }
+
+    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+        HttpRequestWrapper wrapper = new HttpRequestWrapper(req, resp, service);
+
+        Message inMessage;
+        try {
+            inMessage = messageComposer.compose(wrapper);
+        } catch (MessageDeliverException e) {
+            throw new ServletException("Failed to create message.", e);
+        }
+
+        // Add any servlet authentication details to the message if there were non
+        // presented in the message payload e.g. on a SOAP message...
+        if(!PublicCryptoUtil.INSTANCE.isAuthRequestOnMessage(inMessage)) {
+            HttpServletSecUtil.addAuthDetailsToMessage(req, inMessage);
+        }
+
+        Message outMessage;
+        try {
+            // Dispatch the message to the action pipeline...
+            if(!asyncInvoke) {
+                outMessage = serviceInvoker.deliverSync(inMessage, blockingTimeout);
+
+                // Set the mep as a header on the response...
+                resp.setHeader(ASYNC_SERVICE_INVOKE, "false");
+            } else {
+                serviceInvoker.deliverAsync(inMessage);
+
+                resp.setStatus(asyncStatusCode);
+
+                // Set the mep as a header on the response...
+                resp.setHeader(ASYNC_SERVICE_INVOKE, "true");
+
+                if(asyncPayload != null) {
+                    resp.setContentLength(asyncPayload.length);
+                    resp.setContentType(asyncContentType);
+                    if(asyncCharacterEncoding != null) {
+                        resp.setCharacterEncoding(asyncCharacterEncoding);
+                    }
+
+                    // Only write to the output after setting all headers etc...
+                    resp.getOutputStream().write(asyncPayload);
+                } else {
+                    resp.setContentLength(0);
+                }
+
+                return;
+            }
+        } catch (MessageDeliverException e) {
+            throw new ServletException("Failed to deliver message.", e);
+        } catch (RegistryException e) {
+            throw new ServletException("Failed to deliver message.", e);
+        } catch (FaultMessageException e) {
+            Throwable cause = e.getCause();
+            if(cause != null && exceptionMappings != null && exceptionMappings.containsKey(cause.getClass().getName())) {
+                String exceptionClass = cause.getClass().getName();
+
+                resp.setStatus(exceptionMappings.get(exceptionClass));
+                resp.setHeader("Exception", exceptionClass);
+
+                e.printStackTrace(resp.getWriter());
+                resp.setContentType("text/plain");
+
+                return;
+            } else {
+                throw new ServletException("Failed to deliver message.", e);
+            }
+        }
+
+        if(outMessage != null) {
+            try {
+                messageComposer.decompose(outMessage, wrapper);
+            } catch (MessageDeliverException e) {
+                throw new ServletException("Failed to decompose response message.", e);
+            }
+        } else {
+            resp.setContentLength(0);
+            resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
+            return;
+        }
+    }
+
+    private ConfigTree toConfigTree(ServletConfig config) {
+        ConfigTree configTree = new ConfigTree("config");
+        Enumeration configNames = config.getInitParameterNames();
+
+        while(configNames.hasMoreElements()) {
+            String name = (String) configNames.nextElement();
+            configTree.setAttribute(name, config.getInitParameter(name));
+        }
+
+        return configTree;
+    }
+
+    private byte[] readStaticAsyncResponse(String payloadPath) throws ConfigurationException {
+        InputStream stream = ClassUtil.getResourceAsStream(payloadPath, HttpGatewayServlet.class);
+
+        if(stream == null) {
+            throw new ConfigurationException("Failed to access static HTTP response payload file '" + payloadPath + "' on classpath.");
+        }
+
+        try {
+            return StreamUtils.readStream(stream);
+        } finally {
+            try {
+                stream.close();
+            } catch (IOException e) {
+                logger.error("Unexpected Error closing static HTTP response payload file '" + payloadPath + "' ", e);
+            }
+        }
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,312 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.gateway.http;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.*;
-import java.util.regex.Pattern;
-import java.nio.charset.Charset;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.log4j.Logger;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.http.HttpResponse;
-import org.jboss.soa.esb.http.*;
-import org.jboss.soa.esb.http.HttpRequest;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.message.AbstractMessageComposer;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.MessagePayloadProxy;
-import org.jboss.soa.esb.message.MessagePayloadProxy.NullPayloadHandling;
-import org.jboss.soa.esb.common.ModulePropertyManager;
-import org.jboss.soa.esb.services.security.auth.ws.WSSecurityInfoExtractor;
-import org.jboss.soa.esb.services.security.auth.AuthenticationRequest;
-import org.jboss.soa.esb.services.security.PublicCryptoUtil;
-
-/**
- * Http Message Composer.
- * <p/>
- * This class is used to compose the HttpServletRquest
- * to ESB aware message and decompse the ESB aware message to HttpServletRespones
- * <p>
- * This class will put the http request header and other requst information in ESB message properties with the key "RequestInfoMap".
- * <p>
- * If the request is the submitted from html form(with the <code>Content-Type: application/x-www-form-urlencoded</code>), HttpServletRequest.getParameterMap() result)
- * will be put in ESB message properties. The key for it is "RequestParamterMap". It put the the byte array read from request inputstream in message payload.
- * <p>
- * In decompose process, the header map in message properties will be added
- * in HttpServletResponse. The value for "ReponseStatus" store in ESB message properties will
- * put in the http response. The message payload byte[] or String object will be wrote to HttpServletResponse.
- * If the object in message payload is not byte[],it will throw exception when the ESB message
- * is decomposed
- *
- * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
- */
-public class HttpMessageComposer<T extends HttpRequestWrapper> extends AbstractMessageComposer<T> {
-
-    private static final Logger logger = Logger.getLogger(HttpMessageComposer.class);
-
-	/** Message payload proxy */
-	private MessagePayloadProxy payloadProxy;
-
-    private String payloadAs;
-    private Pattern[] textMimePatterns;
-
-    private WSSecurityInfoExtractor wsSecurityExtractor = new WSSecurityInfoExtractor();
-
-    private static Set<String> responseHeaderFilterset;
-    static {
-        responseHeaderFilterset = new HashSet<String>();
-        responseHeaderFilterset.add("transfer-encoding");
-        responseHeaderFilterset.add("content-length");
-        responseHeaderFilterset.add("server");
-    }
-
-    /*
-	 * Method for configue the payload proxy
-	 */
-	public void setConfiguration(ConfigTree config) {
-		super.setConfiguration(config);
-		payloadProxy = new MessagePayloadProxy(config);
-		payloadProxy.setNullSetPayloadHandling(NullPayloadHandling.LOG);
-
-        payloadAs = config.getAttribute("payloadAs");
-        if(payloadAs == null) {
-            // Get the globally configured text mime types...
-            String[] textTypes = ModulePropertyManager.getPropertyManager("core").getProperty("org.jboss.soa.esb.mime.text.types", "text/*;application/xml;application/*-xml").split(";");
-            textMimePatterns = new Pattern[textTypes.length];
-            for(int i = 0; i < textMimePatterns.length; i++) {
-                textMimePatterns[i] = Pattern.compile(textTypes[i].trim().replace("*", ".*"));
-            }
-        }
-    }
-
-	protected MessagePayloadProxy getPayloadProxy() {
-		return payloadProxy;
-	}
-
-	/*
-	 *Method for populating the ESB aware message from a HttpServletRequest
-	 */
-	@SuppressWarnings("unchecked")
-	protected void populateMessage(Message message, T requestWrapper) throws MessageDeliverException {
-		HttpServletRequest request = requestWrapper.getRequest();
-		byte[] bodyBytes = null;
-
-        try {
-			bodyBytes = StreamUtils.readStream(request.getInputStream());
-		} catch (IOException e) {
-			throw new MessageDeliverException("Failed to read body data from http request", e);
-		}
-
-        String characterEncoding = request.getCharacterEncoding();
-        Charset charset;
-        if(characterEncoding == null) {
-            charset = Charset.defaultCharset();
-        } else {
-            charset = Charset.forName(characterEncoding);
-        }
-
-        if(payloadAs == null) {
-            String contentType = request.getContentType();
-
-            if(contentType != null && isTextMimetype(contentType)) {
-                try {
-                    String payload = new String(bodyBytes, charset.name());
-
-                    payloadProxy.setPayload(message, payload);
-
-                    // In case it's a SOAP message, we need to check for WS-S info...
-                    AuthenticationRequest authRequest = wsSecurityExtractor.extractSecurityInfo(payload);
-                    if(authRequest != null) {
-                        PublicCryptoUtil.INSTANCE.addAuthRequestToMessage(authRequest, message);
-                    }
-                } catch (UnsupportedEncodingException e) {
-                    throw new MessageDeliverException("Invalid Character encoding '" + characterEncoding + "' set on request.", e);
-                }
-            } else {
-                payloadProxy.setPayload(message, bodyBytes);
-            }
-        } else if(payloadAs.equals("STRING")) {
-            try {
-                payloadProxy.setPayload(message, new String(bodyBytes, charset.name()));
-            } catch (UnsupportedEncodingException e) {
-                throw new MessageDeliverException("Invalid Character encoding '" + characterEncoding + "' set on request.", e);
-            }
-        } else {
-            payloadProxy.setPayload(message, bodyBytes);
-        }
-
-        //Get the http request info and set it on the message...
-        HttpRequest requestInfo = getRequestInfo(request);
-        requestInfo.setRequest(message);
-    }
-
-    private boolean isTextMimetype(String contentType) {
-        for(int i = 0; i < textMimePatterns.length; i++) {
-            if(textMimePatterns[i].matcher(contentType).matches()) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-
-    /*
-    * Method for decompsing a esb message to a HttpServletResponse
-    */
-	@SuppressWarnings("unchecked")
-	public Object decompose(Message message, T requestWrapper) throws MessageDeliverException {
-        HttpServletRequest request = requestWrapper.getRequest();
-        HttpServletResponse  response = requestWrapper.getResponse();
-        Map<String, String> headers;
-        Integer status = HttpServletResponse.SC_OK;
-        String encoding = null;
-        HttpResponse responseInfo = org.jboss.soa.esb.http.HttpResponse.getResponse(message);
-
-        if(responseInfo != null) {
-            for(org.jboss.soa.esb.http.HttpHeader header : responseInfo.getHeaders()) {
-                String headerName = header.getName().toLowerCase();
-                if(headerName.equals("content-type")) {
-                    response.setContentType(header.getValue());
-                } else if(responseHeaderFilterset.contains(headerName)) {
-                    // Filter out!!
-                } else {
-                    response.setHeader(header.getName(), header.getValue());
-                }
-            }
-
-            if(responseInfo.getContentType() != null) {
-                response.setContentType(responseInfo.getContentType());
-            }
-            encoding = responseInfo.getEncoding();
-            status = responseInfo.getResponseCode();
-        }
-
-        if(encoding == null) {
-            encoding = request.getCharacterEncoding();
-            if(encoding == null) {
-                encoding = "UTF-8";
-            }
-        }
-
-        Object obj = payloadProxy.getPayload(message);
-		try {
-            byte[] outBytes;
-
-            if (obj instanceof String) {
-                outBytes = ((String) obj).getBytes(encoding);
-            } else if (obj instanceof byte[]) {
-				outBytes = (byte[]) obj;
-            } else if (obj == null) {
-                response.setContentLength(0);
-                response.setStatus(HttpServletResponse.SC_NO_CONTENT);
-                logger.debug("Expected a response payload from '" + ListenerTagNames.MEP_REQUEST_RESPONSE + "' service '" + requestWrapper.getService() + "', but received none.");
-                return null;
-            } else {
-                response.setContentLength(0);
-                response.setStatus(HttpServletResponse.SC_BAD_GATEWAY);
-                logger.debug("Unsupport HTTP response payload type " + obj.getClass().getName() + " from service '" + requestWrapper.getService() + "'.  Only supports java.lang.String or byte[] payloads.");
-                return null;
-			}
-
-            response.setCharacterEncoding(encoding);
-            response.setContentLength(outBytes.length);
-            response.setStatus(status);
-
-            if(outBytes.length > 0) {
-                response.getOutputStream().write(outBytes);
-            }
-        } catch (IOException e) {
-			throw new MessageDeliverException("Unexpected error when write the message to http response", e);
-		}
-
-        return null;
-	}
-
-	/**
-	 * Method for get request information from a servlet request
-	 * The result includes the http header and other servlet request information
-	 * @param request ServletRequest
-	 * @return Request information includes the http header and other information parsed by
-	 *         servlet container from a servlet request
-	 */
-	public HttpRequest getRequestInfo(HttpServletRequest request) {
-        HttpRequest requestInfo = new org.jboss.soa.esb.http.HttpRequest();
-
-        requestInfo.setAuthType(request.getAuthType());
-        requestInfo.setCharacterEncoding(request.getCharacterEncoding());
-        requestInfo.setContentType(request.getContentType());
-        requestInfo.setContextPath(request.getContextPath());
-        requestInfo.setLocalAddr(request.getLocalAddr());
-        requestInfo.setLocalName(request.getLocalName());
-        requestInfo.setMethod(request.getMethod());
-        requestInfo.setProtocol(request.getProtocol());
-        requestInfo.setQueryString(request.getQueryString());
-        requestInfo.setRemoteAddr(request.getRemoteAddr());
-        requestInfo.setRemoteHost(request.getRemoteHost());
-        requestInfo.setRemoteUser(request.getRemoteUser());
-        requestInfo.setContentLength(request.getContentLength());
-        requestInfo.setRequestSessionId(request.getRequestedSessionId());
-        requestInfo.setRequestURI(request.getRequestURI());
-        requestInfo.setScheme(request.getScheme());
-        requestInfo.setServerName(request.getServerName());
-        requestInfo.setRequestPath(request.getServletPath());
-
-        String pathInfo = request.getPathInfo();
-        requestInfo.setPathInfo(pathInfo);
-
-        if(pathInfo != null) {
-            List<String> pathInfoTokens = requestInfo.getPathInfoTokens();
-
-            pathInfoTokens.addAll(Arrays.asList(request.getPathInfo().split("/")));
-
-            // remove empty tokens...
-            Iterator<String> tokensIterator = pathInfoTokens.iterator();
-            while(tokensIterator.hasNext()) {
-                if(tokensIterator.next().trim().length() == 0) {
-                    tokensIterator.remove();
-                }
-            }
-        }
-
-        // Http Query params...
-        Map paramMap = request.getParameterMap();
-        if(paramMap != null) {
-            requestInfo.getQueryParams().putAll(paramMap);
-        }
-
-        // Http headers...
-        Enumeration enumeration = request.getHeaderNames();
-		while (enumeration.hasMoreElements()) {
-			String name = (String) enumeration.nextElement();
-			String value = request.getHeader(name);
-			requestInfo.getHeaders().add(new HttpHeader(name, value));
-		}
-
-        return requestInfo;
-	}
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,312 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.gateway.http;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.*;
+import java.util.regex.Pattern;
+import java.nio.charset.Charset;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.http.HttpResponse;
+import org.jboss.soa.esb.http.*;
+import org.jboss.soa.esb.http.HttpRequest;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.message.AbstractMessageComposer;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.MessagePayloadProxy;
+import org.jboss.soa.esb.message.MessagePayloadProxy.NullPayloadHandling;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.services.security.auth.ws.WSSecurityInfoExtractor;
+import org.jboss.soa.esb.services.security.auth.AuthenticationRequest;
+import org.jboss.soa.esb.services.security.PublicCryptoUtil;
+
+/**
+ * Http Message Composer.
+ * <p/>
+ * This class is used to compose the HttpServletRquest
+ * to ESB aware message and decompse the ESB aware message to HttpServletRespones
+ * <p>
+ * This class will put the http request header and other requst information in ESB message properties with the key "RequestInfoMap".
+ * <p>
+ * If the request is the submitted from html form(with the <code>Content-Type: application/x-www-form-urlencoded</code>), HttpServletRequest.getParameterMap() result)
+ * will be put in ESB message properties. The key for it is "RequestParamterMap". It put the the byte array read from request inputstream in message payload.
+ * <p>
+ * In decompose process, the header map in message properties will be added
+ * in HttpServletResponse. The value for "ReponseStatus" store in ESB message properties will
+ * put in the http response. The message payload byte[] or String object will be wrote to HttpServletResponse.
+ * If the object in message payload is not byte[],it will throw exception when the ESB message
+ * is decomposed
+ *
+ * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
+ */
+public class HttpMessageComposer<T extends HttpRequestWrapper> extends AbstractMessageComposer<T> {
+
+    private static final Logger logger = Logger.getLogger(HttpMessageComposer.class);
+
+	/** Message payload proxy */
+	private MessagePayloadProxy payloadProxy;
+
+    private String payloadAs;
+    private Pattern[] textMimePatterns;
+
+    private WSSecurityInfoExtractor wsSecurityExtractor = new WSSecurityInfoExtractor();
+
+    private static Set<String> responseHeaderFilterset;
+    static {
+        responseHeaderFilterset = new HashSet<String>();
+        responseHeaderFilterset.add("transfer-encoding");
+        responseHeaderFilterset.add("content-length");
+        responseHeaderFilterset.add("server");
+    }
+
+    /*
+	 * Method for configue the payload proxy
+	 */
+	public void setConfiguration(ConfigTree config) {
+		super.setConfiguration(config);
+		payloadProxy = new MessagePayloadProxy(config);
+		payloadProxy.setNullSetPayloadHandling(NullPayloadHandling.LOG);
+
+        payloadAs = config.getAttribute("payloadAs");
+        if(payloadAs == null) {
+            // Get the globally configured text mime types...
+            String[] textTypes = ModulePropertyManager.getPropertyManager("core").getProperty("org.jboss.soa.esb.mime.text.types", "text/*;application/xml;application/*-xml").split(";");
+            textMimePatterns = new Pattern[textTypes.length];
+            for(int i = 0; i < textMimePatterns.length; i++) {
+                textMimePatterns[i] = Pattern.compile(textTypes[i].trim().replace("*", ".*"));
+            }
+        }
+    }
+
+	protected MessagePayloadProxy getPayloadProxy() {
+		return payloadProxy;
+	}
+
+	/*
+	 *Method for populating the ESB aware message from a HttpServletRequest
+	 */
+	@SuppressWarnings("unchecked")
+	protected void populateMessage(Message message, T requestWrapper) throws MessageDeliverException {
+		HttpServletRequest request = requestWrapper.getRequest();
+		byte[] bodyBytes = null;
+
+        try {
+			bodyBytes = StreamUtils.readStream(request.getInputStream());
+		} catch (IOException e) {
+			throw new MessageDeliverException("Failed to read body data from http request", e);
+		}
+
+        String characterEncoding = request.getCharacterEncoding();
+        Charset charset;
+        if(characterEncoding == null) {
+            charset = Charset.defaultCharset();
+        } else {
+            charset = Charset.forName(characterEncoding);
+        }
+
+        if(payloadAs == null) {
+            String contentType = request.getContentType();
+
+            if(contentType != null && isTextMimetype(contentType)) {
+                try {
+                    String payload = new String(bodyBytes, charset.name());
+
+                    payloadProxy.setPayload(message, payload);
+
+                    // In case it's a SOAP message, we need to check for WS-S info...
+                    AuthenticationRequest authRequest = wsSecurityExtractor.extractSecurityInfo(payload);
+                    if(authRequest != null) {
+                        PublicCryptoUtil.INSTANCE.addAuthRequestToMessage(authRequest, message);
+                    }
+                } catch (UnsupportedEncodingException e) {
+                    throw new MessageDeliverException("Invalid Character encoding '" + characterEncoding + "' set on request.", e);
+                }
+            } else {
+                payloadProxy.setPayload(message, bodyBytes);
+            }
+        } else if(payloadAs.equals("STRING")) {
+            try {
+                payloadProxy.setPayload(message, new String(bodyBytes, charset.name()));
+            } catch (UnsupportedEncodingException e) {
+                throw new MessageDeliverException("Invalid Character encoding '" + characterEncoding + "' set on request.", e);
+            }
+        } else {
+            payloadProxy.setPayload(message, bodyBytes);
+        }
+
+        //Get the http request info and set it on the message...
+        HttpRequest requestInfo = getRequestInfo(request);
+        requestInfo.setRequest(message);
+    }
+
+    private boolean isTextMimetype(String contentType) {
+        for(int i = 0; i < textMimePatterns.length; i++) {
+            if(textMimePatterns[i].matcher(contentType).matches()) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+
+    /*
+    * Method for decompsing a esb message to a HttpServletResponse
+    */
+	@SuppressWarnings("unchecked")
+	public Object decompose(Message message, T requestWrapper) throws MessageDeliverException {
+        HttpServletRequest request = requestWrapper.getRequest();
+        HttpServletResponse  response = requestWrapper.getResponse();
+        Map<String, String> headers;
+        Integer status = HttpServletResponse.SC_OK;
+        String encoding = null;
+        HttpResponse responseInfo = org.jboss.soa.esb.http.HttpResponse.getResponse(message);
+
+        if(responseInfo != null) {
+            for(org.jboss.soa.esb.http.HttpHeader header : responseInfo.getHeaders()) {
+                String headerName = header.getName().toLowerCase();
+                if(headerName.equals("content-type")) {
+                    response.setContentType(header.getValue());
+                } else if(responseHeaderFilterset.contains(headerName)) {
+                    // Filter out!!
+                } else {
+                    response.setHeader(header.getName(), header.getValue());
+                }
+            }
+
+            if(responseInfo.getContentType() != null) {
+                response.setContentType(responseInfo.getContentType());
+            }
+            encoding = responseInfo.getEncoding();
+            status = responseInfo.getResponseCode();
+        }
+
+        if(encoding == null) {
+            encoding = request.getCharacterEncoding();
+            if(encoding == null) {
+                encoding = "UTF-8";
+            }
+        }
+
+        Object obj = payloadProxy.getPayload(message);
+		try {
+            byte[] outBytes;
+
+            if (obj instanceof String) {
+                outBytes = ((String) obj).getBytes(encoding);
+            } else if (obj instanceof byte[]) {
+				outBytes = (byte[]) obj;
+            } else if (obj == null) {
+                response.setContentLength(0);
+                response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+                logger.debug("Expected a response payload from '" + ListenerTagNames.MEP_REQUEST_RESPONSE + "' service '" + requestWrapper.getService() + "', but received none.");
+                return null;
+            } else {
+                response.setContentLength(0);
+                response.setStatus(HttpServletResponse.SC_BAD_GATEWAY);
+                logger.debug("Unsupport HTTP response payload type " + obj.getClass().getName() + " from service '" + requestWrapper.getService() + "'.  Only supports java.lang.String or byte[] payloads.");
+                return null;
+			}
+
+            response.setCharacterEncoding(encoding);
+            response.setContentLength(outBytes.length);
+            response.setStatus(status);
+
+            if(outBytes.length > 0) {
+                response.getOutputStream().write(outBytes);
+            }
+        } catch (IOException e) {
+			throw new MessageDeliverException("Unexpected error when write the message to http response", e);
+		}
+
+        return null;
+	}
+
+	/**
+	 * Method for get request information from a servlet request
+	 * The result includes the http header and other servlet request information
+	 * @param request ServletRequest
+	 * @return Request information includes the http header and other information parsed by
+	 *         servlet container from a servlet request
+	 */
+	public HttpRequest getRequestInfo(HttpServletRequest request) {
+        HttpRequest requestInfo = new org.jboss.soa.esb.http.HttpRequest();
+
+        requestInfo.setAuthType(request.getAuthType());
+        requestInfo.setCharacterEncoding(request.getCharacterEncoding());
+        requestInfo.setContentType(request.getContentType());
+        requestInfo.setContextPath(request.getContextPath());
+        requestInfo.setLocalAddr(request.getLocalAddr());
+        requestInfo.setLocalName(request.getLocalName());
+        requestInfo.setMethod(request.getMethod());
+        requestInfo.setProtocol(request.getProtocol());
+        requestInfo.setQueryString(request.getQueryString());
+        requestInfo.setRemoteAddr(request.getRemoteAddr());
+        requestInfo.setRemoteHost(request.getRemoteHost());
+        requestInfo.setRemoteUser(request.getRemoteUser());
+        requestInfo.setContentLength(request.getContentLength());
+        requestInfo.setRequestSessionId(request.getRequestedSessionId());
+        requestInfo.setRequestURI(request.getRequestURI());
+        requestInfo.setScheme(request.getScheme());
+        requestInfo.setServerName(request.getServerName());
+        requestInfo.setRequestPath(request.getServletPath());
+
+        String pathInfo = request.getPathInfo();
+        requestInfo.setPathInfo(pathInfo);
+
+        if(pathInfo != null) {
+            List<String> pathInfoTokens = requestInfo.getPathInfoTokens();
+
+            pathInfoTokens.addAll(Arrays.asList(request.getPathInfo().split("/")));
+
+            // remove empty tokens...
+            Iterator<String> tokensIterator = pathInfoTokens.iterator();
+            while(tokensIterator.hasNext()) {
+                if(tokensIterator.next().trim().length() == 0) {
+                    tokensIterator.remove();
+                }
+            }
+        }
+
+        // Http Query params...
+        Map paramMap = request.getParameterMap();
+        if(paramMap != null) {
+            requestInfo.getQueryParams().putAll(paramMap);
+        }
+
+        // Http headers...
+        Enumeration enumeration = request.getHeaderNames();
+		while (enumeration.hasMoreElements()) {
+			String name = (String) enumeration.nextElement();
+			String value = request.getHeader(name);
+			requestInfo.getHeaders().add(new HttpHeader(name, value));
+		}
+
+        return requestInfo;
+	}
+}
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.gateway.http;
-
-import org.jboss.soa.esb.Service;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-/**
- * This class wraps the HttpServletRequest and HttpServletResponse
- * It will passed to TomcatMessageComposer to populate or decompose 
- * an ESB message 
- * 
- * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
- */
-public class HttpRequestWrapper {
-	private HttpServletRequest request = null;
-	private HttpServletResponse response = null;
-    private Service service;
-
-    public HttpRequestWrapper(HttpServletRequest req, HttpServletResponse res, Service service) {
-		request = req;
-		response = res;
-        this.service = service;
-    }
-	
-	public HttpServletRequest getRequest() {
-		return request;
-	}
-	
-	public HttpServletResponse getResponse() {
-		return response;
-	}
-
-    public Service getService() {
-        return service;
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpRequestWrapper.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.gateway.http;
+
+import org.jboss.soa.esb.Service;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+/**
+ * This class wraps the HttpServletRequest and HttpServletResponse
+ * It will passed to TomcatMessageComposer to populate or decompose 
+ * an ESB message 
+ * 
+ * @author <a href="mailto:ema at redhat.com">Jim Ma</a>
+ */
+public class HttpRequestWrapper {
+	private HttpServletRequest request = null;
+	private HttpServletResponse response = null;
+    private Service service;
+
+    public HttpRequestWrapper(HttpServletRequest req, HttpServletResponse res, Service service) {
+		request = req;
+		response = res;
+        this.service = service;
+    }
+	
+	public HttpServletRequest getRequest() {
+		return request;
+	}
+	
+	public HttpServletResponse getResponse() {
+		return response;
+	}
+
+    public Service getService() {
+        return service;
+    }
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/message/ResponseStatus.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/message/ResponseStatus.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/message/ResponseStatus.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -29,51 +29,52 @@
  * now that these actions will set the http response status back into the Message Properties,
  * which will then get returned in the http response of a synchronous invocation of the
  * &lt;jbr-provider/&gt; ({@link org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener JBossRemotingGatewayListener}) or &lt;http-provider/&gt; ({@link org.jboss.soa.esb.listeners.gateway.HttpGatewayListener HttpGatewayListener}).<p/>
- * 
+ *
  * If you want the legacy behavior, you can override this at an action level (META-INF/jboss-esb.xml):<br/>
  * &lt;action name="..." class="..."&gt;<br/>
  * &nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="http.responseStatusEnabled" value="false"/&gt;<br/>
  * &lt;/action&gt;<p/>
- * 
+ *
  * or at a global level (jbossesb-properties.xml):<br/>
  * &lt;esb&gt;<br/>
  * &nbsp;&nbsp;&nbsp;&nbsp;&lt;properties name="transports"&gt;<br/>
  * &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="org.jboss.soa.esb.http.responseStatusEnabled" value="false"/&gt;<br/>
  * &nbsp;&nbsp;&nbsp;&nbsp;&lt;/properties&gt;<br/>
  * &lt;/esb&gt;
- * 
+ *
  * @author dward at jboss.org
  */
+ at SuppressWarnings("deprecation")
 public class ResponseStatus
 {
-	
+
 	public static final String ACTION_HTTP_RESPONSE_STATUS_ENABLED_CONFIG = "http.responseStatusEnabled";
 	public static final String GLOBAL_HTTP_RESPONSE_STATUS_ENABLED_CONFIG = "org.jboss.soa.esb." + ACTION_HTTP_RESPONSE_STATUS_ENABLED_CONFIG;
-	
+
 	private static boolean GLOBAL_HTTP_RESPONSE_STATUS_ENABLED;
 	static {
 		GLOBAL_HTTP_RESPONSE_STATUS_ENABLED =
 			ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE)
 				.getProperty(GLOBAL_HTTP_RESPONSE_STATUS_ENABLED_CONFIG, "true").equals("true");
 	}
-	
+
 	private ResponseStatus() {}
-	
+
 	// JBESB-2761
-    public static boolean isHttpEnabled(ConfigTree actionConfig) {
-    	return actionConfig.getBooleanAttribute(ACTION_HTTP_RESPONSE_STATUS_ENABLED_CONFIG, GLOBAL_HTTP_RESPONSE_STATUS_ENABLED);
-    }
-    
-    // JBESB-2761
-    public static void setHttpProperties(Properties properties, int statusCode, String statusMessage) {
-    	if (statusCode > 0) {
-	        properties.setProperty(HTTPMetadataConstants.RESPONSE_CODE, statusCode); // <jbr-provider/>
-	        properties.setProperty(HttpMessageComposer.HTTP_RESPONSE_STATUS, statusCode); // <http-provider/>
-    	}
-        if (statusMessage != null) {
-        	properties.setProperty(HTTPMetadataConstants.RESPONSE_CODE_MESSAGE, statusMessage); // <jbr-provider/>
-        	// unnecessary to set status message for <http-provider/>
-        }
-    }
+	public static boolean isHttpEnabled(ConfigTree actionConfig) {
+		return actionConfig.getBooleanAttribute(ACTION_HTTP_RESPONSE_STATUS_ENABLED_CONFIG, GLOBAL_HTTP_RESPONSE_STATUS_ENABLED);
+	}
 
+	// JBESB-2761
+	public static void setHttpProperties(Properties properties, int statusCode, String statusMessage) {
+		if (statusCode > 0) {
+			properties.setProperty(HTTPMetadataConstants.RESPONSE_CODE, statusCode); // <jbr-provider/>
+			properties.setProperty(HttpMessageComposer.HTTP_RESPONSE_STATUS, statusCode); // <http-provider/>
+		}
+		if (statusMessage != null) {
+			properties.setProperty(HTTPMetadataConstants.RESPONSE_CODE_MESSAGE, statusMessage); // <jbr-provider/>
+			// unnecessary to set status message for <http-provider/>
+		}
+	}
+
 }

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/services/security/PublicCryptoUtil.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/services/security/PublicCryptoUtil.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/services/security/PublicCryptoUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -41,7 +41,11 @@
 import org.jboss.soa.esb.common.Configuration;
 import org.jboss.soa.esb.common.Environment;
 import org.jboss.soa.esb.services.security.util.CryptoUtil;
+import org.jboss.soa.esb.services.security.auth.AuthenticationRequest;
 import org.jboss.soa.esb.util.ClassUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.listeners.gateway.http.HttpGatewayServlet;
 
 /**
  * Util for encrypting/decrypting using assymmetric keys.
@@ -53,6 +57,8 @@
 {
     INSTANCE;
 
+    private static final Logger logger = Logger.getLogger(PublicCryptoUtil.class);
+
     private Logger log;
     private Key key;
     private PublicKey publicKey;
@@ -267,4 +273,25 @@
         return Logger.getLogger(PublicCryptoUtil.class);
     }
 
+    public boolean addAuthRequestToMessage(AuthenticationRequest authRequest, Message message) throws MessageDeliverException {
+        if(authRequest != null) {
+            try {
+                byte[] encrypted = PublicCryptoUtil.INSTANCE.encrypt((Serializable) authRequest);
+                if (encrypted != null) {
+                    message.getContext().setContext(SecurityService.AUTH_REQUEST, encrypted);
+                    return true;
+                } else {
+                    logger.warn("No public keystore has been configured which means that the authentication request cannot be encrypted. Please configure jbossesb-properties.xml with a publickey store.");
+                }
+            } catch (final SecurityServiceException e) {
+                throw new MessageDeliverException(e.getMessage(), e);
+            }
+        }
+
+        return false;
+    }
+
+    public boolean isAuthRequestOnMessage(Message message) {
+        return (message.getContext().getContext(SecurityService.AUTH_REQUEST) != null);
+    }
 }

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/util/DeploymentArchive.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/DeploymentArchive.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/util/DeploymentArchive.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/util/DeploymentArchive.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,219 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.util;
+
+import java.util.zip.ZipOutputStream;
+import java.util.zip.ZipEntry;
+import java.util.Map;
+import java.util.LinkedHashMap;
+import java.util.Set;
+import java.util.jar.JarInputStream;
+import java.io.*;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.apache.log4j.Logger;
+
+/**
+ * Deployment archive.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class DeploymentArchive {
+
+    private static Logger logger = Logger.getLogger(DeploymentArchive.class);
+    private String archiveName;
+    private LinkedHashMap<String, byte[]> entries = new LinkedHashMap<String, byte[]>();
+
+    /**
+     * Public constructor.
+     * @param archiveName The archive name of the deployment.
+     */
+    public DeploymentArchive(String archiveName) {
+        AssertArgument.isNotNull(archiveName, "archiveName");
+        this.archiveName = archiveName;
+    }
+
+    /**
+     * Get the name of the deployment associated with this archive.
+     * @return The name of the deployment.
+     */
+    public String getArchiveName() {
+        return archiveName;
+    }
+
+    /**
+     * Add the supplied data as an entry in the deployment.
+     *
+     * @param path The target path of the entry when added to the archive.
+     * @param data The data.
+     */
+    public void addEntry(String path, InputStream data) {
+        AssertArgument.isNotNullAndNotEmpty(path, "path");
+        AssertArgument.isNotNull(data, "data");
+
+        try {
+            entries.put(trimLeadingSlash(path.trim()), StreamUtils.readStream(data));
+        } finally {
+            try {
+                data.close();
+            } catch (IOException e) {
+                logger.warn("Unable to close input stream for archive entry '" + path + "'.");
+            }
+        }
+    }
+
+    /**
+     * Add the supplied data as an entry in the deployment.
+     *
+     * @param path The target path of the entry when added to the archive.
+     * @param data The data.
+     */
+    public void addEntry(String path, byte[] data) {
+        AssertArgument.isNotNullAndNotEmpty(path, "path");
+        AssertArgument.isNotNull(data, "data");
+
+        entries.put(trimLeadingSlash(path.trim()), data);
+    }
+
+    /**
+     * Add an "empty" entry in the deployment.
+     * <p/>
+     * Equivalent to adding an empty folder.
+     *
+     * @param path The target path of the entry when added to the archive.
+     */
+    public void addEntry(String path) {
+        AssertArgument.isNotNullAndNotEmpty(path, "path");
+
+        path = path.trim();
+        if(path.endsWith("/")) {
+            entries.put(trimLeadingSlash(path), null);
+        } else {
+            entries.put(trimLeadingSlash(path) + "/", null);
+        }
+    }
+
+    /**
+     * Add the specified classpath resource as an entry in the deployment.
+     *
+     * @param path The target path of the entry when added to the archive.
+     * @param resource The classpath resource.
+     * @throws java.io.IOException Failed to read resource from classpath.
+     */
+    public void addEntry(String path, String resource) throws IOException {
+        AssertArgument.isNotNull(path, "path");
+        AssertArgument.isNotNull(resource, "resource");
+
+        InputStream resourceStream = getClass().getResourceAsStream(resource);
+        if(resourceStream == null) {
+            throw new IOException("Classpath resource '" + resource + "' no found.");
+        } else {
+            addEntry(path, resourceStream);
+        }
+    }
+
+    /**
+     * Add the supplied class as an entry in the deployment.
+     * @param clazz The class to be added.
+     * @throws java.io.IOException Failed to read class from classpath.
+     */
+    public void addEntry(Class clazz) throws IOException {
+        AssertArgument.isNotNull(clazz, "clazz");
+        String className = clazz.getName();
+
+        className = className.replace('.', '/') + ".class";
+        addEntry(className, "/" + className);
+    }
+
+    /**
+     * Create an archive of the specified name and containing entries
+     * for the data contained in the streams supplied entries arg.
+     * specifying the entry name and the value is a InputStream containing
+     * the entry data.
+     * @param outputStream The archive output stream.
+     * @throws java.io.IOException Write failure.
+     */
+    public void toOutputStream(OutputStream outputStream) throws IOException {
+        AssertArgument.isNotNull(outputStream, "outputStream");
+        ZipOutputStream archiveStream;
+
+        if(outputStream instanceof ZipOutputStream) {
+            archiveStream = (ZipOutputStream) outputStream;
+        } else {
+            archiveStream = new ZipOutputStream(outputStream);
+        }
+
+        try {
+            writeEntriesToArchive(archiveStream);
+        } finally {
+            try {
+                archiveStream.flush();
+            } finally {
+                try {
+                    archiveStream.close();
+                } catch (IOException e) {
+                    logger.info("Unable to close archive output stream.");
+                }
+            }
+        }
+    }
+
+    /**
+     * Create a {@link java.util.jar.JarInputStream} for the entries defined in this
+     * archive.
+     * @return The {@link java.util.jar.JarInputStream} for the entries in this archive.
+     * @throws java.io.IOException Failed to create stream.
+     */
+    public JarInputStream toInputStream() throws IOException {
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+
+        toOutputStream(outputStream);
+
+        return new JarInputStream(new ByteArrayInputStream(outputStream.toByteArray()));
+    }
+
+    private void writeEntriesToArchive(ZipOutputStream archiveStream) throws IOException {
+        Set<Map.Entry<String, byte[]>> entrySet = entries.entrySet();
+        for (Map.Entry<String, byte[]> entry : entrySet) {
+            try {
+                archiveStream.putNextEntry(new ZipEntry(entry.getKey()));
+                if(entry.getValue() != null) {
+                    archiveStream.write(entry.getValue());
+                }
+                archiveStream.closeEntry();
+            } catch (Exception e) {
+                throw (IOException) new IOException("Unable to create archive entry '" + entry.getKey() + "'.").initCause(e);
+            }
+        }
+    }
+
+    private String trimLeadingSlash(String path) {
+        StringBuilder builder = new StringBuilder(path);
+        while(builder.length() > 0) {
+            if(builder.charAt(0) == '/') {
+                builder.deleteCharAt(0);
+            } else {
+                break;
+            }
+        }
+        return builder.toString();
+    }
+}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/util/FreeMarkerTemplate.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/util/FreeMarkerTemplate.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/util/FreeMarkerTemplate.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/src/org/jboss/soa/esb/util/FreeMarkerTemplate.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.soa.esb.util;
+
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+import freemarker.template.TemplateException;
+
+import java.io.*;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+/**
+ * FreeMarker template.
+ * <p/>
+ * Coppied from Smooks Core.
+ *
+ * @author <a href="mailto:tom.fennelly at gmail.com">tom.fennelly at gmail.com</a>
+*/
+public class FreeMarkerTemplate {
+
+    private String templateText;
+    private Template template;
+
+    public FreeMarkerTemplate(String templateText) {
+        AssertArgument.isNotNullAndNotEmpty(templateText, "templateText");
+        Reader templateReader = new StringReader(templateText);
+
+        try {
+            try {
+                template = new Template("free-marker-template", templateReader, new Configuration());
+            } finally {
+                templateReader.close();
+            }
+        } catch (IOException e) {
+            throw new IllegalStateException("Unexpected IOException.", e);
+        }
+    }
+
+    public FreeMarkerTemplate(String templatePath, Class basePath) {
+        AssertArgument.isNotNullAndNotEmpty(templatePath, "templatePath");
+        this.templateText = templatePath;
+
+        try {
+            Configuration configuration = new Configuration();
+
+            if(basePath != null) {
+                configuration.setClassForTemplateLoading(basePath, "");
+            }
+            template = configuration.getTemplate(templatePath);
+        } catch (IOException e) {
+            throw new IllegalStateException("Unexpected IOException.", e);
+        }
+    }
+
+    public String getTemplateText() {
+        return templateText;
+    }
+
+    public String apply(Object contextObject) throws TemplateException {
+        StringWriter outputWriter = new StringWriter();
+        try {
+            template.process(contextObject, outputWriter);
+        } catch (IOException e) {
+            throw new IllegalStateException("Unexpected IOException.", e);
+        }
+        return outputWriter.toString();
+    }
+}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war)

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,156 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.listeners.war;
-
-import junit.framework.TestCase;
-import freemarker.template.TemplateException;
-import org.custommonkey.xmlunit.XMLUnit;
-import org.custommonkey.xmlunit.XMLAssert;
-import org.xml.sax.SAXException;
-import org.jboss.soa.esb.ConfigurationException;
-
-import java.io.StringReader;
-import java.io.InputStreamReader;
-import java.io.IOException;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class WebDeploymentArchiveUnitTest extends TestCase {
-
-    public void test_empty() throws TemplateException, IOException, SAXException {
-        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
-
-        String webXML = modelArch.getWebXML();
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("empty.xml")), new StringReader(webXML));
-    }
-
-    public void test_plain_servlet() throws TemplateException, IOException, SAXException {
-        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
-        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
-
-        servlet.getUrlMappings().add("/x/*");
-
-        String webXML = modelArch.getWebXML();
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("plain_servlet.xml")), new StringReader(webXML));
-    }
-
-    public void test_plain_servlet_and_filter() throws TemplateException, IOException, SAXException {
-        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
-        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
-
-        servlet.getUrlMappings().add("/x/*");
-
-        // Just need to create the filter instance...
-        new Filter("servletXFilter", "com.acme.XServletFilter", servlet);
-
-        String webXML = modelArch.getWebXML();
-        //System.out.println(webXML);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("plain_servlet_and_filter.xml")), new StringReader(webXML));
-    }
-
-    public void test_with_method_constraints_no_roles() throws TemplateException, IOException, SAXException {
-        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
-        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
-        SecurityConstraints securityConstraints = new SecurityConstraints(servlet);
-
-        servlet.getUrlMappings().add("/x/*");
-
-        securityConstraints.getProtectedMethods().add("PUT");
-        securityConstraints.getProtectedMethods().add("POST");
-        securityConstraints.getProtectedMethods().add("DELETE");
-
-        String webXML = modelArch.getWebXML();
-        //System.out.println(webXML);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_method_constraints_no_roles.xml")), new StringReader(webXML));
-    }
-
-    public void test_with_role_constraints_no_methods() throws TemplateException, IOException, SAXException {
-        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
-        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
-        SecurityConstraints securityConstraints = new SecurityConstraints(servlet);
-
-        servlet.getUrlMappings().add("/x/*");
-
-        securityConstraints.getAllowedRoles().add("manager");
-        securityConstraints.getAllowedRoles().add("accountant");
-
-        String webXML = modelArch.getWebXML();
-        //System.out.println(webXML);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_role_constraints_no_methods.xml")), new StringReader(webXML));
-    }
-
-    public void test_with_role_constraints_no_methods_with_guarantee() throws TemplateException, IOException, SAXException {
-        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
-        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
-        SecurityConstraints securityConstraints = new SecurityConstraints(servlet);
-
-        servlet.getUrlMappings().add("/x/*");
-
-        securityConstraints.getAllowedRoles().add("manager");
-        securityConstraints.getAllowedRoles().add("accountant");
-
-        securityConstraints.setTransportGuarantee("INTEGRAL");
-
-        String webXML = modelArch.getWebXML();
-        //System.out.println(webXML);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_role_constraints_no_methods_with_guarantee.xml")), new StringReader(webXML));
-    }
-
-    public void test_with_authmethod() throws TemplateException, IOException, SAXException, ConfigurationException {
-        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
-
-        modelArch.getWebModel().setAuthMethod("BASIC");
-
-        String webXML = modelArch.getWebXML();
-        //System.out.println(webXML);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_authmethod_webxml.xml")), new StringReader(webXML));
-
-        String jbossWebXML = modelArch.getJBossWebXML();
-        //System.out.println(jbossWebXML);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_authmethod_jbosswebxml.xml")), new StringReader(jbossWebXML));
-    }
-
-    public void test_with_authdomain() throws TemplateException, IOException, SAXException, ConfigurationException {
-        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
-
-        modelArch.getWebModel().setAuthDomain("java:/jaas/JBossWS");
-
-        String webXML = modelArch.getWebXML();
-        //System.out.println(webXML);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_authdomain_webxml.xml")), new StringReader(webXML));
-
-        String jbossWebXML = modelArch.getJBossWebXML();
-        //System.out.println(jbossWebXML);
-        XMLUnit.setIgnoreWhitespace(true);
-        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_authdomain_jbosswebxml.xml")), new StringReader(jbossWebXML));
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/WebDeploymentArchiveUnitTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,156 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.listeners.war;
+
+import junit.framework.TestCase;
+import freemarker.template.TemplateException;
+import org.custommonkey.xmlunit.XMLUnit;
+import org.custommonkey.xmlunit.XMLAssert;
+import org.xml.sax.SAXException;
+import org.jboss.soa.esb.ConfigurationException;
+
+import java.io.StringReader;
+import java.io.InputStreamReader;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class WebDeploymentArchiveUnitTest extends TestCase {
+
+    public void test_empty() throws TemplateException, IOException, SAXException {
+        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
+
+        String webXML = modelArch.getWebXML();
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("empty.xml")), new StringReader(webXML));
+    }
+
+    public void test_plain_servlet() throws TemplateException, IOException, SAXException {
+        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
+        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
+
+        servlet.getUrlMappings().add("/x/*");
+
+        String webXML = modelArch.getWebXML();
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("plain_servlet.xml")), new StringReader(webXML));
+    }
+
+    public void test_plain_servlet_and_filter() throws TemplateException, IOException, SAXException {
+        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
+        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
+
+        servlet.getUrlMappings().add("/x/*");
+
+        // Just need to create the filter instance...
+        new Filter("servletXFilter", "com.acme.XServletFilter", servlet);
+
+        String webXML = modelArch.getWebXML();
+        //System.out.println(webXML);
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("plain_servlet_and_filter.xml")), new StringReader(webXML));
+    }
+
+    public void test_with_method_constraints_no_roles() throws TemplateException, IOException, SAXException {
+        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
+        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
+        SecurityConstraints securityConstraints = new SecurityConstraints(servlet);
+
+        servlet.getUrlMappings().add("/x/*");
+
+        securityConstraints.getProtectedMethods().add("PUT");
+        securityConstraints.getProtectedMethods().add("POST");
+        securityConstraints.getProtectedMethods().add("DELETE");
+
+        String webXML = modelArch.getWebXML();
+        //System.out.println(webXML);
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_method_constraints_no_roles.xml")), new StringReader(webXML));
+    }
+
+    public void test_with_role_constraints_no_methods() throws TemplateException, IOException, SAXException {
+        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
+        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
+        SecurityConstraints securityConstraints = new SecurityConstraints(servlet);
+
+        servlet.getUrlMappings().add("/x/*");
+
+        securityConstraints.getAllowedRoles().add("manager");
+        securityConstraints.getAllowedRoles().add("accountant");
+
+        String webXML = modelArch.getWebXML();
+        //System.out.println(webXML);
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_role_constraints_no_methods.xml")), new StringReader(webXML));
+    }
+
+    public void test_with_role_constraints_no_methods_with_guarantee() throws TemplateException, IOException, SAXException {
+        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
+        Servlet servlet = new Servlet("servletX", "com.acme.XServlet", modelArch.getWebModel());
+        SecurityConstraints securityConstraints = new SecurityConstraints(servlet);
+
+        servlet.getUrlMappings().add("/x/*");
+
+        securityConstraints.getAllowedRoles().add("manager");
+        securityConstraints.getAllowedRoles().add("accountant");
+
+        securityConstraints.setTransportGuarantee("INTEGRAL");
+
+        String webXML = modelArch.getWebXML();
+        //System.out.println(webXML);
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_role_constraints_no_methods_with_guarantee.xml")), new StringReader(webXML));
+    }
+
+    public void test_with_authmethod() throws TemplateException, IOException, SAXException, ConfigurationException {
+        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
+
+        modelArch.getWebModel().setAuthMethod("BASIC");
+
+        String webXML = modelArch.getWebXML();
+        //System.out.println(webXML);
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_authmethod_webxml.xml")), new StringReader(webXML));
+
+        String jbossWebXML = modelArch.getJBossWebXML();
+        //System.out.println(jbossWebXML);
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_authmethod_jbosswebxml.xml")), new StringReader(jbossWebXML));
+    }
+
+    public void test_with_authdomain() throws TemplateException, IOException, SAXException, ConfigurationException {
+        WebDeploymentArchive modelArch = new WebDeploymentArchive("testarch.esb");
+
+        modelArch.getWebModel().setAuthDomain("java:/jaas/JBossWS");
+
+        String webXML = modelArch.getWebXML();
+        //System.out.println(webXML);
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_authdomain_webxml.xml")), new StringReader(webXML));
+
+        String jbossWebXML = modelArch.getJBossWebXML();
+        //System.out.println(jbossWebXML);
+        XMLUnit.setIgnoreWhitespace(true);
+        XMLAssert.assertXMLEqual(new InputStreamReader(getClass().getResourceAsStream("with_authdomain_jbosswebxml.xml")), new StringReader(jbossWebXML));
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-
-
-    <!-- Security constraints... -->
-
-
-
-</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/empty.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+
+
+    <!-- Security constraints... -->
+
+
+
+</web-app>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-
-
-    <!-- Servlet 'servletX' configuration... -->
-    <servlet>
-        <servlet-name>servletX</servlet-name>
-        <servlet-class>com.acme.XServlet</servlet-class>
-
-
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>servletX</servlet-name>
-        <url-pattern>/x/*</url-pattern>
-    </servlet-mapping>
-
-    <!-- Security constraints... -->
-
-
-</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+
+
+    <!-- Servlet 'servletX' configuration... -->
+    <servlet>
+        <servlet-name>servletX</servlet-name>
+        <servlet-class>com.acme.XServlet</servlet-class>
+
+
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>servletX</servlet-name>
+        <url-pattern>/x/*</url-pattern>
+    </servlet-mapping>
+
+    <!-- Security constraints... -->
+
+
+</web-app>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-
-    <!-- Filter 'servletXFilter' configuration... -->
-    <filter>
-        <filter-name>servletXFilter</filter-name>
-        <filter-class>com.acme.XServletFilter</filter-class>
-
-
-    </filter>
-
-    <filter-mapping>
-        <filter-name>servletXFilter</filter-name>
-        <servlet-name>servletX</servlet-name>
-    </filter-mapping>
-
-
-    <!-- Servlet 'servletX' configuration... -->
-    <servlet>
-        <servlet-name>servletX</servlet-name>
-        <servlet-class>com.acme.XServlet</servlet-class>
-
-
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>servletX</servlet-name>
-        <url-pattern>/x/*</url-pattern>
-    </servlet-mapping>
-
-    <!-- Security constraints... -->
-
-
-
-
-
-</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/plain_servlet_and_filter.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+
+    <!-- Filter 'servletXFilter' configuration... -->
+    <filter>
+        <filter-name>servletXFilter</filter-name>
+        <filter-class>com.acme.XServletFilter</filter-class>
+
+
+    </filter>
+
+    <filter-mapping>
+        <filter-name>servletXFilter</filter-name>
+        <servlet-name>servletX</servlet-name>
+    </filter-mapping>
+
+
+    <!-- Servlet 'servletX' configuration... -->
+    <servlet>
+        <servlet-name>servletX</servlet-name>
+        <servlet-class>com.acme.XServlet</servlet-class>
+
+
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>servletX</servlet-name>
+        <url-pattern>/x/*</url-pattern>
+    </servlet-mapping>
+
+    <!-- Security constraints... -->
+
+
+
+
+
+</web-app>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
-<jboss-web>
-
-        <security-domain>java:/jaas/JBossWS</security-domain>
-
-</jboss-web>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_jbosswebxml.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
+<jboss-web>
+
+        <security-domain>java:/jaas/JBossWS</security-domain>
+
+</jboss-web>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-
-
-    <!-- Security constraints... -->
-
-    <login-config>
-        <auth-method>BASIC</auth-method>
-        <realm-name>Authentication Realm for testarch.esb</realm-name>
-    </login-config>
-
-
-</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authdomain_webxml.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+
+
+    <!-- Security constraints... -->
+
+    <login-config>
+        <auth-method>BASIC</auth-method>
+        <realm-name>Authentication Realm for testarch.esb</realm-name>
+    </login-config>
+
+
+</web-app>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
-<jboss-web>
-
-
-</jboss-web>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_jbosswebxml.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
+<jboss-web>
+
+
+</jboss-web>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-
-
-    <!-- Security constraints... -->
-
-    <login-config>
-        <auth-method>BASIC</auth-method>
-        <realm-name>Authentication Realm for testarch.esb</realm-name>
-    </login-config>
-
-
-</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_authmethod_webxml.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+
+
+    <!-- Security constraints... -->
+
+    <login-config>
+        <auth-method>BASIC</auth-method>
+        <realm-name>Authentication Realm for testarch.esb</realm-name>
+    </login-config>
+
+
+</web-app>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-
-
-    <!-- Servlet 'servletX' configuration... -->
-    <servlet>
-        <servlet-name>servletX</servlet-name>
-        <servlet-class>com.acme.XServlet</servlet-class>
-
-
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>servletX</servlet-name>
-        <url-pattern>/x/*</url-pattern>
-    </servlet-mapping>
-
-    <!-- Security constraints... -->
-
-    <security-constraint>
-        <web-resource-collection>
-            <web-resource-name>Constraints for servlet servletX</web-resource-name>
-            <url-pattern>/x/*</url-pattern>
-            <http-method>PUT</http-method>
-            <http-method>POST</http-method>
-            <http-method>DELETE</http-method>
-        </web-resource-collection>
-        <auth-constraint/>
-    </security-constraint>
-
-
-
-
-</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_method_constraints_no_roles.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+
+
+    <!-- Servlet 'servletX' configuration... -->
+    <servlet>
+        <servlet-name>servletX</servlet-name>
+        <servlet-class>com.acme.XServlet</servlet-class>
+
+
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>servletX</servlet-name>
+        <url-pattern>/x/*</url-pattern>
+    </servlet-mapping>
+
+    <!-- Security constraints... -->
+
+    <security-constraint>
+        <web-resource-collection>
+            <web-resource-name>Constraints for servlet servletX</web-resource-name>
+            <url-pattern>/x/*</url-pattern>
+            <http-method>PUT</http-method>
+            <http-method>POST</http-method>
+            <http-method>DELETE</http-method>
+        </web-resource-collection>
+        <auth-constraint/>
+    </security-constraint>
+
+
+
+
+</web-app>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-
-
-    <!-- Servlet 'servletX' configuration... -->
-    <servlet>
-        <servlet-name>servletX</servlet-name>
-        <servlet-class>com.acme.XServlet</servlet-class>
-
-
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>servletX</servlet-name>
-        <url-pattern>/x/*</url-pattern>
-    </servlet-mapping>
-
-    <!-- Security constraints... -->
-
-    <security-constraint>
-        <web-resource-collection>
-            <web-resource-name>Constraints for servlet servletX</web-resource-name>
-            <url-pattern>/x/*</url-pattern>
-        </web-resource-collection>
-        <auth-constraint>
-            <role-name>manager</role-name>
-            <role-name>accountant</role-name>
-        </auth-constraint>
-    </security-constraint>
-
-
-    <login-config>
-        <auth-method>BASIC</auth-method>
-        <realm-name>Authentication Realm for testarch.esb</realm-name>
-    </login-config>
-
-    <security-role>
-        <role-name>manager</role-name>
-    </security-role>
-    <security-role>
-        <role-name>accountant</role-name>
-    </security-role>
-
-</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+
+
+    <!-- Servlet 'servletX' configuration... -->
+    <servlet>
+        <servlet-name>servletX</servlet-name>
+        <servlet-class>com.acme.XServlet</servlet-class>
+
+
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>servletX</servlet-name>
+        <url-pattern>/x/*</url-pattern>
+    </servlet-mapping>
+
+    <!-- Security constraints... -->
+
+    <security-constraint>
+        <web-resource-collection>
+            <web-resource-name>Constraints for servlet servletX</web-resource-name>
+            <url-pattern>/x/*</url-pattern>
+        </web-resource-collection>
+        <auth-constraint>
+            <role-name>manager</role-name>
+            <role-name>accountant</role-name>
+        </auth-constraint>
+    </security-constraint>
+
+
+    <login-config>
+        <auth-method>BASIC</auth-method>
+        <realm-name>Authentication Realm for testarch.esb</realm-name>
+    </login-config>
+
+    <security-role>
+        <role-name>manager</role-name>
+    </security-role>
+    <security-role>
+        <role-name>accountant</role-name>
+    </security-role>
+
+</web-app>
\ No newline at end of file

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-
-
-    <!-- Servlet 'servletX' configuration... -->
-    <servlet>
-        <servlet-name>servletX</servlet-name>
-        <servlet-class>com.acme.XServlet</servlet-class>
-
-
-    </servlet>
-
-    <servlet-mapping>
-        <servlet-name>servletX</servlet-name>
-        <url-pattern>/x/*</url-pattern>
-    </servlet-mapping>
-
-    <!-- Security constraints... -->
-
-    <security-constraint>
-        <web-resource-collection>
-            <web-resource-name>Constraints for servlet servletX</web-resource-name>
-            <url-pattern>/x/*</url-pattern>
-        </web-resource-collection>
-        <auth-constraint>
-            <role-name>manager</role-name>
-            <role-name>accountant</role-name>
-        </auth-constraint>
-        <user-data-constraint>
-            <transport-guarantee>INTEGRAL</transport-guarantee>
-        </user-data-constraint>
-    </security-constraint>
-
-
-    <login-config>
-        <auth-method>BASIC</auth-method>
-        <realm-name>Authentication Realm for testarch.esb</realm-name>
-    </login-config>
-
-    <security-role>
-        <role-name>manager</role-name>
-    </security-role>
-    <security-role>
-        <role-name>accountant</role-name>
-    </security-role>
-
-</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/listeners/war/with_role_constraints_no_methods_with_guarantee.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+
+
+
+    <!-- Servlet 'servletX' configuration... -->
+    <servlet>
+        <servlet-name>servletX</servlet-name>
+        <servlet-class>com.acme.XServlet</servlet-class>
+
+
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>servletX</servlet-name>
+        <url-pattern>/x/*</url-pattern>
+    </servlet-mapping>
+
+    <!-- Security constraints... -->
+
+    <security-constraint>
+        <web-resource-collection>
+            <web-resource-name>Constraints for servlet servletX</web-resource-name>
+            <url-pattern>/x/*</url-pattern>
+        </web-resource-collection>
+        <auth-constraint>
+            <role-name>manager</role-name>
+            <role-name>accountant</role-name>
+        </auth-constraint>
+        <user-data-constraint>
+            <transport-guarantee>INTEGRAL</transport-guarantee>
+        </user-data-constraint>
+    </security-constraint>
+
+
+    <login-config>
+        <auth-method>BASIC</auth-method>
+        <realm-name>Authentication Realm for testarch.esb</realm-name>
+    </login-config>
+
+    <security-role>
+        <role-name>manager</role-name>
+    </security-role>
+    <security-role>
+        <role-name>accountant</role-name>
+    </security-role>
+
+</web-app>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGeneratorUnitTest.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGeneratorUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGeneratorUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGeneratorUnitTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.internal.soa.esb.webservice;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.couriers.MockCourier;
+import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
+import org.jboss.internal.soa.esb.services.registry.MockRegistry;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.Service;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.listeners.config.Generator;
+import org.jboss.soa.esb.listeners.config.WebserviceInfo;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+import org.jboss.soa.esb.util.ClassUtil;
+
+public class JAXWSProviderClassGeneratorUnitTest extends TestCase
+{
+    private TestRegistry testRegistry ;
+    
+    @Override
+    protected void setUp()
+        throws Exception
+    {
+        MockCourierFactory.install() ;
+        testRegistry = new TestRegistry() ;
+        RegistryFactory.setRegistry(testRegistry) ;
+    }
+    
+    @Override
+    protected void tearDown()
+        throws Exception
+    {
+        RegistryFactory.setRegistry(null) ;
+        MockCourierFactory.uninstall() ;
+    }
+    
+    public void testRegistryLookupCount()
+        throws Exception
+    {
+        final InputStream is = ClassUtil.getResourceAsStream("jbossesb_config_08.xml", getClass()) ;
+        final byte[] configBytes = StreamUtils.readStream(is) ;
+        ByteArrayOutputStream listenerXml = new ByteArrayOutputStream();
+        ByteArrayOutputStream gatewayXml = new ByteArrayOutputStream();
+        Generator generator = new Generator(new ByteArrayInputStream(configBytes), listenerXml, gatewayXml);
+        generator.generate();
+        List<WebserviceInfo> webservices = generator.getModel().getWebserviceServices();
+        final WebserviceInfo webservice = webservices.get(0) ;
+        final ESBServiceEndpointInfo endpointInfo = new ESBServiceEndpointInfo(webservice) ;
+        
+        final EPR deliverEPR = new EPR(new URI("test:deliver")) ;
+        final MockCourier deliverCourier = new MockCourier(true);
+        final Service service = webservice.getService() ;
+        final String category = service.getCategory() ;
+        final String name = service.getName() ;
+        TestRegistry.register(category, name, deliverEPR, deliverCourier);
+
+        final JAXWSProviderClassGenerator classGenerator = new JAXWSProviderClassGenerator() ;
+        
+        final byte[] bytes = classGenerator.generate(category, name, endpointInfo, false) ;
+        final ClassLoader classLoader = new ClassLoader() {
+            public java.lang.Class<?> loadClass(final String name) throws ClassNotFoundException {
+                if (endpointInfo.getClassName().equals(name)) {
+                    return defineClass(name, bytes, 0, bytes.length) ;
+                } else {
+                    return super.loadClass(name) ;
+                }
+            };
+        } ;
+        final Class<?> baseWebServiceClass = classLoader.loadClass(endpointInfo.getClassName()) ;
+        
+        final BaseWebService baseWebService = (BaseWebService)baseWebServiceClass.newInstance() ;
+        assertEquals("Initial instance count", 1, testRegistry.getCount(category, name)) ;
+        
+        final Message message = MessageFactory.getInstance().getMessage() ;
+        baseWebService.deliverMessage(message) ;
+        assertEquals("First invocation", 1, testRegistry.getCount(category, name)) ;
+        
+        final BaseWebService baseWebService2 = (BaseWebService)baseWebServiceClass.newInstance() ;
+        assertEquals("Second instance count", 1, testRegistry.getCount(category, name)) ;
+        
+        baseWebService2.deliverMessage(message) ;
+        assertEquals("Second invocation", 1, testRegistry.getCount(category, name)) ;
+    }
+    
+    final class TestRegistry extends MockRegistry
+    {
+        final Map<Service, Integer> counts = new HashMap<Service, Integer>() ;
+        
+        @Override
+        public List<EPR> findEPRs(final String category, final String serviceName)
+            throws RegistryException
+        {
+            final Service service = new Service(category, serviceName) ;
+            final Integer count = counts.get(service) ;
+            if (count != null)
+            {
+                counts.put(service, Integer.valueOf(count.intValue() + 1)) ;
+            }
+            else
+            {
+                counts.put(service, Integer.valueOf(1)) ;
+            }
+            
+            return super.findEPRs(category, serviceName) ;
+        }
+        
+        public int getCount(final String category, final String serviceName)
+        {
+            final Service service = new Service(category, serviceName) ;
+            final Integer count = counts.get(service) ;
+            if (count != null)
+            {
+                return count.intValue() ;
+            }
+            return 0 ;
+        }
+    }
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" name="Bank-Listener" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" persistent="true" protocol="jms" transacted="false"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" ma!
 xThreads="2" my-generic-listener="my-generic-listener#someattribvalue" name="Bank-Listener-Generic" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="OneWay" name="test-ftp-listener" schedule-frequency="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:21/Temp" errorDelete="true" inputSuffix=".txt" passive="false" postDelete="true" workSuffix=".esbInProcess"/><a!
 ction action="TestFtpRouteAction" class="org.jboss.soa.esb.act!
 ions.Con
tentBasedRouter"/></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="RequestResponse" name="test-sql-listener" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest"><EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/><action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener></jbossesb-listeners>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><listener busIdRef="local-jms" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" name="Bank-Listener" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" persistent="true" protocol="jms" transacted="false"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener busIdRef="my-generic-bus" listenerClass="org.jboss.soa!
 .esb.listeners.message.MessageAwareListener" maxThreads="2" my-generic-listener="my-generic-listener#someattribvalue" name="Bank-Listener-Generic" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener busIdRef="Ftp-ServerTest" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="OneWay" name="test-ftp-listener" schedule-frequency="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:21/Temp" errorDelete="true" inputSuffi!
 x=".txt" passive="false" postDelete="true" workSuffix=".esbInP!
 rocess"/
><action action="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener><listener busIdRef="SQL-Test" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="RequestResponse" name="test-sql-listener" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest"><EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/><action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener></jbossesb-listeners>
\ No newline at end of file

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-gateways parameterReloadSecs="180"><listener acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" is-gateway="true" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" name="Bank-JMS-Gateway" persistent="true" protocol="jms" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation" transacted="false"/><listener gatewayClass="org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener" is-gateway="true" jbr-serverBindAddress="192.168.1.111" jbr-serverBindPort="8765" jbr-serverProtocol="http" maxThreads="1" name="Bank-HTTP-Gat!
 eway" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation"/></jbossesb-gateways>
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-gateways parameterReloadSecs="180"><listener acknowledge-mode="AUTO_ACKNOWLEDGE" busIdRef="server1-jms" connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" is-gateway="true" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" name="Bank-JMS-Gateway" persistent="true" protocol="jms" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation" transacted="false"/><listener busIdRef="HTTP-1" gatewayClass="org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener" is-gateway="true" jbr-serverBindAddress="192.168.1.111" jbr-serverBindPort="8765" jbr-serverProtocol=!
 "http" maxThreads="1" name="Bank-HTTP-Gateway" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation"/></jbossesb-gateways>
\ No newline at end of file

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_110_esbaware.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_110_esbaware.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_110_esbaware.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" name="Bank-Listener" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" persistent="true" protocol="jms" transacted="false"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" ma!
 xThreads="2" my-generic-listener="my-generic-listener#someattribvalue" name="Bank-Listener-Generic" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="OneWay" name="test-ftp-listener" schedule-frequency="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:21/Temp" errorDelete="true" inputSuffix=".txt" passive="false" postDelete="true" postRename="true" workSuffix="!
 .esbInProcess"/><action action="TestFtpRouteAction" class="org!
 .jboss.s
oa.esb.actions.ContentBasedRouter"/></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="RequestResponse" name="test-sql-listener" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest"><EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/><action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener></jbossesb-listeners>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><listener busIdRef="local-jms" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" name="Bank-Listener" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" persistent="true" protocol="jms" transacted="false"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener busIdRef="my-generic-bus" listenerClass="org.jboss.soa!
 .esb.listeners.message.MessageAwareListener" maxThreads="2" my-generic-listener="my-generic-listener#someattribvalue" name="Bank-Listener-Generic" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener busIdRef="Ftp-ServerTest" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="OneWay" name="test-ftp-listener" schedule-frequency="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:21/Temp" errorDelete="true" inputSuffi!
 x=".txt" passive="false" postDelete="true" postRename="true" w!
 orkSuffi
x=".esbInProcess"/><action action="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener><listener busIdRef="SQL-Test" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="RequestResponse" name="test-sql-listener" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest"><EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/><action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener></jbossesb-listeners>
\ No newline at end of file

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_110_gateways.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_110_gateways.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_110_gateways.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-gateways parameterReloadSecs="180"><listener acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" is-gateway="true" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" name="Bank-JMS-Gateway" persistent="true" protocol="jms" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation" transacted="false"/><listener gatewayClass="org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener" is-gateway="true" jbr-serverBindAddress="192.168.1.111" jbr-serverBindPort="8765" jbr-serverProtocol="http" maxThreads="1" name="Bank-HTTP-Gat!
 eway" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation"/></jbossesb-gateways>
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-gateways parameterReloadSecs="180"><listener acknowledge-mode="AUTO_ACKNOWLEDGE" busIdRef="server1-jms" connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" is-gateway="true" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" name="Bank-JMS-Gateway" persistent="true" protocol="jms" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation" transacted="false"/><listener busIdRef="HTTP-1" gatewayClass="org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener" is-gateway="true" jbr-serverBindAddress="192.168.1.111" jbr-serverBindPort="8765" jbr-serverProtocol=!
 "http" maxThreads="1" name="Bank-HTTP-Gateway" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation"/></jbossesb-gateways>
\ No newline at end of file

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/deployers/mc/EsbWebServiceDeployerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/deployers/mc/EsbWebServiceDeployerUnitTest.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/listeners/deployers/mc/EsbWebServiceDeployerUnitTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -85,7 +85,7 @@
         assertEquals(1, mappings.size());
         assertEquals("FirstServiceESB_SimpleListener", mappings.get(0).getServletName());
         assertEquals(1, mappings.get(0).getUrlPatterns().size());
-        assertEquals("/FirstServiceESB/SimpleListener", mappings.get(0).getUrlPatterns().get(0));
+        assertEquals("/ebws/FirstServiceESB/SimpleListener", mappings.get(0).getUrlPatterns().get(0));
     }
     
     public void testServletAddedToClassPath() throws Throwable

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -16,7 +16,7 @@
     public void test() throws ConfigurationException, IOException, SAXException {
         ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("jboss-esb.xml"));
 
-        assertTrue(configUtil.getListenerConfig("JMS-ESBListener").toString().startsWith("<listener listenerClass=\"org.jboss.soa.esb.listeners.message.MessageAwareListener\" maxThreads=\"1\" name=\"JMS-ESBListener\" service-category=\"ABI_OrderManager\" service-description=\"ABI OrderManager Service\" service-name=\"ABI_OrderManager\">"));
+        assertTrue(configUtil.getListenerConfig("JMS-ESBListener").toString().startsWith("<listener busIdRef=\"OrderManagerService\" listenerClass=\"org.jboss.soa.esb.listeners.message.MessageAwareListener\" maxThreads=\"1\" name=\"JMS-ESBListener\" service-category=\"ABI_OrderManager\" service-description=\"ABI OrderManager Service\" service-name=\"ABI_OrderManager\">"));
         assertTrue(configUtil.getGatewayConfig("FileGateway").toString().startsWith("<listener"));
         assertTrue(configUtil.getActionConfig("OrderNotificationService", "print-after-transform").toString().startsWith("<action action=\"print-after-transform\""));
     }
@@ -25,7 +25,7 @@
     public void test110() throws ConfigurationException, IOException, SAXException {
         ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("jboss-esb.110.xml"));
 
-        assertTrue(configUtil.getListenerConfig("JMS-ESBListener").toString().startsWith("<listener listenerClass=\"org.jboss.soa.esb.listeners.message.MessageAwareListener\" maxThreads=\"1\" name=\"JMS-ESBListener\" service-category=\"ABI_OrderManager\" service-description=\"ABI OrderManager Service\" service-name=\"ABI_OrderManager\">"));
+        assertTrue(configUtil.getListenerConfig("JMS-ESBListener").toString().startsWith("<listener busIdRef=\"OrderManagerService\" listenerClass=\"org.jboss.soa.esb.listeners.message.MessageAwareListener\" maxThreads=\"1\" name=\"JMS-ESBListener\" service-category=\"ABI_OrderManager\" service-description=\"ABI OrderManager Service\" service-name=\"ABI_OrderManager\">"));
         assertTrue(configUtil.getGatewayConfig("FileGateway").toString().startsWith("<listener"));
         assertTrue(configUtil.getActionConfig("OrderNotificationService", "print-after-transform").toString().startsWith("<action action=\"print-after-transform\""));
     }

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/util/DeploymentArchiveUnitTest.java (from rev 29337, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/util/DeploymentArchiveUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/util/DeploymentArchiveUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/rosetta/tests/src/org/jboss/soa/esb/util/DeploymentArchiveUnitTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.soa.esb.util;
+
+import junit.framework.TestCase;
+
+import java.io.IOException;
+import java.io.ByteArrayInputStream;
+import java.util.jar.JarInputStream;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.Enumeration;
+
+import org.jboss.internal.soa.esb.util.StreamUtils;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class DeploymentArchiveUnitTest extends TestCase {
+
+    public void test() throws IOException {
+        DeploymentArchive archive = new DeploymentArchive("testarchive");
+
+        archive.addEntry("//my/resource.txt", new ByteArrayInputStream("Hello ESB".getBytes()));
+        archive.addEntry("my/folder");
+        archive.addEntry(DeploymentArchive.class);
+
+        JarInputStream jarStream = archive.toInputStream();
+        JarEntry jarEntry;
+
+        // my/resource.txt
+        jarEntry = jarStream.getNextJarEntry();
+        assertEquals("my/resource.txt", jarEntry.getName());
+        assertEquals("Hello ESB", new String(StreamUtils.readStream(jarStream)));
+
+        // my/folder
+        jarEntry = jarStream.getNextJarEntry();
+        assertEquals("my/folder/", jarEntry.getName());
+        assertTrue(jarEntry.isDirectory());
+
+        // DeploymentArchive.class
+        jarEntry = jarStream.getNextJarEntry();
+        assertEquals("org/jboss/soa/esb/util/DeploymentArchive.class", jarEntry.getName());
+    }
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/dynamic_router/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/dynamic_router/build.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/dynamic_router/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -38,9 +38,9 @@
 	
 	   <target name="receive-destination2" depends="compile">
 		        <echo>Runs Test destination 2 message receiver</echo>
-		        <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.dynamicRouter.test.ReceiveJMSMessage" failonerror="true">
+		        <java fork="no" classname="org.jboss.soa.esb.samples.quickstart.dynamicRouter.test.ReceiveJMSMessage" failonerror="true">
 		            <arg value="queue/qsdynamicrouter_2_Request"/>  
-		            <arg value=":not_OK"/>
+		            <arg value=":OK"/>
 		            <classpath refid="exec-classpath"/>
 		        </java>
 		    </target>		

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/fun_cbr/SampleOrder.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/fun_cbr/SampleOrder.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/fun_cbr/SampleOrder.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,4 +1,4 @@
-<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" 
+<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="2" 
 netAmount="59.97" totalAmount="64.92" tax="4.95">
 	<Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
 	<OrderLines>

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway)

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/build.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/build.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,23 +0,0 @@
-<project name="Quickstart_http_gateway" default="run" basedir=".">
-	
-	<description> 
-		${ant.project.name}
-		${line.separator}
-	</description>
-	
-    <property name="additional.deploys" value="http-exception-mappings.properties,readme.txt" />
-
-	<!-- Import the base Ant build script... -->
-	<import file="../conf/base-build.xml"/> 	
-
-    <target name="soap" depends="compile" description="sends a SOAP HTTP request to the http gateway">
-        <echo>Http Client</echo>
-        <java fork="yes" classname="org.jboss.soa.esb.actions.routing.http.HttpRouter" failonerror="true">
-            <arg value="endpointUrl=http://localhost:8080/Quickstart_http_gateway/http/soap/"/>
-            <arg value="method=POST"/>
-            <arg value="payload=soap-login.xml"/>
-            <classpath refid="exec-classpath"/>
-        </java>
-    </target>
-
-</project>

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/build.xml (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/build.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,23 @@
+<project name="Quickstart_http_gateway" default="run" basedir=".">
+	
+	<description> 
+		${ant.project.name}
+		${line.separator}
+	</description>
+	
+    <property name="additional.deploys" value="http-exception-mappings.properties,readme.txt" />
+
+	<!-- Import the base Ant build script... -->
+	<import file="../conf/base-build.xml"/> 	
+
+    <target name="soap" depends="compile" description="sends a SOAP HTTP request to the http gateway">
+        <echo>Http Client</echo>
+        <java fork="yes" classname="org.jboss.soa.esb.actions.routing.http.HttpRouter" failonerror="true">
+            <arg value="endpointUrl=http://localhost:8080/Quickstart_http_gateway/http/soap/"/>
+            <arg value="method=POST"/>
+            <arg value="payload=soap-login.xml"/>
+            <classpath refid="exec-classpath"/>
+        </java>
+    </target>
+
+</project>

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/deployment.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/deployment.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/deployment.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,2 +0,0 @@
-<jbossesb-deployment>
-</jbossesb-deployment>

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/deployment.xml (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/deployment.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/deployment.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,2 @@
+<jbossesb-deployment>
+</jbossesb-deployment>

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/http-exception-mappings.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/http-exception-mappings.properties	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/http-exception-mappings.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,2 +0,0 @@
-org.jboss.soa.esb.services.security.SecurityServiceException=401
-org.jboss.soa.esb.samples.quickstart.httpgateway.MyActionException=502

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/http-exception-mappings.properties (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/http-exception-mappings.properties)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/http-exception-mappings.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/http-exception-mappings.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,2 @@
+org.jboss.soa.esb.services.security.SecurityServiceException=401
+org.jboss.soa.esb.samples.quickstart.httpgateway.MyActionException=502

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/jboss-esb.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jboss-esb.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,109 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd"
-          parameterReloadSecs="5">
-
-    <providers>
-        <http-provider name="http">
-            <http-bus busid="secureFriends">
-                <!-- Only users in the "friend" role are allowed
-                     access via the "GET" method.  Unspecified
-                     methods are not protected (i.e. are allowed)... -->
-                <allowed-roles>
-                    <role name="friend" />
-                </allowed-roles>
-                <protected-methods>
-                    <method name="GET" />
-                </protected-methods>
-            </http-bus>
-
-            <auth method="BASIC" domain="JBossWS" /> <!-- uname: "kermit" pw: "thefrog" -->
-
-            <!-- Global exception mappings file... -->
-            <exception mappingsFile="/http-exception-mappings.properties" />
-        </http-provider>
-    </providers>
-
-    <services>                                                  
-
-        <service category="Sales" name="List" description="" invmScope="GLOBAL">
-            <security moduleName="JBossWS" />
-            <listeners>
-                <!-- Receives: http://<host>:<port>/Quickstart_http_gateway/http/sales/* but will be forced to
-                               authenticate because the "sales" bus has basic auth configured (above)... -->
-                <http-gateway name="sales" busidref="secureFriends" urlPattern="sales/*" />
-            </listeners>
-            <actions mep="RequestResponse">
-                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyAction"/>
-            </actions>
-        </service>
-
-        <service category="Soap" name="List" description="" invmScope="GLOBAL">
-            <security moduleName="JBossWS" />
-            <listeners>
-                <!-- Receives: http://<host>:<port>/Quickstart_http_gateway/http/soap/*
-                     Execute "ant soap" on command line.... -->
-                <http-gateway name="soap" urlPattern="soap/*">
-                    <exception>
-                        <mapping class="org.jboss.soa.esb.services.security.SecurityServiceException" status="401" />
-                    </exception>
-                </http-gateway>
-            </listeners>
-            <actions mep="RequestResponse">
-                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyAction"/>
-            </actions>
-        </service>
-
-        <service category="Index" name="List" description="" invmScope="GLOBAL">
-            <listeners>
-                <!-- Receives: http://<host>:<port>/Quickstart_http_gateway/http/index/*
-                               Uses the default http bus configuration... -->
-                <http-gateway name="Index" urlPattern="index/*" />
-            </listeners>
-            <actions mep="RequestResponse">
-                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyAction"/>
-            </actions>
-        </service>
-
-        <service category="Exceptions" name="Exception1" description="" invmScope="GLOBAL">
-            <listeners>
-                <http-gateway name="Exception2" />
-            </listeners>
-            <actions mep="RequestResponse">
-                <!-- Uses the globally defined exception mappings defined on the <http-provider>... -->
-                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyExceptionAction"/>
-            </actions>
-        </service>
-
-        <service category="Exceptions" name="Exception2" description="" invmScope="GLOBAL">
-            <listeners>
-                <http-gateway name="Exception1">
-                    <!-- Override the exception mappings defined on the <http-provider>... -->
-                    <exception>
-                        <mapping class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyActionException" status="503" />
-                    </exception>
-                </http-gateway>
-            </listeners>
-            <actions mep="RequestResponse">
-                <!-- Uses the override exception mappings defined on the <http-gateway>... -->
-                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyExceptionAction"/>
-            </actions>
-        </service>
-
-        <service category="Async" name="List" description="" invmScope="GLOBAL">
-            <listeners>
-                <!-- Receives: http://<host>:<port>/Quickstart_http_gateway/http/Async/List
-                               Uses the default http bus configuration... -->
-                <http-gateway name="Async">
-                    <asyncResponse statusCode="202">
-                        <payload classpathResource="/readme.txt" contentType="text/plain" characterEncoding="UTF-8" />
-                    </asyncResponse>
-                </http-gateway>
-            </listeners>
-            <actions mep="RequestResponse">
-                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyAction"/>
-            </actions>
-        </service>
-
-    </services>
-
-</jbossesb>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jboss-esb.xml (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/jboss-esb.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jboss-esb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jboss-esb.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,109 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd"
+          parameterReloadSecs="5">
+
+    <providers>
+        <http-provider name="http">
+            <http-bus busid="secureFriends">
+                <!-- Only users in the "friend" role are allowed
+                     access via the "GET" method.  Unspecified
+                     methods are not protected (i.e. are allowed)... -->
+                <allowed-roles>
+                    <role name="friend" />
+                </allowed-roles>
+                <protected-methods>
+                    <method name="GET" />
+                </protected-methods>
+            </http-bus>
+
+            <auth method="BASIC" domain="JBossWS" /> <!-- uname: "kermit" pw: "thefrog" -->
+
+            <!-- Global exception mappings file... -->
+            <exception mappingsFile="/http-exception-mappings.properties" />
+        </http-provider>
+    </providers>
+
+    <services>                                                  
+
+        <service category="Sales" name="List" description="" invmScope="GLOBAL">
+            <security moduleName="JBossWS" />
+            <listeners>
+                <!-- Receives: http://<host>:<port>/Quickstart_http_gateway/http/sales/* but will be forced to
+                               authenticate because the "sales" bus has basic auth configured (above)... -->
+                <http-gateway name="sales" busidref="secureFriends" urlPattern="sales/*" />
+            </listeners>
+            <actions mep="RequestResponse">
+                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyAction"/>
+            </actions>
+        </service>
+
+        <service category="Soap" name="List" description="" invmScope="GLOBAL">
+            <security moduleName="JBossWS" />
+            <listeners>
+                <!-- Receives: http://<host>:<port>/Quickstart_http_gateway/http/soap/*
+                     Execute "ant soap" on command line.... -->
+                <http-gateway name="soap" urlPattern="soap/*">
+                    <exception>
+                        <mapping class="org.jboss.soa.esb.services.security.SecurityServiceException" status="401" />
+                    </exception>
+                </http-gateway>
+            </listeners>
+            <actions mep="RequestResponse">
+                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyAction"/>
+            </actions>
+        </service>
+
+        <service category="Index" name="List" description="" invmScope="GLOBAL">
+            <listeners>
+                <!-- Receives: http://<host>:<port>/Quickstart_http_gateway/http/index/*
+                               Uses the default http bus configuration... -->
+                <http-gateway name="Index" urlPattern="index/*" />
+            </listeners>
+            <actions mep="RequestResponse">
+                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyAction"/>
+            </actions>
+        </service>
+
+        <service category="Exceptions" name="Exception1" description="" invmScope="GLOBAL">
+            <listeners>
+                <http-gateway name="Exception2" />
+            </listeners>
+            <actions mep="RequestResponse">
+                <!-- Uses the globally defined exception mappings defined on the <http-provider>... -->
+                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyExceptionAction"/>
+            </actions>
+        </service>
+
+        <service category="Exceptions" name="Exception2" description="" invmScope="GLOBAL">
+            <listeners>
+                <http-gateway name="Exception1">
+                    <!-- Override the exception mappings defined on the <http-provider>... -->
+                    <exception>
+                        <mapping class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyActionException" status="503" />
+                    </exception>
+                </http-gateway>
+            </listeners>
+            <actions mep="RequestResponse">
+                <!-- Uses the override exception mappings defined on the <http-gateway>... -->
+                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyExceptionAction"/>
+            </actions>
+        </service>
+
+        <service category="Async" name="List" description="" invmScope="GLOBAL">
+            <listeners>
+                <!-- Receives: http://<host>:<port>/Quickstart_http_gateway/http/Async/List
+                               Uses the default http bus configuration... -->
+                <http-gateway name="Async">
+                    <asyncResponse statusCode="202">
+                        <payload classpathResource="/readme.txt" contentType="text/plain" characterEncoding="UTF-8" />
+                    </asyncResponse>
+                </http-gateway>
+            </listeners>
+            <actions mep="RequestResponse">
+                <action name="print" class="org.jboss.soa.esb.samples.quickstart.httpgateway.MyAction"/>
+            </actions>
+        </service>
+
+    </services>
+
+</jbossesb>
\ No newline at end of file

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

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

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jndi.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/jndi.properties	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jndi.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,5 +0,0 @@
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.provider.url=jnp://localhost:1099
-java.naming.factory.url.pkgs=org.jboss.naming
-java.naming.factory.url.pkgs=org.jnp.interfaces
-

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jndi.properties (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/jndi.properties)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/jndi.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/lib (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/lib)

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

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

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/readme.txt
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/readme.txt	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/readme.txt	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,40 +0,0 @@
-Overview:
-=========
-  The purpose of the http_gateway quickstart sample is to demonstarte how to 
-  configue a http gateway to pass the http request into ESB service. 
-  
-
-Running this quickstart:
-========================
-  Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
-  and a more detailed descripton of the different ways to run the quickstarts.
-
-To Run '.esb' archive mode:
-===========================
-  1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
-  2. Open the web brower and send http requests to the following addresses.  Be sure to
-     check the Server console after executing each request:
-       a) http://localhost:8080/Quickstart_http_gateway/http/sales/a/b/c - Will be routed to the Sales:List
-          service.  Will return some details about the request.  This Service's <http-gateway> references a
-          "secureFriends" bus, which contains login configurations.  The login username is "kermit" and the
-          password is "thefrog".  It usee the "java:/jaas/JBossWS" security domain, which is already installed
-          in your JBoss ESB/App Server.
-       b) http://localhost:8080/Quickstart_http_gateway/http/index/XXXX/yyy?a=1,b=2 - Will be routed to the Index:List
-          service.  Will return some details about the request.  This Service's <http-listener> does not refer
-          to any bus and so simply uses the "default" http bus.
-       c) http://localhost:8080/Quickstart_http_gateway/http/Exceptions/Exception1 - Will be routed to the
-          Exceptions:Exception1 service.  This service throws a "MyActionException", resulting in a
-          502 (Bad Gateway) status being returned in accordance with the Exception to HTTP status code
-          mappings defined globally on the <http-provider>.
-       d) http://localhost:8080/Quickstart_http_gateway/http/Exceptions/Exception2 - Will be routed to the
-          Exceptions:Exception2 service.  This service also throws a "MyActionException", but the <http-gateway>
-          on this service overrides the globally defined Exception to HTTP status code mappings defined globally
-          on the <http-provider> to return a 503 (Service Unavailable) status for the "MyActionException" exception.
-       e) http://localhost:8080/Quickstart_http_gateway/http/Async/List - Will be routed to the
-          Async:List service, which responds asynchronously with a 202 (Accepted) response code and a static
-          payload of this readme.txt.
-       f) http://localhost:8080/Quickstart_http_gateway/http/soap/ - Will be routed to the
-          Soap:List service, which requires message level seurity.  An 401 error will occur.  Now
-          switch to the command line and run "ant soap".  This POSTs a SOAP message, with login credentials
-          to the gateway.  The service should respond successfully this time!!
-  3. In this folder ("Window1"), type 'ant undeploy'.

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/readme.txt (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/readme.txt)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/readme.txt	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,40 @@
+Overview:
+=========
+  The purpose of the http_gateway quickstart sample is to demonstarte how to 
+  configue a http gateway to pass the http request into ESB service. 
+  
+
+Running this quickstart:
+========================
+  Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
+  and a more detailed descripton of the different ways to run the quickstarts.
+
+To Run '.esb' archive mode:
+===========================
+  1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
+  2. Open the web brower and send http requests to the following addresses.  Be sure to
+     check the Server console after executing each request:
+       a) http://localhost:8080/Quickstart_http_gateway/http/sales/a/b/c - Will be routed to the Sales:List
+          service.  Will return some details about the request.  This Service's <http-gateway> references a
+          "secureFriends" bus, which contains login configurations.  The login username is "kermit" and the
+          password is "thefrog".  It usee the "java:/jaas/JBossWS" security domain, which is already installed
+          in your JBoss ESB/App Server.
+       b) http://localhost:8080/Quickstart_http_gateway/http/index/XXXX/yyy?a=1,b=2 - Will be routed to the Index:List
+          service.  Will return some details about the request.  This Service's <http-listener> does not refer
+          to any bus and so simply uses the "default" http bus.
+       c) http://localhost:8080/Quickstart_http_gateway/http/Exceptions/Exception1 - Will be routed to the
+          Exceptions:Exception1 service.  This service throws a "MyActionException", resulting in a
+          502 (Bad Gateway) status being returned in accordance with the Exception to HTTP status code
+          mappings defined globally on the <http-provider>.
+       d) http://localhost:8080/Quickstart_http_gateway/http/Exceptions/Exception2 - Will be routed to the
+          Exceptions:Exception2 service.  This service also throws a "MyActionException", but the <http-gateway>
+          on this service overrides the globally defined Exception to HTTP status code mappings defined globally
+          on the <http-provider> to return a 503 (Service Unavailable) status for the "MyActionException" exception.
+       e) http://localhost:8080/Quickstart_http_gateway/http/Async/List - Will be routed to the
+          Async:List service, which responds asynchronously with a 202 (Accepted) response code and a static
+          payload of this readme.txt.
+       f) http://localhost:8080/Quickstart_http_gateway/http/soap/ - Will be routed to the
+          Soap:List service, which requires message level seurity.  An 401 error will occur.  Now
+          switch to the command line and run "ant soap".  This POSTs a SOAP message, with login credentials
+          to the gateway.  The service should respond successfully this time!!
+  3. In this folder ("Window1"), type 'ant undeploy'.

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/soap-login.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/soap-login.xml	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/soap-login.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,17 +0,0 @@
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
-			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-			xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-  <soap:Header>
-    <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
-      <wsse:UsernameToken>
-        <wsse:Username>kermit</wsse:Username>
-        <wsse:Password>thefrog</wsse:Password>
-      </wsse:UsernameToken>
-    </wsse:Security>
-  </soap:Header>
-
-  <soap:Body>
-  </soap:Body>
-
-</soap:Envelope>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/soap-login.xml (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/soap-login.xml)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/soap-login.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/soap-login.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,17 @@
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
+			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+			xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+  <soap:Header>
+    <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
+      <wsse:UsernameToken>
+        <wsse:Username>kermit</wsse:Username>
+        <wsse:Password>thefrog</wsse:Password>
+      </wsse:UsernameToken>
+    </wsse:Security>
+  </soap:Header>
+
+  <soap:Body>
+  </soap:Body>
+
+</soap:Envelope>
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart)

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway)

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,74 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.httpgateway;
-
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.Service;
-import org.jboss.soa.esb.http.HttpRequest;
-
-import com.thoughtworks.xstream.XStream;
-
-public class MyAction extends AbstractActionPipelineProcessor {
-
-	protected ConfigTree _config;
-    private Service service;
-
-    public MyAction(ConfigTree config) {
-		_config = config;
-        service = new Service(_config.getParent().getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG), _config.getParent().getAttribute(ListenerTagNames.SERVICE_NAME_TAG));
-    }
-
-    public Message process(Message message) throws ActionProcessingException {
-
-        System.out.println("&&&&&&&&&&&&&&&& MyAction &&&&&&&&&&&&&&&&&&&&&");
-        System.out.println("");
-        System.out.println("Service: " + service);
-        System.out.println("");
-        System.out.println("------------Http Request Info (XStream Encoded)-------------------");
-		HttpRequest requestInfo = HttpRequest.getRequest(message);
-        String requestInfoXML;
-
-        XStream xstream = new XStream();
-        requestInfoXML = xstream.toXML(requestInfo);
-
-        System.out.println(requestInfoXML);
-
-        System.out.println("------------Http Request body -------------------");
-		System.out.println(message.getBody().get());
-
-		System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
-
-        StringBuilder response = new StringBuilder();
-
-        response.append("Service: " + service + "\n\n");
-        response.append("------------Http Request Info (XStream Encoded)-------------------\n");
-        response.append(requestInfoXML);
-
-        message.getBody().add(response.toString());
-
-        return message;
-
-	}
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyAction.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.httpgateway;
+
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.Service;
+import org.jboss.soa.esb.http.HttpRequest;
+
+import com.thoughtworks.xstream.XStream;
+
+public class MyAction extends AbstractActionPipelineProcessor {
+
+	protected ConfigTree _config;
+    private Service service;
+
+    public MyAction(ConfigTree config) {
+		_config = config;
+        service = new Service(_config.getParent().getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG), _config.getParent().getAttribute(ListenerTagNames.SERVICE_NAME_TAG));
+    }
+
+    public Message process(Message message) throws ActionProcessingException {
+
+        System.out.println("&&&&&&&&&&&&&&&& MyAction &&&&&&&&&&&&&&&&&&&&&");
+        System.out.println("");
+        System.out.println("Service: " + service);
+        System.out.println("");
+        System.out.println("------------Http Request Info (XStream Encoded)-------------------");
+		HttpRequest requestInfo = HttpRequest.getRequest(message);
+        String requestInfoXML;
+
+        XStream xstream = new XStream();
+        requestInfoXML = xstream.toXML(requestInfo);
+
+        System.out.println(requestInfoXML);
+
+        System.out.println("------------Http Request body -------------------");
+		System.out.println(message.getBody().get());
+
+		System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+
+        StringBuilder response = new StringBuilder();
+
+        response.append("Service: " + service + "\n\n");
+        response.append("------------Http Request Info (XStream Encoded)-------------------\n");
+        response.append(requestInfoXML);
+
+        message.getBody().add(response.toString());
+
+        return message;
+
+	}
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,31 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.httpgateway;
-
-import org.jboss.soa.esb.actions.ActionProcessingException;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class MyActionException extends ActionProcessingException {
-    public MyActionException(String message) {
-        super(message);
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyActionException.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.httpgateway;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MyActionException extends ActionProcessingException {
+    public MyActionException(String message) {
+        super(message);
+    }
+}

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java	2009-09-14 15:07:20 UTC (rev 29337)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
- * MA  02110-1301, USA.
- * 
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.httpgateway;
-
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-
-public class MyExceptionAction extends AbstractActionPipelineProcessor {
-
-    public MyExceptionAction(ConfigTree config) {
-    }
-
-    public Message process(Message message) throws ActionProcessingException {
-        throw new MyActionException("MyActionException!!!!");
-    }
-}
\ No newline at end of file

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/http_gateway/src/org/jboss/soa/esb/samples/quickstart/httpgateway/MyExceptionAction.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.httpgateway;
+
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class MyExceptionAction extends AbstractActionPipelineProcessor {
+
+    public MyExceptionAction(ConfigTree config) {
+    }
+
+    public Message process(Message message) throws ActionProcessingException {
+        throw new MyActionException("MyActionException!!!!");
+    }
+}
\ No newline at end of file

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1 +1 @@
-HSQLLOCK
\ No newline at end of file
+HSQLLOCK
\ No newline at end of file

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,12 @@
+/*C1*/SET SCHEMA PUBLIC
+CONNECT USER SA
+SET AUTOCOMMIT FALSE
+DISCONNECT
+/*C2*/SET SCHEMA PUBLIC
+CONNECT USER SA
+SET AUTOCOMMIT FALSE
+DISCONNECT
+/*C3*/SET SCHEMA PUBLIC
+CONNECT USER SA
+SET AUTOCOMMIT FALSE
+DISCONNECT

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,5 +1,5 @@
 #HSQL Database Engine 1.8.0.8
-#Thu Jul 09 12:07:45 BST 2009
+#Thu Jul 09 15:57:05 BST 2009
 hsqldb.script_format=0
 runtime.gc_interval=0
 sql.enforce_strict_size=false

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/jboss-esb.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/jboss-esb.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,5 +1,5 @@
 <?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.1.0.xsd" parameterReloadSecs="5">
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
 
     <providers>
           <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/readme.txt
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/readme.txt	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/readme.txt	2009-09-18 07:13:08 UTC (rev 29400)
@@ -22,7 +22,7 @@
 
 To Run from Soapui:
 ===========================
-  1. Use the following URL: 'http://127.0.0.1:8080/Quickstart_publish_as_webservice/ESBServiceSample/HelloWorldPubService?wsdl'.
+  1. Use the following URL: 'http://127.0.0.1:8080/Quickstart_publish_as_webservice/ebws/ESBServiceSample/HelloWorldPubService?wsdl'.
   2. Copy the contents of soap-userpass-message.xml.
   3. Exceute the web service call from soapui.
 

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/src/org/jboss/soa/esb/samples/quickstart/publishAsWebservice/test/SOAPTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/src/org/jboss/soa/esb/samples/quickstart/publishAsWebservice/test/SOAPTest.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice/src/org/jboss/soa/esb/samples/quickstart/publishAsWebservice/test/SOAPTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -36,7 +36,7 @@
 		final String soap = StreamUtils.getResourceAsString(args[0], "UTF-8");
 		HttpClient client = new HttpClient();
 		PostMethod postMethod = new PostMethod(
-				"http://127.0.0.1:8080/Quickstart_publish_as_webservice/ESBServiceSample/HelloWorldPubService?wsdl");
+				"http://127.0.0.1:8080/Quickstart_publish_as_webservice/ebws/ESBServiceSample/HelloWorldPubService?wsdl");
 
 		StringRequestEntity requestEntity = new StringRequestEntity(soap);
 		postMethod.setRequestEntity(requestEntity);

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/jboss-esb.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/jboss-esb.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,5 +1,5 @@
 <?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
 
     <providers>
           <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/readme.txt
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/readme.txt	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/readme.txt	2009-09-18 07:13:08 UTC (rev 29400)
@@ -19,7 +19,7 @@
 
 To Run from Soapui:
 ===========================
-  1. Use the following URL: 'http://127.0.0.1:8080/Quickstart_publish_as_webservice_inonly/ESBServiceSample/HelloWorldPubServiceInOnly?wsdl'.
+  1. Use the following URL: 'http://127.0.0.1:8080/Quickstart_publish_as_webservice_inonly/ebws/ESBServiceSample/HelloWorldPubServiceInOnly?wsdl'.
   2. Copy the contents of soap-userpass-message.xml.
   3. Exceute the web service call from soapui.
 

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/src/org/jboss/soa/esb/samples/quickstart/publishAsWebservice/test/SOAPTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/src/org/jboss/soa/esb/samples/quickstart/publishAsWebservice/test/SOAPTest.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/publish_as_webservice_inonly/src/org/jboss/soa/esb/samples/quickstart/publishAsWebservice/test/SOAPTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -36,7 +36,7 @@
 		final String soap = StreamUtils.getResourceAsString(args[0], "UTF-8");
 		HttpClient client = new HttpClient();
 		PostMethod postMethod = new PostMethod(
-				"http://127.0.0.1:8080/Quickstart_publish_as_webservice_inonly/ESBServiceSample/HelloWorldPubServiceInOnly?wsdl");
+				"http://127.0.0.1:8080/Quickstart_publish_as_webservice_inonly/ebws/ESBServiceSample/HelloWorldPubServiceInOnly?wsdl");
 
 		StringRequestEntity requestEntity = new StringRequestEntity(soap);
 		postMethod.setRequestEntity(requestEntity);

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/spring_jpetstore/hsqldb/jpetstore.properties
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/spring_jpetstore/hsqldb/jpetstore.properties	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/spring_jpetstore/hsqldb/jpetstore.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,17 +1,17 @@
-#HSQL Database Engine
-#Sun Jun 03 15:08:34 EDT 2007
-hsqldb.script_format=0
-runtime.gc_interval=0
-sql.enforce_strict_size=false
-hsqldb.cache_size_scale=8
-readonly=false
-hsqldb.nio_data_file=true
-hsqldb.cache_scale=14
-version=1.8.0
-hsqldb.default_table_type=memory
-hsqldb.cache_file_scale=1
-hsqldb.log_size=200
-modified=yes
-hsqldb.cache_version=1.7.0
-hsqldb.original_version=1.8.0
-hsqldb.compatible_version=1.8.0
+#HSQL Database Engine
+#Wed Jul 08 13:43:11 BST 2009
+hsqldb.script_format=0
+runtime.gc_interval=0
+sql.enforce_strict_size=false
+hsqldb.cache_size_scale=8
+readonly=false
+hsqldb.nio_data_file=true
+hsqldb.cache_scale=14
+version=1.8.0
+hsqldb.default_table_type=memory
+hsqldb.cache_file_scale=1
+hsqldb.log_size=200
+modified=yes
+hsqldb.cache_version=1.7.0
+hsqldb.original_version=1.8.0
+hsqldb.compatible_version=1.8.0

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/spring_jpetstore/hsqldb/jpetstore.script
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/spring_jpetstore/hsqldb/jpetstore.script	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/spring_jpetstore/hsqldb/jpetstore.script	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,131 +1,133 @@
-CREATE SCHEMA PUBLIC AUTHORIZATION DBA
-CREATE MEMORY TABLE SUPPLIER(SUPPID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(80),STATUS VARCHAR(2) NOT NULL,ADDR1 VARCHAR(80),ADDR2 VARCHAR(80),CITY VARCHAR(80),STATE VARCHAR(80),ZIP VARCHAR(5),PHONE VARCHAR(80))
-CREATE MEMORY TABLE SIGNON(USERNAME VARCHAR(25) NOT NULL PRIMARY KEY,PASSWORD VARCHAR(25) NOT NULL)
-CREATE MEMORY TABLE ACCOUNT(USERID VARCHAR(80) NOT NULL PRIMARY KEY,EMAIL VARCHAR(80) NOT NULL,FIRSTNAME VARCHAR(80) NOT NULL,LASTNAME VARCHAR(80) NOT NULL,STATUS VARCHAR(2),ADDR1 VARCHAR(80) NOT NULL,ADDR2 VARCHAR(40),CITY VARCHAR(80) NOT NULL,STATE VARCHAR(80) NOT NULL,ZIP VARCHAR(20) NOT NULL,COUNTRY VARCHAR(20) NOT NULL,PHONE VARCHAR(80) NOT NULL)
-CREATE MEMORY TABLE PROFILE(USERID VARCHAR(80) NOT NULL PRIMARY KEY,LANGPREF VARCHAR(80) NOT NULL,FAVCATEGORY VARCHAR(30),MYLISTOPT INTEGER,BANNEROPT INTEGER)
-CREATE MEMORY TABLE BANNERDATA(FAVCATEGORY VARCHAR(80) NOT NULL PRIMARY KEY,BANNERNAME VARCHAR(255))
-CREATE MEMORY TABLE ORDERS(ORDERID INTEGER NOT NULL PRIMARY KEY,USERID VARCHAR(80) NOT NULL,ORDERDATE DATE NOT NULL,SHIPADDR1 VARCHAR(80) NOT NULL,SHIPADDR2 VARCHAR(80),SHIPCITY VARCHAR(80) NOT NULL,SHIPSTATE VARCHAR(80) NOT NULL,SHIPZIP VARCHAR(20) NOT NULL,SHIPCOUNTRY VARCHAR(20) NOT NULL,BILLADDR1 VARCHAR(80) NOT NULL,BILLADDR2 VARCHAR(80),BILLCITY VARCHAR(80) NOT NULL,BILLSTATE VARCHAR(80) NOT NULL,BILLZIP VARCHAR(20) NOT NULL,BILLCOUNTRY VARCHAR(20) NOT NULL,COURIER VARCHAR(80) NOT NULL,TOTALPRICE DECIMAL(10,2) NOT NULL,BILLTOFIRSTNAME VARCHAR(80) NOT NULL,BILLTOLASTNAME VARCHAR(80) NOT NULL,SHIPTOFIRSTNAME VARCHAR(80) NOT NULL,SHIPTOLASTNAME VARCHAR(80) NOT NULL,CREDITCARD VARCHAR(80) NOT NULL,EXPRDATE VARCHAR(7) NOT NULL,CARDTYPE VARCHAR(80) NOT NULL,LOCALE VARCHAR(80) NOT NULL)
-CREATE MEMORY TABLE ORDERSTATUS(ORDERID INTEGER NOT NULL,LINENUM INTEGER NOT NULL,TIMESTAMP DATE NOT NULL,STATUS VARCHAR(2) NOT NULL,CONSTRAINT PK_ORDERSTATUS PRIMARY KEY(ORDERID,LINENUM))
-CREATE MEMORY TABLE LINEITEM(ORDERID INTEGER NOT NULL,LINENUM INTEGER NOT NULL,ITEMID VARCHAR(10) NOT NULL,QUANTITY INTEGER NOT NULL,UNITPRICE DECIMAL(10,2) NOT NULL,CONSTRAINT PK_LINEITEM PRIMARY KEY(ORDERID,LINENUM))
-CREATE MEMORY TABLE CATEGORY(CATID VARCHAR(10) NOT NULL PRIMARY KEY,NAME VARCHAR(80),DESCN VARCHAR(255))
-CREATE MEMORY TABLE PRODUCT(PRODUCTID VARCHAR(10) NOT NULL PRIMARY KEY,CATEGORY VARCHAR(10) NOT NULL,NAME VARCHAR(80),DESCN VARCHAR(255),CONSTRAINT FK_PRODUCT_1 FOREIGN KEY(CATEGORY) REFERENCES CATEGORY(CATID))
-CREATE INDEX PRODUCTCAT ON PRODUCT(CATEGORY)
-CREATE INDEX PRODUCTNAME ON PRODUCT(NAME)
-CREATE MEMORY TABLE ITEM(ITEMID VARCHAR(10) NOT NULL PRIMARY KEY,PRODUCTID VARCHAR(10) NOT NULL,LISTPRICE DECIMAL(10,2),UNITCOST DECIMAL(10,2),SUPPLIER INTEGER,STATUS VARCHAR(2),ATTR1 VARCHAR(80),ATTR2 VARCHAR(80),ATTR3 VARCHAR(80),ATTR4 VARCHAR(80),ATTR5 VARCHAR(80),CONSTRAINT FK_ITEM_1 FOREIGN KEY(PRODUCTID) REFERENCES PRODUCT(PRODUCTID),CONSTRAINT FK_ITEM_2 FOREIGN KEY(SUPPLIER) REFERENCES SUPPLIER(SUPPID))
-CREATE INDEX ITEMPROD ON ITEM(PRODUCTID)
-CREATE MEMORY TABLE INVENTORY(ITEMID VARCHAR(10) NOT NULL PRIMARY KEY,QTY INTEGER NOT NULL)
-CREATE MEMORY TABLE SEQUENCE(NAME VARCHAR(30) NOT NULL PRIMARY KEY,NEXTID INTEGER NOT NULL)
-CREATE USER SA PASSWORD ""
-GRANT DBA TO SA
-SET WRITE_DELAY 60
-SET SCHEMA PUBLIC
-INSERT INTO SUPPLIER VALUES(1,'XYZ Pets','AC','600 Avon Way','','Los Angeles','CA','94024','212-947-0797')
-INSERT INTO SUPPLIER VALUES(2,'ABC Pets','AC','700 Abalone Way','','San Francisco ','CA','94024','415-947-0797')
-INSERT INTO SIGNON VALUES('ACID','ACID')
-INSERT INTO SIGNON VALUES('j2ee','j2ee')
-INSERT INTO ACCOUNT VALUES('ACID','acid at yourdomain.com','ABC','XYX','OK','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','94303','USA','555-555-5555')
-INSERT INTO ACCOUNT VALUES('j2ee','yourname at yourdomain.com','ABC','XYX','OK','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','94303','USA','555-555-5555')
-INSERT INTO PROFILE VALUES('ACID','english','CATS',1,1)
-INSERT INTO PROFILE VALUES('j2ee','english','DOGS',1,1)
-INSERT INTO BANNERDATA VALUES('BIRDS','<image src="../images/banner_birds.gif">')
-INSERT INTO BANNERDATA VALUES('CATS','<image src="../images/banner_cats.gif">')
-INSERT INTO BANNERDATA VALUES('DOGS','<image src="../images/banner_dogs.gif">')
-INSERT INTO BANNERDATA VALUES('FISH','<image src="../images/banner_fish.gif">')
-INSERT INTO BANNERDATA VALUES('REPTILES','<image src="../images/banner_reptiles.gif">')
-INSERT INTO ORDERS VALUES(1000,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES(1001,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES(1002,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES(1003,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES(1004,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES(1005,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES(1006,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES(1007,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES(1008,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.5,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERSTATUS VALUES(1000,1000,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1001,1001,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1002,1002,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1003,1003,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1004,1004,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1005,1005,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1006,1006,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1007,1007,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1008,1008,'2007-05-25','P')
-INSERT INTO CATEGORY VALUES('BIRDS','Birds','<image src="../images/birds_icon.gif"><font size="5" color="blue"> Birds</font>')
-INSERT INTO CATEGORY VALUES('CATS','Cats','<image src="../images/cats_icon.gif"><font size="5" color="blue"> Cats</font>')
-INSERT INTO CATEGORY VALUES('DOGS','Dogs','<image src="../images/dogs_icon.gif"><font size="5" color="blue"> Dogs</font>')
-INSERT INTO CATEGORY VALUES('FISH','Fish','<image src="../images/fish_icon.gif"><font size="5" color="blue"> Fish</font>')
-INSERT INTO CATEGORY VALUES('REPTILES','Reptiles','<image src="../images/reptiles_icon.gif"><font size="5" color="blue"> Reptiles</font>')
-INSERT INTO PRODUCT VALUES('AV-CB-01','BIRDS','Amazon Parrot','<image src="../images/bird4.gif">Great companion for up to 75 years')
-INSERT INTO PRODUCT VALUES('AV-SB-02','BIRDS','Finch','<image src="../images/bird1.gif">Great stress reliever')
-INSERT INTO PRODUCT VALUES('FI-FW-01','FISH','Koi','<image src="../images/fish3.gif">Fresh Water fish from Japan')
-INSERT INTO PRODUCT VALUES('FI-FW-02','FISH','Goldfish','<image src="../images/fish2.gif">Fresh Water fish from China')
-INSERT INTO PRODUCT VALUES('FI-SW-01','FISH','Angelfish','<image src="../images/fish1.jpg">Salt Water fish from Australia')
-INSERT INTO PRODUCT VALUES('FI-SW-02','FISH','Tiger Shark','<image src="../images/fish4.gif">Salt Water fish from Australia')
-INSERT INTO PRODUCT VALUES('FL-DLH-02','CATS','Persian','<image src="../images/cat1.gif">Friendly house cat, doubles as a princess')
-INSERT INTO PRODUCT VALUES('FL-DSH-01','CATS','Manx','<image src="../images/cat3.gif">Great for reducing mouse populations')
-INSERT INTO PRODUCT VALUES('K9-BD-01','DOGS','Bulldog','<image src="../images/dog2.gif">Friendly dog from England')
-INSERT INTO PRODUCT VALUES('K9-CW-01','DOGS','Chihuahua','<image src="../images/dog4.gif">Great companion dog')
-INSERT INTO PRODUCT VALUES('K9-DL-01','DOGS','Dalmation','<image src="../images/dog5.gif">Great dog for a Fire Station')
-INSERT INTO PRODUCT VALUES('K9-PO-02','DOGS','Poodle','<image src="../images/dog6.gif">Cute dog from France')
-INSERT INTO PRODUCT VALUES('K9-RT-01','DOGS','Golden Retriever','<image src="../images/dog1.gif">Great family dog')
-INSERT INTO PRODUCT VALUES('K9-RT-02','DOGS','Labrador Retriever','<image src="../images/dog5.gif">Great hunting dog')
-INSERT INTO PRODUCT VALUES('RP-LI-02','REPTILES','Iguana','<image src="../images/lizard2.gif">Friendly green friend')
-INSERT INTO PRODUCT VALUES('RP-SN-01','REPTILES','Rattlesnake','<image src="../images/lizard3.gif">Doubles as a watch dog')
-INSERT INTO ITEM VALUES('EST-1','FI-SW-01',16.50,10.00,1,'P','Large',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-10','K9-DL-01',18.50,12.00,1,'P','Spotted Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-11','RP-SN-01',18.50,12.00,1,'P','Venomless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-12','RP-SN-01',18.50,12.00,1,'P','Rattleless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-13','RP-LI-02',18.50,12.00,1,'P','Green Adult',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-14','FL-DSH-01',58.50,12.00,1,'P','Tailless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-15','FL-DSH-01',23.50,12.00,1,'P','With tail',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-16','FL-DLH-02',93.50,12.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-17','FL-DLH-02',93.50,12.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-18','AV-CB-01',193.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-19','AV-SB-02',15.50,2.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-2','FI-SW-01',16.50,10.00,1,'P','Small',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-20','FI-FW-02',5.50,2.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-21','FI-FW-02',5.29,1.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-22','K9-RT-02',135.50,100.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-23','K9-RT-02',145.49,100.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-24','K9-RT-02',255.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-25','K9-RT-02',325.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-26','K9-CW-01',125.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-27','K9-CW-01',155.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-28','K9-RT-01',155.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-3','FI-SW-02',18.50,12.00,1,'P','Toothless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-4','FI-FW-01',18.50,12.00,1,'P','Spotted',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-5','FI-FW-01',18.50,12.00,1,'P','Spotless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-6','K9-BD-01',18.50,12.00,1,'P','Male Adult',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-7','K9-BD-01',18.50,12.00,1,'P','Female Puppy',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-8','K9-PO-02',18.50,12.00,1,'P','Male Puppy',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-9','K9-DL-01',18.50,12.00,1,'P','Spotless Male Puppy',NULL,NULL,NULL,NULL)
-INSERT INTO INVENTORY VALUES('EST-1',10000)
-INSERT INTO INVENTORY VALUES('EST-10',10000)
-INSERT INTO INVENTORY VALUES('EST-11',10000)
-INSERT INTO INVENTORY VALUES('EST-12',10000)
-INSERT INTO INVENTORY VALUES('EST-13',10000)
-INSERT INTO INVENTORY VALUES('EST-14',10000)
-INSERT INTO INVENTORY VALUES('EST-15',10000)
-INSERT INTO INVENTORY VALUES('EST-16',10000)
-INSERT INTO INVENTORY VALUES('EST-17',10000)
-INSERT INTO INVENTORY VALUES('EST-18',10000)
-INSERT INTO INVENTORY VALUES('EST-19',10000)
-INSERT INTO INVENTORY VALUES('EST-2',10000)
-INSERT INTO INVENTORY VALUES('EST-20',10000)
-INSERT INTO INVENTORY VALUES('EST-21',10000)
-INSERT INTO INVENTORY VALUES('EST-22',10000)
-INSERT INTO INVENTORY VALUES('EST-23',10000)
-INSERT INTO INVENTORY VALUES('EST-24',10000)
-INSERT INTO INVENTORY VALUES('EST-25',10000)
-INSERT INTO INVENTORY VALUES('EST-26',10000)
-INSERT INTO INVENTORY VALUES('EST-27',10000)
-INSERT INTO INVENTORY VALUES('EST-28',10000)
-INSERT INTO INVENTORY VALUES('EST-3',10000)
-INSERT INTO INVENTORY VALUES('EST-4',10000)
-INSERT INTO INVENTORY VALUES('EST-5',10000)
-INSERT INTO INVENTORY VALUES('EST-6',10000)
-INSERT INTO INVENTORY VALUES('EST-7',10000)
-INSERT INTO INVENTORY VALUES('EST-8',10000)
-INSERT INTO INVENTORY VALUES('EST-9',10000)
-INSERT INTO SEQUENCE VALUES('linenum',1000)
-INSERT INTO SEQUENCE VALUES('ordernum',1009)
+CREATE SCHEMA PUBLIC AUTHORIZATION DBA
+CREATE MEMORY TABLE SUPPLIER(SUPPID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(80),STATUS VARCHAR(2) NOT NULL,ADDR1 VARCHAR(80),ADDR2 VARCHAR(80),CITY VARCHAR(80),STATE VARCHAR(80),ZIP VARCHAR(5),PHONE VARCHAR(80))
+CREATE MEMORY TABLE SIGNON(USERNAME VARCHAR(25) NOT NULL PRIMARY KEY,PASSWORD VARCHAR(25) NOT NULL)
+CREATE MEMORY TABLE ACCOUNT(USERID VARCHAR(80) NOT NULL PRIMARY KEY,EMAIL VARCHAR(80) NOT NULL,FIRSTNAME VARCHAR(80) NOT NULL,LASTNAME VARCHAR(80) NOT NULL,STATUS VARCHAR(2),ADDR1 VARCHAR(80) NOT NULL,ADDR2 VARCHAR(40),CITY VARCHAR(80) NOT NULL,STATE VARCHAR(80) NOT NULL,ZIP VARCHAR(20) NOT NULL,COUNTRY VARCHAR(20) NOT NULL,PHONE VARCHAR(80) NOT NULL)
+CREATE MEMORY TABLE PROFILE(USERID VARCHAR(80) NOT NULL PRIMARY KEY,LANGPREF VARCHAR(80) NOT NULL,FAVCATEGORY VARCHAR(30),MYLISTOPT INTEGER,BANNEROPT INTEGER)
+CREATE MEMORY TABLE BANNERDATA(FAVCATEGORY VARCHAR(80) NOT NULL PRIMARY KEY,BANNERNAME VARCHAR(255))
+CREATE MEMORY TABLE ORDERS(ORDERID INTEGER NOT NULL PRIMARY KEY,USERID VARCHAR(80) NOT NULL,ORDERDATE DATE NOT NULL,SHIPADDR1 VARCHAR(80) NOT NULL,SHIPADDR2 VARCHAR(80),SHIPCITY VARCHAR(80) NOT NULL,SHIPSTATE VARCHAR(80) NOT NULL,SHIPZIP VARCHAR(20) NOT NULL,SHIPCOUNTRY VARCHAR(20) NOT NULL,BILLADDR1 VARCHAR(80) NOT NULL,BILLADDR2 VARCHAR(80),BILLCITY VARCHAR(80) NOT NULL,BILLSTATE VARCHAR(80) NOT NULL,BILLZIP VARCHAR(20) NOT NULL,BILLCOUNTRY VARCHAR(20) NOT NULL,COURIER VARCHAR(80) NOT NULL,TOTALPRICE DECIMAL(10,2) NOT NULL,BILLTOFIRSTNAME VARCHAR(80) NOT NULL,BILLTOLASTNAME VARCHAR(80) NOT NULL,SHIPTOFIRSTNAME VARCHAR(80) NOT NULL,SHIPTOLASTNAME VARCHAR(80) NOT NULL,CREDITCARD VARCHAR(80) NOT NULL,EXPRDATE VARCHAR(7) NOT NULL,CARDTYPE VARCHAR(80) NOT NULL,LOCALE VARCHAR(80) NOT NULL)
+CREATE MEMORY TABLE ORDERSTATUS(ORDERID INTEGER NOT NULL,LINENUM INTEGER NOT NULL,TIMESTAMP DATE NOT NULL,STATUS VARCHAR(2) NOT NULL,CONSTRAINT PK_ORDERSTATUS PRIMARY KEY(ORDERID,LINENUM))
+CREATE MEMORY TABLE LINEITEM(ORDERID INTEGER NOT NULL,LINENUM INTEGER NOT NULL,ITEMID VARCHAR(10) NOT NULL,QUANTITY INTEGER NOT NULL,UNITPRICE DECIMAL(10,2) NOT NULL,CONSTRAINT PK_LINEITEM PRIMARY KEY(ORDERID,LINENUM))
+CREATE MEMORY TABLE CATEGORY(CATID VARCHAR(10) NOT NULL PRIMARY KEY,NAME VARCHAR(80),DESCN VARCHAR(255))
+CREATE MEMORY TABLE PRODUCT(PRODUCTID VARCHAR(10) NOT NULL PRIMARY KEY,CATEGORY VARCHAR(10) NOT NULL,NAME VARCHAR(80),DESCN VARCHAR(255),CONSTRAINT FK_PRODUCT_1 FOREIGN KEY(CATEGORY) REFERENCES CATEGORY(CATID))
+CREATE INDEX PRODUCTCAT ON PRODUCT(CATEGORY)
+CREATE INDEX PRODUCTNAME ON PRODUCT(NAME)
+CREATE MEMORY TABLE ITEM(ITEMID VARCHAR(10) NOT NULL PRIMARY KEY,PRODUCTID VARCHAR(10) NOT NULL,LISTPRICE DECIMAL(10,2),UNITCOST DECIMAL(10,2),SUPPLIER INTEGER,STATUS VARCHAR(2),ATTR1 VARCHAR(80),ATTR2 VARCHAR(80),ATTR3 VARCHAR(80),ATTR4 VARCHAR(80),ATTR5 VARCHAR(80),CONSTRAINT FK_ITEM_1 FOREIGN KEY(PRODUCTID) REFERENCES PRODUCT(PRODUCTID),CONSTRAINT FK_ITEM_2 FOREIGN KEY(SUPPLIER) REFERENCES SUPPLIER(SUPPID))
+CREATE INDEX ITEMPROD ON ITEM(PRODUCTID)
+CREATE MEMORY TABLE INVENTORY(ITEMID VARCHAR(10) NOT NULL PRIMARY KEY,QTY INTEGER NOT NULL)
+CREATE MEMORY TABLE SEQUENCE(NAME VARCHAR(30) NOT NULL PRIMARY KEY,NEXTID INTEGER NOT NULL)
+CREATE USER SA PASSWORD ""
+GRANT DBA TO SA
+SET WRITE_DELAY 60
+SET SCHEMA PUBLIC
+INSERT INTO SUPPLIER VALUES(1,'XYZ Pets','AC','600 Avon Way','','Los Angeles','CA','94024','212-947-0797')
+INSERT INTO SUPPLIER VALUES(2,'ABC Pets','AC','700 Abalone Way','','San Francisco ','CA','94024','415-947-0797')
+INSERT INTO SIGNON VALUES('ACID','ACID')
+INSERT INTO SIGNON VALUES('j2ee','j2ee')
+INSERT INTO ACCOUNT VALUES('ACID','acid at yourdomain.com','ABC','XYX','OK','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','94303','USA','555-555-5555')
+INSERT INTO ACCOUNT VALUES('j2ee','yourname at yourdomain.com','ABC','XYX','OK','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','94303','USA','555-555-5555')
+INSERT INTO PROFILE VALUES('ACID','english','CATS',1,1)
+INSERT INTO PROFILE VALUES('j2ee','english','DOGS',1,1)
+INSERT INTO BANNERDATA VALUES('BIRDS','<image src="../images/banner_birds.gif">')
+INSERT INTO BANNERDATA VALUES('CATS','<image src="../images/banner_cats.gif">')
+INSERT INTO BANNERDATA VALUES('DOGS','<image src="../images/banner_dogs.gif">')
+INSERT INTO BANNERDATA VALUES('FISH','<image src="../images/banner_fish.gif">')
+INSERT INTO BANNERDATA VALUES('REPTILES','<image src="../images/banner_reptiles.gif">')
+INSERT INTO ORDERS VALUES(1000,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1001,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1002,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1003,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1004,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1005,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1006,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1007,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.23,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1008,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',22.5,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES(1009,'j2ee','2007-05-25','123 Way','hoaky drive','Los Angelos','CA','30253','USA','123 Way','hoaky drive','Los Angelos','CA','30253','USA','UPS',32.5,'James','Williams','James','Williams','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERSTATUS VALUES(1000,1000,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1001,1001,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1002,1002,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1003,1003,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1004,1004,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1005,1005,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1006,1006,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1007,1007,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1008,1008,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1009,1009,'2007-05-25','P')
+INSERT INTO CATEGORY VALUES('BIRDS','Birds','<image src="../images/birds_icon.gif"><font size="5" color="blue"> Birds</font>')
+INSERT INTO CATEGORY VALUES('CATS','Cats','<image src="../images/cats_icon.gif"><font size="5" color="blue"> Cats</font>')
+INSERT INTO CATEGORY VALUES('DOGS','Dogs','<image src="../images/dogs_icon.gif"><font size="5" color="blue"> Dogs</font>')
+INSERT INTO CATEGORY VALUES('FISH','Fish','<image src="../images/fish_icon.gif"><font size="5" color="blue"> Fish</font>')
+INSERT INTO CATEGORY VALUES('REPTILES','Reptiles','<image src="../images/reptiles_icon.gif"><font size="5" color="blue"> Reptiles</font>')
+INSERT INTO PRODUCT VALUES('AV-CB-01','BIRDS','Amazon Parrot','<image src="../images/bird4.gif">Great companion for up to 75 years')
+INSERT INTO PRODUCT VALUES('AV-SB-02','BIRDS','Finch','<image src="../images/bird1.gif">Great stress reliever')
+INSERT INTO PRODUCT VALUES('FI-FW-01','FISH','Koi','<image src="../images/fish3.gif">Fresh Water fish from Japan')
+INSERT INTO PRODUCT VALUES('FI-FW-02','FISH','Goldfish','<image src="../images/fish2.gif">Fresh Water fish from China')
+INSERT INTO PRODUCT VALUES('FI-SW-01','FISH','Angelfish','<image src="../images/fish1.jpg">Salt Water fish from Australia')
+INSERT INTO PRODUCT VALUES('FI-SW-02','FISH','Tiger Shark','<image src="../images/fish4.gif">Salt Water fish from Australia')
+INSERT INTO PRODUCT VALUES('FL-DLH-02','CATS','Persian','<image src="../images/cat1.gif">Friendly house cat, doubles as a princess')
+INSERT INTO PRODUCT VALUES('FL-DSH-01','CATS','Manx','<image src="../images/cat3.gif">Great for reducing mouse populations')
+INSERT INTO PRODUCT VALUES('K9-BD-01','DOGS','Bulldog','<image src="../images/dog2.gif">Friendly dog from England')
+INSERT INTO PRODUCT VALUES('K9-CW-01','DOGS','Chihuahua','<image src="../images/dog4.gif">Great companion dog')
+INSERT INTO PRODUCT VALUES('K9-DL-01','DOGS','Dalmation','<image src="../images/dog5.gif">Great dog for a Fire Station')
+INSERT INTO PRODUCT VALUES('K9-PO-02','DOGS','Poodle','<image src="../images/dog6.gif">Cute dog from France')
+INSERT INTO PRODUCT VALUES('K9-RT-01','DOGS','Golden Retriever','<image src="../images/dog1.gif">Great family dog')
+INSERT INTO PRODUCT VALUES('K9-RT-02','DOGS','Labrador Retriever','<image src="../images/dog5.gif">Great hunting dog')
+INSERT INTO PRODUCT VALUES('RP-LI-02','REPTILES','Iguana','<image src="../images/lizard2.gif">Friendly green friend')
+INSERT INTO PRODUCT VALUES('RP-SN-01','REPTILES','Rattlesnake','<image src="../images/lizard3.gif">Doubles as a watch dog')
+INSERT INTO ITEM VALUES('EST-1','FI-SW-01',16.50,10.00,1,'P','Large',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-10','K9-DL-01',18.50,12.00,1,'P','Spotted Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-11','RP-SN-01',18.50,12.00,1,'P','Venomless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-12','RP-SN-01',18.50,12.00,1,'P','Rattleless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-13','RP-LI-02',18.50,12.00,1,'P','Green Adult',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-14','FL-DSH-01',58.50,12.00,1,'P','Tailless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-15','FL-DSH-01',23.50,12.00,1,'P','With tail',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-16','FL-DLH-02',93.50,12.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-17','FL-DLH-02',93.50,12.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-18','AV-CB-01',193.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-19','AV-SB-02',15.50,2.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-2','FI-SW-01',16.50,10.00,1,'P','Small',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-20','FI-FW-02',5.50,2.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-21','FI-FW-02',5.29,1.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-22','K9-RT-02',135.50,100.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-23','K9-RT-02',145.49,100.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-24','K9-RT-02',255.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-25','K9-RT-02',325.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-26','K9-CW-01',125.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-27','K9-CW-01',155.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-28','K9-RT-01',155.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-3','FI-SW-02',18.50,12.00,1,'P','Toothless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-4','FI-FW-01',18.50,12.00,1,'P','Spotted',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-5','FI-FW-01',18.50,12.00,1,'P','Spotless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-6','K9-BD-01',18.50,12.00,1,'P','Male Adult',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-7','K9-BD-01',18.50,12.00,1,'P','Female Puppy',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-8','K9-PO-02',18.50,12.00,1,'P','Male Puppy',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-9','K9-DL-01',18.50,12.00,1,'P','Spotless Male Puppy',NULL,NULL,NULL,NULL)
+INSERT INTO INVENTORY VALUES('EST-1',10000)
+INSERT INTO INVENTORY VALUES('EST-10',10000)
+INSERT INTO INVENTORY VALUES('EST-11',10000)
+INSERT INTO INVENTORY VALUES('EST-12',10000)
+INSERT INTO INVENTORY VALUES('EST-13',10000)
+INSERT INTO INVENTORY VALUES('EST-14',10000)
+INSERT INTO INVENTORY VALUES('EST-15',10000)
+INSERT INTO INVENTORY VALUES('EST-16',10000)
+INSERT INTO INVENTORY VALUES('EST-17',10000)
+INSERT INTO INVENTORY VALUES('EST-18',10000)
+INSERT INTO INVENTORY VALUES('EST-19',10000)
+INSERT INTO INVENTORY VALUES('EST-2',10000)
+INSERT INTO INVENTORY VALUES('EST-20',10000)
+INSERT INTO INVENTORY VALUES('EST-21',10000)
+INSERT INTO INVENTORY VALUES('EST-22',10000)
+INSERT INTO INVENTORY VALUES('EST-23',10000)
+INSERT INTO INVENTORY VALUES('EST-24',10000)
+INSERT INTO INVENTORY VALUES('EST-25',10000)
+INSERT INTO INVENTORY VALUES('EST-26',10000)
+INSERT INTO INVENTORY VALUES('EST-27',10000)
+INSERT INTO INVENTORY VALUES('EST-28',10000)
+INSERT INTO INVENTORY VALUES('EST-3',10000)
+INSERT INTO INVENTORY VALUES('EST-4',10000)
+INSERT INTO INVENTORY VALUES('EST-5',10000)
+INSERT INTO INVENTORY VALUES('EST-6',10000)
+INSERT INTO INVENTORY VALUES('EST-7',10000)
+INSERT INTO INVENTORY VALUES('EST-8',10000)
+INSERT INTO INVENTORY VALUES('EST-9',10000)
+INSERT INTO SEQUENCE VALUES('linenum',1000)
+INSERT INTO SEQUENCE VALUES('ordernum',1010)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_consumer_wise/wise-core.properties
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_consumer_wise/wise-core.properties	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_consumer_wise/wise-core.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,4 +1,4 @@
-wise.tmpDir=/home/oracle/wise
+wise.tmpDir=/zap
 wise.forceImportObject=true
 wise.keepGeneratedSources=true
 wise.wsImporter.verbose=true

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/build.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -16,12 +16,12 @@
 
     <target name="quickstart-specific-predeploys">
 		<copy todir="${org.jboss.esb.server.deploy.dir}"
-			file="build/predeploy/${ant.project.name}.war"/>
+			file="build/predeploy/${ant.project.name}_ws.war"/>
 		<sleep seconds="3"/>
 	</target>
 
     <target name="quickstart-specific-undeploys">
-		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}.war"/>
+		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}_ws.war"/>
 	</target>
 
     <target name="makewar" description="make war">
@@ -36,7 +36,7 @@
 
         <!-- War... -->
 		<mkdir dir="build/predeploy"/>
-        <war warfile="build/predeploy/${ant.project.name}.war"
+        <war warfile="build/predeploy/${ant.project.name}_ws.war"
              webxml="${basedir}/war/resources/WEB-INF/web.xml">
             <webinf dir="${basedir}/war/resources/WEB-INF">
                 <include name="jboss-web.xml"/>
@@ -69,15 +69,15 @@
 
 	<target name="runws">
 		<echo>Calling JBossWS webservice directly.</echo>
-		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_basic/HelloWorldWS"/>
+		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_basic_ws/HelloWorldWS"/>
 		<antcall target="runinternal"/>
 	</target>
 
-	<target name="runjbr">
-		<echo>Calling JBossWS webservice via JBossRemotingGatewayListener and SOAPProxy.</echo>
-		<property name="runtest.arg.url" value="http://localhost:9090"/>
+	<target name="runhttp">
+		<echo>Calling JBossWS webservice via HttpGatewayListener and SOAPProxy.</echo>
+		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_basic/http/Proxy_Basic/Proxy"/>
 		<antcall target="runinternal"/>
 	</target>
-	<target name="runtest" depends="runjbr"/>
+	<target name="runtest" depends="runhttp"/>
 
 </project>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/jboss-esb.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/jboss-esb.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,21 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.1.0.xsd" parameterReloadSecs="5">
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
 
-	<providers>
-		<jbr-provider name="JBR-PROVIDER" protocol="http" host="localhost">
-			<jbr-bus busid="JBR-BUS" port="9090"/>
-		</jbr-provider>
-	</providers>
-
 	<services>
 		<service category="Proxy_Basic" name="Proxy"
 				 description="Basic WebService Proxy"
-				 invmScope="GLOBAL" >
+				 invmScope="GLOBAL">
 			<listeners>
-				<jbr-listener name="JBR-GATEWAY"
-					busidref="JBR-BUS"
-					is-gateway="true"
-				/>
+				<http-gateway name="Proxy_Basic-GwListener" />
 			</listeners>
 			<actions mep="RequestResponse">
 				<action name="echo-request"
@@ -24,7 +15,7 @@
 				</action>
 				<action name="proxy"
 						class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
-						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_basic/HelloWorldWS?wsdl"/>
+						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_basic_ws/HelloWorldWS?wsdl"/>
 				</action>
 				<action name="echo-response"
 						class="org.jboss.soa.esb.actions.SystemPrintln">

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/readme.txt
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/readme.txt	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/readme.txt	2009-09-18 07:13:08 UTC (rev 29400)
@@ -26,11 +26,11 @@
   'runws' target description:
   - This simply calls the target JBossWS webservice directly.
   - The request url is: http://localhost:8080/Quickstart_webservice_proxy_basic/HelloWorldWS
-  - Running it will create output similar to the runjbr output below.
+  - Running it will create output similar to the runhttp output below.
   
-  'runjbr' (alias 'runtest') target description:
+  'runhttp' (alias 'runtest') target description:
   - This will exercise the target webservice *via* the SOAPProxy, first going
-	through a JBoss Remoting Gateway Listener.
+	through a Http Gateway Listener.
   - The request url is: http://localhost:9090
   - Running it will create output like this in the server console:
 
@@ -66,7 +66,7 @@
 Project file descriptions:
 ==========================
 	jboss-esb.xml:
-	A JBoss Remoting Gateway Listener accepts the incoming HTTP call makes it available to the
+	A Http Gateway Listener accepts the incoming HTTP call makes it available to the
 	Proxy_Basic/Proxy service, who has a message exchange pattern of RequestResponse.  In the
 	action chain, there are 3 actions:
 	1) echo out the incoming SOAP request,
@@ -95,9 +95,8 @@
 		passes in and argument representing the *ORIGINAL* webservice endpoint
 		and an argument representing the string-based message to invoke the webservice with. 
 
-	*	the runjbr (also runtest) task calls the
+	*	the runhttp (also runtest) task calls the
 		org.jboss.soa.esb.samples.quickstart.webservice_proxy_basic.test.SendWSMessage class and
-		passes in and argument representing the *PROXIED* webservice endpoint (via JBoss Remoting)
+		passes in and argument representing the *PROXIED* webservice endpoint (via HTTP)
 		and an argument representing the string-based message to invoke the webservice with. 
 
-

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_basic/test/SendWSMessage.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_basic/test/SendWSMessage.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_basic/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_basic/test/SendWSMessage.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -55,8 +55,7 @@
 			// for testing main method from Eclipse (build.xml passes these args in)
 			args = new String[2];
 			//args[0] = "http://localhost:8080/Quickstart_webservice_proxy_basic/HelloWorldWS"; // original ws ("ant runws")
-			args[0] = "http://localhost:9090"; // proxy via jbr gateway ("ant runjbr" or "ant runtest")
-			//args[0] = "http://localhost:9999/Proxy_Basic/HelloWorldWS/"; // proxy via http gateway ("ant runhttp")
+			args[0] = "http://localhost:8080/Quickstart_webservice_proxy_basic/http/Proxy_Basic/Proxy"; // proxy via jbr gateway ("ant runhttp" or "ant runtest")
 			args[1] = System.getProperty("user.name");
 		}
 		

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/Proxy_Routed_Rules.drl
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/Proxy_Routed_Rules.drl	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/Proxy_Routed_Rules.drl	2009-09-18 07:13:08 UTC (rev 29400)
@@ -8,19 +8,17 @@
 global java.util.List destinations;
 
 rule "Hello Routing Rule"
-	
 	when
 		xpathMatch expr "/soapenv:Envelope/soapenv:Body/hello:sayHello" use namespaces "soapenv=http://schemas.xmlsoap.org/soap/envelope/,hello=http://webservice_proxy_routed/hello"
-	then 
-	    Log : "Routing to Hello...";
+	then
+		Log : "Routing to Hello...";
 		Destination : "hello";
-		
 end
 
 rule "Goodbye Routing Rule"
-    when
+	when
 		xpathMatch expr "/soapenv:Envelope/soapenv:Body/goodbye:sayGoodbye" use namespaces "soapenv=http://schemas.xmlsoap.org/soap/envelope/,goodbye=http://webservice_proxy_routed/goodbye"
-    then
-	    Log : "Routing to Goodbye...";
+	then
+		Log : "Routing to Goodbye...";
 		Destination : "goodbye";
 end

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/build.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -18,12 +18,12 @@
 
     <target name="quickstart-specific-predeploys">
 		<copy todir="${org.jboss.esb.server.deploy.dir}"
-			file="build/predeploy/${ant.project.name}.war"/>
+			file="build/predeploy/${ant.project.name}-ws.war"/>
 		<sleep seconds="3"/>
 	</target>
 
     <target name="quickstart-specific-undeploys">
-		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}.war"/>
+		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}-ws.war"/>
 	</target>
 
     <target name="makewar" description="make war">
@@ -38,7 +38,7 @@
 
         <!-- War... -->
 		<mkdir dir="build/predeploy"/>
-        <war warfile="build/predeploy/${ant.project.name}.war"
+        <war warfile="build/predeploy/${ant.project.name}-ws.war"
              webxml="${basedir}/war/resources/WEB-INF/web.xml">
             <webinf dir="${basedir}/war/resources/WEB-INF">
                 <include name="jboss-web.xml"/>
@@ -71,16 +71,16 @@
 	 </target>  
 
 	<target name="runhello">
-		<echo>Calling hello JBossWS webservice via JBossRemotingGatewayListener and SOAPProxy.</echo>
-		<property name="runtest.arg.url" value="http://localhost:9090"/>
+		<echo>Calling hello JBossWS webservice via Http Gateway and SOAPProxy.</echo>
+		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_routed/http/Proxy_Routed/Proxy_CBR"/>
 		<property name="runtest.arg.msg" value="hello"/>
 		<antcall target="runinternal"/>
 	</target>
 	<target name="runtest" depends="runhello"/>
 
 	<target name="rungoodbye">
-		<echo>Calling goodbye JBossWS webservice via JBossRemotingGatewayListener and SOAPProxy.</echo>
-		<property name="runtest.arg.url" value="http://localhost:9090"/>
+		<echo>Calling goodbye JBossWS webservice via Http Gateway and SOAPProxy.</echo>
+		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_routed/http/Proxy_Routed/Proxy_CBR"/>
 		<property name="runtest.arg.msg" value="goodbye"/>
 		<antcall target="runinternal"/>
 	</target>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/deployment.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/deployment.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/deployment.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -5,6 +5,7 @@
 	<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_proxy_routed_cbr_esb_reply</depends>
 	<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_proxy_routed_hello_esb</depends>
 	<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_proxy_routed_hello_esb_reply</depends>
+	<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_proxy_routed_goodbye_esb</depends>
 	<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_proxy_routed_goodbye_esb_reply</depends>
 </jbossesb-deployment>
 

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/jboss-esb.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/jboss-esb.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,12 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.1.0.xsd" parameterReloadSecs="5">
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
 
 	<providers>
 
-		<jbr-provider name="JBossRemoting" protocol="http" host="localhost">
-			<jbr-bus busid="Proxy_CBR-GwChannel" port="9090"/>
-		</jbr-provider>
-
 		<jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
 			<jms-bus busid="Proxy_CBR-EsbChannel">
 				<jms-message-filter
@@ -35,11 +31,7 @@
 		<service category="Proxy_Routed" name="Proxy_CBR"
 				 description="Routed WebService Proxy: CBR">
 			<listeners>
-				<jbr-listener
-					name="Proxy_CBR-GwListener"
-					busidref="Proxy_CBR-GwChannel"
-					is-gateway="true"
-				/>
+				<http-gateway name="Proxy_CBR-GwListener"/>
 				<jms-listener
 					name="Proxy_CBR-EsbListener"
 					busidref="Proxy_CBR-EsbChannel"
@@ -83,7 +75,7 @@
 				</action>
 				<action name="proxy_hello_proxy"
 						class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
-						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_routed/HelloWS?wsdl"/>
+						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_routed-ws/HelloWS?wsdl"/>
 				</action>
 				<action name="proxy_hello_echo_response"
 						class="org.jboss.soa.esb.actions.SystemPrintln">
@@ -107,7 +99,7 @@
 				</action>
 				<action name="proxy_goodbye_proxy"
 						class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
-						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_routed/GoodbyeWS?wsdl"/>
+						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_routed-ws/GoodbyeWS?wsdl"/>
 				</action>
 				<action name="proxy_goodbye_echo_response"
 						class="org.jboss.soa.esb.actions.SystemPrintln">

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/readme.txt
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/readme.txt	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/readme.txt	2009-09-18 07:13:08 UTC (rev 29400)
@@ -29,7 +29,7 @@
 
   'runhello' (alias 'runtest') target description:
   - This will exercise the Hello webservice *via* a SOAPProxy, first going
-	through a JBoss Remoting Gateway Listener, then a ContentBasedRouter
+	through a Http Gateway Listener, then a ContentBasedRouter
 	to know whih proxied web service to invoke, which in this case is HelloWS.
   - The request url is: http://localhost:9090
   - Running it will create output like this in the server console:
@@ -67,7 +67,7 @@
 
   'rungoodbye' target description:
   - This will exercise the Goodbye webservice *via* a SOAPProxy, first going
-	through a JBoss Remoting Gateway Listener, then a ContentBasedRouter
+	through a Http Gateway Listener, then a ContentBasedRouter
 	to know whih proxied web service to invoke, which in this case is GoodbyeWS.
   - The request url is: http://localhost:9090
   - Running it will create output like this in the server console:
@@ -106,7 +106,7 @@
 Project file descriptions:
 ==========================
 	jboss-esb.xml:
-	A JBoss Remoting Gateway Listener accepts the incoming HTTP call makes it available to the
+	A Http Gateway Listener accepts the incoming HTTP call makes it available to the
 	Proxy_Routed/Proxy_CBR service, who uses a ContentBasedRouter configured with a drools rules
 	file.
 	
@@ -127,7 +127,7 @@
 
 	*	the runhello (also runtest) task calls the
 		org.jboss.soa.esb.samples.quickstart.webservice_proxy_routed.test.SendWSMessage class and
-		passes in and argument representing the *PROXIED* webservice endpoint (via JBoss Remoting)
+		passes in and argument representing the *PROXIED* webservice endpoint (via HTTP)
 		and an argument representing the string-based message to invoke the webservice with. 
 		SendWSMessage will submit a soap request which the CBR will determine to route to the proxied
 		(via SOAPProxy) HelloWS.

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_routed/test/SendWSMessage.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_routed/test/SendWSMessage.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_routed/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_routed/test/SendWSMessage.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -67,7 +67,7 @@
 		{
 			// for testing main method from Eclipse (build.xml passes these args in)
 			args = new String[3];
-			args[0] = "http://localhost:9090"; // proxy via jbr gateway ("ant runhello" or "ant rungoodbye")
+			args[0] = "http://localhost:8080/Quickstart_webservice_proxy_routed/http/Proxy_Routed/Proxy_CBR"; // proxy via http gateway ("ant runhello" or "ant rungoodbye")
 			args[1] = System.getProperty("user.name");
 			args[2] = "hello";
 		}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/build.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -16,12 +16,12 @@
 
     <target name="quickstart-specific-predeploys">
 		<copy todir="${org.jboss.esb.server.deploy.dir}"
-			file="build/predeploy/${ant.project.name}.war"/>
+			file="build/predeploy/webservice_proxy_security.war"/>
 		<sleep seconds="3"/>
 	</target>
 
     <target name="quickstart-specific-undeploys">
-		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}.war"/>
+		<delete file="${org.jboss.esb.server.deploy.dir}/webservice_proxy_security.war"/>
 	</target>
 
     <target name="genkey">
@@ -54,18 +54,12 @@
             </filterset>
         </copy>
 
-        <copy file="httpclient-jbossws-8443.properties" todir="${build.dir}/META-INF">
+        <copy file="httpclient-8443.properties" todir="${build.dir}/META-INF">
             <filterset>
                 <filter token="keystore" value="${keystoredir}" />
             </filterset>
         </copy>
 
-        <copy file="httpclient-httpgateway-9443.properties" todir="${build.dir}">
-            <filterset>
-                <filter token="keystore" value="${keystoredir}" />
-            </filterset>
-        </copy>
-
         <copy file="server-template.xml" tofile="${build.dir}/server.xml">
             <filterset>
                 <filter token="keystore" value="${keystoredir}" />
@@ -89,7 +83,7 @@
 
         <!-- War... -->
 		<mkdir dir="build/predeploy"/>
-        <war warfile="build/predeploy/${ant.project.name}.war"
+        <war warfile="build/predeploy/webservice_proxy_security.war"
              webxml="${basedir}/war/resources/WEB-INF/web.xml">
             <webinf dir="${basedir}/war/resources/WEB-INF">
                 <include name="jboss-web.xml"/>
@@ -116,22 +110,20 @@
 	    <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.webservice_proxy_security.test.SendWSMessage" failonerror="true">
 			<arg value="${runtest.arg.url}"/>
 	    	<arg value="${user.name}"/>
-			<arg value="${runtest.arg.http}"/>
+			<arg value="${build.dir}/META-INF/httpclient-8443.properties"/>
 			<classpath refid="exec-classpath"/>
 	    </java>
 	 </target>  
 
 	<target name="runws" depends="compile">
 		<echo>Calling JBossWS webservice directly.</echo>
-		<property name="runtest.arg.url" value="https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS"/>
-	    <property name="runtest.arg.http" value="${build.dir}/META-INF/httpclient-jbossws-8443.properties"/>
+		<property name="runtest.arg.url" value="https://localhost:8443/webservice_proxy_security/HelloWorldWS"/>
 		<antcall target="runinternal"/>
 	 </target>  
 
 	<target name="runhttps" depends="compile">
-		<echo>Calling JBossWS webservice via HttpsGatewayListener and SOAPProxy.</echo>
-		<property name="runtest.arg.url" value="https://localhost:9443/Proxy_Security/HelloWorldWS/"/>
-	    <property name="runtest.arg.http" value="${build.dir}/httpclient-httpgateway-9443.properties"/>
+		<echo>Calling JBossWS webservice via HttpGatewayListener and SOAPProxy.</echo>
+		<property name="runtest.arg.url" value="https://localhost:8443/Quickstart_webservice_proxy_security/http/ProxyWS"/>
 		<antcall target="runinternal"/>
 	 </target>  
 	<target name="runtest" depends="runhttps"/>

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties (from rev 29337, labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-8443.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,27 @@
+# See: 
+# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpRouter and
+# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpClientFactory
+
+# Configurators
+configurators=HttpProtocol,AuthBASIC
+
+# HttpProtocol config
+#protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.StrictSSLProtocolSocketFactory
+protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory
+#protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder
+#protocol-socket-factory=org.jboss.soa.esb.http.protocol.AuthSSLProtocolSocketFactoryBuilder
+keystore=@keystore@
+keystore-passw=webservice_proxy_security_pass
+truststore=@keystore@
+truststore-passw=webservice_proxy_security_pass
+
+# Connection config
+#max-connections-per-host=5
+
+# AuthBASIC config
+auth-username=kermit
+auth-password=thefrog
+authscope-host=localhost
+authscope-port=8443
+authscope-realm=webservice_proxy_security
+

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,17 +0,0 @@
-# See:
-# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpRouter and
-# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpClientFactory
-
-# Configurators
-configurators=HttpProtocol
-
-# HttpProtocol config
-#protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.StrictSSLProtocolSocketFactory
-protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory
-#protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder
-#protocol-socket-factory=org.jboss.soa.esb.http.protocol.AuthSSLProtocolSocketFactoryBuilder
-keystore=@keystore@
-keystore-passw=webservice_proxy_security_pass
-truststore=@keystore@
-truststore-passw=webservice_proxy_security_pass
-

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,27 +0,0 @@
-# See: 
-# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpRouter and
-# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpClientFactory
-
-# Configurators
-configurators=HttpProtocol,AuthBASIC
-
-# HttpProtocol config
-#protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.StrictSSLProtocolSocketFactory
-protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory
-#protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder
-#protocol-socket-factory=org.jboss.soa.esb.http.protocol.AuthSSLProtocolSocketFactoryBuilder
-keystore=@keystore@
-keystore-passw=webservice_proxy_security_pass
-truststore=@keystore@
-truststore-passw=webservice_proxy_security_pass
-
-# Connection config
-#max-connections-per-host=5
-
-# AuthBASIC config
-auth-username=admin
-auth-password=admin
-authscope-host=localhost
-authscope-port=8443
-authscope-realm=webservice_proxy_security
-

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,26 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.1.0.xsd" parameterReloadSecs="5">
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
 
 	<providers>
-		<http-provider name="HTTP" host="localhost" port="9443">
-			<property name="scheme" value="https"/>
-			<property name="secure" value="true"/>
-			<property name="SSLEnabled" value="true"/>
-			<property name="Keystore" value="@keystore@"/>
-			<property name="Keypass" value="webservice_proxy_security_pass"/>
-			<http-bus busid="HTTP-BUS" context="/Proxy_Security/HelloWorldWS"/>
+		<http-provider name="HTTP-PROVIDER">
+			<http-bus busid="HTTP-BUS" transportGuarantee="CONFIDENTIAL">
+				<allowed-roles>
+					<role name="friend" />
+				</allowed-roles>
+			</http-bus>
+			<auth method="BASIC" domain="JBossWS" />
 		</http-provider>
 	</providers>
 
 	<services>
 		<service category="Proxy_Security" name="Proxy"
 				 description="Security WebService Proxy"
-				 invmScope="GLOBAL" >
+				 invmScope="GLOBAL">
+			<security moduleName="JBossWS" />
 			<listeners>
-				<http-listener name="HTTP-GATEWAY"
-					busidref="HTTP-BUS"
-					is-gateway="true"
-				/>
+				<http-gateway name="HTTP-GATEWAY" busidref="HTTP-BUS" urlPattern="ProxyWS/*" />
 			</listeners>
 			<actions mep="RequestResponse">
 				<action name="echo-request"
@@ -29,9 +27,9 @@
 				</action>
 				<action name="proxy"
 						class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
-						<property name="wsdl" value="https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS?wsdl"/>
-						<property name="endpointUrl" value="https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS"/>
-						<property name="file" value="/META-INF/httpclient-jbossws-8443.properties"/>
+						<property name="wsdl" value="https://localhost:8443/webservice_proxy_security/HelloWorldWS?wsdl"/>
+						<property name="endpointUrl" value="https://localhost:8443/webservice_proxy_security/HelloWorldWS"/>
+						<property name="file" value="/META-INF/httpclient-8443.properties"/>
 				</action>
 				<action name="echo-response"
 						class="org.jboss.soa.esb.actions.SystemPrintln">

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/readme.txt
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/readme.txt	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/readme.txt	2009-09-18 07:13:08 UTC (rev 29400)
@@ -21,7 +21,7 @@
 
 15:10:03,777 INFO  [SOAPProxy] mapped soapaction [""] to binding [{http://webservice_proxy_security/helloworld}HelloWorldBinding]
 15:10:03,777 INFO  [SOAPProxy] mapped operation [{http://webservice_proxy_security/helloworld}sayHello] to binding [{http://webservice_proxy_security/helloworld}HelloWorldBinding]
-15:10:03,796 INFO  [SOAPProxy] mapped binding [{http://webservice_proxy_security/helloworld}HelloWorldBinding] to transport [org.jboss.soa.esb.actions.soap.proxy.HttpSOAPProxyTransport] with endpoint address: [https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS]
+15:10:03,796 INFO  [SOAPProxy] mapped binding [{http://webservice_proxy_security/helloworld}HelloWorldBinding] to transport [org.jboss.soa.esb.actions.soap.proxy.HttpSOAPProxyTransport] with endpoint address: [https://localhost:8443/webservice_proxy_security/HelloWorldWS]
 
   4. Open another command terminal window in this folder ("Window2"), type
      'ant runtest'.
@@ -34,13 +34,13 @@
   - This calls the target JBossWS webservice directly setting the
 	Authorization header and using HTTPClient for SSL.
   - The request url is:
-	https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS
+	https://localhost:8443/webservice_proxy_security/HelloWorldWS
   - Running it will create output similar to the runhttps output below.
   
   'runhttps' (alias 'runtest') target description:
   - This will exercise the target webservice *via* the SOAPProxy, first going
-	through a HTTP Gateway Listener.
-  - The request url is: https://localhost:9443/Proxy_Security/HelloWorldWS/
+	through a Http Gateway Listener.
+  - The request url is: https://localhost:8443/Quickstart_webservice_proxy_security/http/ProxyWS
   - Running it will create output like this in the server console:
 
 15:11:11,693 INFO  [STDOUT] Message before SOAPProxy: 
@@ -50,14 +50,14 @@
 
   ...and this in the client console:
 
-     [java] ****  REQUEST  URL: https://localhost:9443/Proxy_Security/HelloWorldWS/
+     [java] ****  REQUEST  URL: https://localhost:8443/Quickstart_webservice_proxy_security/http/ProxyWS
      [java] ****  REQUEST BODY: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://webservice_proxy_security/helloworld"><soapenv:Header/><soapenv:Body><hello:sayHello><toWhom>dward</toWhom></hello:sayHello></soapenv:Body></soapenv:Envelope>
-     [java] 15:11:11,392 DEBUG [main][header] >> "POST /Proxy_Security/HelloWorldWS/ HTTP/1.1[\r][\n]"
+     [java] 15:11:11,392 DEBUG [main][header] >> "POST /Quickstart_webservice_proxy_security/http/ProxyWS HTTP/1.1[\r][\n]"
      [java] 15:11:11,426 DEBUG [main][header] >> "Content-Type: text/xml;charset=UTF-8[\r][\n]"
      [java] 15:11:11,427 DEBUG [main][header] >> "Authorization: Basic YWRtaW46YWRtaW4=[\r][\n]"
      [java] 15:11:11,427 DEBUG [main][header] >> "SOAPAction: ""[\r][\n]"
      [java] 15:11:11,427 DEBUG [main][header] >> "User-Agent: Jakarta Commons-HttpClient/3.0.1[\r][\n]"
-     [java] 15:11:11,428 DEBUG [main][header] >> "Host: localhost:9443[\r][\n]"
+     [java] 15:11:11,428 DEBUG [main][header] >> "Host: localhost:8443[\r][\n]"
      [java] 15:11:11,428 DEBUG [main][header] >> "Content-Length: 254[\r][\n]"
      [java] 15:11:11,428 DEBUG [main][header] >> "[\r][\n]"
      [java] 15:11:11,428 DEBUG [main][content] >> "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://webservice_proxy_security/helloworld"><soapenv:Header/><soapenv:Body><hello:sayHello><toWhom>dward</toWhom></hello:sayHello></soapenv:Body></soapenv:Envelope>"
@@ -76,7 +76,7 @@
 Project file descriptions:
 ==========================
 	jboss-esb-template.xml (transformed to build/jboss-esb.xml after "genkey" target):
-	A HTTP Gateway Listener accepts the incoming HTTPS call and makes it available to the
+	A Http Gateway Listener accepts the incoming HTTPS call and makes it available to the
 	Proxy_Security/Proxy service, who has a message exchange pattern of RequestResponse.  In the
 	action chain, there are 3 actions:
 	1) echo out the incoming SOAP request,
@@ -93,12 +93,9 @@
 	log4j.xml:
 	Needed to configure log4J used by the quickstart.
 
-	build/httpclient-jbossws-8443.properties:
-	HTTPClient config file used to talk to the original endpoint
+	build/httpclient-8443.properties:
+	HTTPClient config file used to talk BASI Auth + SSL
 
-	build/httpclient-httpgateway-9443.properties:
-	HTTPClient config file used to talk to the proxy endpoint from SendWSMessage
-	
 	src/../SendWSMessage.java:
 	Sends a SOAP message to the target webservice endpoint (see "ant run*" above) over
 	SSL + Basic Auth.
@@ -113,7 +110,7 @@
 
 	*	the runhttps (also runtest) task calls the
 		org.jboss.soa.esb.samples.quickstart.webservice_proxy_security.test.SendWSMessage class and
-		passes in and argument representing the *PROXIED* webservice endpoint (via HTTP Gateway)
+		passes in and argument representing the *PROXIED* webservice endpoint (via HTTP)
 		and an argument representing the string-based message to invoke the webservice with. 
 
 

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -57,9 +57,9 @@
 		{
 			// for testing main method from Eclipse (build.xml passes these args in)
 			args = new String[3];
-			args[0] = "https://localhost:9443/Proxy_Security/HelloWorldWS"; // proxy via http gateway ("ant runtest")
+			args[0] = "https://localhost:8443/Quickstart_webservice_proxy_security/http/ProxyWS"; // proxy via http gateway ("ant runtest")
 			args[1] = System.getProperty("user.name");
-			args[2] = "/path-to/samples/quickstarts/webservice_proxy_security/build/META-INF/httpclient-httpgateway-9443.properties";
+			args[2] = "/path-to/samples/quickstarts/webservice_proxy_security/build/META-INF/httpclient-8443.properties";
 		}
 		
 		String url = args[0];
@@ -68,7 +68,7 @@
 		method.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
 		
 		// basic auth header should come from client unless <property name="clientCredentialsRequired" value="false"/> is specified
-		method.setRequestHeader("Authorization", "Basic " + Encoding.encodeBytes("admin:admin".getBytes()) );
+		method.setRequestHeader("Authorization", "Basic " + Encoding.encodeBytes("kermit:thefrog".getBytes()) );
 		
 		// this line should be used for better performance/interop but is not necessary
 		// http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,3 +1,3 @@
 <jboss-web>
-  <security-domain>java:/jaas/jmx-console</security-domain>
-</jboss-web>
\ No newline at end of file
+  <security-domain>java:/jaas/JBossWS</security-domain>
+</jboss-web>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -21,7 +21,7 @@
 			<http-method>POST</http-method>
 		</web-resource-collection>
 		<auth-constraint>
-			<role-name>JBossAdmin</role-name>
+			<role-name>friend</role-name>
 		</auth-constraint>
 		<user-data-constraint>
 			<transport-guarantee>CONFIDENTIAL</transport-guarantee>
@@ -34,7 +34,7 @@
 	</login-config>
 
 	<security-role>
-		<role-name>JBossAdmin</role-name>
+		<role-name>friend</role-name>
 	</security-role>
 
 </web-app>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/build.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -18,12 +18,12 @@
 
     <target name="quickstart-specific-predeploys">
 		<copy todir="${org.jboss.esb.server.deploy.dir}"
-			file="build/predeploy/${ant.project.name}.war"/>
+			file="build/predeploy/${ant.project.name}-ws.war"/>
 		<sleep seconds="3"/>
 	</target>
 
     <target name="quickstart-specific-undeploys">
-		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}.war"/>
+		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}-ws.war"/>
 	</target>
 
     <target name="makewar" description="make war">
@@ -38,7 +38,7 @@
 
         <!-- War... -->
 		<mkdir dir="build/predeploy"/>
-        <war warfile="build/predeploy/${ant.project.name}.war"
+        <war warfile="build/predeploy/${ant.project.name}-ws.war"
              webxml="${basedir}/war/resources/WEB-INF/web.xml">
             <webinf dir="${basedir}/war/resources/WEB-INF">
                 <include name="jboss-web.xml"/>
@@ -71,22 +71,22 @@
 
 	<target name="runws">
 		<echo>Calling JBossWS webservice directly.</echo>
-		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_versioning/InvoicingWS"/>
+		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_versioning-ws/InvoicingWS"/>
 		<property name="runtest.arg.ver" value="new"/>
 		<antcall target="runinternal"/>
 	</target>
 
 	<target name="runold">
-		<echo>Calling JBossWS webservice via JBossRemotingGatewayListener and SOAPProxy.</echo>
-		<property name="runtest.arg.url" value="http://localhost:9090"/>
+		<echo>Calling JBossWS webservice via Http Gateway and SOAPProxy.</echo>
+		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_versioning/http/Proxy_Versioning/Proxy-OldVersion"/>
 		<property name="runtest.arg.ver" value="old"/>
 		<antcall target="runinternal"/>
 	</target>
 	<target name="runtest" depends="runold"/>
 
 	<target name="runnew">
-		<echo>Calling JBossWS webservice via JBossRemotingGatewayListener and SOAPProxy.</echo>
-		<property name="runtest.arg.url" value="http://localhost:9999"/>
+		<echo>Calling JBossWS webservice via Http Gateway and SOAPProxy.</echo>
+		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_webservice_proxy_versioning/http/Proxy_Versioning/Proxy-NewVersion"/>
 		<property name="runtest.arg.ver" value="new"/>
 		<antcall target="runinternal"/>
 	</target>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/jboss-esb.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/jboss-esb.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,28 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.1.0.xsd" parameterReloadSecs="5">
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
 
-	<providers>
-
-		<jbr-provider name="JBR-PROVIDER-OldVersion" protocol="http" host="localhost">
-			<jbr-bus busid="JBR-BUS-OldVersion" port="9090"/>
-		</jbr-provider>
-
-		<jbr-provider name="JBR-PROVIDER-NewVersion" protocol="http" host="localhost">
-			<jbr-bus busid="JBR-BUS-NewVersion" port="9999"/>
-		</jbr-provider>
-
-	</providers>
-
 	<services>
 
 		<service category="Proxy_Versioning" name="Proxy-OldVersion"
 				 description="The old version of the WebService (legacy support)"
-				 invmScope="GLOBAL" >
+				 invmScope="GLOBAL">
 			<listeners>
-				<jbr-listener name="JBR-GATEWAY-OldVersion"
-					busidref="JBR-BUS-OldVersion"
-					is-gateway="true"
-				/>
+				<http-gateway name="HTTP-GATEWAY-OldVersion" />
 			</listeners>
 			<actions mep="RequestResponse">
 				<action name="echo-old-request"
@@ -43,7 +28,7 @@
 				<action name="proxy-invoke-new-version"
 						class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
 						<!-- this is the NEW endpoint, because we transformed the OLD request to fit it -->
-						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_versioning/InvoicingWS?wsdl"/>
+						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_versioning-ws/InvoicingWS?wsdl"/>
 						<property name="wsdlTransform" value="/Proxy_Versioning_WsdlTransform.xml"/>
 				</action>
 				<action name="echo-response"
@@ -56,12 +41,9 @@
 
 		<service category="Proxy_Versioning" name="Proxy-NewVersion"
 				 description="The new version of the WebService (latest and greatest)"
-				 invmScope="GLOBAL" >
+				 invmScope="GLOBAL">
 			<listeners>
-				<jbr-listener name="JBR-GATEWAY-NewVersion"
-					busidref="JBR-BUS-NewVersion"
-					is-gateway="true"
-				/>
+				<http-gateway name="HTTP-GATEWAY-NewVersion" />
 			</listeners>
 			<actions mep="RequestResponse">
 				<action name="echo-request"
@@ -71,7 +53,7 @@
 				<action name="proxy-invoke-new-version"
 						class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
 						<!-- this is the NEW endpoint, of course -->
-						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_versioning/InvoicingWS?wsdl"/>
+						<property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_versioning-ws/InvoicingWS?wsdl"/>
 				</action>
 				<action name="echo-response"
 						class="org.jboss.soa.esb.actions.SystemPrintln">

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/readme.txt
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/readme.txt	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/readme.txt	2009-09-18 07:13:08 UTC (rev 29400)
@@ -33,7 +33,7 @@
   - Running it will create output similar to the runnew output below.
   
   'runold' (alias 'runtest') target description:
-  - This will exercise the target webservice *via* the SOAPProxy, first going through a JBoss Remoting Gateway Listener
+  - This will exercise the target webservice *via* the SOAPProxy, first going through a Http Gateway Listener
     and having it's incoming SOAP request be *transformed* and having a <processDate> elemented added to the body!
   - Note that the wsl is transformed as well (see "Project file descriptions" below)!
   - The request url is: http://localhost:9090
@@ -80,7 +80,7 @@
      [java] **** RESPONSE BODY: <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns2:processInvoiceResponse xmlns:ns2="http://webservice_proxy_versioning/invoicing"><success>true</success></ns2:processInvoiceResponse></env:Body></env:Envelope>
 
   'runnew' target description:
-  - This will exercise the target webservice *via* the SOAPProxy, first going through a JBoss Remoting Gateway Listener.
+  - This will exercise the target webservice *via* the SOAPProxy, first going through a Http Gateway Listener.
   - Nothing interesting here; it is just like the webservice_proxy_basic quickstart.
   - The request url is: http://localhost:9090
   - Running it will create output like this in the server console:

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_versioning/test/SendWSMessage.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_versioning/test/SendWSMessage.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/samples/quickstarts/webservice_proxy_versioning/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_versioning/test/SendWSMessage.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -54,9 +54,10 @@
 			// for testing main method from Eclipse (build.xml passes these args in)
 			args = new String[2];
 			//args[0] = "http://localhost:8080/Quickstart_webservice_proxy_versioning/InvoicingWS"; // original ws ("ant runws")
-			args[0] = "http://localhost:9090"; // the old ws format ("ant runold" or "ant runtest")
-			//args[0] = "http://localhost:9999"; // the new ws format ("ant runnew")
+			args[0] = "http://localhost:8080/Quickstart_webservice_proxy_versioning/http/Proxy_Versioning/Proxy-OldVersion"; // the old ws format ("ant runold" or "ant runtest")
 			args[1] = "old";
+			//args[0] = "http://localhost:8080/Quickstart_webservice_proxy_versioning/http/Proxy_Versioning/Proxy-NewVersion"; // the new ws format ("ant runnew")
+			//args[1] = "new";
 		}
 		
 		String url = args[0];

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/lib/ext/jbpm-identity.jar
===================================================================
(Binary files differ)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/lib/ext/jbpm-jpdl.jar
===================================================================
(Binary files differ)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command/AbstractMessageListener.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command/AbstractMessageListener.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command/AbstractMessageListener.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -20,6 +20,7 @@
 import org.jbpm.JbpmException;
 import org.jbpm.command.Command;
 import org.jbpm.persistence.JbpmPersistenceException;
+import org.jbpm.persistence.db.DbPersistenceService;
 import org.jbpm.svc.Services;
 
 /**
@@ -89,7 +90,7 @@
         }
         catch (final JbpmPersistenceException jpe)
         {
-            if (!Services.isCausedByStaleState(jpe))
+            if (!DbPersistenceService.isLockingException(jpe))
             {
                 throw jpe ;
             }

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteJobCommand.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteJobCommand.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteJobCommand.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -23,25 +23,16 @@
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
-import java.util.Arrays;
-import java.util.List;
 
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.soa.esb.services.jbpm.integration.msg.JmsMessageService;
-import org.jboss.soa.esb.services.jbpm.integration.msg.JmsMessageServiceFactory;
 import org.jboss.soa.esb.services.jbpm.integration.msg.RetryExecutor;
 import org.jbpm.JbpmContext;
+import org.jbpm.JbpmException;
 import org.jbpm.command.Command;
-import org.jbpm.db.JobSession;
+import org.jbpm.graph.exe.ProcessInstance;
 import org.jbpm.job.Job;
-import org.jbpm.svc.Services;
+import org.jbpm.persistence.db.DbPersistenceService;
 
 /**
  * Individual job processing command.
@@ -70,21 +61,13 @@
    * @throws Exception for errors during execution.
    */
   public Object execute(JbpmContext jbpmContext) throws Exception {
-    JobSession jobSession = jbpmContext.getJobSession();
-    Job job = jobSession.getJob(jobId);
-    if (job == null) {
+    Job job = acquireJob(jbpmContext);
+    if (JobUtil.isDeleted(job)) {
       if (log.isDebugEnabled()) {
         log.debug("job " + jobId + " was deleted");
       }
       return null;
     }
-    String lockOwner = job.getLockOwner();
-    if (lockOwner != null) {
-      if (log.isDebugEnabled()) {
-        log.debug(job + " is locked by " + lockOwner);
-      }
-      return null;
-    }
     if (job.isSuspended()) {
       if (log.isDebugEnabled()) {
         log.debug(job + " is suspended");
@@ -92,39 +75,26 @@
       RetryExecutor.handleSuspendedJob(job) ;
       return null ;
     }
-    lockOwner = Long.toString(jobId);
+    executeJob(job, jbpmContext);
+    return job;
+  }
+
+  private Job acquireJob(JbpmContext jbpmContext) {
+    Job job = jbpmContext.getJobSession().loadJob(jobId);
+
+    // register process instance for automatic save
+    // see https://jira.jboss.org/jira/browse/JBPM-1015
+    ProcessInstance processInstance = job.getProcessInstance();
+    jbpmContext.addAutoSaveProcessInstance(processInstance);
+
+    // if job is exclusive, lock process instance
     if (job.isExclusive()) {
-      List<?> exclusiveJobs = jobSession.findExclusiveJobs(lockOwner, job.getProcessInstance());
-      // lock exclusive jobs
-      int jobCount = exclusiveJobs.size();
-      if (jobCount == 0) {
-        // may happen if isolation level is below repeatable read
-        if (log.isDebugEnabled()) {
-          log.debug(job + " was locked during attempt to lock other jobs");
-        }
-        return null;
-      }
-      long[] exclusiveJobIds = new long[jobCount];
-      for (int i = 0; i < jobCount; i++) {
-        Job exclusiveJob = (Job) exclusiveJobs.get(i);
-        exclusiveJob.setLockOwner(lockOwner);
-        exclusiveJobIds[i] = exclusiveJob.getId();
-      }
-      if (log.isDebugEnabled()) {
-        log.debug("locking jobs " + Arrays.toString(exclusiveJobIds));
-      }
-      // execute exclusive jobs in separate transaction
-      postJobsExecution(jbpmContext, exclusiveJobIds);
+        jbpmContext.getGraphSession().lockProcessInstance(processInstance);
     }
-    else {
-      // lock job to prevent others from deleting it
-      job.setLockOwner(lockOwner);
-      if (log.isDebugEnabled()) {
-        log.debug("executing " + job);
-      }
-      executeJob(job, jbpmContext);
-    }
-    return null;
+
+    // mark job as locked to prevent other parts of the engine from deleting it
+    job.setLockOwner(toString());
+    return job;
   }
 
   /**
@@ -133,62 +103,44 @@
    * @param jbpmContext The jBPM context associated with the execution.
    */
   static void executeJob(Job job, JbpmContext jbpmContext) {
+    if (log.isDebugEnabled()) {
+      log.debug("executing " + job);
+    }
     try {
       if (job.execute(jbpmContext)) {
         jbpmContext.getJobSession().deleteJob(job);
       }
     }
-    catch (RuntimeException e) {
-      // nothing to do but clean up and exit
-      throw e;
-    }
     catch (Exception e) {
       // This is supposed to be recoverable and, under the DB executor, would be retried.
       // The state of the process will be uncertain but we refire here to be consistent.
-      if (job.getRetries() > 0) {
-        // save data about recoverable error condition
-        StringWriter memoryWriter = new StringWriter();
-        e.printStackTrace(new PrintWriter(memoryWriter));
-        job.setException(memoryWriter.toString());
-        job.setRetries(job.getRetries() - 1);
-        
-        if (log.isDebugEnabled()) {
-          log.debug("Rescheduling job " + job.getId() + " on error", e);
+      if (log.isDebugEnabled()) {
+        log.debug("exception while executing " + job, e);
+      }
+      if (!DbPersistenceService.isPersistenceException(e)) {
+        if (job.getRetries() > 0) {
+          // save data about recoverable error condition
+          StringWriter memoryWriter = new StringWriter();
+          e.printStackTrace(new PrintWriter(memoryWriter));
+          job.setException(memoryWriter.toString());
+          job.setRetries(job.getRetries() - 1);
+          if (log.isDebugEnabled()) {
+            log.debug("Rescheduling job " + job.getId() + " on error", e);
+          }
+          job.setLockOwner(null) ;
+          jbpmContext.getServices().getMessageService().send(job) ;
+          return ;
+        } else {
+            log.error("Job retry count exceeded", e) ;
         }
-        job.setLockOwner(null) ;
-        jbpmContext.getServices().getMessageService().send(job) ;
-      } else {
-        log.error("Job retry count exceeded", e) ;
       }
+      // allowing a transaction to proceed after a persistence exception is unsafe
+      throw e instanceof RuntimeException ? (RuntimeException) e :
+              new JbpmException("failed to execute " + job, e);
     }
   }
 
   /**
-   * Create a separate job for handling exclusive jobs.
-   * @param jbpmContext The jBPM context associated with the execution.
-   * @param exclusiveJobIds The list of exclusive jobs to execute.
-   * @throws JMSException For errors during delivery.
-   */
-  private static void postJobsExecution(JbpmContext jbpmContext, long[] exclusiveJobIds)
-      throws JMSException {
-    Services services = jbpmContext.getServices();
-    JmsMessageServiceFactory messageServiceFactory = (JmsMessageServiceFactory) services.getServiceFactory(Services.SERVICENAME_MESSAGE);
-    Destination destination = messageServiceFactory.getCommandDestination();
-
-    JmsMessageService messageService = (JmsMessageService) services.getMessageService();
-    Session session = messageService.getSession();
-    MessageProducer producer = session.createProducer(destination);
-    try {
-      Command command = new ExecuteJobsCommand(exclusiveJobIds);
-      Message message = session.createObjectMessage(command);
-      producer.send(message);
-    }
-    finally {
-      producer.close();
-    }
-  }
-
-  /**
    * The log for this class.
    */
   private static Log log = LogFactory.getLog(ExecuteJobCommand.class);

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteJobsCommand.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteJobsCommand.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteJobsCommand.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.services.jbpm.integration.job;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jboss.soa.esb.services.jbpm.integration.msg.RetryExecutor;
-import org.jbpm.JbpmContext;
-import org.jbpm.command.Command;
-import org.jbpm.job.Job;
-
-/**
- * Batch job processing command.
- * @author Alejandro Guizar
- */
-public class ExecuteJobsCommand implements Command {
-
-  /**
-   * The job ids.
-   */
-  private long[] jobIds;
-
-  private static final long serialVersionUID = 1L;
-  /**
-   * The log for this class.
-   */
-  private static Log log = LogFactory.getLog(ExecuteJobsCommand.class);
-
-  /**
-   * Create the job command with a specified list of job ids.
-   * @param jobIds The associated job ids.
-   */
-  public ExecuteJobsCommand(long[] jobIds) {
-    this.jobIds = jobIds;
-  }
-
-  /**
-   * Execute the command.
-   * @param jbpmContext The jBPM context associated with the execution.
-   * @throws Exception for errors during execution.
-   */
-  public Object execute(JbpmContext jbpmContext) throws Exception {
-    if (log.isDebugEnabled()) {
-      log.debug("executing jobs " + Arrays.toString(jobIds));
-    }
-    List<Job> jobs = jbpmContext.getJobSession().loadJobs(jobIds);
-    for (Job job: jobs) {
-      if (job.isSuspended()) {
-        if (log.isDebugEnabled()) {
-          log.debug(job + " is suspended");
-        }
-        RetryExecutor.handleSuspendedJob(job) ;
-      } else {
-        ExecuteJobCommand.executeJob(job, jbpmContext);
-      }
-    }
-    return null;
-  }
-  
-}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteTimerCommand.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteTimerCommand.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/ExecuteTimerCommand.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -58,6 +58,12 @@
      */
     public Object execute(JbpmContext jbpmContext) throws Exception {
       Timer timer = jbpmContext.getJobSession().loadTimer(timerId);
+      if (JobUtil.isDeleted(timer)) {
+        if (log.isDebugEnabled()) {
+          log.debug("timer " + timerId + " was deleted");
+        }
+        return null;
+      }
       if (timer.isSuspended()) {
         if (log.isDebugEnabled()) {
           log.debug(timer + " is suspended");

Copied: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/JobUtil.java (from rev 29337, labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/JobUtil.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/JobUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/job/JobUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.services.jbpm.integration.job;
+
+import org.jbpm.job.Job;
+
+/**
+ * Job utility methods used by the commands.
+ * @author Kevin Conner
+ */
+class JobUtil
+{
+    /**
+     * Has the job been deleted?
+     * @param job The job to test.
+     * @return true if deleted, false otherwise.
+     */
+    static boolean isDeleted(final Job job)
+    {
+        /*
+         * The jBPM code tests for null but lazy loading means
+         * that a proxy is returned and that an exception will be
+         * raised when accessed.  We test for both assumptions here,
+         * just to be safe.
+         */
+        if (job != null)
+        {
+            try
+            {
+                job.getLockOwner() ;
+                return false ;
+            }
+            catch (final Exception ex) {} // ignore
+        }
+        return true ;
+    }
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/hibernate.cfg.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/hibernate.cfg.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/hibernate.cfg.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -64,6 +64,9 @@
     <!-- hql queries -->
     <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
 
+    <!-- type mappings -->
+    <mapping resource="org/jbpm/db/hibernate.types.hbm.xml" />
+
     <!-- hql queries used in simulation for querying historical data.
          uncomment if you want to use the GetSimulationInputCommand
          or you want to use the queries directly.
@@ -203,6 +206,9 @@
 
     <!-- strategy="nonstrict-read-write" can be used with HashtableCacheProvider -->
 
+    <class-cache class="org.jbpm.bytes.ByteArray" usage="nonstrict-read-write" />
+    <collection-cache collection="org.jbpm.bytes.ByteArray.byteBlocks" usage="nonstrict-read-write" />
+
     <class-cache class="org.jbpm.context.def.VariableAccess" usage="nonstrict-read-write" />
 
     <collection-cache collection="org.jbpm.file.def.FileDefinition.processFiles" usage="nonstrict-read-write" />
@@ -258,4 +264,4 @@
     <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.swimlanes" usage="nonstrict-read-write" />
     <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.tasks" usage="nonstrict-read-write" />
   </session-factory>
-</hibernate-configuration>
\ No newline at end of file
+</hibernate-configuration>

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-console.war
===================================================================
(Binary files differ)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-sql/jbpm.jpdl.db2.sql
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-sql/jbpm.jpdl.db2.sql	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-sql/jbpm.jpdl.db2.sql	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,35 +1,35 @@
-create table JBPM_ACTION (ID_ bigint generated by default as identity, class char(1) not null, NAME_ varchar(255), ISPROPAGATIONALLOWED_ smallint, ACTIONEXPRESSION_ varchar(255), ISASYNC_ smallint, REFERENCEDACTION_ bigint, ACTIONDELEGATION_ bigint, EVENT_ bigint, PROCESSDEFINITION_ bigint, EXPRESSION_ varchar(4000), TIMERNAME_ varchar(255), DUEDATE_ varchar(255), REPEAT_ varchar(255), TRANSITIONNAME_ varchar(255), TIMERACTION_ bigint, EVENTINDEX_ integer, EXCEPTIONHANDLER_ bigint, EXCEPTIONHANDLERINDEX_ integer, primary key (ID_))
+create table JBPM_ACTION (ID_ bigint generated by default as identity, class char(1) not null, NAME_ varchar(255), ISPROPAGATIONALLOWED_ smallint, ACTIONEXPRESSION_ varchar(255), ISASYNC_ smallint, REFERENCEDACTION_ bigint, ACTIONDELEGATION_ bigint, EVENT_ bigint, PROCESSDEFINITION_ bigint, EXPRESSION_ clob(4000), TIMERNAME_ varchar(255), DUEDATE_ varchar(255), REPEAT_ varchar(255), TRANSITIONNAME_ varchar(255), TIMERACTION_ bigint, EVENTINDEX_ integer, EXCEPTIONHANDLER_ bigint, EXCEPTIONHANDLERINDEX_ integer, primary key (ID_))
 create table JBPM_BYTEARRAY (ID_ bigint generated by default as identity, NAME_ varchar(255), FILEDEFINITION_ bigint, primary key (ID_))
 create table JBPM_BYTEBLOCK (PROCESSFILE_ bigint not null, BYTES_ varchar(1024) for bit data, INDEX_ integer not null, primary key (PROCESSFILE_, INDEX_))
-create table JBPM_COMMENT (ID_ bigint generated by default as identity, VERSION_ integer not null, ACTORID_ varchar(255), TIME_ timestamp, MESSAGE_ varchar(4000), TOKEN_ bigint, TASKINSTANCE_ bigint, TOKENINDEX_ integer, TASKINSTANCEINDEX_ integer, primary key (ID_))
+create table JBPM_COMMENT (ID_ bigint generated by default as identity, VERSION_ integer not null, ACTORID_ varchar(255), TIME_ timestamp, MESSAGE_ clob(4000), TOKEN_ bigint, TASKINSTANCE_ bigint, TOKENINDEX_ integer, TASKINSTANCEINDEX_ integer, primary key (ID_))
 create table JBPM_DECISIONCONDITIONS (DECISION_ bigint not null, TRANSITIONNAME_ varchar(255), EXPRESSION_ varchar(255), INDEX_ integer not null, primary key (DECISION_, INDEX_))
-create table JBPM_DELEGATION (ID_ bigint generated by default as identity, CLASSNAME_ varchar(4000), CONFIGURATION_ varchar(4000), CONFIGTYPE_ varchar(255), PROCESSDEFINITION_ bigint, primary key (ID_))
+create table JBPM_DELEGATION (ID_ bigint generated by default as identity, CLASSNAME_ clob(4000), CONFIGURATION_ clob(4000), CONFIGTYPE_ varchar(255), PROCESSDEFINITION_ bigint, primary key (ID_))
 create table JBPM_EVENT (ID_ bigint generated by default as identity, EVENTTYPE_ varchar(255), TYPE_ char(1), GRAPHELEMENT_ bigint, PROCESSDEFINITION_ bigint, NODE_ bigint, TRANSITION_ bigint, TASK_ bigint, primary key (ID_))
-create table JBPM_EXCEPTIONHANDLER (ID_ bigint generated by default as identity, EXCEPTIONCLASSNAME_ varchar(4000), TYPE_ char(1), GRAPHELEMENT_ bigint, PROCESSDEFINITION_ bigint, GRAPHELEMENTINDEX_ integer, NODE_ bigint, TRANSITION_ bigint, TASK_ bigint, primary key (ID_))
+create table JBPM_EXCEPTIONHANDLER (ID_ bigint generated by default as identity, EXCEPTIONCLASSNAME_ clob(4000), TYPE_ char(1), GRAPHELEMENT_ bigint, PROCESSDEFINITION_ bigint, GRAPHELEMENTINDEX_ integer, NODE_ bigint, TRANSITION_ bigint, TASK_ bigint, primary key (ID_))
 create table JBPM_ID_GROUP (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ varchar(255), TYPE_ varchar(255), PARENT_ bigint, primary key (ID_))
 create table JBPM_ID_MEMBERSHIP (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ varchar(255), ROLE_ varchar(255), USER_ bigint, GROUP_ bigint, primary key (ID_))
 create table JBPM_ID_PERMISSIONS (ENTITY_ bigint not null, CLASS_ varchar(255), NAME_ varchar(255), ACTION_ varchar(255))
 create table JBPM_ID_USER (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ varchar(255), EMAIL_ varchar(255), PASSWORD_ varchar(255), primary key (ID_))
-create table JBPM_JOB (ID_ bigint generated by default as identity, CLASS_ char(1) not null, VERSION_ integer not null, DUEDATE_ timestamp, PROCESSINSTANCE_ bigint, TOKEN_ bigint, TASKINSTANCE_ bigint, ISSUSPENDED_ smallint, ISEXCLUSIVE_ smallint, LOCKOWNER_ varchar(255), LOCKTIME_ timestamp, EXCEPTION_ varchar(4000), RETRIES_ integer, NAME_ varchar(255), REPEAT_ varchar(255), TRANSITIONNAME_ varchar(255), ACTION_ bigint, GRAPHELEMENTTYPE_ varchar(255), GRAPHELEMENT_ bigint, NODE_ bigint, primary key (ID_))
-create table JBPM_LOG (ID_ bigint generated by default as identity, CLASS_ char(1) not null, INDEX_ integer, DATE_ timestamp, TOKEN_ bigint, PARENT_ bigint, MESSAGE_ varchar(4000), EXCEPTION_ varchar(4000), ACTION_ bigint, NODE_ bigint, ENTER_ timestamp, LEAVE_ timestamp, DURATION_ bigint, NEWLONGVALUE_ bigint, TRANSITION_ bigint, CHILD_ bigint, SOURCENODE_ bigint, DESTINATIONNODE_ bigint, VARIABLEINSTANCE_ bigint, OLDBYTEARRAY_ bigint, NEWBYTEARRAY_ bigint, OLDDATEVALUE_ timestamp, NEWDATEVALUE_ timestamp, OLDDOUBLEVALUE_ double, NEWDOUBLEVALUE_ double, OLDLONGIDCLASS_ varchar(255), OLDLONGIDVALUE_ bigint, NEWLONGIDCLASS_ varchar(255), NEWLONGIDVALUE_ bigint, OLDSTRINGIDCLASS_ varchar(255), OLDSTRINGIDVALUE_ varchar(255), NEWSTRINGIDCLASS_ varchar(255), NEWSTRINGIDVALUE_ varchar(255), OLDLONGVALUE_ bigint, OLDSTRINGVALUE_ varchar(4000), NEWSTRINGVALUE_ varchar(4000), TASKINSTANCE_ bigint, TASKACTORID_ varchar(255), TASKOLDACTORID_ varchar(255), SWIMLANEINSTANCE_ bigint, pr!
 imary key (ID_))
-create table JBPM_MODULEDEFINITION (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ varchar(4000), PROCESSDEFINITION_ bigint, STARTTASK_ bigint, primary key (ID_))
+create table JBPM_JOB (ID_ bigint generated by default as identity, CLASS_ char(1) not null, VERSION_ integer not null, DUEDATE_ timestamp, PROCESSINSTANCE_ bigint, TOKEN_ bigint, TASKINSTANCE_ bigint, ISSUSPENDED_ smallint, ISEXCLUSIVE_ smallint, LOCKOWNER_ varchar(255), LOCKTIME_ timestamp, EXCEPTION_ clob(4000), RETRIES_ integer, NAME_ varchar(255), REPEAT_ varchar(255), TRANSITIONNAME_ varchar(255), ACTION_ bigint, GRAPHELEMENTTYPE_ varchar(255), GRAPHELEMENT_ bigint, NODE_ bigint, primary key (ID_))
+create table JBPM_LOG (ID_ bigint generated by default as identity, CLASS_ char(1) not null, INDEX_ integer, DATE_ timestamp, TOKEN_ bigint, PARENT_ bigint, MESSAGE_ clob(4000), EXCEPTION_ clob(4000), ACTION_ bigint, NODE_ bigint, ENTER_ timestamp, LEAVE_ timestamp, DURATION_ bigint, NEWLONGVALUE_ bigint, TRANSITION_ bigint, CHILD_ bigint, SOURCENODE_ bigint, DESTINATIONNODE_ bigint, VARIABLEINSTANCE_ bigint, OLDBYTEARRAY_ bigint, NEWBYTEARRAY_ bigint, OLDDATEVALUE_ timestamp, NEWDATEVALUE_ timestamp, OLDDOUBLEVALUE_ double, NEWDOUBLEVALUE_ double, OLDLONGIDCLASS_ varchar(255), OLDLONGIDVALUE_ bigint, NEWLONGIDCLASS_ varchar(255), NEWLONGIDVALUE_ bigint, OLDSTRINGIDCLASS_ varchar(255), OLDSTRINGIDVALUE_ varchar(255), NEWSTRINGIDCLASS_ varchar(255), NEWSTRINGIDVALUE_ varchar(255), OLDLONGVALUE_ bigint, OLDSTRINGVALUE_ clob(4000), NEWSTRINGVALUE_ clob(4000), TASKINSTANCE_ bigint, TASKACTORID_ varchar(255), TASKOLDACTORID_ varchar(255), SWIMLANEINSTANCE_ bigint, primary key (I!
 D_))
+create table JBPM_MODULEDEFINITION (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ clob(4000), PROCESSDEFINITION_ bigint, STARTTASK_ bigint, primary key (ID_))
 create table JBPM_MODULEINSTANCE (ID_ bigint generated by default as identity, CLASS_ char(1) not null, VERSION_ integer not null, PROCESSINSTANCE_ bigint, TASKMGMTDEFINITION_ bigint, NAME_ varchar(255), primary key (ID_))
-create table JBPM_NODE (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ varchar(255), DESCRIPTION_ varchar(4000), PROCESSDEFINITION_ bigint, ISASYNC_ smallint, ISASYNCEXCL_ smallint, ACTION_ bigint, SUPERSTATE_ bigint, SUBPROCNAME_ varchar(255), SUBPROCESSDEFINITION_ bigint, DECISIONEXPRESSION_ varchar(255), DECISIONDELEGATION bigint, SCRIPT_ bigint, SIGNAL_ integer, CREATETASKS_ smallint, ENDTASKS_ smallint, NODECOLLECTIONINDEX_ integer, primary key (ID_))
+create table JBPM_NODE (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ varchar(255), DESCRIPTION_ clob(4000), PROCESSDEFINITION_ bigint, ISASYNC_ smallint, ISASYNCEXCL_ smallint, ACTION_ bigint, SUPERSTATE_ bigint, SUBPROCNAME_ varchar(255), SUBPROCESSDEFINITION_ bigint, DECISIONEXPRESSION_ varchar(255), DECISIONDELEGATION bigint, SCRIPT_ bigint, SIGNAL_ integer, CREATETASKS_ smallint, ENDTASKS_ smallint, NODECOLLECTIONINDEX_ integer, primary key (ID_))
 create table JBPM_POOLEDACTOR (ID_ bigint generated by default as identity, VERSION_ integer not null, ACTORID_ varchar(255), SWIMLANEINSTANCE_ bigint, primary key (ID_))
-create table JBPM_PROCESSDEFINITION (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ varchar(255), DESCRIPTION_ varchar(4000), VERSION_ integer, ISTERMINATIONIMPLICIT_ smallint, STARTSTATE_ bigint, primary key (ID_))
+create table JBPM_PROCESSDEFINITION (ID_ bigint generated by default as identity, CLASS_ char(1) not null, NAME_ varchar(255), DESCRIPTION_ clob(4000), VERSION_ integer, ISTERMINATIONIMPLICIT_ smallint, STARTSTATE_ bigint, primary key (ID_))
 create table JBPM_PROCESSINSTANCE (ID_ bigint generated by default as identity, VERSION_ integer not null, KEY_ varchar(255), START_ timestamp, END_ timestamp, ISSUSPENDED_ smallint, PROCESSDEFINITION_ bigint, ROOTTOKEN_ bigint, SUPERPROCESSTOKEN_ bigint, primary key (ID_))
 create table JBPM_RUNTIMEACTION (ID_ bigint generated by default as identity, VERSION_ integer not null, EVENTTYPE_ varchar(255), TYPE_ char(1), GRAPHELEMENT_ bigint, PROCESSINSTANCE_ bigint, ACTION_ bigint, PROCESSINSTANCEINDEX_ integer, primary key (ID_))
 create table JBPM_SWIMLANE (ID_ bigint generated by default as identity, NAME_ varchar(255), ACTORIDEXPRESSION_ varchar(255), POOLEDACTORSEXPRESSION_ varchar(255), ASSIGNMENTDELEGATION_ bigint, TASKMGMTDEFINITION_ bigint, primary key (ID_))
 create table JBPM_SWIMLANEINSTANCE (ID_ bigint generated by default as identity, VERSION_ integer not null, NAME_ varchar(255), ACTORID_ varchar(255), SWIMLANE_ bigint, TASKMGMTINSTANCE_ bigint, primary key (ID_))
-create table JBPM_TASK (ID_ bigint generated by default as identity, NAME_ varchar(255), DESCRIPTION_ varchar(4000), PROCESSDEFINITION_ bigint, ISBLOCKING_ smallint, ISSIGNALLING_ smallint, CONDITION_ varchar(255), DUEDATE_ varchar(255), PRIORITY_ integer, ACTORIDEXPRESSION_ varchar(255), POOLEDACTORSEXPRESSION_ varchar(255), TASKMGMTDEFINITION_ bigint, TASKNODE_ bigint, STARTSTATE_ bigint, ASSIGNMENTDELEGATION_ bigint, SWIMLANE_ bigint, TASKCONTROLLER_ bigint, primary key (ID_))
+create table JBPM_TASK (ID_ bigint generated by default as identity, NAME_ varchar(255), DESCRIPTION_ clob(4000), PROCESSDEFINITION_ bigint, ISBLOCKING_ smallint, ISSIGNALLING_ smallint, CONDITION_ varchar(255), DUEDATE_ varchar(255), PRIORITY_ integer, ACTORIDEXPRESSION_ varchar(255), POOLEDACTORSEXPRESSION_ varchar(255), TASKMGMTDEFINITION_ bigint, TASKNODE_ bigint, STARTSTATE_ bigint, ASSIGNMENTDELEGATION_ bigint, SWIMLANE_ bigint, TASKCONTROLLER_ bigint, primary key (ID_))
 create table JBPM_TASKACTORPOOL (TASKINSTANCE_ bigint not null, POOLEDACTOR_ bigint not null, primary key (TASKINSTANCE_, POOLEDACTOR_))
 create table JBPM_TASKCONTROLLER (ID_ bigint generated by default as identity, TASKCONTROLLERDELEGATION_ bigint, primary key (ID_))
-create table JBPM_TASKINSTANCE (ID_ bigint generated by default as identity, CLASS_ char(1) not null, VERSION_ integer not null, NAME_ varchar(255), DESCRIPTION_ varchar(4000), ACTORID_ varchar(255), CREATE_ timestamp, START_ timestamp, END_ timestamp, DUEDATE_ timestamp, PRIORITY_ integer, ISCANCELLED_ smallint, ISSUSPENDED_ smallint, ISOPEN_ smallint, ISSIGNALLING_ smallint, ISBLOCKING_ smallint, TASK_ bigint, TOKEN_ bigint, PROCINST_ bigint, SWIMLANINSTANCE_ bigint, TASKMGMTINSTANCE_ bigint, primary key (ID_))
+create table JBPM_TASKINSTANCE (ID_ bigint generated by default as identity, CLASS_ char(1) not null, VERSION_ integer not null, NAME_ varchar(255), DESCRIPTION_ clob(4000), ACTORID_ varchar(255), CREATE_ timestamp, START_ timestamp, END_ timestamp, DUEDATE_ timestamp, PRIORITY_ integer, ISCANCELLED_ smallint, ISSUSPENDED_ smallint, ISOPEN_ smallint, ISSIGNALLING_ smallint, ISBLOCKING_ smallint, TASK_ bigint, TOKEN_ bigint, PROCINST_ bigint, SWIMLANINSTANCE_ bigint, TASKMGMTINSTANCE_ bigint, primary key (ID_))
 create table JBPM_TOKEN (ID_ bigint generated by default as identity, VERSION_ integer not null, NAME_ varchar(255), START_ timestamp, END_ timestamp, NODEENTER_ timestamp, NEXTLOGINDEX_ integer, ISABLETOREACTIVATEPARENT_ smallint, ISTERMINATIONIMPLICIT_ smallint, ISSUSPENDED_ smallint, LOCK_ varchar(255), NODE_ bigint, PROCESSINSTANCE_ bigint, PARENT_ bigint, SUBPROCESSINSTANCE_ bigint, primary key (ID_))
 create table JBPM_TOKENVARIABLEMAP (ID_ bigint generated by default as identity, VERSION_ integer not null, TOKEN_ bigint, CONTEXTINSTANCE_ bigint, primary key (ID_))
-create table JBPM_TRANSITION (ID_ bigint generated by default as identity, NAME_ varchar(255), DESCRIPTION_ varchar(4000), PROCESSDEFINITION_ bigint, FROM_ bigint, TO_ bigint, CONDITION_ varchar(255), FROMINDEX_ integer, primary key (ID_))
+create table JBPM_TRANSITION (ID_ bigint generated by default as identity, NAME_ varchar(255), DESCRIPTION_ clob(4000), PROCESSDEFINITION_ bigint, FROM_ bigint, TO_ bigint, CONDITION_ varchar(255), FROMINDEX_ integer, primary key (ID_))
 create table JBPM_VARIABLEACCESS (ID_ bigint generated by default as identity, VARIABLENAME_ varchar(255), ACCESS_ varchar(255), MAPPEDNAME_ varchar(255), SCRIPT_ bigint, PROCESSSTATE_ bigint, TASKCONTROLLER_ bigint, INDEX_ integer, primary key (ID_))
-create table JBPM_VARIABLEINSTANCE (ID_ bigint generated by default as identity, CLASS_ char(1) not null, VERSION_ integer not null, NAME_ varchar(255), CONVERTER_ char(1), TOKEN_ bigint, TOKENVARIABLEMAP_ bigint, PROCESSINSTANCE_ bigint, BYTEARRAYVALUE_ bigint, DATEVALUE_ timestamp, DOUBLEVALUE_ double, LONGIDCLASS_ varchar(255), LONGVALUE_ bigint, STRINGIDCLASS_ varchar(255), STRINGVALUE_ varchar(4000), TASKINSTANCE_ bigint, primary key (ID_))
+create table JBPM_VARIABLEINSTANCE (ID_ bigint generated by default as identity, CLASS_ char(1) not null, VERSION_ integer not null, NAME_ varchar(255), CONVERTER_ char(1), TOKEN_ bigint, TOKENVARIABLEMAP_ bigint, PROCESSINSTANCE_ bigint, BYTEARRAYVALUE_ bigint, DATEVALUE_ timestamp, DOUBLEVALUE_ double, LONGIDCLASS_ varchar(255), LONGVALUE_ bigint, STRINGIDCLASS_ varchar(255), STRINGVALUE_ clob(4000), TASKINSTANCE_ bigint, primary key (ID_))
 create index IDX_ACTION_REFACT on JBPM_ACTION (REFERENCEDACTION_)
 create index IDX_ACTION_EVENT on JBPM_ACTION (EVENT_)
 create index IDX_ACTION_ACTNDL on JBPM_ACTION (ACTIONDELEGATION_)
@@ -101,7 +101,7 @@
 create index IDX_MODINST_PRINST on JBPM_MODULEINSTANCE (PROCESSINSTANCE_)
 alter table JBPM_MODULEINSTANCE add constraint FK_TASKMGTINST_TMD foreign key (TASKMGMTDEFINITION_) references JBPM_MODULEDEFINITION
 alter table JBPM_MODULEINSTANCE add constraint FK_MODINST_PRCINST foreign key (PROCESSINSTANCE_) references JBPM_PROCESSINSTANCE
-create index IDX_PSTATE_SBPRCDEF on JBPM_NODE (SUBPROCESSDEFINITION_)
+create index IDX_PSTATE_SBPRCDE on JBPM_NODE (SUBPROCESSDEFINITION_)
 create index IDX_NODE_SCRIPT on JBPM_NODE (SCRIPT_)
 create index IDX_NODE_SUPRSTATE on JBPM_NODE (SUPERSTATE_)
 create index IDX_NODE_PROCDEF on JBPM_NODE (PROCESSDEFINITION_)
@@ -186,7 +186,7 @@
 alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_TSKCTRL foreign key (TASKCONTROLLER_) references JBPM_TASKCONTROLLER
 alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_SCRIPT foreign key (SCRIPT_) references JBPM_ACTION
 alter table JBPM_VARIABLEACCESS add constraint FK_VARACC_PROCST foreign key (PROCESSSTATE_) references JBPM_NODE
-create index IDX_VARINST_TKVARMP on JBPM_VARIABLEINSTANCE (TOKENVARIABLEMAP_)
+create index IDX_VARINST_TKVARM on JBPM_VARIABLEINSTANCE (TOKENVARIABLEMAP_)
 create index IDX_VARINST_PRCINS on JBPM_VARIABLEINSTANCE (PROCESSINSTANCE_)
 create index IDX_BYTEINST_ARRAY on JBPM_VARIABLEINSTANCE (BYTEARRAYVALUE_)
 create index IDX_VARINST_TK on JBPM_VARIABLEINSTANCE (TOKEN_)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-sql/jbpm.jpdl.sybase.sql
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-sql/jbpm.jpdl.sybase.sql	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/main/resources/jbpm-sql/jbpm.jpdl.sybase.sql	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,35 +1,35 @@
-create table JBPM_ACTION (ID_ numeric(19,0) identity not null, class char(1) not null, NAME_ varchar(255) null, ISPROPAGATIONALLOWED_ tinyint null, ACTIONEXPRESSION_ varchar(255) null, ISASYNC_ tinyint null, REFERENCEDACTION_ numeric(19,0) null, ACTIONDELEGATION_ numeric(19,0) null, EVENT_ numeric(19,0) null, PROCESSDEFINITION_ numeric(19,0) null, EXPRESSION_ varchar(4000) null, TIMERNAME_ varchar(255) null, DUEDATE_ varchar(255) null, REPEAT_ varchar(255) null, TRANSITIONNAME_ varchar(255) null, TIMERACTION_ numeric(19,0) null, EVENTINDEX_ int null, EXCEPTIONHANDLER_ numeric(19,0) null, EXCEPTIONHANDLERINDEX_ int null, primary key (ID_))
-create table JBPM_BYTEARRAY (ID_ numeric(19,0) identity not null, NAME_ varchar(255) null, FILEDEFINITION_ numeric(19,0) null, primary key (ID_))
-create table JBPM_BYTEBLOCK (PROCESSFILE_ numeric(19,0) not null, BYTES_ varbinary(1024) null, INDEX_ int not null, primary key (PROCESSFILE_, INDEX_))
-create table JBPM_COMMENT (ID_ numeric(19,0) identity not null, VERSION_ int not null, ACTORID_ varchar(255) null, TIME_ datetime null, MESSAGE_ varchar(4000) null, TOKEN_ numeric(19,0) null, TASKINSTANCE_ numeric(19,0) null, TOKENINDEX_ int null, TASKINSTANCEINDEX_ int null, primary key (ID_))
-create table JBPM_DECISIONCONDITIONS (DECISION_ numeric(19,0) not null, TRANSITIONNAME_ varchar(255) null, EXPRESSION_ varchar(255) null, INDEX_ int not null, primary key (DECISION_, INDEX_))
-create table JBPM_DELEGATION (ID_ numeric(19,0) identity not null, CLASSNAME_ varchar(4000) null, CONFIGURATION_ varchar(4000) null, CONFIGTYPE_ varchar(255) null, PROCESSDEFINITION_ numeric(19,0) null, primary key (ID_))
-create table JBPM_EVENT (ID_ numeric(19,0) identity not null, EVENTTYPE_ varchar(255) null, TYPE_ char(1) null, GRAPHELEMENT_ numeric(19,0) null, PROCESSDEFINITION_ numeric(19,0) null, NODE_ numeric(19,0) null, TRANSITION_ numeric(19,0) null, TASK_ numeric(19,0) null, primary key (ID_))
-create table JBPM_EXCEPTIONHANDLER (ID_ numeric(19,0) identity not null, EXCEPTIONCLASSNAME_ varchar(4000) null, TYPE_ char(1) null, GRAPHELEMENT_ numeric(19,0) null, PROCESSDEFINITION_ numeric(19,0) null, GRAPHELEMENTINDEX_ int null, NODE_ numeric(19,0) null, TRANSITION_ numeric(19,0) null, TASK_ numeric(19,0) null, primary key (ID_))
-create table JBPM_ID_GROUP (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, TYPE_ varchar(255) null, PARENT_ numeric(19,0) null, primary key (ID_))
-create table JBPM_ID_MEMBERSHIP (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, ROLE_ varchar(255) null, USER_ numeric(19,0) null, GROUP_ numeric(19,0) null, primary key (ID_))
-create table JBPM_ID_PERMISSIONS (ENTITY_ numeric(19,0) not null, CLASS_ varchar(255) null, NAME_ varchar(255) null, ACTION_ varchar(255) null)
-create table JBPM_ID_USER (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, EMAIL_ varchar(255) null, PASSWORD_ varchar(255) null, primary key (ID_))
-create table JBPM_JOB (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, VERSION_ int not null, DUEDATE_ datetime null, PROCESSINSTANCE_ numeric(19,0) null, TOKEN_ numeric(19,0) null, TASKINSTANCE_ numeric(19,0) null, ISSUSPENDED_ tinyint null, ISEXCLUSIVE_ tinyint null, LOCKOWNER_ varchar(255) null, LOCKTIME_ datetime null, EXCEPTION_ text null, RETRIES_ int null, NAME_ varchar(255) null, REPEAT_ varchar(255) null, TRANSITIONNAME_ varchar(255) null, ACTION_ numeric(19,0) null, GRAPHELEMENTTYPE_ varchar(255) null, GRAPHELEMENT_ numeric(19,0) null, NODE_ numeric(19,0) null, primary key (ID_))
-create table JBPM_LOG (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, INDEX_ int null, DATE_ datetime null, TOKEN_ numeric(19,0) null, PARENT_ numeric(19,0) null, MESSAGE_ varchar(4000) null, EXCEPTION_ text null, ACTION_ numeric(19,0) null, NODE_ numeric(19,0) null, ENTER_ datetime null, LEAVE_ datetime null, DURATION_ numeric(19,0) null, NEWLONGVALUE_ numeric(19,0) null, TRANSITION_ numeric(19,0) null, CHILD_ numeric(19,0) null, SOURCENODE_ numeric(19,0) null, DESTINATIONNODE_ numeric(19,0) null, VARIABLEINSTANCE_ numeric(19,0) null, OLDBYTEARRAY_ numeric(19,0) null, NEWBYTEARRAY_ numeric(19,0) null, OLDDATEVALUE_ datetime null, NEWDATEVALUE_ datetime null, OLDDOUBLEVALUE_ double precision null, NEWDOUBLEVALUE_ double precision null, OLDLONGIDCLASS_ varchar(255) null, OLDLONGIDVALUE_ numeric(19,0) null, NEWLONGIDCLASS_ varchar(255) null, NEWLONGIDVALUE_ numeric(19,0) null, OLDSTRINGIDCLASS_ varchar(255) null, OLDSTRINGIDVALUE_ varchar(255) null, NEWSTRINGID!
 CLASS_ varchar(255) null, NEWSTRINGIDVALUE_ varchar(255) null, OLDLONGVALUE_ numeric(19,0) null, OLDSTRINGVALUE_ varchar(4000) null, NEWSTRINGVALUE_ varchar(4000) null, TASKINSTANCE_ numeric(19,0) null, TASKACTORID_ varchar(255) null, TASKOLDACTORID_ varchar(255) null, SWIMLANEINSTANCE_ numeric(19,0) null, primary key (ID_))
-create table JBPM_MODULEDEFINITION (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(4000) null, PROCESSDEFINITION_ numeric(19,0) null, STARTTASK_ numeric(19,0) null, primary key (ID_))
-create table JBPM_MODULEINSTANCE (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, VERSION_ int not null, PROCESSINSTANCE_ numeric(19,0) null, TASKMGMTDEFINITION_ numeric(19,0) null, NAME_ varchar(255) null, primary key (ID_))
-create table JBPM_NODE (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, PROCESSDEFINITION_ numeric(19,0) null, ISASYNC_ tinyint null, ISASYNCEXCL_ tinyint null, ACTION_ numeric(19,0) null, SUPERSTATE_ numeric(19,0) null, SUBPROCNAME_ varchar(255) null, SUBPROCESSDEFINITION_ numeric(19,0) null, DECISIONEXPRESSION_ varchar(255) null, DECISIONDELEGATION numeric(19,0) null, SCRIPT_ numeric(19,0) null, SIGNAL_ int null, CREATETASKS_ tinyint null, ENDTASKS_ tinyint null, NODECOLLECTIONINDEX_ int null, primary key (ID_))
-create table JBPM_POOLEDACTOR (ID_ numeric(19,0) identity not null, VERSION_ int not null, ACTORID_ varchar(255) null, SWIMLANEINSTANCE_ numeric(19,0) null, primary key (ID_))
-create table JBPM_PROCESSDEFINITION (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, VERSION_ int null, ISTERMINATIONIMPLICIT_ tinyint null, STARTSTATE_ numeric(19,0) null, primary key (ID_))
-create table JBPM_PROCESSINSTANCE (ID_ numeric(19,0) identity not null, VERSION_ int not null, KEY_ varchar(255) null, START_ datetime null, END_ datetime null, ISSUSPENDED_ tinyint null, PROCESSDEFINITION_ numeric(19,0) null, ROOTTOKEN_ numeric(19,0) null, SUPERPROCESSTOKEN_ numeric(19,0) null, primary key (ID_))
-create table JBPM_RUNTIMEACTION (ID_ numeric(19,0) identity not null, VERSION_ int not null, EVENTTYPE_ varchar(255) null, TYPE_ char(1) null, GRAPHELEMENT_ numeric(19,0) null, PROCESSINSTANCE_ numeric(19,0) null, ACTION_ numeric(19,0) null, PROCESSINSTANCEINDEX_ int null, primary key (ID_))
-create table JBPM_SWIMLANE (ID_ numeric(19,0) identity not null, NAME_ varchar(255) null, ACTORIDEXPRESSION_ varchar(255) null, POOLEDACTORSEXPRESSION_ varchar(255) null, ASSIGNMENTDELEGATION_ numeric(19,0) null, TASKMGMTDEFINITION_ numeric(19,0) null, primary key (ID_))
-create table JBPM_SWIMLANEINSTANCE (ID_ numeric(19,0) identity not null, VERSION_ int not null, NAME_ varchar(255) null, ACTORID_ varchar(255) null, SWIMLANE_ numeric(19,0) null, TASKMGMTINSTANCE_ numeric(19,0) null, primary key (ID_))
-create table JBPM_TASK (ID_ numeric(19,0) identity not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, PROCESSDEFINITION_ numeric(19,0) null, ISBLOCKING_ tinyint null, ISSIGNALLING_ tinyint null, CONDITION_ varchar(255) null, DUEDATE_ varchar(255) null, PRIORITY_ int null, ACTORIDEXPRESSION_ varchar(255) null, POOLEDACTORSEXPRESSION_ varchar(255) null, TASKMGMTDEFINITION_ numeric(19,0) null, TASKNODE_ numeric(19,0) null, STARTSTATE_ numeric(19,0) null, ASSIGNMENTDELEGATION_ numeric(19,0) null, SWIMLANE_ numeric(19,0) null, TASKCONTROLLER_ numeric(19,0) null, primary key (ID_))
-create table JBPM_TASKACTORPOOL (TASKINSTANCE_ numeric(19,0) not null, POOLEDACTOR_ numeric(19,0) not null, primary key (TASKINSTANCE_, POOLEDACTOR_))
-create table JBPM_TASKCONTROLLER (ID_ numeric(19,0) identity not null, TASKCONTROLLERDELEGATION_ numeric(19,0) null, primary key (ID_))
-create table JBPM_TASKINSTANCE (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, VERSION_ int not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, ACTORID_ varchar(255) null, CREATE_ datetime null, START_ datetime null, END_ datetime null, DUEDATE_ datetime null, PRIORITY_ int null, ISCANCELLED_ tinyint null, ISSUSPENDED_ tinyint null, ISOPEN_ tinyint null, ISSIGNALLING_ tinyint null, ISBLOCKING_ tinyint null, TASK_ numeric(19,0) null, TOKEN_ numeric(19,0) null, PROCINST_ numeric(19,0) null, SWIMLANINSTANCE_ numeric(19,0) null, TASKMGMTINSTANCE_ numeric(19,0) null, primary key (ID_))
-create table JBPM_TOKEN (ID_ numeric(19,0) identity not null, VERSION_ int not null, NAME_ varchar(255) null, START_ datetime null, END_ datetime null, NODEENTER_ datetime null, NEXTLOGINDEX_ int null, ISABLETOREACTIVATEPARENT_ tinyint null, ISTERMINATIONIMPLICIT_ tinyint null, ISSUSPENDED_ tinyint null, LOCK_ varchar(255) null, NODE_ numeric(19,0) null, PROCESSINSTANCE_ numeric(19,0) null, PARENT_ numeric(19,0) null, SUBPROCESSINSTANCE_ numeric(19,0) null, primary key (ID_))
-create table JBPM_TOKENVARIABLEMAP (ID_ numeric(19,0) identity not null, VERSION_ int not null, TOKEN_ numeric(19,0) null, CONTEXTINSTANCE_ numeric(19,0) null, primary key (ID_))
-create table JBPM_TRANSITION (ID_ numeric(19,0) identity not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, PROCESSDEFINITION_ numeric(19,0) null, FROM_ numeric(19,0) null, TO_ numeric(19,0) null, CONDITION_ varchar(255) null, FROMINDEX_ int null, primary key (ID_))
-create table JBPM_VARIABLEACCESS (ID_ numeric(19,0) identity not null, VARIABLENAME_ varchar(255) null, ACCESS_ varchar(255) null, MAPPEDNAME_ varchar(255) null, SCRIPT_ numeric(19,0) null, PROCESSSTATE_ numeric(19,0) null, TASKCONTROLLER_ numeric(19,0) null, INDEX_ int null, primary key (ID_))
-create table JBPM_VARIABLEINSTANCE (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, VERSION_ int not null, NAME_ varchar(255) null, CONVERTER_ char(1) null, TOKEN_ numeric(19,0) null, TOKENVARIABLEMAP_ numeric(19,0) null, PROCESSINSTANCE_ numeric(19,0) null, BYTEARRAYVALUE_ numeric(19,0) null, DATEVALUE_ datetime null, DOUBLEVALUE_ double precision null, LONGIDCLASS_ varchar(255) null, LONGVALUE_ numeric(19,0) null, STRINGIDCLASS_ varchar(255) null, STRINGVALUE_ varchar(4000) null, TASKINSTANCE_ numeric(19,0) null, primary key (ID_))
+create table JBPM_ACTION (ID_ numeric(19,0) identity not null, class char(1) not null, NAME_ varchar(255) null, ISPROPAGATIONALLOWED_ tinyint null, ACTIONEXPRESSION_ varchar(255) null, ISASYNC_ tinyint null, REFERENCEDACTION_ numeric(19,0) null, ACTIONDELEGATION_ numeric(19,0) null, EVENT_ numeric(19,0) null, PROCESSDEFINITION_ numeric(19,0) null, EXPRESSION_ varchar(4000) null, TIMERNAME_ varchar(255) null, DUEDATE_ varchar(255) null, REPEAT_ varchar(255) null, TRANSITIONNAME_ varchar(255) null, TIMERACTION_ numeric(19,0) null, EVENTINDEX_ int null, EXCEPTIONHANDLER_ numeric(19,0) null, EXCEPTIONHANDLERINDEX_ int null, primary key (ID_)) lock datarows
+create table JBPM_BYTEARRAY (ID_ numeric(19,0) identity not null, NAME_ varchar(255) null, FILEDEFINITION_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_BYTEBLOCK (PROCESSFILE_ numeric(19,0) not null, BYTES_ varbinary(1024) null, INDEX_ int not null, primary key (PROCESSFILE_, INDEX_)) lock datarows
+create table JBPM_COMMENT (ID_ numeric(19,0) identity not null, VERSION_ int not null, ACTORID_ varchar(255) null, TIME_ datetime null, MESSAGE_ varchar(4000) null, TOKEN_ numeric(19,0) null, TASKINSTANCE_ numeric(19,0) null, TOKENINDEX_ int null, TASKINSTANCEINDEX_ int null, primary key (ID_)) lock datarows
+create table JBPM_DECISIONCONDITIONS (DECISION_ numeric(19,0) not null, TRANSITIONNAME_ varchar(255) null, EXPRESSION_ varchar(255) null, INDEX_ int not null, primary key (DECISION_, INDEX_)) lock datarows
+create table JBPM_DELEGATION (ID_ numeric(19,0) identity not null, CLASSNAME_ varchar(4000) null, CONFIGURATION_ varchar(4000) null, CONFIGTYPE_ varchar(255) null, PROCESSDEFINITION_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_EVENT (ID_ numeric(19,0) identity not null, EVENTTYPE_ varchar(255) null, TYPE_ char(1) null, GRAPHELEMENT_ numeric(19,0) null, PROCESSDEFINITION_ numeric(19,0) null, NODE_ numeric(19,0) null, TRANSITION_ numeric(19,0) null, TASK_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_EXCEPTIONHANDLER (ID_ numeric(19,0) identity not null, EXCEPTIONCLASSNAME_ varchar(4000) null, TYPE_ char(1) null, GRAPHELEMENT_ numeric(19,0) null, PROCESSDEFINITION_ numeric(19,0) null, GRAPHELEMENTINDEX_ int null, NODE_ numeric(19,0) null, TRANSITION_ numeric(19,0) null, TASK_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_ID_GROUP (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, TYPE_ varchar(255) null, PARENT_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_ID_MEMBERSHIP (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, ROLE_ varchar(255) null, USER_ numeric(19,0) null, GROUP_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_ID_PERMISSIONS (ENTITY_ numeric(19,0) not null, CLASS_ varchar(255) null, NAME_ varchar(255) null, ACTION_ varchar(255) null) lock datarows
+create table JBPM_ID_USER (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, EMAIL_ varchar(255) null, PASSWORD_ varchar(255) null, primary key (ID_)) lock datarows
+create table JBPM_JOB (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, VERSION_ int not null, DUEDATE_ datetime null, PROCESSINSTANCE_ numeric(19,0) null, TOKEN_ numeric(19,0) null, TASKINSTANCE_ numeric(19,0) null, ISSUSPENDED_ tinyint null, ISEXCLUSIVE_ tinyint null, LOCKOWNER_ varchar(255) null, LOCKTIME_ datetime null, EXCEPTION_ text null, RETRIES_ int null, NAME_ varchar(255) null, REPEAT_ varchar(255) null, TRANSITIONNAME_ varchar(255) null, ACTION_ numeric(19,0) null, GRAPHELEMENTTYPE_ varchar(255) null, GRAPHELEMENT_ numeric(19,0) null, NODE_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_LOG (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, INDEX_ int null, DATE_ datetime null, TOKEN_ numeric(19,0) null, PARENT_ numeric(19,0) null, MESSAGE_ varchar(4000) null, EXCEPTION_ text null, ACTION_ numeric(19,0) null, NODE_ numeric(19,0) null, ENTER_ datetime null, LEAVE_ datetime null, DURATION_ numeric(19,0) null, NEWLONGVALUE_ numeric(19,0) null, TRANSITION_ numeric(19,0) null, CHILD_ numeric(19,0) null, SOURCENODE_ numeric(19,0) null, DESTINATIONNODE_ numeric(19,0) null, VARIABLEINSTANCE_ numeric(19,0) null, OLDBYTEARRAY_ numeric(19,0) null, NEWBYTEARRAY_ numeric(19,0) null, OLDDATEVALUE_ datetime null, NEWDATEVALUE_ datetime null, OLDDOUBLEVALUE_ double precision null, NEWDOUBLEVALUE_ double precision null, OLDLONGIDCLASS_ varchar(255) null, OLDLONGIDVALUE_ numeric(19,0) null, NEWLONGIDCLASS_ varchar(255) null, NEWLONGIDVALUE_ numeric(19,0) null, OLDSTRINGIDCLASS_ varchar(255) null, OLDSTRINGIDVALUE_ varchar(255) null, NEWSTRINGID!
 CLASS_ varchar(255) null, NEWSTRINGIDVALUE_ varchar(255) null, OLDLONGVALUE_ numeric(19,0) null, OLDSTRINGVALUE_ varchar(4000) null, NEWSTRINGVALUE_ varchar(4000) null, TASKINSTANCE_ numeric(19,0) null, TASKACTORID_ varchar(255) null, TASKOLDACTORID_ varchar(255) null, SWIMLANEINSTANCE_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_MODULEDEFINITION (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(4000) null, PROCESSDEFINITION_ numeric(19,0) null, STARTTASK_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_MODULEINSTANCE (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, VERSION_ int not null, PROCESSINSTANCE_ numeric(19,0) null, TASKMGMTDEFINITION_ numeric(19,0) null, NAME_ varchar(255) null, primary key (ID_)) lock datarows
+create table JBPM_NODE (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, PROCESSDEFINITION_ numeric(19,0) null, ISASYNC_ tinyint null, ISASYNCEXCL_ tinyint null, ACTION_ numeric(19,0) null, SUPERSTATE_ numeric(19,0) null, SUBPROCNAME_ varchar(255) null, SUBPROCESSDEFINITION_ numeric(19,0) null, DECISIONEXPRESSION_ varchar(255) null, DECISIONDELEGATION numeric(19,0) null, SCRIPT_ numeric(19,0) null, SIGNAL_ int null, CREATETASKS_ tinyint null, ENDTASKS_ tinyint null, NODECOLLECTIONINDEX_ int null, primary key (ID_)) lock datarows
+create table JBPM_POOLEDACTOR (ID_ numeric(19,0) identity not null, VERSION_ int not null, ACTORID_ varchar(255) null, SWIMLANEINSTANCE_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_PROCESSDEFINITION (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, VERSION_ int null, ISTERMINATIONIMPLICIT_ tinyint null, STARTSTATE_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_PROCESSINSTANCE (ID_ numeric(19,0) identity not null, VERSION_ int not null, KEY_ varchar(255) null, START_ datetime null, END_ datetime null, ISSUSPENDED_ tinyint null, PROCESSDEFINITION_ numeric(19,0) null, ROOTTOKEN_ numeric(19,0) null, SUPERPROCESSTOKEN_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_RUNTIMEACTION (ID_ numeric(19,0) identity not null, VERSION_ int not null, EVENTTYPE_ varchar(255) null, TYPE_ char(1) null, GRAPHELEMENT_ numeric(19,0) null, PROCESSINSTANCE_ numeric(19,0) null, ACTION_ numeric(19,0) null, PROCESSINSTANCEINDEX_ int null, primary key (ID_)) lock datarows
+create table JBPM_SWIMLANE (ID_ numeric(19,0) identity not null, NAME_ varchar(255) null, ACTORIDEXPRESSION_ varchar(255) null, POOLEDACTORSEXPRESSION_ varchar(255) null, ASSIGNMENTDELEGATION_ numeric(19,0) null, TASKMGMTDEFINITION_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_SWIMLANEINSTANCE (ID_ numeric(19,0) identity not null, VERSION_ int not null, NAME_ varchar(255) null, ACTORID_ varchar(255) null, SWIMLANE_ numeric(19,0) null, TASKMGMTINSTANCE_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_TASK (ID_ numeric(19,0) identity not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, PROCESSDEFINITION_ numeric(19,0) null, ISBLOCKING_ tinyint null, ISSIGNALLING_ tinyint null, CONDITION_ varchar(255) null, DUEDATE_ varchar(255) null, PRIORITY_ int null, ACTORIDEXPRESSION_ varchar(255) null, POOLEDACTORSEXPRESSION_ varchar(255) null, TASKMGMTDEFINITION_ numeric(19,0) null, TASKNODE_ numeric(19,0) null, STARTSTATE_ numeric(19,0) null, ASSIGNMENTDELEGATION_ numeric(19,0) null, SWIMLANE_ numeric(19,0) null, TASKCONTROLLER_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_TASKACTORPOOL (TASKINSTANCE_ numeric(19,0) not null, POOLEDACTOR_ numeric(19,0) not null, primary key (TASKINSTANCE_, POOLEDACTOR_)) lock datarows
+create table JBPM_TASKCONTROLLER (ID_ numeric(19,0) identity not null, TASKCONTROLLERDELEGATION_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_TASKINSTANCE (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, VERSION_ int not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, ACTORID_ varchar(255) null, CREATE_ datetime null, START_ datetime null, END_ datetime null, DUEDATE_ datetime null, PRIORITY_ int null, ISCANCELLED_ tinyint null, ISSUSPENDED_ tinyint null, ISOPEN_ tinyint null, ISSIGNALLING_ tinyint null, ISBLOCKING_ tinyint null, TASK_ numeric(19,0) null, TOKEN_ numeric(19,0) null, PROCINST_ numeric(19,0) null, SWIMLANINSTANCE_ numeric(19,0) null, TASKMGMTINSTANCE_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_TOKEN (ID_ numeric(19,0) identity not null, VERSION_ int not null, NAME_ varchar(255) null, START_ datetime null, END_ datetime null, NODEENTER_ datetime null, NEXTLOGINDEX_ int null, ISABLETOREACTIVATEPARENT_ tinyint null, ISTERMINATIONIMPLICIT_ tinyint null, ISSUSPENDED_ tinyint null, LOCK_ varchar(255) null, NODE_ numeric(19,0) null, PROCESSINSTANCE_ numeric(19,0) null, PARENT_ numeric(19,0) null, SUBPROCESSINSTANCE_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_TOKENVARIABLEMAP (ID_ numeric(19,0) identity not null, VERSION_ int not null, TOKEN_ numeric(19,0) null, CONTEXTINSTANCE_ numeric(19,0) null, primary key (ID_)) lock datarows
+create table JBPM_TRANSITION (ID_ numeric(19,0) identity not null, NAME_ varchar(255) null, DESCRIPTION_ varchar(4000) null, PROCESSDEFINITION_ numeric(19,0) null, FROM_ numeric(19,0) null, TO_ numeric(19,0) null, CONDITION_ varchar(255) null, FROMINDEX_ int null, primary key (ID_)) lock datarows
+create table JBPM_VARIABLEACCESS (ID_ numeric(19,0) identity not null, VARIABLENAME_ varchar(255) null, ACCESS_ varchar(255) null, MAPPEDNAME_ varchar(255) null, SCRIPT_ numeric(19,0) null, PROCESSSTATE_ numeric(19,0) null, TASKCONTROLLER_ numeric(19,0) null, INDEX_ int null, primary key (ID_)) lock datarows
+create table JBPM_VARIABLEINSTANCE (ID_ numeric(19,0) identity not null, CLASS_ char(1) not null, VERSION_ int not null, NAME_ varchar(255) null, CONVERTER_ char(1) null, TOKEN_ numeric(19,0) null, TOKENVARIABLEMAP_ numeric(19,0) null, PROCESSINSTANCE_ numeric(19,0) null, BYTEARRAYVALUE_ numeric(19,0) null, DATEVALUE_ datetime null, DOUBLEVALUE_ double precision null, LONGIDCLASS_ varchar(255) null, LONGVALUE_ numeric(19,0) null, STRINGIDCLASS_ varchar(255) null, STRINGVALUE_ varchar(4000) null, TASKINSTANCE_ numeric(19,0) null, primary key (ID_)) lock datarows
 create index IDX_ACTION_REFACT on JBPM_ACTION (REFERENCEDACTION_)
 create index IDX_ACTION_EVENT on JBPM_ACTION (EVENT_)
 create index IDX_ACTION_ACTNDL on JBPM_ACTION (ACTIONDELEGATION_)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/test/resources/hibernate.cfg.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/test/resources/hibernate.cfg.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/jbpm/src/test/resources/hibernate.cfg.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -64,6 +64,9 @@
     <!-- hql queries -->
     <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
 
+    <!-- type mappings -->
+    <mapping resource="org/jbpm/db/hibernate.types.hbm.xml" />
+
     <!-- hql queries used in simulation for querying historical data.
          uncomment if you want to use the GetSimulationInputCommand
          or you want to use the queries directly.
@@ -203,6 +206,9 @@
 
     <!-- strategy="nonstrict-read-write" can be used with HashtableCacheProvider -->
 
+    <class-cache class="org.jbpm.bytes.ByteArray" usage="nonstrict-read-write" />
+    <collection-cache collection="org.jbpm.bytes.ByteArray.byteBlocks" usage="nonstrict-read-write" />
+
     <class-cache class="org.jbpm.context.def.VariableAccess" usage="nonstrict-read-write" />
 
     <collection-cache collection="org.jbpm.file.def.FileDefinition.processFiles" usage="nonstrict-read-write" />

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -38,6 +38,7 @@
 import org.jboss.soa.esb.actions.ActionLifecycleException;
 import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.http.HttpRequest;
 import org.jboss.soa.esb.listeners.message.MessageDeliverException;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.MessagePayloadProxy;
@@ -203,10 +204,19 @@
 			transport.initialise();
 		}
 	}
-
+	
 	public Message process(Message message) throws ActionProcessingException
 	{
-		String soapaction = (String)message.getProperties().getProperty("soapaction");
+		String soapaction = null;
+		HttpRequest request = HttpRequest.getRequest(message);
+		if (request != null)
+		{
+			soapaction = request.getHeaderValue("soapaction");
+		}
+		if (soapaction == null)
+		{
+			soapaction = (String)message.getProperties().getProperty("soapaction");
+		}
 		QName binding = (soapaction != null) ? soapaction_to_binding.get(soapaction) : null;
 		QName operation = null;
 		if (binding == null)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/tools/console/lib/servlet-api.jar
===================================================================
(Binary files differ)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/product/tools/console/management/lib/servlet-api.jar
===================================================================
(Binary files differ)

Modified: labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/TestUtils.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/TestUtils.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/TestUtils.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -40,7 +40,7 @@
 		final File file = new File(fileName) ;
 
         long startTime = System.currentTimeMillis();
-        while(System.currentTimeMillis() < startTime + 10000) {
+        while(System.currentTimeMillis() < startTime + 30000) {
             if(file.exists()) {
                 return true;
             }

Modified: labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/epr/LogicalEPRUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/epr/LogicalEPRUnitTest.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/epr/LogicalEPRUnitTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -26,7 +26,7 @@
 import org.jboss.soa.esb.message.format.MessageFactory;
 import org.jboss.soa.esb.testutils.FileUtil;
 import org.jboss.soa.esb.testutils.JMSUtil;
-import org.jboss.soa.esb.util.DeploymentArchive;
+import org.jboss.soa.esb.util.TestDeploymentArchive;
 import org.jboss.test.JBossTestCase;
 
 import java.io.File;
@@ -86,7 +86,7 @@
     }
 
     public static Test suite() throws Exception {
-        DeploymentArchive deployment = new DeploymentArchive("LogicalEPRUnitTest.esb");
+        TestDeploymentArchive deployment = new TestDeploymentArchive("LogicalEPRUnitTest.esb");
         String jmsImpl = System.getProperty("org.jboss.esb.jmsimpl");
 	if (jmsImpl == null) {
 		jmsImpl = "jbm";	

Modified: labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/jms/JmsGatewayListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/jms/JmsGatewayListenerUnitTest.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/jms/JmsGatewayListenerUnitTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -20,7 +20,7 @@
 package org.jboss.soa.esb.jms;
 
 import junit.framework.Test;
-import org.jboss.soa.esb.util.DeploymentArchive;
+import org.jboss.soa.esb.util.TestDeploymentArchive;
 import org.jboss.soa.esb.testutils.JMSUtil;
 import org.jboss.test.JBossTestCase;
 
@@ -31,7 +31,7 @@
  */
 public class JmsGatewayListenerUnitTest extends JBossTestCase {
 
-    DeploymentArchive deployment;
+    TestDeploymentArchive deployment;
 
     public JmsGatewayListenerUnitTest(String name) {
         super(name);
@@ -64,7 +64,7 @@
     }
 
     private static void createEsbDeployment() {
-        DeploymentArchive deployment = new DeploymentArchive("JmsGatewayListenerUnitTest.esb");
+        TestDeploymentArchive deployment = new TestDeploymentArchive("JmsGatewayListenerUnitTest.esb");
 
         deployment.addEntry("META-INF/jboss-esb.xml", JmsGatewayListenerUnitTest.class.getResourceAsStream("jboss-esb.xml"));
         deployment.addEntry("META-INF/deployment.xml", JmsGatewayListenerUnitTest.class.getResourceAsStream("deployment.xml"));

Modified: labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/server/ebws/EBWSUtil.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/server/ebws/EBWSUtil.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/server/ebws/EBWSUtil.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -64,9 +64,9 @@
     public static final String SOAP_ADDRESSING_RESPONSE = "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
             "<soap:Header/><soap:Body>" + VALID_RESPONSE + "</soap:Body></soap:Envelope>" ;
 
-    public static final String NORMAL_SOAP_ENDPOINT = "http://127.0.0.1:8080/ebws-test/TestEBWS/normal" ; 
-    public static final String ALTERNATE_SOAP_ENDPOINT = "http://127.0.0.1:8080/ebws-test/TestEBWS/alternate" ; 
-    public static final String NORMAL_SOAP_ADDRESSING_ENDPOINT = "http://127.0.0.1:8080/ebws-test/TestEBWS/addressing" ; 
+    public static final String NORMAL_SOAP_ENDPOINT = "http://127.0.0.1:8080/ebws-test/ebws/TestEBWS/normal" ;
+    public static final String ALTERNATE_SOAP_ENDPOINT = "http://127.0.0.1:8080/ebws-test/ebws/TestEBWS/alternate" ; 
+    public static final String NORMAL_SOAP_ADDRESSING_ENDPOINT = "http://127.0.0.1:8080/ebws-test/ebws/TestEBWS/addressing" ; 
     
     public static EBWSServerMBean getEBWSServerMBean()
         throws MalformedObjectNameException

Deleted: labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/util/DeploymentArchive.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/util/DeploymentArchive.java	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/util/DeploymentArchive.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -1,160 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.util;
-
-import junit.framework.TestCase;
-
-import java.util.zip.ZipOutputStream;
-import java.util.zip.ZipEntry;
-import java.util.Map;
-import java.util.LinkedHashMap;
-import java.util.Set;
-import java.io.*;
-
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.apache.log4j.Logger;
-
-/**
- * Deployment archive creator.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class DeploymentArchive {
-
-    private static Logger logger = Logger.getLogger(DeploymentArchive.class);
-    private static final String PROP_ORG_JBOSS_ESB_DEPLOY_DIR = "jbosstest.deploy.dir";
-
-    private File archiveFile;
-    private LinkedHashMap<String, byte[]> entries = new LinkedHashMap<String, byte[]>();
-
-    /**
-     * Create the named archive in the folder denoted by the "jbosstest.deploy.dir"
-     * System property.
-     *
-     * @param name Archive name.
-     */
-    public DeploymentArchive(String name) {
-        this(getParentFolder(name), name);
-    }
-
-    /**
-     * Create the named archive in the folder specified by the parentFolder arg.
-     *
-     * @param parentFolder Archive parent folder.
-     * @param name Archive name.
-     */
-    public DeploymentArchive(File parentFolder, String name) {
-        AssertArgument.isNotNull(parentFolder, "parentFolder");
-        AssertArgument.isNotNullAndNotEmpty(name, "name");
-
-        if(!parentFolder.exists()) {
-            TestCase.fail("Cannot create archive '" + name + "'.  Parent folder '" + parentFolder.getAbsolutePath() + "' does not exist.");
-        }
-        archiveFile = new File(parentFolder, name);
-    }
-
-    private static File getParentFolder(String name) {
-        String deployTargetFolder = System.getProperty(PROP_ORG_JBOSS_ESB_DEPLOY_DIR);
-        if(deployTargetFolder == null) {
-            TestCase.fail("Cannot create archive '" + name + "'.  Parent folder must be specified in System property '" + PROP_ORG_JBOSS_ESB_DEPLOY_DIR + "'.");
-        }
-        return new File(deployTargetFolder);
-    }
-
-    public void addEntry(String path, InputStream data) {
-        AssertArgument.isNotNullAndNotEmpty(path, "path");
-        AssertArgument.isNotNull(data, "data");
-        
-        try {
-            entries.put(path, StreamUtils.readStream(data));
-        } finally {
-            try {
-                data.close();
-            } catch (IOException e) {
-                TestCase.fail("Unable to close input stream for archive entry '" + path + "'.");
-            }
-        }
-    }
-
-    public void addEntry(String path, String resClasspathLocation) {
-        InputStream resource = getClass().getResourceAsStream(resClasspathLocation);
-        if(resource == null) {
-            TestCase.fail("Unable to close input stream for archive entry '" + path + "'.");
-        } else {
-            addEntry(path, resource);
-        }
-    }
-
-    public void addEntry(Class clazz) {
-        String className = clazz.getName();
-
-        className = className.replace('.', '/') + ".class";
-        addEntry(className, "/" + className);
-    }
-
-    /**
-     * Create an archive of the specified name and containing entries
-     * for the data contained in the streams supplied entries arg. 
-     * specifying the entry name and the value is a InputStream containing
-     * the entry data. 
-     */
-    public void create() {
-        ZipOutputStream archiveStream = null;
-        try {
-            archiveStream = new ZipOutputStream(new FileOutputStream(archiveFile));
-        } catch (FileNotFoundException e) {
-            TestCase.fail("Unable to open output stream to archive file '" + archiveFile.getAbsolutePath() + "'.");
-        }
-
-        try {
-            writeEntriesToArchive(archiveStream);
-            logger.info("Deployment archive '" + archiveFile.getAbsolutePath() + "' created.");
-        } finally {
-            try {
-                archiveStream.close();
-            } catch (IOException e) {
-                TestCase.fail("Unable to close output stream to archive file '" + archiveFile.getAbsolutePath() + "'.");
-            }
-        }
-    }
-
-    /**
-     * Remove the archive.
-     */
-    public void remove() {
-        if(archiveFile.exists()) {
-            archiveFile.delete();
-        }
-    }
-
-    private void writeEntriesToArchive(ZipOutputStream archiveStream) {
-        Set<Map.Entry<String, byte[]>> entrySet = entries.entrySet();
-        for (Map.Entry<String, byte[]> entry : entrySet) {
-            try {
-                archiveStream.putNextEntry(new ZipEntry(entry.getKey()));
-                archiveStream.write(entry.getValue());
-                archiveStream.closeEntry();
-            } catch (IOException e) {
-                TestCase.fail("Unable to create archive entry for '" + archiveFile.getAbsolutePath() + "': " + e.getMessage());
-            }
-        }
-    }
-}

Copied: labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/util/TestDeploymentArchive.java (from rev 29337, labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/util/TestDeploymentArchive.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/util/TestDeploymentArchive.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/qa/junit/src/org/jboss/soa/esb/util/TestDeploymentArchive.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,160 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.util;
+
+import junit.framework.TestCase;
+
+import java.util.zip.ZipOutputStream;
+import java.util.zip.ZipEntry;
+import java.util.Map;
+import java.util.LinkedHashMap;
+import java.util.Set;
+import java.io.*;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.apache.log4j.Logger;
+
+/**
+ * Deployment archive creator.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class TestDeploymentArchive {
+
+    private static Logger logger = Logger.getLogger(TestDeploymentArchive.class);
+    private static final String PROP_ORG_JBOSS_ESB_DEPLOY_DIR = "jbosstest.deploy.dir";
+
+    private File archiveFile;
+    private LinkedHashMap<String, byte[]> entries = new LinkedHashMap<String, byte[]>();
+
+    /**
+     * Create the named archive in the folder denoted by the "jbosstest.deploy.dir"
+     * System property.
+     *
+     * @param name Archive name.
+     */
+    public TestDeploymentArchive(String name) {
+        this(getParentFolder(name), name);
+    }
+
+    /**
+     * Create the named archive in the folder specified by the parentFolder arg.
+     *
+     * @param parentFolder Archive parent folder.
+     * @param name Archive name.
+     */
+    public TestDeploymentArchive(File parentFolder, String name) {
+        AssertArgument.isNotNull(parentFolder, "parentFolder");
+        AssertArgument.isNotNullAndNotEmpty(name, "name");
+
+        if(!parentFolder.exists()) {
+            TestCase.fail("Cannot create archive '" + name + "'.  Parent folder '" + parentFolder.getAbsolutePath() + "' does not exist.");
+        }
+        archiveFile = new File(parentFolder, name);
+    }
+
+    private static File getParentFolder(String name) {
+        String deployTargetFolder = System.getProperty(PROP_ORG_JBOSS_ESB_DEPLOY_DIR);
+        if(deployTargetFolder == null) {
+            TestCase.fail("Cannot create archive '" + name + "'.  Parent folder must be specified in System property '" + PROP_ORG_JBOSS_ESB_DEPLOY_DIR + "'.");
+        }
+        return new File(deployTargetFolder);
+    }
+
+    public void addEntry(String path, InputStream data) {
+        AssertArgument.isNotNullAndNotEmpty(path, "path");
+        AssertArgument.isNotNull(data, "data");
+        
+        try {
+            entries.put(path, StreamUtils.readStream(data));
+        } finally {
+            try {
+                data.close();
+            } catch (IOException e) {
+                TestCase.fail("Unable to close input stream for archive entry '" + path + "'.");
+            }
+        }
+    }
+
+    public void addEntry(String path, String resClasspathLocation) {
+        InputStream resource = getClass().getResourceAsStream(resClasspathLocation);
+        if(resource == null) {
+            TestCase.fail("Unable to close input stream for archive entry '" + path + "'.");
+        } else {
+            addEntry(path, resource);
+        }
+    }
+
+    public void addEntry(Class clazz) {
+        String className = clazz.getName();
+
+        className = className.replace('.', '/') + ".class";
+        addEntry(className, "/" + className);
+    }
+
+    /**
+     * Create an archive of the specified name and containing entries
+     * for the data contained in the streams supplied entries arg. 
+     * specifying the entry name and the value is a InputStream containing
+     * the entry data. 
+     */
+    public void create() {
+        ZipOutputStream archiveStream = null;
+        try {
+            archiveStream = new ZipOutputStream(new FileOutputStream(archiveFile));
+        } catch (FileNotFoundException e) {
+            TestCase.fail("Unable to open output stream to archive file '" + archiveFile.getAbsolutePath() + "'.");
+        }
+
+        try {
+            writeEntriesToArchive(archiveStream);
+            logger.info("Deployment archive '" + archiveFile.getAbsolutePath() + "' created.");
+        } finally {
+            try {
+                archiveStream.close();
+            } catch (IOException e) {
+                TestCase.fail("Unable to close output stream to archive file '" + archiveFile.getAbsolutePath() + "'.");
+            }
+        }
+    }
+
+    /**
+     * Remove the archive.
+     */
+    public void remove() {
+        if(archiveFile.exists()) {
+            archiveFile.delete();
+        }
+    }
+
+    private void writeEntriesToArchive(ZipOutputStream archiveStream) {
+        Set<Map.Entry<String, byte[]>> entrySet = entries.entrySet();
+        for (Map.Entry<String, byte[]> entry : entrySet) {
+            try {
+                archiveStream.putNextEntry(new ZipEntry(entry.getKey()));
+                archiveStream.write(entry.getValue());
+                archiveStream.closeEntry();
+            } catch (IOException e) {
+                TestCase.fail("Unable to create archive entry for '" + archiveFile.getAbsolutePath() + "': " + e.getMessage());
+            }
+        }
+    }
+}

Modified: labs/jbossesb/workspace/dbevenius/saml_support/qa/quickstarts/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/qa/quickstarts/build.xml	2009-09-17 23:59:00 UTC (rev 29399)
+++ labs/jbossesb/workspace/dbevenius/saml_support/qa/quickstarts/build.xml	2009-09-18 07:13:08 UTC (rev 29400)
@@ -97,6 +97,7 @@
      <include name="helloworld_file_action/build/classes"/>
 	 <include name="helloworld_file_notifier/build/classes"/>
      <include name="helloworld_sql_action/build/classes"/>
+     <include name="http_gateway/build/classes"/>
 	 <include name="jms_secured/build/classes"/>
 	 <include name="jms_topic/build/classes"/>
 	 <include name="load_generator/build/classes"/>
@@ -200,6 +201,7 @@
       <exec-quickstart quickstart="helloworld_file_action" target="clean"/>
       <exec-quickstart quickstart="helloworld_file_notifier" target="clean"/>
       <exec-quickstart quickstart="helloworld_sql_action" target="clean"/>
+      <exec-quickstart quickstart="http_gateway" target="clean"/>
       <exec-quickstart quickstart="jms_secured" target="clean"/>
       <exec-quickstart quickstart="jms_topic" target="clean"/>
       <exec-quickstart quickstart="load_generator" target="clean"/>
@@ -243,6 +245,7 @@
       <exec-quickstart quickstart="helloworld_file_action" target="prepare-deployment"/>
       <exec-quickstart quickstart="helloworld_file_notifier" target="prepare-deployment"/>
       <exec-quickstart quickstart="helloworld_sql_action" target="prepare-deployment"/>
+      <exec-quickstart quickstart="http_gateway" target="prepare-deployment"/>
       <exec-quickstart quickstart="jms_secured" target="prepare-deployment"/>
       <exec-quickstart quickstart="jms_topic" target="prepare-deployment"/>
       <exec-quickstart quickstart="messagefilter" target="prepare-deployment"/>
@@ -282,6 +285,7 @@
             <include name="helloworld_file_action/build/*.esb"/>
 	    <include name="helloworld_file_notifier/build/*.esb"/>
             <include name="helloworld_sql_action/build/*.esb"/>
+             <include name="http_gateway/build/*.esb"/>
 	    <include name="jms_secured/build/*.esb"/>
 	    <include name="jms_topic/build/*.esb"/>
 	    <include name="load_generator/build/*.esb"/>

Copied: labs/jbossesb/workspace/dbevenius/saml_support/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/HttpGatewayTest.java (from rev 29337, labs/jbossesb/trunk/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/HttpGatewayTest.java)
===================================================================
--- labs/jbossesb/workspace/dbevenius/saml_support/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/HttpGatewayTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dbevenius/saml_support/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/HttpGatewayTest.java	2009-09-18 07:13:08 UTC (rev 29400)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.quickstart.test;
+
+import junit.framework.Test;
+
+import java.net.URL;
+import java.net.URLConnection;
+import java.io.InputStreamReader;
+
+import org.jboss.internal.soa.esb.util.StreamUtils;
+
+/**
+ * CI test for the http-gateway quickstart.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+
+public class HttpGatewayTest extends AbstractQuickstartTestCase {
+
+	public HttpGatewayTest(String name) {
+		super(name);
+	}
+
+	public void testMessage() throws Exception {
+	    clearMessages() ;
+	    sendMessage() ;
+	}
+
+	public void sendMessage() throws Exception {
+        URL request = new URL("http://localhost:8080/Quickstart_http_gateway/http/index/XXXX/yyy?param1=value1");
+
+        URLConnection connection = request.openConnection();
+        connection.connect();
+        InputStreamReader reader = new InputStreamReader(connection.getInputStream());
+        try {
+            String response = StreamUtils.readReader(reader);
+
+            assertTrue(response.indexOf("Service: Index:List") != -1);
+            assertTrue(response.indexOf("<pathInfo>/XXXX/yyy</pathInfo>") != -1);
+        } finally {
+            reader.close();
+        }
+    }
+
+	public static Test suite() throws Exception {
+		return getDeploySetup(HttpGatewayTest.class,
+				"QuickstartMessageStoreServer.sar, Quickstart_http_gateway.esb");
+	}
+}
\ No newline at end of file



More information about the jboss-svn-commits mailing list