[jboss-svn-commits] JBL Code SVN: r9877 - in labs/jbossesb/workspace/dmarchant/trunk: IDE and 483 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 1 11:49:31 EST 2007


Author: driedtoast
Date: 2007-03-01 11:49:28 -0500 (Thu, 01 Mar 2007)
New Revision: 9877

Added:
   labs/jbossesb/workspace/dmarchant/trunk/.classpath
   labs/jbossesb/workspace/dmarchant/trunk/.project
   labs/jbossesb/workspace/dmarchant/trunk/Contributors.txt
   labs/jbossesb/workspace/dmarchant/trunk/Copyright.txt
   labs/jbossesb/workspace/dmarchant/trunk/Developer.txt
   labs/jbossesb/workspace/dmarchant/trunk/IDE/
   labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/
   labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/.classpath
   labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/.project
   labs/jbossesb/workspace/dmarchant/trunk/IDE/jplenhart/
   labs/jbossesb/workspace/dmarchant/trunk/JBossORG-EULA.txt
   labs/jbossesb/workspace/dmarchant/trunk/Readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/integration-build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/
   labs/jbossesb/workspace/dmarchant/trunk/product/Build.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/Copyright.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/Developer.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/README_FIRST.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/build/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/.classpath
   labs/jbossesb/workspace/dmarchant/trunk/product/console/.exploded.launch
   labs/jbossesb/workspace/dmarchant/trunk/product/console/.project
   labs/jbossesb/workspace/dmarchant/trunk/product/console/build.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/console/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/application.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/distro-CONSOLE-README.TXT
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/distro-build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/db.application.modules.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/jboss-esb-console-ds.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/persistence.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/db.application.modules.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/jboss-esb-console-ds.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/persistence.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/postgresql-8.1-407.jdbc2ee.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/default.persistence.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/ejb3-interceptors-aop.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/embedded-jboss-beans.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/jboss-jms-beans.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/login-config.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/security-beans.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/activation.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-antlr-1.6.5.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-launcher.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-nodeps.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/antlr-2.7.6.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/antlr-3.0ea8.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-beanutils-1.7.0.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-codec-1.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-collections-3.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-digester-1.6.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-el-1.0.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-jci-core-1.0-406301.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-jci-janino-2.4.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-lang-2.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-logging-api-1.0.4.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/drools-compiler-3.0.5.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/drools-core-3.0.5.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/el-api.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/el-ri.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/hibernate-all.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/hsqldb.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/itext-1.4.7.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/janino-2.4.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/javax.servlet.jsp.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-aop-jdk50.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-cache-jdk50.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-ejb3-all.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-debug.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-mail.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-pdf.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-ui.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jbpm-3.1.4.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jgroups.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jsf-facelets.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jstl-1.1.0.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/mail.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/myfaces-api-1.1.4.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/myfaces-impl-1.1.4.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/portlet-api-lib.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/servlet-api.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/stringtemplate-2.3b6.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/testng-4.5.1-jdk15.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/thirdparty-all.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/debug-jboss.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/ide-file-targets.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/project.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/application.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/ejb-jar.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/jboss-app.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/persistence.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/components.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/faces-config.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/navigation.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/pages.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/web.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/components.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/import.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console-ds.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console-service.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/messages_en.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/seam.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/security.drl
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/Toggle.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/importexport/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/testng.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/expected-1.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/flow/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/about.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/list-message-contracts.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/new-message-contract.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/template.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/common.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/custom.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/global.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/headings.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/layout.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/navigation.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/pagelayout.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/print.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen_001.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen_002.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/tables.css
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/error.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/features.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-01.html
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-01.swf
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-02.html
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-02.swf
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/home.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_bottom_red.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_side_btm_red.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_top_red.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_topmenu_red_round.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/btn.bg.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/cnt.bg.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_blue.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_green.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_red.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_yellow.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/gradient_news_bkgd_650.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/hdr.bg.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/input.bg.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/logo.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/points.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/table_corner_tl.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/table_corner_tr.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/sdb.bg.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/table_corner_tl.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/table_corner_tr.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/th.bg.gif
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/index.html
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/index.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/manage-participants.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/template.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/template.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/add-resource-parameter-spec.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/add-resource-parameter.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/import-export-resources.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/list-resource-specs.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/list-resources.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-create.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-select-spec.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-spec-create.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-target.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/select-message-exchange-finish.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/select-message-exchange-from.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/smooks-config.jsp
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/template.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/test-transformation.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/update-resource-parameter.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/view-resource.xhtml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/ant.bat
   labs/jbossesb/workspace/dmarchant/trunk/product/core/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/log4j.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JBossESBDependenciesService.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JBossESBDependenciesServiceMBean.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIService.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIServiceMBean.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionProcessingException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionProcessor.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ContentBasedRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Notifier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/StaticRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/SystemPrintln.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/AbstractObjectXStream.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ByteArrayToString.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectInvoke.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectToCSVString.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/SmooksTransformer.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/XStreamToObject.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/BaseActionHandler.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/CommandInterpreter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/AbstractRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/EchoRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/HttpRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/JMSRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/MockAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/MockComposer.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/LifecycleUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerInitializationException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerTagNames.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/RegistryUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/StandAloneBootStrapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/State.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationController.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerService.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerServiceMBean.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/Generator.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/MockXmlValidatorImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidator.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FsListenerMapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/NotificationMapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/SqlListenerMapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListener.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerServiceMBean.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/AbstractManagedLifecycle.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/AbstractThreadedManagedLifecycle.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycle.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleController.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleEventListener.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleState.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleStateEvent.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadEventListener.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadState.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadStateEvent.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/HttpListener.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/resources/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/resources/conf/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/resources/conf/log4j.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/device-profile.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionUtilsUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/BaseTestActionProcessor.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/MockPojoAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/NotificationList_01.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/TestBean.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ToNowhereRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ByteArrayToStringUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/LongToDateConverter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectInvokeTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToCSVStringUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToXStreamUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/SmooksTransformerUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/StringToLongConverter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/XStreamToObjectUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/smooks-test.cdrl
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/templates/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerBaseTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFTPIntegrationTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFileUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJDBCUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJMSXntegrationTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/XmlValidatorUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerBaseTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/juddi-unittest.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/juddi-unittest.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFile.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFtp.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerJdbc.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerJms.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/message/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNotificationTarget.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/core/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/ant.bat
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/eprs/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/CallHelper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/EPRHelper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/PortReferenceHelper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/assertion/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/assertion/AssertArgument.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueue.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueueException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/InMemoryCommandQueue.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/JmsCommandQueue.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/DeliverOnlyCourier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/PickUpOnlyCourier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FileHandler.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FileHandlerFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FtpFileHandler.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/LocalFileHandler.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/MessageFactoryImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/AttachmentImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/BodyImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/ContextImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/FaultImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/HeaderImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/MessageImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/PropertiesImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/SerializedMessagePlugin.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/AttachmentImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/ContextImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/FaultImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/HeaderImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/MessageImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/PropertiesImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLMessagePlugin.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalManager.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalPlugin.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/SerializedMarshalUnmarshalPlugin.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/parameters/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/parameters/ParamFileRepository.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/thirdparty/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/thirdparty/Base64.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/FtpUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/StreamUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/BaseException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/ConfigurationException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/FatalError.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/MarshalException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/ProtocolNotSupportedException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/SendFailedException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/UnmarshalException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/Call.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/EPR.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/MalformedEPRException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/PortReference.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/XMLUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/EmailEpr.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPEpr.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/FileEpr.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/HTTPEpr.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JDBCEpr.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/SFTPEpr.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/EPRManager.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Configuration.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Environment.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Factory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/ModulePropertyManager.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/TagNames.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/Courier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierTimeoutException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/TwoWayCourier.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/dom/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/dom/YADOMUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/ConfigTree.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/KeyValuePair.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/NamingContext.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlDbTable.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlField.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Attachment.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Body.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Context.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Fault.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Header.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Message.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Properties.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessageFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessagePlugin.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessageType.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyConsole.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepository.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepositoryException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepositoryFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/DefaultEncryptionFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/Encryption.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/EncryptionFailedException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStore.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/TransformationException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/TransformationService.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/AbstractCommandVehicle.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocator.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocatorSorter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/jbpm/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/jbpm/CommandVehicle.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/device-profile.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/jbossesb-test-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/persistUnitTestDB.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/persistUnitTestDB.script
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierIntegrationTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierUtilUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FtpFileHandlerIntegrationTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/SecureFtpTestConfig.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/StreamUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/StringUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/W3CDomUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/EmailUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/FTPUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/HTTPUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/JDBCUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/JMSUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/CallUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/EPRUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRHelperUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/InMemoryCommandQueueUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/BaseTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/MockDataSource.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/PropertyManagerUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/DrainQueuesAndTopics.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/esb/persistence/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/AppServerContextUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/KeyValuePairUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_01.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_02.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_03.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConnUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/SimpleDataSourceUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile1.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile2.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile3.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile4.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessageImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessagePlugin.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/MessageFactoryUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/AttachmentUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/BodyUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/ExampleObject.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/FaultUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/MessageUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/PropertiesUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest_expected1.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest_testfile1.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyEmailUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyFilesUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTableUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTable_testfile1.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyTopicsUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyUtilUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget1.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget2.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/ParamRepositoryFactoryUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/ParamsFileRepositoryUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/TestParamRepo.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/FileUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/HsqldbUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/StreamUtilsUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/UtilUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/ant.bat
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/JBossESBRules-XPath.drl
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/JBossESBRules.drl
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/XPathLanguage.dsl
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/MessageStoreFactoryImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/MessageStorePlugin.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBConnectionManager.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBConnectionManagerDBCP.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBMessageStoreImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBMessageStorePlugin.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/DslHelper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/jbpm/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/persistence/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/persistence/MessageStoreType.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/persistence/db/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/Registry.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/RegistryException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/RegistryFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouterException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/CBRException.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRouter.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRouterFactory.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/application.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/MockRegistry.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/MockRegistryUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/DummyUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/beans/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/juddi-unittest.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/AdministrationGuide.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/AdministrationGuide.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/GettingStarted.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/GettingStarted.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/JBossIDE/
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/JBossIDE/JBossIDE-HelloWorld.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/JBossIDE/JBossIDE-HelloWorld.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/ProgrammersGuide.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/ProgrammersGuide.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/ReleaseNotes.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/ReleaseNotes.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/TBGuide.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/TBGuide.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/WARNING.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/ContentBasedRouting.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/ContentBasedRouting.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/MessageTransformation.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/MessageTransformation.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/Registry.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/RegistryConfiguration.pdf
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/EsbJmsListenerEasier2ReadExample.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/EsbJmsListenerExample.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/gatewayExample.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/jbossesb_config_01.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-email-epr-example.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-ftp-epr-example.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-jdbc-epr-example.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-jms-epr-example.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/XmlValidation.java
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/XmlValidationTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/README.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/common.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/contract.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/dispatcher.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/email.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/ftp.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/jdbc.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/jms.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/plugin.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/routing.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/ws-addr.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/email-epr.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/ftp-epr.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb-1.0.xsdconfig
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jdbc-epr.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jms-epr.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/message.xsd
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/jbossesb-unittest-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/Deployment.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/install/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/build/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/install/data/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.data
   labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.script
   labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/hsqldb-ds.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/hsqldb-ds.xml-original
   labs/jbossesb/workspace/dmarchant/trunk/product/install/deployment.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/install/deployment.properties-example
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/License.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/README.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi-ds.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi.war
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/drop_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/README
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/insert_publishers.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jboss-service-dependencies.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/jboss-service.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/LICENSE.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/README.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/LauncherBootstrap.class
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/commons-launcher.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/launcher.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/launcher.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/run.bat
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/run.sh
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/ext/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/ant-launcher.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/ant.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/xercesImpl.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/xml-apis.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/log/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/drop_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/postgresql/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/postgresql/create_database.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/README.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/jboss/soa/esb/servlet/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/jboss/soa/esb/servlet/ConfigControllerService.java
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/org/jboss/soa/esb/servlet/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/org/jboss/soa/esb/servlet/ConfigControllerService.class
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/web.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/index.jsp
   labs/jbossesb/workspace/dmarchant/trunk/product/jbi/
   labs/jbossesb/workspace/dmarchant/trunk/product/jbi/classes/
   labs/jbossesb/workspace/dmarchant/trunk/product/jbi/classes/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/jbi/classes/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/jbi/classes/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/Licenses.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ant.license.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/clover.license
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/Base64.html
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/activation.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/ant-1.6.2-stripped.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/antlr-2.7.6.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/antlr-3.0ea8.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/bsh-1.3.0.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/c3p0-0.9.1-pre9.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/cglib-full-2.0-RC2.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/clover.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-beanutils-1.6.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-collections-2.0.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-collections-3.2.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-dbcp-1.2.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-digester-1.5.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-fileupload-1.0.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-jci-core-1.0-406301.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-jci-janino-2.4.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-lang-2.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-logging.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-pool-1.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/dom4j-1.6.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/drools-compiler-3.0.4.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/drools-core-3.0.4.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/edtftpj.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/emma.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/emma_ant.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/groovy-all-1.0.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/hibernate3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/hsqldb.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jakarta-oro-2.0.8.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/janino-2.4.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jaxen-1.1-beta-4.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jaxr-api-1.0-SNAPSHOT.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jboss-jmx.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jboss-system.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbossall-client.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbossts-common.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbpm-3.1.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbpm-identity-3.1.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jdbc2_0-stdext.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/activemq/
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/activemq/activemq-core-4.1.0-incubator.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/activemq/backport-util-concurrent-2.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/mqseries/
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/mqseries/5.3/
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/mqseries/6.0/
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/mqseries/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jsch-0.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jta.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/juddi-1.0-SNAPSHOT.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/juddi-client-1.0-SNAPSHOT.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/junit-4.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/log4j.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/mail.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-commons-0.8.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-edisax-0.1-SNAPSHOT.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-core-0.8.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-csv-0.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-edi-0.1-SNAPSHOT.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-javabean-0.2.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-misc-0.2.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-scripting-0.1-SNAPSHOT.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-templating-0.2.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-tinak-0.7.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/mockejb.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/ognl-2.6.9.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/opencsv-1.6.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/postgresql-8.1-407.jdbc2ee.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/properties-plugin.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/scout-1.0-SNAPSHOT.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/stax-api-1.0.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/stringtemplate-2.3b6.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-coyote.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-http.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-util.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xalan-2.7.0.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xbean.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xercesImpl-2.7.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xml-apis-1.3.02.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xmlpublic.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xstream-1.1.3.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/hibernate.license.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/jdbc2_0-stdext.licence.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/lib/jta.licence.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/product.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/SampleOrder.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/aggregation_service/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/aggregation_service/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/blue_service/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/blue_service/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/blue_service/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/green_service/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/green_service/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/green_service/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/inbound_splitter/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/inbound_splitter/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/inbound_splitter/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/red_service/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/red_service/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/red_service/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/smooks-res.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/Customer.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/OrderHeader.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/OrderItem.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/orderitem.st
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/ReturnJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/TeamAlert.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/ReceiveJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/HelloWorld.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/HelloWorldBean.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/client/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/client/Client.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/MyAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/esb-quickstart-service.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/SampleOrder.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/smooks-res.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/Customer.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/OrderHeader.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/OrderItem.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/orderitem.st
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/ReturnJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/TeamAlert.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/ReceiveJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/MyESBRules-XPath.drl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/XPathLanguage.dsl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/SendEsbMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/lib/mysql-connector-java-3.1.12-bin.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/base-build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/lib/test-util.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/HsqldbUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/Launcher.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/MyAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/test/CreateTestFile.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/MyAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/test/CreateTestFile.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/create.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/populate.sql
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/MyAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/gpd.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/hibernate.cfg.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-gateway.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-listener.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbpm.cfg.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/processdefinition.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/processimage.jpg
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/gpd.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/hibernate.cfg.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/processdefinition.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/processimage.jpg
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/JbpmActionHandler.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/TestLauncher.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/JunitTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/CustomConfigAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/StatefulAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/quickstarts.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/SampleOrder.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/ReturnJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteExpressShipping.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteNormalShipping.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/ReceiveJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/MyESBRules-XPath.drl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/MyESBRules.drl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/SimpleFileAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/test/CreateTestFile.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/README.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/SampleOrder.edi
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/base-build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/smooks-res.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/DateFormatter.groovy
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/EnrichmentProcessor.groovy
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/dispatch-to-handling.xsl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/edi-to-xml-order-mapping.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/us-state-codes.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/quickstart/helloworld/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/quickstart/helloworld/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/quickstart/helloworld/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/SampleOrder.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/base-build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/smooks-res.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/Customer.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/OrderHeader.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/OrderItem.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/orderitem.st
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/MyJMSListenerAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/ReturnJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/ReceiveJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/README.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/SampleOrder.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/base-build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/smooks-res.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/OrderDate.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/README.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/SampleOrder.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/base-build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/smooks-res.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/src/quickstart/helloworld/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/src/quickstart/helloworld/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/src/quickstart/helloworld/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/test/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/lib/ext/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/lib/ext/jbossws-client.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/classes/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/jboss-web.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/web.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/HelloWorldWS.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/view/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/view/index.jsp
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/JBoss ESB Loan Broker Banks Guide.html
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/JBoss ESB Loan Broker Banks Guide.odt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/bank.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/bank.properties.template
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/Licenses.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/org.sadun.util.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/pollmgt.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/monitored_folders/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/Bank.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReply.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/FileUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/ManagerFlatFile.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/ManagerJMS.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReplyTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequestTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/FlatFileProcessorTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/JmsProcessorTest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/build.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/jsp/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/jsp/index.jsp
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/Licenses.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/axis.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/commons-discovery.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/jbossws-client.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/milyn-smooks-csv-0.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/opencsv-1.6.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS-wsdl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS-wsdl.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS.wsdl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/from__loanbroker.cdrl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/jboss-web.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/to____jmsbank.cdrl
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/web.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/Customer.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/CustomerMasterFile.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/LoanBroker.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/QuoteRequest.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/SendJMSMessage.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/LoanBrokerWS.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/WebCustomer.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWS.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSBindingStub.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSProxy.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSService.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSServiceLocator.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/WebCustomer.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb-trailblazer-service.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/conf/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/conf/jbossesb.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/c3p0-0.9.1-pre9.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/commons-logging.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/hsqldb.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/milyn-smooks-csv-0.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/opencsv-1.6.jar
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/BankResponseActions.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/HsqldbUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/ProcessEmail.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/TbBootStrapper.java
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/test/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/test/src/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/template/
   labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/template/quote.st
   labs/jbossesb/workspace/dmarchant/trunk/qa/
   labs/jbossesb/workspace/dmarchant/trunk/qa/Copyright.txt
   labs/jbossesb/workspace/dmarchant/trunk/qa/README.TXT
   labs/jbossesb/workspace/dmarchant/trunk/qa/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/qa/jbi/
   labs/jbossesb/workspace/dmarchant/trunk/qa/jbossesb-unittest-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/AggregatorTest.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/AggregatorTest.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/MessageBox.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/SmooksTransformerConfig.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/SmooksTransformerTest.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/smooks-test.cdrl
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/listeners/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/MessageBox.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/HsqldbUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreClient.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/DrainQueuesAndTopics.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/MessageAttachmentSerializeTest.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/MessagePropertiesSerializeTest.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/Util.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/services/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/services/registry/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/services/registry/juddi-qatest.properties
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/ClassUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/DbUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/FileUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/JMSClientUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/TestCaseUtils.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/Licenses.txt
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/README.txt
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/edtftpj-pro.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-aop-jdk50-client.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-aspect-library-jdk50.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-ejb3.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-remoting.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/junit-4.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/license.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-coyote.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-http.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-util.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/build.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/esb-config-gateway.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/esb-config.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_01.expected
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_02.expected
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_03.expected
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jbossesb-properties.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jmeter-script.jmx
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jndi.properties
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/juddi.properties
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/milyn-smooks-csv-0.1.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/opencsv-1.6.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/test-util.jar
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/readme.txt
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/Assertion.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/HsqldbUtil.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/Launcher.java
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/test.properties
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/smooks-cdr.lst
   labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/smooks-trans.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/log4j.xml
   labs/jbossesb/workspace/dmarchant/trunk/qa/test.properties
Log:
Initial import.

Added: labs/jbossesb/workspace/dmarchant/trunk/.classpath
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/.classpath	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/.classpath	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="product/samples/quickstarts/helloworld/src"/>
+	<classpathentry kind="src" path="product/core/services/src"/>
+	<classpathentry kind="src" path="product/samples/quickstarts/simple_cbr/src"/>
+	<classpathentry kind="src" path="product/core/listeners/src"/>
+	<classpathentry kind="src" path="product/core/rosetta/src"/>
+	<classpathentry kind="src" path="product/core/listeners/tests/src"/>
+	<classpathentry kind="src" path="product/core/rosetta/tests/src"/>
+	<classpathentry kind="src" path="product/core/services/tests/src"/>
+	<classpathentry kind="src" path="product/samples/quickstarts/static_router/src"/>
+	<classpathentry kind="src" path="product/samples/quickstarts/jbpm_simple1/src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="qa/lib/ext/tomcat-util.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/tomcat-http.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/tomcat-coyote.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/license.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/junit-4.1.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/jboss-remoting.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/jboss-ejb3.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/jboss-aspect-library-jdk50.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/jboss-aop-jdk50-client.jar"/>
+	<classpathentry kind="lib" path="qa/lib/ext/edtftpj-pro.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/xstream-1.1.3.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/xmlpublic.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/xml-apis-1.3.02.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/xercesImpl-2.7.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/xbean.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/xalan-2.7.0.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/tomcat-util.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/tomcat-http.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/tomcat-coyote.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/stringtemplate-2.3b6.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/stax-api-1.0.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/scout-1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/properties-plugin.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/postgresql-8.1-407.jdbc2ee.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/opencsv-1.6.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/ognl-2.6.9.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/mockejb.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-tinak-0.7.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-smooks-templating-0.2.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-smooks-scripting-0.1-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-smooks-misc-0.2.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-smooks-javabean-0.2.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-smooks-edi-0.1-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-smooks-csv-0.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-smooks-core-0.8.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-edisax-0.1-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/milyn-commons-0.8.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/mail.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/log4j.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/junit-4.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/juddi-client-1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/juddi-1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jta.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jsch-0.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jdbc2_0-stdext.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jbpm-identity-3.1.3.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jbpm-3.1.3.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jbossts-common.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jboss-system.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jboss-jmx.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jbossall-client.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jaxr-api-1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jaxen-1.1-beta-4.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/janino-2.4.3.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jakarta-oro-2.0.8.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/hsqldb.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/hibernate3.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/groovy-all-1.0.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/emma.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/emma_ant.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/edtftpj.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/drools-core-3.0.4.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/drools-compiler-3.0.4.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/dom4j-1.6.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-pool-1.3.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-logging.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-lang-2.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-jci-janino-2.4.3.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-jci-core-1.0-406301.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-fileupload-1.0.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-digester-1.5.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-dbcp-1.2.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-collections-3.2.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-collections-2.0.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/commons-beanutils-1.6.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/clover.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/cglib-full-2.0-RC2.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/c3p0-0.9.1-pre9.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/bsh-1.3.0.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/antlr-3.0ea8.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/antlr-2.7.6.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/ant-1.6.2-stripped.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/activation.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jms/activemq/backport-util-concurrent-2.1.jar"/>
+	<classpathentry kind="lib" path="product/lib/ext/jms/activemq/activemq-core-4.1.0-incubator.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: labs/jbossesb/workspace/dmarchant/trunk/.project
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/.project	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/.project	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>jbossesb_workspace</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: labs/jbossesb/workspace/dmarchant/trunk/Contributors.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/Contributors.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/Contributors.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,24 @@
+JBossESB is truly a community development. The following people have helped to make JBossESB.
+
+Mark Little
+Kevin Conner
+Daniel Brum
+Esteban Schifman
+Tom Fennelly
+Kurt Stam
+Johan Kumps
+Arvinder Singh
+Mugdho Debnath
+Mihir Sahu
+Dave Dunkin
+John Gilbert
+Burr Sutter
+Jason Lenhart
+Dave DeGroff
+Bruno Georges
+Sebastic Cao
+Jarkko Lietolahti
+Martin Kelly
+Surendra Naidoo
+Mohit Keswani
+

Added: labs/jbossesb/workspace/dmarchant/trunk/Copyright.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/Copyright.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/Copyright.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,19 @@
+/*
+ * 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,
+ */
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/Developer.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/Developer.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/Developer.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,11 @@
+The structure of the distribution is as follows:
+
+product:	contains the JBossESB product codebase, including unit tests.
+qa:			contains the QA infrastructure for JBossESB.
+
+Eclipse developers, there is IDE/JBossIDE directory with the .classpath. Copy that onto the root;
+it assumes you have the entire project checked out.
+
+If you have svn commit rights, then try to do your work within the workspace area first, before
+committing it to the trunk. We have a continuous integration build process that runs against the
+trunk whenever it is updated.

Added: labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/.classpath
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/.classpath	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/.classpath	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="samples/quickstarts/helloworld/src"/>
+	<classpathentry excluding="src/" kind="src" path="samples/quickstarts/helloworld"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="lib/ext/jaxr-api-1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="lib/ext/scout-1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jbossts-common.jar"/>
+	<classpathentry kind="lib" path="lib/jbossesb-rosetta.jar"/>
+	<classpathentry kind="lib" path="lib/jbossesb-listeners.jar"/>
+	<classpathentry kind="lib" path="lib/jbossesb-services.jar"/>
+	<classpathentry kind="lib" path="lib/ext/log4j.jar"/>
+	<classpathentry kind="lib" path="lib/ext/jbossall-client.jar"/>
+	<classpathentry kind="lib" path="lib/ext/xbean.jar"/>
+	<classpathentry kind="lib" path="lib/ext/commons-logging.jar"/>
+	<classpathentry kind="lib" path="lib/ext/stax-api-1.0.1.jar"/>
+	<classpathentry kind="lib" path="lib/ext/juddi-client-1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="lib/ext/xercesImpl-2.7.1.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/.project
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/.project	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/IDE/JBossIDE/.project	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>merge</name>
+	<comment></comment>
+	<projects>
+	</projects>
+		<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: labs/jbossesb/workspace/dmarchant/trunk/JBossORG-EULA.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/JBossORG-EULA.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/JBossORG-EULA.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,107 @@
+LICENSE AGREEMENT
+JBOSS(r)
+
+This License Agreement governs the use of the Software Packages and any updates to the Software 
+Packages, regardless of the delivery mechanism.  Each Software Package is a collective work 
+under U.S. Copyright Law.  Subject to the following terms, Red Hat, Inc. ("Red Hat") grants to 
+the user ("Client") a license to the applicable collective work(s) pursuant to the 
+GNU Lesser General Public License v. 2.1 except for the following Software Packages: 
+(a) JBoss Portal Forums and JBoss Transactions JTS, each of which is licensed pursuant to the 
+GNU General Public License v.2; 
+
+(b) JBoss Rules, which is licensed pursuant to the Apache  License v.2.0;
+
+(c) an optional download for JBoss Cache for the Berkeley DB for Java database, which is licensed under the 
+(open source) Sleepycat License (if Client does not wish to use the open source version of this database, 
+it may purchase a license from Sleepycat Software); 
+
+and (d) the BPEL extension for JBoss jBPM, which is licensed under the Common Public License v.1, 
+and, pursuant to the OASIS BPEL4WS standard, requires parties wishing to redistribute to enter various 
+royalty-free patent licenses.  
+
+Each of the foregoing licenses is available at http://www.opensource.org/licenses/index.php.
+
+1.  The Software.  "Software Packages" refer to the various software modules that are created and made available 
+for distribution by the JBoss.org open source community at http://www.jboss.org.   Each of the Software Packages 
+may be comprised of hundreds of software components.  The end user license agreement for each component is located in 
+the component's source code.  With the exception of certain image files identified in Section 2 below, 
+the license terms for the components permit Client to copy, modify, and redistribute the component, 
+in both source code and binary code forms.  This agreement does not limit Client's rights under, 
+or grant Client rights that supersede, the license terms of any particular component.
+
+2.  Intellectual Property Rights.  The Software Packages are owned by Red Hat and others and are protected under copyright 
+and other laws.  Title to the Software Packages and any component, or to any copy, modification, or merged portion shall 
+remain with the aforementioned, subject to the applicable license.  The "JBoss" trademark, "Red Hat" trademark, the 
+individual Software Package trademarks, and the "Shadowman" logo are registered trademarks of Red Hat and its affiliates 
+in the U.S. and other countries.  This agreement permits Client to distribute unmodified copies of the Software Packages 
+using the Red Hat trademarks that Red Hat has inserted in the Software Packages on the condition that Client follows Red Hat's 
+trademark guidelines for those trademarks located at http://www.redhat.com/about/corporate/trademark/.  Client must abide by 
+these trademark guidelines when distributing the Software Packages, regardless of whether the Software Packages have been modified. 
+If Client modifies the Software Packages, then Client must replace all Red Hat trademarks and logos identified at 
+http://www.jboss.com/company/logos, unless a separate agreement with Red Hat is executed or other permission granted.  
+Merely deleting the files containing the Red Hat trademarks may corrupt the Software Packages.  
+
+3.  Limited Warranty.  Except as specifically stated in this Paragraph 3 or a license for a particular 
+component, to the maximum extent permitted under applicable law, the Software Packages and the 
+components are provided and licensed "as is" without warranty of any kind, expressed or implied, 
+including the implied warranties of merchantability, non-infringement or fitness for a particular purpose.  
+Red Hat warrants that the media on which Software Packages may be furnished will be free from defects in 
+materials and manufacture under normal use for a period of 30 days from the date of delivery to Client.  
+Red Hat does not warrant that the functions contained in the Software Packages will meet Client's requirements 
+or that the operation of the Software Packages will be entirely error free or appear precisely as described 
+in the accompanying documentation. This warranty extends only to the party that purchases the Services 
+pertaining to the Software Packages from Red Hat or a Red Hat authorized distributor. 
+
+4.  Limitation of Remedies and Liability. To the maximum extent permitted by applicable law, the remedies 
+described below are accepted by Client as its only remedies.  Red Hat's entire liability, and Client's 
+exclusive remedies, shall be: If the Software media is defective, Client may return it within 30 days of 
+delivery along with a copy of Client's payment receipt and Red Hat, at its option, will replace it or 
+refund the money paid by Client for the Software.  To the maximum extent permitted by applicable law, 
+Red Hat or any Red Hat authorized dealer will not be liable to Client for any incidental or consequential 
+damages, including lost profits or lost savings arising out of the use or inability to use the Software, 
+even if Red Hat or such dealer has been advised of the possibility of such damages.  In no event shall 
+Red Hat's liability under this agreement exceed the amount that Client paid to Red Hat under this 
+Agreement during the twelve months preceding the action.
+
+5.  Export Control.  As required by U.S. law, Client represents and warrants that it: 
+(a) understands that the Software Packages are subject to export controls under the 
+U.S. Commerce Department's Export Administration Regulations ("EAR"); 
+
+(b) is not located in a prohibited destination country under the EAR or U.S. sanctions regulations 
+(currently Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria); 
+
+(c) will not export, re-export, or transfer the Software Packages to any prohibited destination, entity, 
+or individual without the necessary export license(s) or authorizations(s) from the U.S. Government; 
+
+(d) will not use or transfer the Software Packages for use in any sensitive nuclear, chemical or 
+biological weapons, or missile technology end-uses unless authorized by the U.S. Government by 
+regulation or specific license; 
+
+(e) understands and agrees that if it is in the United States and exports or transfers the Software 
+Packages to eligible end users, it will, as required by EAR Section 740.17(e), submit semi-annual 
+reports to the Commerce Department's Bureau of Industry & Security (BIS), which include the name and 
+address (including country) of each transferee; 
+
+and (f) understands that countries other than the United States may restrict the import, use, or 
+export of encryption products and that it shall be solely responsible for compliance with any such 
+import, use, or export restrictions.
+
+6.  Third Party Programs. Red Hat may distribute third party software programs with the Software Packages 
+that are not part of the Software Packages and which Client must install separately.  These third party 
+programs are subject to their own license terms.  The license terms either accompany the programs or 
+can be viewed at http://www.redhat.com/licenses/.  If Client does not agree to abide by the applicable 
+license terms for such programs, then Client may not install them.  If Client wishes to install the programs 
+on more than one system or transfer the programs to another party, then Client must contact the licensor 
+of the programs.
+
+7.  General.  If any provision of this agreement is held to be unenforceable, that shall not affect the 
+enforceability of the remaining provisions.  This License Agreement shall be governed by the laws of the 
+State of North Carolina and of the United States, without regard to any conflict of laws provisions, 
+except that the United Nations Convention on the International Sale of Goods shall not apply.
+
+Copyright 2006 Red Hat, Inc.  All rights reserved.  
+"JBoss" and the JBoss logo are registered trademarks of Red Hat, Inc.  
+All other trademarks are the property of their respective owners. 
+
+	Page 1 of 1	18 October 2006
+

Added: labs/jbossesb/workspace/dmarchant/trunk/Readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/Readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/Readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,8 @@
+This is the source code repository for JBossESB. This is a work in progress, so the structure may change.
+
+For more information on JBossESB, visit http://labs.jboss.com/portal/jbossesb/?prjlist=false
+
+If you just want to check out the product codebase then check out jbossesb/product. The QA suite (available
+in jbossesb/qa) can be checked out and built separately. This is because QA code will eventually exceed the
+size of the product codebase and may not be needed by all users/developers.
+

Added: labs/jbossesb/workspace/dmarchant/trunk/integration-build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/integration-build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/integration-build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,24 @@
+<project name="JBESB-QA" default="integration" basedir=".">
+    <property name="clean.jms.dest" location="clean.jms"/>
+
+    <target name="integration" description="Run Continuous Integration." depends="clean-jms, clean">
+        <ant dir="product">
+            <target name="integration"/>
+            <target name="dist"/>
+            <target name="instr-report"/>
+        </ant>
+        <ant dir="qa" target="ci-test"/>
+    </target>
+
+    <target name="clean" description="Clean the distribution">
+        <delete file="${clean.jms.dest}"/>
+        <ant dir="qa" target="clean"/>
+        <ant dir="product" target="clean"/>
+    </target>
+
+    <target name="clean-jms" description="Clean the JMS queues">
+        <get src="http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&amp;name=jboss.mq.destination:service=Queue,name=A&amp;methodName=removeAllMessages" dest="${clean.jms.dest}"/>
+        <get src="http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&amp;name=jboss.mq.destination:service=Queue,name=B&amp;methodName=removeAllMessages" dest="${clean.jms.dest}"/>
+        <get src="http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&amp;name=jboss.mq.destination:service=Queue,name=C&amp;methodName=removeAllMessages" dest="${clean.jms.dest}"/>
+    </target>
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/Build.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/Build.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/Build.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+JBoss ESB Build Instruction:
+============================
+1. Set JAVA_HOME to the location of your JDK 5 install.
+2. Set ANT_HOME to the location of your Ant install.  We recommend v1.6.5.
+3. From within this folder ("product"), type "ant install".  If you wish to include the junit tests, type "ant test install".
+5. You'll find the binaries produced by the build in the "product/build/dist" folder.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/Copyright.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/Copyright.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/Copyright.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,19 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, 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-2007,
+ */
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/Developer.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/Developer.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/Developer.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,11 @@
+The structure of the distribution is as follows:
+
+lib:			contains the built jar
+lib/ext:		contains any jars needed to build/run the distribution
+core:			the core SOA infrastructure
+jbi:			the JBI implementation which layers on core
+javadocs:		created during the build
+build:			created during the build
+
+Any classes which occur within an 'internal' package are not meant for users. Changes to these
+classes can occur without notice and deprecation markers.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/README_FIRST.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/README_FIRST.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/README_FIRST.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,9 @@
+Welcome to JBossESB. In order to get you started, we recommend that you look
+first at the Getting Started Guide in docs before then proceeding to the various
+Quick Start examples in the samples directory. Once you have progressed through
+these, the Trailblazer example (also in the samples directory) is an excellent way
+of bringing together the various components and lessons learnt.
+
+Don't forget, if you have any questions or comments about JBossESB, please go to
+the forum (http://www.jboss.com/index.html?module=bb&op=viewforum&f=246) where we
+will respond as soon as possible.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,367 @@
+<project name="JBESB" default="test" basedir=".">
+	<!-- class path behaviour -->
+	<property name="build.sysclasspath" value="ignore"/>
+
+	<!-- Set module name -->
+	<property name="org.jboss.esb.internal.modulename" value="jbesb"/>
+
+	<property name="org.jboss.esb.jboss.home" location="."/>
+	
+	<!-- Product properties file -->
+	<property name="org.jboss.esb.product.properties" value="jbossesb-properties.xml"/>
+	
+	<!-- Set default properties filename -->
+	<property name="org.jboss.esb.properties" location="product.properties"/>
+	<property name="org.jboss.esb.deployment.properties" location="install/deployment.properties"/>
+
+	<!-- Some default build locations -->
+	<property name="org.jboss.esb.internal.dest" location="build"/>
+	<property name="org.jboss.esb.internal.jar.dest" location="build/jbossesb/lib"/>
+
+	<!-- Load Build Properties File -->
+	<property file="${org.jboss.esb.properties}"/>
+	<property file="${org.jboss.esb.deployment.properties}"/>
+
+	<!-- Set internal property defaults -->
+	<property name="org.jboss.esb.installationdirectory" location="build/jbossesb"/>
+	
+	<!-- Exclude from javadocs -->
+	<property name="org.jboss.esb.javadocs.exclude" value="org.jboss.soa.esb.internal.*, org.jboss.soa.esb.services.beans.*"/>
+	
+	<property name="console.dir" value="console"/>
+	
+	<!-- Compile with debugging? -->
+	<property name="org.jboss.esb.debug" value="yes"/>
+	<condition property="org.jboss.esb.debug" value="no">
+		<equals arg1="${org.jboss.esb.build.debug}" arg2="no"/>
+	</condition>
+
+	<!-- Compile with deprecation? -->
+	<property name="org.jboss.esb.deprecation" value="no"/>
+	<condition property="org.jboss.esb.deprecation" value="yes">
+		<equals arg1="${org.jboss.esb.build.deprecation}" arg2="yes"/>
+	</condition>
+	
+	<!-- Compile with optimization? -->
+	<property name="org.jboss.esb.optimize" value="on"/>
+	<condition property="org.jboss.esb.optimize" value="off">
+		<equals arg1="${org.jboss.esb.build.optimize}" arg2="off"/>
+	</condition>
+	
+	<!-- Build from local libs? -->
+	<property name="org.jboss.esb.frominstall" value="no"/>
+	<condition property="org.jboss.esb.frominstall" value="yes">
+		<equals arg1="${org.jboss.esb.build.frominstall}" arg2="yes"/>
+	</condition>
+	
+	<!-- Build tests? -->
+	<property name="org.jboss.esb.buildtests" value="no"/>
+	<condition property="org.jboss.esb.buildtests" value="yes">
+		<equals arg1="${org.jboss.esb.build.tests}" arg2="yes"/>
+	</condition>
+	
+	<!-- Path names -->
+	<property name="org.jboss.esb.internal.core" value="esb"/>
+	<property name="org.jboss.esb.internal.dest" location="build"/>
+	<property name="org.jboss.esb.internal.jar" location="lib"/>
+	<property name="org.jboss.esb.internal.javadocs.dest" location="javadocs"/>
+	<property name="org.jboss.esb.internal.samples.javadocs.dest" location="samples/javadocs"/>
+
+	<property name="junit.jar" location="lib/ext/junit-4.1.jar"/>
+	<macrodef name="runant">
+		<attribute name="target"/>
+		<sequential>
+			<java classname="org.apache.tools.ant.launch.Launcher"
+			    classpath="${ant.library.dir}/ant-launcher.jar"
+			    fork="true" failonerror="true">
+				<sysproperty key="ant.home" value="${ant.home}"/>
+				<sysproperty key="ant.library.dir" value="${ant.library.dir}"/>
+	                        <sysproperty key="org.jboss.esb.properties" value="${org.jboss.esb.properties}"/>
+				<arg value="-cp"/>
+				<arg value="${junit.jar}"/>
+				<arg value="-f"/>
+				<arg value="${ant.file}"/>
+				<arg value="@{target}"/>
+			</java>
+		</sequential>
+	</macrodef>
+
+	<target name="generate-config-model">
+		<ant dir="core/listeners" target="generate-config-model-1.0"/>
+	</target>
+	
+	<!-- Initialisation -->
+	<target name="org.jboss.esb.internal.init">
+		<!-- Define default build properties -->
+		<tstamp>
+			<format property="org.jboss.esb.date" pattern="yyyy/mm/dd hh:mm aa"/>
+		</tstamp>
+		<!-- Make the destination directory -->
+		<mkdir dir="${org.jboss.esb.internal.dest}"/>
+	</target>
+
+	<!-- Compilation targets -->
+		
+	<target name="org.jboss.esb.compile"
+		depends="org.jboss.esb.internal.init, org.jboss.esb.core.compile"/>
+	
+	<target name="org.jboss.esb.jar" depends="org.jboss.esb.internal.init, org.jboss.esb.core.jar"/>	
+
+	<target name="org.jboss.esb.core.compile" depends="org.jboss.esb.internal.init">
+		<echo message="Compiling modules"/>
+		<ant dir="core"/>
+	</target>
+
+    <!-- Test targets -->
+    <target name="org.jboss.esb.test" depends="org.jboss.esb.compile">
+        <echo message="Testing of modules, using unit and functional tests"/>
+        <ant dir="core" target="org.jboss.esb.core.test"/>
+    </target>
+
+	<!-- Integration test targets -->
+		    <target name="org.jboss.esb.integration.test" depends="org.jboss.esb.compile">
+		        <echo message="Testing of modules, using unit, functional and integration tests"/>
+		        <ant dir="core" target="org.jboss.esb.core.integration.test"/>
+		    </target>
+
+    <!-- javadocs paths -->
+	<path id="org.jboss.esb.javadocs.path">
+		<pathelement path="build/schema-model/src"/>
+		<pathelement path="core/rosetta/src"/>
+		<pathelement path="core/listeners/src"/>
+		<pathelement path="core/services/src/"/>
+	</path>
+	
+
+	<property name="org.jboss.esb.javadocs.list"
+	value="org.jboss.soa.*"/>
+	
+	<property name="org.jboss.esb.samples.javadocs.list"
+	value="org.jboss.soa.esb.samples.*"/>
+
+	<!-- Jar targets -->
+	<target name="org.jboss.esb.core.jar">
+		<echo message="Building jar file"/>
+		<ant dir="core" target="jar"/>
+	</target>
+	
+	
+	<target name="org.jboss.esb.javadocs"
+				depends="org.jboss.esb.internal.init">
+		<echo message="Building javadocs"/>
+		<mkdir dir="${org.jboss.esb.internal.javadocs.dest}"/>
+		<path id="org.jboss.esb.internal.javadocs.path">
+			<path refid="org.jboss.esb.javadocs.path"/>
+		</path>
+
+		<javadoc
+			sourcepathref="org.jboss.esb.internal.javadocs.path"
+			destdir="${org.jboss.esb.internal.javadocs.dest}"
+			packagenames="${org.jboss.esb.javadocs.list}"
+			excludepackagenames="${org.jboss.esb.javadocs.exclude}"
+	        >
+			<classpath>
+				<path path="${org.jboss.esb.internal.src}"/>
+				<fileset dir="lib/ext" includes="*.jar" />
+			</classpath>
+		</javadoc>
+	</target>
+	
+	<target name="org.jboss.esb.samples.javadocs"
+				depends="org.jboss.esb.internal.init">
+		<echo message="Building samples javadocs"/>
+		<mkdir dir="${org.jboss.esb.internal.samples.javadocs.dest}"/>
+		<path id="org.jboss.esb.internal.samples.javadocs.path">
+			<path refid="org.jboss.esb.samples.javadocs.path"/>
+		</path>
+
+		<javadoc
+			sourcepathref="org.jboss.esb.internal.samples.javadocs.path"
+			destdir="${org.jboss.esb.internal.samples.javadocs.dest}"
+			packagenames="${org.jboss.esb.samples.javadocs.list}"
+	        >
+			<classpath>
+				<path path="${org.jboss.esb.internal.src}"/>
+				<fileset dir="lib/ext" includes="*.jar" />
+				<fileset dir="samples/trailblazer2/banks/lib/ext" includes="*.jar"/>
+			</classpath>
+		</javadoc>
+	</target>
+	
+	<!-- produce a basic installation (minus docs and samples) -->
+	
+	<target name="org.jboss.esb.install" depends="org.jboss.esb.jar">
+
+		<echo message="Installation directory : ${org.jboss.esb.installationdirectory}"/>
+
+		<echo message="Installing jar files"/>
+		<mkdir dir="${org.jboss.esb.installationdirectory}/lib"/>
+		<copy
+			todir="${org.jboss.esb.installationdirectory}/lib">
+			<fileset dir="lib">
+				<include name="*.jar"/>
+			</fileset>
+		</copy>
+		
+		<mkdir dir="${org.jboss.esb.installationdirectory}/lib/ext"/>
+			<copy
+				todir="${org.jboss.esb.installationdirectory}/lib/ext">
+				<fileset dir="lib/ext">
+					<include name="*.jar"/>
+				</fileset>
+			</copy>
+		
+		<copy file="lib/Licenses.txt" todir="${org.jboss.esb.installationdirectory}/lib"/>
+
+		<echo message="Installing xml ${org.jboss.esb.installationdirectory}"/>
+		<mkdir dir="${org.jboss.esb.installationdirectory}/xml"/>
+		<copy
+			todir="${org.jboss.esb.installationdirectory}/xml"
+		>
+			<fileset dir="etc/schemas/xml">
+				<include name="*.xsd"/>
+			</fileset>
+		</copy>
+		
+		<echo message="Installed EULA"/>
+		<copy file="../JBossORG-EULA.txt" todir="${org.jboss.esb.installationdirectory}"/>
+	</target>
+
+	<!-- produce a product distribution -->
+	
+	<target name="org.jboss.esb.dist" depends="install, org.jboss.esb.javadocs, tools">
+
+		<echo message="Installation directory : ${org.jboss.esb.installationdirectory}"/>
+
+		<echo message="Installing jar files"/>
+		<mkdir dir="${org.jboss.esb.installationdirectory}/lib"/>
+		<copy
+			todir="${org.jboss.esb.installationdirectory}/lib">
+			<fileset dir="lib">
+				<include name="*.jar"/>
+			</fileset>
+		</copy>
+		
+		<echo message="Installing install files"/>
+				<mkdir dir="${org.jboss.esb.installationdirectory}/install"/>
+                <copy file="install/deployment.properties-example" tofile="${org.jboss.esb.installationdirectory}/install/deployment.properties"/>
+                <copy
+					todir="${org.jboss.esb.installationdirectory}/install">
+					<fileset dir="install">
+						<exclude name=".svn"/>
+                        <exclude name="deployment.properties-example"/>
+                    </fileset>
+				</copy>
+
+		<echo message="Installing xml ${org.jboss.esb.installationdirectory}"/>
+		<mkdir dir="${org.jboss.esb.installationdirectory}/xml"/>
+		<copy
+			todir="${org.jboss.esb.installationdirectory}/xml"
+		>
+			<fileset dir="etc/schemas/xml"/>
+		</copy>
+
+		<echo message="Installing javadocs"/>
+		<mkdir dir="${org.jboss.esb.installationdirectory}/javadocs"/>
+		<copy
+			todir="${org.jboss.esb.installationdirectory}/javadocs"
+		>
+			<fileset dir="javadocs"/>
+		</copy>
+		
+		<echo message="Installing docs"/>
+			<copy file="README_FIRST.txt" todir="${org.jboss.esb.installationdirectory}"/>
+			<copy file="../Contributors.txt" todir="${org.jboss.esb.installationdirectory}"/>
+		
+			<mkdir dir="${org.jboss.esb.installationdirectory}/docs"/>
+			<copy
+				todir="${org.jboss.esb.installationdirectory}/docs"
+			>
+				<fileset dir="docs">
+					<include name="*.pdf"/>
+				</fileset>
+			</copy>
+		
+		<mkdir dir="${org.jboss.esb.installationdirectory}/docs/services"/>
+					<copy
+						todir="${org.jboss.esb.installationdirectory}/docs/services"
+					>
+						<fileset dir="docs/services">
+							<include name="*.pdf"/>
+						</fileset>
+					</copy>
+		
+	<echo message="Installing samples"/>
+				<mkdir dir="${org.jboss.esb.installationdirectory}/samples"/>
+				<copy
+					todir="${org.jboss.esb.installationdirectory}/samples"
+				>
+					<fileset dir="samples">
+						<exclude name="**/*.pdf"/>
+						<exclude name="**/*.doc"/>
+						<exclude name="**/*.odg"/>
+					</fileset>
+				</copy>
+	</target>
+	
+	<!-- Build the tools into the main dist -->
+	<target name="org.jboss.esb.tools">
+		<!-- Build the admin console webapp. -->
+		<ant dir="${console.dir}" target="dist">
+			<property name="install.tools.dir" value="${org.jboss.esb.installationdirectory}/tools"/>
+		</ant>
+	</target>
+	
+	<!-- Clean targets -->
+	<target name="org.jboss.esb.clean">
+		<echo message="Cleaning modules"/>
+		
+		<echo message="Cleaning core"/>
+		<ant dir="core" target="clean"/>
+		<ant dir="${console.dir}" target="clean"/>
+		
+		<delete dir="${org.jboss.esb.internal.dest}"/>
+		<delete dir="${org.jboss.esb.internal.dest.root}"/>
+		<delete dir="${org.jboss.esb.internal.javadocs.dest}"/>
+		<delete>
+		    <fileset dir="." includes="scout.log unittest.log"/>
+                </delete>
+	</target>
+
+	<!-- Short target names -->
+	<target name="compile">
+ 		<runant target="org.jboss.esb.compile"/>
+	</target>
+	<target name="install">
+ 		<runant target="org.jboss.esb.install"/>
+	</target>
+	<target name="dist">
+ 		<runant target="org.jboss.esb.dist"/>
+	</target>
+	<target name="tools">
+ 		<runant target="org.jboss.esb.tools"/>
+	</target>
+	<target name="test">
+ 		<runant target="org.jboss.esb.test"/>
+	</target>
+	<target name="integration">
+	 		<runant target="org.jboss.esb.integration.test"/>
+	</target>		
+	<target name="jar">
+ 		<runant target="org.jboss.esb.jar"/>
+	</target>
+	<target name="clean">
+ 		<runant target="org.jboss.esb.clean"/>
+	</target>
+	<target name="javadoc">
+ 		<runant target="org.jboss.esb.javadocs"/>
+	</target>
+
+	<target name="deploy" depends="jar">
+		<ant dir="install" target="deploy"/>
+	</target>
+
+	<target name="instr-report">
+		<ant dir="core" target="instr-report"/>
+	</target>
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/.classpath
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/.classpath	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/.classpath	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="test"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="embedded-ejb/conf"/>
+	<classpathentry kind="lib" path="lib/hibernate-all.jar"/>
+	<classpathentry kind="lib" path="lib/javax.servlet.jsp.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-aop-jdk50.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-cache-jdk50.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-ejb3-all.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-seam.jar"/>
+	<classpathentry kind="lib" path="lib/jboss-seam-debug.jar"/>
+	<classpathentry kind="lib" path="lib/jbpm-3.1.4.jar"/>
+	<classpathentry kind="lib" path="lib/drools-core-3.0.5.jar"/>
+	<classpathentry kind="lib" path="lib/drools-compiler-3.0.5.jar"/>
+	<classpathentry kind="lib" path="lib/janino-2.4.3.jar"/>
+	<classpathentry kind="lib" path="lib/antlr-2.7.6.jar"/>
+	<classpathentry kind="lib" path="lib/antlr-3.0ea8.jar"/>
+	<classpathentry kind="lib" path="lib/commons-jci-core-1.0-406301.jar"/>
+	<classpathentry kind="lib" path="lib/commons-jci-janino-2.4.3.jar"/>
+	<classpathentry kind="lib" path="lib/stringtemplate-2.3b6.jar"/>
+	<classpathentry kind="lib" path="lib/jgroups.jar"/>
+	<classpathentry kind="lib" path="lib/jsf-facelets.jar"/>
+	<classpathentry kind="lib" path="lib/jstl-1.1.0.jar"/>
+	<classpathentry kind="lib" path="lib/myfaces-api-1.1.4.jar"/>
+	<classpathentry kind="lib" path="lib/servlet-api.jar"/>
+	<classpathentry kind="lib" path="lib/testng-4.5.1-jdk15.jar"/>
+	<classpathentry kind="lib" path="lib/thirdparty-all.jar"/>
+	<classpathentry kind="lib" path="lib/el-api.jar"/>
+	<classpathentry kind="lib" path="lib/el-ri.jar"/>
+	<classpathentry kind="lib" path="lib/hsqldb.jar"/>
+	<classpathentry kind="lib" path="/ESB/product/lib/ext/milyn-commons-0.8.jar"/>
+	<classpathentry kind="lib" path="/ESB/product/lib/ext/milyn-smooks-core-0.8.jar"/>
+	<classpathentry kind="lib" path="/ESB/product/lib/ext/milyn-tinak-0.7.1.jar"/>
+	<classpathentry kind="output" path="test-build"/>
+</classpath>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/.exploded.launch
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/.exploded.launch	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/.exploded.launch	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+	<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+	<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+	<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+	<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="clean,unexplode,restart,buildtest,"/>
+	<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
+	<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+		<listEntry value="1"/>
+	</listAttribute>
+	<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
+	<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+	<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+	<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+	<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="clean,unexplode,restart,buildtest,"/>
+	<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AUTO_TARGETS" value="explode,buildtest,"/>
+	<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="jboss-esb-console"/>
+	<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+		<listEntry value="/jboss-esb-console/build.xml"/>
+	</listAttribute>
+	<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/jboss-esb-console/build.xml}"/>
+</launchConfiguration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/.project
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/.project	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/.project	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>jboss-esb-console</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+			<triggers>auto,full,incremental,</triggers>
+			<arguments>
+				<dictionary>
+					<key>LaunchConfigHandle</key>
+					<value>&lt;project&gt;/.exploded.launch</value>
+				</dictionary>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/build.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/build.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/build.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+jboss.home = H:/jboss-4.0.5.GA
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,292 @@
+<?xml version="1.0"?>
+
+<project name="jboss-esb-console" default="deploy" basedir=".">
+
+	<!-- Give user a chance to override without editing this file or typing -D -->
+	<property file="${basedir}/build.properties" />
+
+	<!-- set global properties for this build -->
+	<property name="project.name" value="jboss-esb-console"/>
+	<property name="dist.dir" value="${basedir}/build" />
+	<property name="src.java.dir" value="src" />
+	<property name="src.test.dir" value="test" />
+	<property name="lib.dir" value="lib" />
+	<property name="exploded.archives.dir" value="${basedir}/exploded-archives" />
+	<property name="ear.dir" value="${exploded.archives.dir}/${project.name}.ear" />
+	<property name="jar.dir" value="${exploded.archives.dir}/${project.name}.jar" />
+	<property name="war.dir" value="${exploded.archives.dir}/${project.name}.war" />
+	<property name="test.dir" value="test-build" />
+	<property name="embedded-ejb3.dir" value="${basedir}/embedded-ejb/conf" />
+	<property name="deploy.dir" value="${jboss.home}/server/default/deploy" />
+	<property name="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear" />
+	<property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar" />
+	<property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war" />
+	<property name="testng.jar" value="${basedir}/lib/testng-4.5.1-jdk15.jar" />
+	<property name="javac.debug" value="true" />
+	<property name="javac.deprecation" value="false" />
+	<property name="product.lib.ext.dir" location="../lib/ext" />
+
+	<fileset id="lib" dir="${lib.dir}">
+		<include name="*.jar" />
+	</fileset>
+
+	<fileset id="milyn-dependencies" dir="${product.lib.ext.dir}" 
+		includes="milyn*.jar,opencsv*.jar,ognl-*.jar,xbean.jar,xmlpublic.jar,groovy*.jar" />
+	
+	<path id="build.classpath">
+		<fileset refid="lib" />
+		<fileset refid="milyn-dependencies" />
+	</path>
+
+	<target name="init" description="Initialize the build">
+		<mkdir dir="${dist.dir}" />
+		<mkdir dir="${jar.dir}" />
+		<mkdir dir="${ear.dir}" />
+		<mkdir dir="${war.dir}" />
+	</target>
+
+	<target name="compile" depends="init" 
+			description="Compile the Java source code"
+		    unless="eclipse.running">
+		
+		<javac classpathref="build.classpath" 
+			        destdir="${jar.dir}" 
+			          debug="${javac.debug}" 
+			    deprecation="${javac.deprecation}" 
+			        nowarn="on">
+			<src path="${src.java.dir}" />
+		</javac>
+	</target>
+
+	<target name="copyclasses" depends="init" 
+			description="Copy the classes that were compiled by eclipse"
+		    if="eclipse.running">
+		<copy todir="${jar.dir}">
+			<fileset dir="${test.dir}">
+				<include name="**/*.class"/>
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="jar" depends="compile,copyclasses" 
+			description="Build the distribution .jar file">
+		<copy todir="${jar.dir}">
+			<fileset dir="${basedir}/resources">
+				<include name="seam.properties" />
+				<include name="jboss-esb-console.properties" />
+			</fileset>
+		</copy>
+		<copy todir="${jar.dir}/META-INF">
+			<fileset dir="${basedir}/resources/META-INF">
+				<include name="ejb-jar.xml" />
+			</fileset>
+		</copy>
+		<copy tofile="${jar.dir}/META-INF/persistence.xml" 
+			    file="${basedir}/resources/META-INF/persistence.xml"
+		   overwrite="true"/>
+		<copy tofile="${jar.dir}/import.sql" 
+			    file="${basedir}/resources/import.sql"
+		   overwrite="true"/>
+	</target>
+
+	<target name="war" depends="compile" 
+			description="Build the distribution .war file">
+		<copy todir="${war.dir}">
+			<fileset dir="${basedir}/view" />
+		</copy>
+		<copy todir="${war.dir}/WEB-INF">
+			<fileset dir="${basedir}/resources/WEB-INF">
+				<include name="*.*"/>
+				<include name="classes/**/*.*"/>
+				<exclude name="classes/**/*.class"/>
+			</fileset>
+			<filterset>
+				<filter token="jndiPattern" value="${project.name}/#{ejbName}/local" />
+				<filter token="embeddedEjb" value="false" />
+			</filterset>
+		</copy>		
+		<copy todir="${war.dir}/WEB-INF">
+			<fileset dir="${basedir}/resources/WEB-INF">
+				<include name="lib/*.*"/>
+				<include name="classes/**/*.class"/>
+			</fileset>
+		</copy>		
+		<copy todir="${war.dir}/WEB-INF/lib">
+			<fileset dir="${lib.dir}">
+				<include name="jsf-facelets.jar" />
+				<include name="jboss-seam-*.jar" />
+				<exclude name="jboss-seam-gen.jar" />
+			</fileset>
+		</copy>
+		<copy todir="${war.dir}/WEB-INF/classes">
+			<fileset dir="${basedir}/resources"> 
+				<include name="messages*.properties"/>
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="ear" description="Build the EAR">
+		<copy todir="${ear.dir}">
+			<fileset dir="${basedir}/resources">
+				<include name="*jpdl.xml" />
+				<include name="hibernate.cfg.xml" />
+				<include name="jbpm.cfg.xml" />
+				<include name="security.drl" />
+				<include name="jboss-esb-console-service.xml" />
+			</fileset>
+			<fileset dir="${lib.dir}">
+				<include name="jboss-seam.jar" />
+				<include name="jbpm*.jar" />
+				<include name="el-*.jar" />
+				<include name="drools-*.jar"/>
+				<include name="janino-*.jar"/>
+				<include name="antlr-*.jar"/>
+				<include name="commons-jci-*.jar"/>
+				<include name="stringtemplate-*.jar"/>
+			</fileset>
+			<fileset refid="milyn-dependencies" />
+		</copy>
+		<copy todir="${ear.dir}/META-INF">
+			<fileset dir="${basedir}/resources/META-INF">
+				<include name="application.xml" />
+				<include name="jboss-app.xml" />
+			</fileset>
+		</copy>
+	</target>
+	
+	<target name="archive" depends="jar,war,ear,test" description="Package the archives">
+		<jar jarfile="${dist.dir}/${project.name}.jar" basedir="${jar.dir}"/>
+		<jar jarfile="${dist.dir}/${project.name}.war" basedir="${war.dir}"/>
+		<jar jarfile="${dist.dir}/${project.name}.ear">
+			<fileset dir="${ear.dir}"/>
+			<fileset dir="${dist.dir}">
+				<include name="${project.name}.jar"/>
+				<include name="${project.name}.war"/>
+			</fileset>
+		</jar>
+	</target>
+	
+	<target name="datasource">
+		<fail unless="jboss.home">jboss.home not set</fail>
+		<copy todir="${deploy.dir}">
+			<fileset dir="${basedir}/resources">
+				<include name="${project.name}-ds.xml" />
+			</fileset>
+		</copy>
+	</target>
+	
+    <target name="dist" depends="jar,war,ear,test">
+    	<property name="install.console.dir"  location="${install.tools.dir}/console" />
+
+    	<mkdir dir="${install.console.dir}"/>
+    	
+		<!-- Copy the build related files to the "tools" folder. -->
+		<copy todir="${install.console.dir}">
+			<fileset dir="${exploded.archives.dir}"/>
+			<fileset dir="${basedir}" includes="distro/**" excludes="distro/distro-*" />
+		</copy>
+		<copy file="distro/distro-build.xml" tofile="${install.tools.dir}/build.xml" />
+		<copy file="distro/distro-CONSOLE-README.TXT" tofile="${install.tools.dir}/CONSOLE-README.TXT" />
+		<copy file="resources/import.sql" tofile="${install.tools.dir}/CONSOLE-import.sql" />
+    </target>
+	
+	<target name="explode" depends="jar,war,ear,datasource" 
+			description="Deploy the exploded archive">
+		<fail unless="jboss.home">jboss.home not set</fail>
+		
+		<mkdir dir="${jar.deploy.dir}"/>
+		<mkdir dir="${war.deploy.dir}"/>		
+		
+		<copy todir="${jar.deploy.dir}">
+			<fileset dir="${jar.dir}"/>
+		</copy>
+		<copy todir="${war.deploy.dir}">
+			<fileset dir="${war.dir}"/>
+		</copy>
+		<copy todir="${ear.deploy.dir}">
+			<fileset dir="${ear.dir}"/>
+		</copy>
+	</target>
+
+	<target name="unexplode" description="Undeploy the exploded archive">
+		<delete failonerror="no">
+			<fileset dir="${ear.deploy.dir}">
+				<exclude name="**/*.jar"/>
+			</fileset>
+		</delete>
+		<delete file="${deploy.dir}/${project.name}-ds.xml" failonerror="no"/>
+		<delete dir="${ear.deploy.dir}" failonerror="no"/>
+	</target>
+	
+	<target name="restart" depends="explode" description="Restart the exploded archive">
+		<touch file="${ear.deploy.dir}/META-INF/application.xml"/>
+	</target>
+
+	<target name="deploy" depends="archive,datasource" description="Deploy to JBoss AS">
+		<fail unless="jboss.home">jboss.home not set</fail>
+		<copy todir="${deploy.dir}" file="${dist.dir}/${project.name}.ear" />
+	</target>
+
+	<target name="undeploy" description="Undeploy the example from JBoss">
+		<delete file="${deploy.dir}/${project.name}.ear" />
+		<delete file="${deploy.dir}/${project.name}-ds.xml" />
+	</target>
+
+	<target name="clean" description="Cleans up the build directory">
+		<delete dir="${dist.dir}"/>
+		<delete dir="${exploded.archives.dir}"/>
+		<delete dir="${basedir}/test-report"/>
+		<delete dir="${basedir}/test-output"/>
+		<delete dir="${basedir}/test-build"/>
+		<delete failonerror="no">
+			<fileset dir="${test.dir}">
+				<exclude name="**/*.class" if="eclipse.running"/>
+			</fileset>
+		</delete>
+	</target>
+
+	<target name="compiletest" unless="eclipse.running" description="Compile the Java source code for the tests">
+        <mkdir dir="${test.dir}"/>
+        <javac classpathref="build.classpath"
+                        destdir="${test.dir}"
+                          debug="${javac.debug}"
+                    deprecation="${javac.deprecation}"
+                        nowarn="on">
+                <src path="${src.java.dir}" />
+                <src path="${src.test.dir}" />
+        </javac>
+	</target>
+	
+	<target name="buildtest" depends="compiletest" description="Build the tests">
+		<copy todir="${test.dir}">
+			<fileset dir="${basedir}/resources">
+				<exclude name="META-INF/persistence.xml"/>
+				<exclude name="import.sql"/>
+				<exclude name="${project.name}-ds.xml"/>
+			</fileset>
+		</copy>
+		<copy tofile="${test.dir}/META-INF/persistence.xml" 
+			    file="${basedir}/resources/META-INF/persistence.xml"
+		   overwrite="true"/>
+		<copy tofile="${test.dir}/import.sql" 
+			    file="${basedir}/resources/import.sql"
+		   overwrite="true"/>
+		<copy todir="${test.dir}" flatten="true">
+			<fileset dir="${src.test.dir}">
+				<include name="**/*Test.xml" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="test" depends="buildtest" description="Run the tests">		
+		<taskdef resource="testngtasks" classpath="${testng.jar}" />
+		<testng outputdir="${basedir}/test-report" haltonfailure="true">
+			<classpath path="${test.dir}" />
+			<classpath path="${src.test.dir}" />
+			<classpath path="${embedded-ejb3.dir}" />
+			<classpath refid="build.classpath" />
+			<xmlfileset dir="${src.test.dir}" includes="**/testng.xml" />
+		</testng>
+	</target>
+	
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/application.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/application.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/application.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application 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/application_5.xsd"
+             version="5">
+    
+   <display-name>jboss-esb-console</display-name>
+   
+   <module>
+      <web>
+         <web-uri>jboss-esb-console.war</web-uri>
+         <context-root>/jboss-esb-console</context-root>
+      </web>
+   </module>
+   
+   <module>
+      <ejb>jboss-esb-console.jar</ejb>
+   </module>
+   
+   <module>
+      <java>jboss-esb-console-service.xml</java>
+   </module>
+   
+   <!-- Seam and EL -->
+   <module>
+       <java>jboss-seam.jar</java>
+   </module>   
+   <module>
+      <java>el-api.jar</java>
+   </module>
+   <module>
+      <java>el-ri.jar</java>
+   </module>
+
+   <!-- jBPM -->
+   <module>
+      <java>jbpm-3.1.4.jar</java>
+   </module>
+
+   <!-- Drools and dependencies -->
+   <module>
+      <java>drools-core-3.0.5.jar</java>
+   </module>
+   <module>
+      <java>drools-compiler-3.0.5.jar</java>
+   </module>
+   <module>
+      <java>janino-2.4.3.jar</java>
+   </module>
+   <module>
+      <java>antlr-2.7.6.jar</java>
+   </module>
+   <module>
+      <java>antlr-3.0ea8.jar</java>
+   </module>
+   <module>
+      <java>commons-jci-core-1.0-406301.jar</java>
+   </module>
+   <module>
+      <java>commons-jci-janino-2.4.3.jar</java>
+   </module>
+   <module>
+      <java>stringtemplate-2.3b6.jar</java>
+   </module>
+
+   <!-- Smooks and dependencies -->
+   <module>
+      <java>milyn-smooks-core-0.8.jar</java>
+   </module>
+   <module>
+      <java>milyn-commons-0.8.jar</java>
+   </module>
+   <module>
+      <java>milyn-tinak-0.7.1.jar</java>
+   </module>
+   <module>
+      <java>milyn-edisax-0.1-SNAPSHOT.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-csv-0.1.jar</java>
+   </module>
+   <module>
+      <java>opencsv-1.6.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-edi-0.1-SNAPSHOT.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-javabean-0.2.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-misc-0.2.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-scripting-0.1-SNAPSHOT.jar</java>
+   </module>
+   <module>
+      <java>groovy-all-1.0.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-templating-0.2.jar</java>
+   </module>
+   <module>
+      <java>ognl-2.6.9.jar</java>
+   </module>
+   <module>
+      <java>xbean.jar</java>
+   </module>
+   <module>
+      <java>xmlpublic.jar</java>
+   </module>
+   
+   @db.application.modules@
+
+</application>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/distro-CONSOLE-README.TXT
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/distro-CONSOLE-README.TXT	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/distro-CONSOLE-README.TXT	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+JBoss ESB Adminsitration Console:
+=================================
+To package the JBoss ESB Adminsitration Console application (in the tools/console folder) for your local environment, simply run the Ant build.xml
+script found in this folder.  The default target builds the this application.  You will be asked questions about your database configuration.
+On answering these questions, the script will package the application appropriately for your environment and drop it in the root of the "tools" folder.
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/distro-build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/distro-build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/distro-build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+
+<!--
+	NOTICE:
+	This file is only used for packaging the console from a release distro.  It should only be run
+	from a distribution.
+	
+	This file gets copied to the root of the "tools" folder as "build.xml".
+-->
+	
+<project name="JBoss ESB Administration Console" default="build" basedir=".">
+
+    <property name="console-package.name"      value="jboss-esb-console"/>	
+
+	<target name="build" description="Package the Jboss ESB Administration Console.">
+		
+		<property name="dist-props" value="${console-package.name}.distro.properties"/>
+		
+    	<delete file="${console-package.name}-ds.xml" />
+    	<delete file="${console-package.name}.ear" />
+
+		<echo message="-----------------------------------------------------------" />
+		<echo message="|                                                          |" />
+		<echo message="|    J B O S S    E S B    A D M I N I S T R A T I O N     |" />
+		<echo message="|              C O N S O L E    C O N F I G                |" />
+		<echo message="|                                                          |" />
+		<echo message="-----------------------------------------------------------" />
+		<echo message="" />
+		<echo message="" />
+		<echo message="This script will help you configure your JBoss ESB Administration Console Application. ${line.separator}You can reconfigure at any time by re-running this script." />
+		<echo message="" />
+		<input message="Press enter to start..." />
+		<echo message="" />
+		<input addproperty="db.target" message='Enter the target database type:' validargs="hsqldb,postgres" />
+		<echo message="" />
+    	    	
+    	<delete file="console/distro/${db.target}/${dist-props}" />
+		
+    	<ant dir="console/distro/${db.target}" antfile="build.xml" target="capture-config"/>
+		<antcall target="filter-files" />
+		<antcall target="archive" />
+    	<ant dir="console/distro/${db.target}" antfile="build.xml" target="output-instructions" />
+		
+    </target>
+
+	<target name="filter-files">
+		<property file="console/distro/${db.target}/${dist-props}" />
+		<filterset id="filters" filtersfile="console/distro/${db.target}/${dist-props}"/>
+		<loadfile property="db.application.modules" srcfile="console/distro/${db.target}/db.application.modules.xml" />
+		
+    	<!-- Copy and filter files... -->
+    	<copy file="console/distro/${db.target}/persistence.xml" todir="console/${console-package.name}.jar/META-INF" overwrite="true">
+    		<filterset refid="filters" />
+    	</copy>
+    	<copy file="console/distro/application.xml" todir="console/${console-package.name}.ear/META-INF" overwrite="true">
+    		<filterset refid="filters" />
+    		<filterset>
+    			<filter token="db.application.modules" value="${db.application.modules}"/>
+    		</filterset>
+    	</copy>
+		<antcall target="filter-ds-file" />
+
+    	<delete file="${dist-props}" />
+	</target>
+	
+	<target name="filter-ds-file" if="filter-ds-file">
+    	<copy file="console/distro/${db.target}/${console-package.name}-ds.xml" todir="./" overwrite="true">
+    		<filterset refid="filters" />
+    	</copy>
+	</target>
+
+	<target name="archive">
+		<delete dir="temp" failonerror="false"/>
+		<mkdir dir="temp"/>
+		
+		<jar jarfile="temp/${console-package.name}.jar" basedir="console/${console-package.name}.jar"/>
+		<jar jarfile="temp/${console-package.name}.war" basedir="console/${console-package.name}.war"/>
+		<jar jarfile="${console-package.name}.ear">
+			<fileset dir="console/${console-package.name}.ear"/>
+			<fileset dir="temp">
+				<include name="${console-package.name}.jar"/>
+				<include name="${console-package.name}.war"/>
+			</fileset>
+			<fileset dir="console/distro/${db.target}/" includes="*.jar" />
+		</jar>
+
+		<delete dir="temp" failonerror="false"/>
+	</target>
+	
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<!--
+	NOTICE:
+	This file is only used for packaging the console from a release distro.
+-->
+	
+<project name="JBoss ESB Administration Console">
+
+    <target name="capture-config" description="Capture Hypersonic DB config.">
+    	<echo file="${dist-props}" message="db.driver=org.hsqldb.jdbcDriver${line.separator}"/>
+       	<echo file="${dist-props}" message="db.datasource=DefaultDS${line.separator}" append="true"/>
+    	<echo file="${dist-props}" message="db.connection.url=jdbc:hsqldb:.${line.separator}" append="true"/>
+    	<echo file="${dist-props}" message="db.username=sa${line.separator}" append="true"/>
+       	<echo file="${dist-props}" message="db.password=${line.separator}" append="true"/>
+    	<echo file="${dist-props}" message="hibernate.hbm2ddl.auto=create-drop${line.separator}" append="true"/>
+    </target>
+
+    <target name="output-instructions" description="Output user instructions.">
+		<echo message="" />
+		<echo message='*********** 1. COPY the "${console-package.name}.ear" file to your JBoss Application Server "deploy" folder.' />
+		<echo message='*********** 2. Access the console through "http://localhost:8080/jboss-esb-console/" (replacing the host and port as appropriate).' />
+		<echo message="" />
+    </target>
+	
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/db.application.modules.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/db.application.modules.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/db.application.modules.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,2 @@
+
+   <!-- Hypersonic application modules - there are none. -->

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/jboss-esb-console-ds.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/jboss-esb-console-ds.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/jboss-esb-console-ds.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<datasources>
+    <local-tx-datasource>
+        <jndi-name>@db.datasource@</jndi-name>
+        <connection-url>@db.connection.url@</connection-url>
+        <driver-class>@db.driver@</driver-class>
+        <user-name>@db.username@</user-name>
+        <password>@db.password@</password>
+    </local-tx-datasource>
+</datasources>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/persistence.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/persistence.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/hsqldb/persistence.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for dev profile -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
+             version="1.0">
+             
+   <persistence-unit name="jboss-esb-console">
+      <provider>org.hibernate.ejb.HibernatePersistence</provider>
+      <jta-data-source>java:/@db.datasource@</jta-data-source>
+      <properties>
+         <property name="hibernate.hbm2ddl.auto" value="@hibernate.hbm2ddl.auto@"/>
+         <property name="hibernate.cache.use_query_cache" value="true"/>
+         <property name="jboss.entity.manager.factory.jndi.name" value="java:/jboss-esb-consoleEntityManagerFactory"/>
+      </properties>
+   </persistence-unit>
+    
+</persistence>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+
+<!--
+	NOTICE:
+	This file is only used for packaging the console from a release distro.  It captures the
+	postgres database details from the user and generates the appropriate files for the app.
+-->
+	
+<project name="JBoss ESB Administration Console">
+
+    <target name="capture-config" description="Capture Postgres DB config.">
+	
+		<input addproperty="db.host" message='Enter the host address of your Postgres database (for "localhost" simply press return):' defaultvalue="localhost" />
+		<echo message="" />
+		<input addproperty="db.port" message='Enter the host port of your Postgres database (for "5432" simply press return):' defaultvalue="5432" />
+		<echo message="" />
+		<input addproperty="db.name" message='Enter the database name (on "${db.host}:${db.port}") which will contain the ESB Administration Console data tables (for "jbossesb" simply press return):' defaultvalue="jbossesb" />
+		<echo message="" />
+		<input addproperty="db.username" message='Enter the database username that the ESB Administration Console should use to access "${db.host}:${db.port}/${db.name}" (for "postgres" simply press return):' defaultvalue="postgres" />
+		<echo message="" />
+		<input addproperty="db.password" message='Enter the password associated with the "${db.username}" database username (for "password" simply press return):' defaultvalue="password" />
+		<echo message="" />
+
+    	<echo file="${dist-props}" message="db.driver=org.postgresql.Driver${line.separator}"/>
+       	<echo file="${dist-props}" message="db.datasource=jboss-esb-consoleDatasource${line.separator}" append="true"/>
+    	<echo file="${dist-props}" message="db.connection.url=jdbc:postgresql://${db.host}:${db.port}/${db.name}${line.separator}" append="true"/>
+    	<echo file="${dist-props}" message="db.username=${db.username}${line.separator}" append="true"/>
+       	<echo file="${dist-props}" message="db.password=${db.password}${line.separator}" append="true"/>
+    	<echo file="${dist-props}" message="hibernate.hbm2ddl.auto=update${line.separator}" append="true"/>
+    	<echo file="${dist-props}" message="filter-ds-file=true${line.separator}" append="true"/>
+    </target>
+
+    <target name="output-instructions" description="Output user instructions.">
+		<property file="${dist-props}" />
+
+    	<echo message="" />
+		<echo message='*********** 1. COPY the "${console-package.name}.ear" and "${console-package.name}-ds.xml" files to your JBoss Application Server "deploy" folder (e.g. "../server/default/deploy").' />
+		<echo message='*********** 2. Once deployed and running, seed the "${db.name}" database using the "CONSOLE-import.sql" script.' />
+		<echo message='*********** 3. Access the console through "http://localhost:8080/jboss-esb-console/" (replacing the host and port as appropriate).' />
+		<echo message="" />
+    </target>
+	
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/db.application.modules.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/db.application.modules.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/db.application.modules.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+
+   <!-- Postgres application modules. -->
+   <module>
+      <java>postgresql-8.1-407.jdbc2ee.jar</java>
+   </module>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/jboss-esb-console-ds.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/jboss-esb-console-ds.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/jboss-esb-console-ds.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<datasources>
+    <local-tx-datasource>
+        <jndi-name>@db.datasource@</jndi-name>
+        <connection-url>@db.connection.url@</connection-url>
+        <driver-class>@db.driver@</driver-class>
+        <user-name>@db.username@</user-name>
+        <password>@db.password@</password>
+    </local-tx-datasource>
+</datasources>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/persistence.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/persistence.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/persistence.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for dev profile -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
+             version="1.0">
+             
+   <persistence-unit name="jboss-esb-console">
+      <provider>org.hibernate.ejb.HibernatePersistence</provider>
+      <jta-data-source>java:/@db.datasource@</jta-data-source>
+      <properties>
+         <property name="hibernate.hbm2ddl.auto" value="@hibernate.hbm2ddl.auto@"/>
+         <property name="hibernate.cache.use_query_cache" value="true"/>
+         <property name="jboss.entity.manager.factory.jndi.name" value="java:/jboss-esb-consoleEntityManagerFactory"/>
+      </properties>
+   </persistence-unit>
+    
+</persistence>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/postgresql-8.1-407.jdbc2ee.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/distro/postgres/postgresql-8.1-407.jdbc2ee.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/default.persistence.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/default.persistence.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/default.persistence.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,17 @@
+hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup
+#hibernate.connection.release_mode=after_statement
+#hibernate.transaction.flush_before_completion=false
+#hibernate.transaction.auto_close_session=false
+#hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory
+#hibernate.hbm2ddl.auto=create-drop
+#hibernate.hbm2ddl.auto=create
+hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
+# Clustered cache with TreeCache
+#hibernate.cache.provider_class=org.jboss.ejb3.entity.TreeCacheProviderHook
+#hibernate.treecache.mbean.object_name=jboss.cache:service=EJB3EntityTreeCache
+#hibernate.dialect=org.hibernate.dialect.HSQLDialect
+hibernate.jndi.java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+hibernate.jndi.java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
+hibernate.bytecode.use_reflection_optimizer=false
+# I don't think this is honored, but EJB3Deployer uses it
+hibernate.bytecode.provider=javassist
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/ejb3-interceptors-aop.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/ejb3-interceptors-aop.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/ejb3-interceptors-aop.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,376 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE aop PUBLIC
+   "-//JBoss//DTD JBOSS AOP 1.0//EN"
+   "http://www.jboss.org/aop/dtd/jboss-aop_1_0.dtd">
+
+<aop>
+   <interceptor class="org.jboss.aspects.remoting.InvokeRemoteInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.aspects.security.SecurityClientInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.aspects.tx.ClientTxPropagationInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.remoting.IsLocalInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.aspects.remoting.ClusterChooserInterceptor" scope="PER_VM"/>
+
+   <interceptor class="org.jboss.aspects.tx.TxPropagationInterceptor" scope="PER_VM"/>
+
+   <stack name="ServiceClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="AsynchronousStatelessSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="AsynchronousStatefulSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="StatelessSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="StatefulSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="ClusteredStatelessSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <stack name="ClusteredStatefulSessionClientInterceptors">
+      <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
+      <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
+   </stack>
+
+   <interceptor class="org.jboss.ejb3.asynchronous.AsynchronousInterceptor" scope="PER_CLASS"/>
+   <interceptor class="org.jboss.ejb3.ENCPropagationInterceptor" scope="PER_VM"/>
+   <interceptor name="Basic Authorization" factory="org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor name="JACC Authorization" factory="org.jboss.ejb3.security.JaccAuthorizationInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor factory="org.jboss.ejb3.security.AuthenticationInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor factory="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor class="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.stateless.StatelessInstanceInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.stateful.StatefulInstanceInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.service.ServiceSingletonInterceptor" scope="PER_VM"/>
+   <interceptor class="org.jboss.ejb3.cache.StatefulReplicationInterceptor" scope="PER_VM"/>
+   <interceptor factory="org.jboss.ejb3.stateful.StatefulRemoveFactory" scope="PER_CLASS_JOINPOINT"/>
+   <interceptor factory="org.jboss.ejb3.tx.TxInterceptorFactory" scope="PER_CLASS_JOINPOINT"/>
+   <interceptor factory="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory" scope="PER_CLASS_JOINPOINT"/>
+   <interceptor factory="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor class="org.jboss.ejb3.AllowedOperationsInterceptor" scope="PER_VM"/>
+   <interceptor factory="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory" scope="PER_CLASS"/>
+   <interceptor class="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor" scope="PER_VM"/>
+
+   <domain name="Stateless Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
+         <interceptor-ref name="Basic Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
+         @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
+      </annotation>
+   </domain>
+
+   <domain name="JACC Stateless Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
+         <interceptor-ref name="JACC Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
+         @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
+      </annotation>
+   </domain>
+
+   <domain name="Base Stateful Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
+         <interceptor-ref name="Basic Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->@javax.ejb.Remove(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+
+      <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))">
+         <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
+         @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
+      </annotation>
+   </domain>
+
+   <domain name="Stateful Bean" extends="Base Stateful Bean" inheritBindings="true">
+      <!-- NON Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND !class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.simple.SimpleStatefulCache.class)
+      </annotation>
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.PersistenceManager) AND !class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.simple.PersistenceManager (org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.class)
+      </annotation>
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.CacheConfig) AND !class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.simple.CacheConfig (maxSize=100000, idleTimeoutSeconds=300)
+      </annotation>
+
+      <!-- Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.tree.StatefulTreeCache.class)
+      </annotation>
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.tree.CacheConfig) AND class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.tree.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300)
+      </annotation>
+   </domain>
+
+   <domain name="JACC Stateful Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
+         <interceptor-ref name="JACC Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->@javax.ejb.Remove(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * $instanceof{javax.ejb.SessionSynchronization}->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+
+      <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))">
+         <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
+         @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
+      </annotation>
+
+      <!-- NON Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND !class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.simple.SimpleStatefulCache.class)
+      </annotation>
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.PersistenceManager) AND !class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.simple.PersistenceManager (org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.class)
+      </annotation>
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.CacheConfig) AND !class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.simple.CacheConfig (maxSize=100000, idleTimeoutSeconds=300)
+      </annotation>
+
+      <!-- Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.tree.StatefulTreeCache.class)
+      </annotation>
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.tree.CacheConfig) AND class(@org.jboss.annotation.ejb.Clustered)">
+         @org.jboss.annotation.ejb.cache.tree.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300)
+      </annotation>
+   </domain>
+
+   <domain name="Embedded Stateful Bean" extends="Base Stateful Bean" inheritBindings="true">
+      <!-- NON Clustered cache configuration -->
+      <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache)">
+         @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.NoPassivationCache.class)
+      </annotation>
+
+   </domain>
+
+   <domain name="Message Driven Bean">
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
+         @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
+      </annotation>
+   </domain>
+
+   <domain name="Message Inflow Driven Bean">
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
+         @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
+      </annotation>
+   </domain>
+
+   <domain name="Consumer Bean">
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..)) AND (has(* *->@org.jboss.annotation.ejb.CurrentMessage(..)) OR hasfield(* *->@org.jboss.annotation.ejb.CurrentMessage))">
+         <interceptor-ref name="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+      <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)">
+         @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000)
+      </annotation>
+   </domain>
+
+   <domain name="Service Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+      </bind>
+      <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>      
+      <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
+         <interceptor-ref name="Basic Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())">
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+   </domain>
+
+   <domain name="JACC Service Bean">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/>
+      </bind>
+      <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/>
+      </bind>      
+      <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))">
+         <interceptor-ref name="Basic Authorization"/>
+      </bind>
+      <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/>
+         <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/>
+         <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/>
+      </bind>
+      <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())">
+         <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/>
+      </bind>
+   </domain>
+
+
+</aop>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/embedded-jboss-beans.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/embedded-jboss-beans.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/embedded-jboss-beans.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
+            xmlns="urn:jboss:bean-deployer">
+   <bean name="Naming" class="org.jnp.server.SingletonNamingServer"/>
+
+   <bean name="InitialContextProperties" class="java.util.Hashtable">
+      <constructor>
+      <parameter class="java.util.Map">
+            <map keyClass="java.lang.String" valueClass="java.lang.String">
+               <entry>
+                  <key>java.naming.factory.initial</key>
+                  <value>org.jnp.interfaces.LocalOnlyContextFactory</value>
+               </entry>
+               <entry>
+                   <key>java.naming.factory.url.pkgs</key>
+                   <value>org.jboss.naming:org.jnp.interfaces</value>
+               </entry>
+            </map>
+      </parameter>
+      </constructor>
+   </bean>
+
+   <bean name="java:comp/Initializer" class="org.jboss.ejb3.embedded.JavaCompInitializer">
+      <property name="jndiProperties"><inject bean="InitialContextProperties"/></property>
+   </bean>
+
+   <bean name="XidFactory" class="org.jboss.tm.XidFactoryImpl"/>
+
+   <bean name="XidFactoryMBean" class="org.jboss.ejb3.embedded.XidFactoryMBean">
+      <constructor>
+         <parameter class="org.jboss.tm.XidFactoryBase">
+            <inject bean="XidFactory"/>
+         </parameter>
+      </constructor>
+   </bean>
+
+   <bean name="TransactionManagerInitializer" class="org.jboss.tm.TransactionManagerInitializer">
+      <property name="xidFactory"><inject bean="XidFactory"/></property>
+      <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property>
+   </bean>
+
+   <bean name="UserTransaction" class="org.jboss.ejb3.embedded.UserTransactionImpl">
+      <demand>TransactionManagerInitializer</demand>
+   </bean>
+
+   <bean name="UserTransactionBinding" class="org.jboss.ejb3.embedded.JndiBinder">
+      <property name="jndiProperties"><inject bean="InitialContextProperties"/></property>
+      <property name="target"><inject bean="UserTransaction"/></property>
+      <property name="bindTo">UserTransaction</property>
+      <property name="serializable">false</property>
+   </bean>
+
+
+   <bean name="TransactionManager" class="java.lang.Object">
+      <constructor factoryMethod="getTransactionManager">
+         <factory bean="TransactionManagerInitializer"/>
+      </constructor>
+   </bean>
+   <bean name="CachedConnectionManager" class="org.jboss.resource.connectionmanager.CachedConnectionManagerReference">
+      <property name="transactionManager"><inject bean="TransactionManager"/></property>
+   </bean>
+
+   <!--
+      <bean class="org.jboss.jdbc.HypersonicDatabase"
+        name="jboss:service=Hypersonic,database=localDB">
+        <property name="database">localDB</property>
+        <property name="inProcessMode">true</property>
+        <property name="dbDataDir">.</property>
+      </bean>
+   -->
+
+   <bean name="DefaultDSBootstrap" class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource">
+      <property name="driverClass">org.hsqldb.jdbcDriver</property>
+      <property name="connectionURL">jdbc:hsqldb:.</property>
+      <!--      <property name="connectionURL">jdbc:hsqldb:./hypersonic/localDB</property> -->
+      <property name="userName">sa</property>
+      <property name="jndiName">java:/DefaultDS</property>
+      <property name="minSize">0</property>
+      <property name="maxSize">10</property>
+      <property name="blockingTimeout">1000</property>
+      <property name="idleTimeout">100000</property>
+      <property name="transactionManager"><inject bean="TransactionManager"/></property>
+      <property name="cachedConnectionManager"><inject bean="CachedConnectionManager"/></property>
+      <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property>
+   </bean>
+
+   <bean name="DefaultDS" class="java.lang.Object">
+      <constructor factoryMethod="getDatasource">
+         <factory bean="DefaultDSBootstrap"/>
+      </constructor>
+   </bean>
+
+
+</deployment>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/jboss-jms-beans.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/jboss-jms-beans.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/jboss-jms-beans.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
+            xmlns="urn:jboss:bean-deployer">
+   <bean name="jboss.mq:service=JMSProviderLoader,name=JMSProvider" class="org.jboss.jms.jndi.JNDIProviderAdapter">
+      <property name="factoryRef">java:/XAConnectionFactory</property>
+      <property name="queueFactoryRef">java:/XAConnectionFactory</property>
+      <property name="topicFactoryRef">java:/XAConnectionFactory</property>
+      <property name="properties" class="java.util.Properties">
+               <map keyClass="java.lang.String" valueClass="java.lang.String">
+                  <entry>
+                     <key>java.naming.factory.initial</key>
+                     <value>org.jnp.interfaces.LocalOnlyContextFactory</value>
+                  </entry>
+                  <entry>
+                      <key>java.naming.factory.url.pkgs</key>
+                      <value>org.jboss.naming:org.jnp.interfaces</value>
+                  </entry>
+               </map>
+      </property>
+   </bean>
+
+   <bean name="b1" class="org.jboss.ejb3.embedded.JndiBinder">
+      <property name="jndiProperties"><inject bean="InitialContextProperties"/></property>
+      <property name="target"><inject bean="jboss.mq:service=JMSProviderLoader,name=JMSProvider"/></property>
+      <property name="bindTo">java:/DefaultJMSProvider</property>
+      <property name="serializable">true</property>
+   </bean>
+
+   <bean name="jboss.mq:service=ServerSessionPoolMBean,name=StdJMSPool" class="org.jboss.jms.asf.StdServerSessionPoolFactory">
+      <property name="name">StdJMSPool</property>
+      <property name="xidFactory"><inject bean="XidFactoryMBean"/></property>
+      <property name="transactionManager"><inject bean="TransactionManager"/></property>
+   </bean>
+
+   <bean name="b2" class="org.jboss.ejb3.embedded.JndiBinder">
+      <property name="jndiProperties"><inject bean="InitialContextProperties"/></property>
+      <property name="target"><inject bean="jboss.mq:service=ServerSessionPoolMBean,name=StdJMSPool"/></property>
+      <property name="bindTo">java:/StdJMSPool</property>
+      <property name="serializable">false</property>
+   </bean>
+
+
+   <bean name="jboss.mq:service=PersistenceManager" class="org.jboss.mq.kernel.JDBC2PersistenceManager">
+      <property name="transactionManager">
+         <inject bean="TransactionManager"/>
+      </property>
+      <property name="datasource">
+         <inject bean="DefaultDS"/>
+      </property>
+      <property name="sqlProperties">
+
+            BLOB_TYPE=OBJECT_BLOB
+            INSERT_TX = INSERT INTO JMS_TRANSACTIONS (TXID) values(?)
+            INSERT_MESSAGE = INSERT INTO JMS_MESSAGES (MESSAGEID, DESTINATION, MESSAGEBLOB, TXID, TXOP) VALUES(?,?,?,?,?)
+            SELECT_ALL_UNCOMMITED_TXS = SELECT TXID FROM JMS_TRANSACTIONS
+            SELECT_MAX_TX = SELECT MAX(TXID) FROM JMS_MESSAGES
+            SELECT_MESSAGES_IN_DEST = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE DESTINATION=?
+            SELECT_MESSAGE = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
+            MARK_MESSAGE = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE MESSAGEID=? AND DESTINATION=?
+            UPDATE_MESSAGE = UPDATE JMS_MESSAGES SET MESSAGEBLOB=? WHERE MESSAGEID=? AND DESTINATION=?
+            UPDATE_MARKED_MESSAGES = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=?
+            UPDATE_MARKED_MESSAGES_WITH_TX = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=? AND TXID=?
+            DELETE_MARKED_MESSAGES_WITH_TX = DELETE FROM JMS_MESSAGES WHERE TXOP=? AND JMS_MESSAGES.TXID IN (SELECT TXID FROM JMS_TRANSACTIONS)
+            DELETE_TX = DELETE FROM JMS_TRANSACTIONS WHERE TXID = ?
+            DELETE_MARKED_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXID=? AND TXOP=?
+            DELETE_MESSAGE = DELETE FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=?
+            CREATE_MESSAGE_TABLE = CREATE CACHED TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL, \
+               DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1), \
+               MESSAGEBLOB OBJECT, PRIMARY KEY (MESSAGEID, DESTINATION) )
+            CREATE_IDX_MESSAGE_TXOP_TXID = CREATE INDEX JMS_MESSAGES_TXOP_TXID ON JMS_MESSAGES (TXOP, TXID)
+            CREATE_IDX_MESSAGE_DESTINATION = CREATE INDEX JMS_MESSAGES_DESTINATION ON JMS_MESSAGES (DESTINATION)
+            CREATE_TX_TABLE = CREATE CACHED TABLE JMS_TRANSACTIONS ( TXID INTEGER, PRIMARY KEY (TXID) )
+            CREATE_TABLES_ON_STARTUP = TRUE
+            DELETE_TEMPORARY_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXOP='T'
+
+      </property>
+   </bean>
+
+   <bean name="jboss.mq:service=MessageCache" class="org.jboss.mq.kernel.MessageCache">
+      <property name="persistenceManager"><inject bean="jboss.mq:service=PersistenceManager"/></property>
+      <property name="highMemoryMark">50</property>
+      <property name="maxMemoryMark">60</property>
+   </bean>
+
+   <bean name="jboss.mq:service=StateManager" class="org.jboss.mq.kernel.JDBCStateManager">
+      <property name="transactionManager">
+         <inject bean="TransactionManager"/>
+      </property>
+      <property name="datasource">
+         <inject bean="DefaultDS"/>
+      </property>
+      <property name="sqlProperties">
+
+            CREATE_TABLES_ON_STARTUP = TRUE
+            CREATE_USER_TABLE = CREATE TABLE JMS_USERS (USERID VARCHAR(32) NOT NULL, PASSWD VARCHAR(32) NOT NULL, \
+                                                       CLIENTID VARCHAR(128), PRIMARY KEY(USERID))
+            CREATE_ROLE_TABLE = CREATE TABLE JMS_ROLES (ROLEID VARCHAR(32) NOT NULL, USERID VARCHAR(32) NOT NULL, \
+                                                       PRIMARY KEY(USERID, ROLEID))
+            CREATE_SUBSCRIPTION_TABLE = CREATE TABLE JMS_SUBSCRIPTIONS (CLIENTID VARCHAR(128) NOT NULL, \
+                                                       SUBNAME VARCHAR(128) NOT NULL, TOPIC VARCHAR(255) NOT NULL, \
+                                                       SELECTOR VARCHAR(255), PRIMARY KEY(CLIENTID, SUBNAME))
+            GET_SUBSCRIPTION = SELECT TOPIC, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=?
+            LOCK_SUBSCRIPTION = SELECT TOPIC, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=?
+            GET_SUBSCRIPTIONS_FOR_TOPIC = SELECT CLIENTID, SUBNAME, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE TOPIC=?
+            INSERT_SUBSCRIPTION = INSERT INTO JMS_SUBSCRIPTIONS (CLIENTID, SUBNAME, TOPIC, SELECTOR) VALUES(?,?,?,?)
+            UPDATE_SUBSCRIPTION = UPDATE JMS_SUBSCRIPTIONS SET TOPIC=?, SELECTOR=? WHERE CLIENTID=? AND SUBNAME=?
+            REMOVE_SUBSCRIPTION = DELETE FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=?
+            GET_USER_BY_CLIENTID = SELECT USERID, PASSWD, CLIENTID FROM JMS_USERS WHERE CLIENTID=?
+            GET_USER = SELECT PASSWD, CLIENTID FROM JMS_USERS WHERE USERID=?
+            POPULATE.TABLES.01 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('guest', 'guest')
+            POPULATE.TABLES.02 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('j2ee', 'j2ee')
+            POPULATE.TABLES.03 = INSERT INTO JMS_USERS (USERID, PASSWD, CLIENTID) VALUES ('john', 'needle', 'DurableSubscriberExample')
+            POPULATE.TABLES.04 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('nobody', 'nobody')
+            POPULATE.TABLES.05 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('dynsub', 'dynsub')
+            POPULATE.TABLES.06 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('guest','guest')
+            POPULATE.TABLES.07 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('j2ee','guest')
+            POPULATE.TABLES.08 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('john','guest')
+            POPULATE.TABLES.09 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('subscriber','john')
+            POPULATE.TABLES.10 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('publisher','john')
+            POPULATE.TABLES.11 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('publisher','dynsub')
+            POPULATE.TABLES.12 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('durpublisher','john')
+            POPULATE.TABLES.13 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('durpublisher','dynsub')
+            POPULATE.TABLES.14 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('noacc','nobody')
+
+      </property>
+   </bean>
+
+
+   <bean name="BasicQueueParameters" class="org.jboss.mq.server.BasicQueueParameters"/>
+
+   <bean name="jboss.mq:service=ThreadPool" class="org.jboss.util.threadpool.BasicThreadPool">
+      <property name="name">JMSThread</property>
+      <property name="threadGroupName">JBossMQ Server Threads</property>
+      <!-- The max number of threads in the pool -->
+      <property name="maximumPoolSize">10</property>
+      <!-- The max number of tasks before the queue is full -->
+      <property name="maximumQueueSize">1000</property>
+      <!-- The behavior of the pool when a task is added and the queue is full.
+      abort - a RuntimeException is thrown
+      run - the calling thread executes the task
+      wait - the calling thread blocks until the queue has room
+      discard - the task is silently discarded without being run
+      discardOldest - check to see if a task is about to complete and enque
+         the new task if possible, else run the task in the calling thread
+      -->
+      <property name="blockingModeString">run</property>
+   </bean>
+
+   <bean name="jboss.mq:service=DestinationManager" class="org.jboss.mq.server.JMSDestinationManager">
+      <constructor>
+         <parameter class="org.jboss.mq.server.BasicQueueParameters">
+            <inject bean="BasicQueueParameters"/>
+         </parameter>
+      </constructor>
+      <property name="persistenceManager"><inject bean="jboss.mq:service=PersistenceManager"/></property>
+      <property name="messageCache"><inject bean="jboss.mq:service=MessageCache"/></property>
+      <property name="stateManager"><inject bean="jboss.mq:service=StateManager"/></property>
+      <property name="threadPool"><inject bean="jboss.mq:service=ThreadPool"/></property>
+      <property name="threadGroup"><inject bean="jboss.mq:service=ThreadPool" property="threadGroup"/></property>
+      <start method="startServer"/>
+      <stop method="stopServer"/>
+   </bean>
+
+   <bean name="jboss.mq.destination:service=Queue,name=DLQ" class="org.jboss.mq.kernel.Queue">
+     <property name="destinationManagerPojo"><inject bean="jboss.mq:service=DestinationManager"/></property>
+     <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property>
+      <property name="destinationName">DLQ</property>
+   </bean>
+
+   <bean name="jboss.mq:service=Invoker" class="org.jboss.mq.server.JMSServerInvoker">
+      <property name="next"><inject bean="jboss.mq:service=DestinationManager"/></property>
+   </bean>
+
+   <bean name="jboss.mq:service=InvocationLayer,type=JVM" class="org.jboss.mq.kernel.JVMIL">
+      <property name="jmsInvoker"><inject bean="jboss.mq:service=Invoker"/></property>
+     <property name="connectionFactoryJNDIRef">java:/ConnectionFactory</property>
+     <property name="xAConnectionFactoryJNDIRef">java:/XAConnectionFactory</property>
+     <property name="pingPeriod">0</property>
+      <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property>
+   </bean>
+
+</deployment>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,2 @@
+java.naming.factory.initial org.jnp.interfaces.LocalOnlyContextFactory
+java.naming.factory.url.pkgs org.jboss.naming:org.jnp.interfaces

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.9 2006/07/04 01:14:18 gavin 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">
+   
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <category name="org.hibernate">
+      <priority value="DEBUG"/>
+   </category>
+
+   <category name="org.jboss.seam">
+      <priority value="DEBUG"/>
+   </category>
+   
+   <!-- 
+   <category name="org.jboss.ejb3">
+      <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- 
+   <category name="org.jboss.kernel">
+      <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <root>
+      <priority value="INFO"/>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+   
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/login-config.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/login-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/login-config.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+<?xml version='1.0'?>
+
+<!DOCTYPE policy PUBLIC
+      "-//JBoss//DTD JBOSS Security Config 3.0//EN"
+      "http://www.jboss.org/j2ee/dtd/security_config.dtd">
+
+<!-- The XML based JAAS login configuration read by the
+org.jboss.security.auth.login.XMLLoginConfig mbean. Add
+an application-policy element for each security domain.
+
+The outline of the application-policy is:
+<application-policy name="security-domain-name">
+  <authentication>
+    <login-module code="login.module1.class.name" flag="control_flag">
+      <module-option name = "option1-name">option1-value</module-option>
+      <module-option name = "option2-name">option2-value</module-option>
+      ...
+    </login-module>
+
+    <login-module code="login.module2.class.name" flag="control_flag">
+      ...
+    </login-module>
+    ...
+  </authentication>
+</application-policy>
+
+$Revision: 1.1 $
+-->
+
+<policy>
+  <!-- Used by clients within the application server VM such as
+  mbeans and servlets that access EJBs.
+  -->
+  <application-policy name="client-login">
+    <authentication>
+      <login-module code="org.jboss.security.ClientLoginModule"
+        flag="required">
+         <!-- Any existing security context will be restored on logout -->
+         <module-option name="restore-login-identity">true</module-option>
+      </login-module>
+    </authentication>
+  </application-policy>
+
+  <application-policy name="other">
+    <!-- A simple server login module, which can be used when the number
+    of users is relatively small. It uses two properties files:
+    users.properties, which holds users (key) and their password (value).
+    roles.properties, which holds users (key) and a comma-separated list of
+    their roles (value).
+    The unauthenticatedIdentity property defines the name of the principal
+    that will be used when a null username and password are presented as is
+    the case for an unuathenticated web client or MDB. If you want to
+    allow such users to be authenticated add the property, e.g.,
+    unauthenticatedIdentity="nobody"
+    -->
+    <authentication>
+      <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
+        flag="required"/>
+    </authentication>
+  </application-policy>
+
+</policy>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/security-beans.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/security-beans.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/conf/security-beans.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
+            xmlns="urn:jboss:bean-deployer">
+
+   <bean class="org.jboss.ejb3.embedded.JaasSecurityManagerService"
+         name="jboss.security:service=JaasSecurityManager">
+      <property name="initialContextProperties">
+         <inject bean="InitialContextProperties"/>
+      </property>
+   </bean>
+</deployment>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/embedded-ejb/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,4 @@
+This directory contains a JBoss Embeddable EJB 3.0 configuration. 
+
+The embedded-ejb/conf directory must be included in the classpath 
+to run the Embeddable EJB container.
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/activation.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/activation.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-antlr-1.6.5.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-antlr-1.6.5.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-launcher.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-launcher.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-nodeps.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant-nodeps.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/ant.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/antlr-2.7.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/antlr-2.7.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/antlr-3.0ea8.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/antlr-3.0ea8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-beanutils-1.7.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-beanutils-1.7.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-codec-1.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-codec-1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-collections-3.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-collections-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-digester-1.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-digester-1.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-el-1.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-el-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-jci-core-1.0-406301.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-jci-core-1.0-406301.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-jci-janino-2.4.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-jci-janino-2.4.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-lang-2.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-lang-2.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-logging-api-1.0.4.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/commons-logging-api-1.0.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/drools-compiler-3.0.5.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/drools-compiler-3.0.5.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/drools-core-3.0.5.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/drools-core-3.0.5.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/el-api.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/el-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/el-ri.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/el-ri.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/hibernate-all.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/hibernate-all.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/hsqldb.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/hsqldb.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/itext-1.4.7.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/itext-1.4.7.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/janino-2.4.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/janino-2.4.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/javax.servlet.jsp.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/javax.servlet.jsp.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-aop-jdk50.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-aop-jdk50.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-cache-jdk50.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-cache-jdk50.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-ejb3-all.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-ejb3-all.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-debug.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-debug.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-mail.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-mail.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-pdf.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-pdf.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-ui.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam-ui.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jboss-seam.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jbpm-3.1.4.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jbpm-3.1.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jgroups.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jgroups.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jsf-facelets.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jsf-facelets.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jstl-1.1.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/jstl-1.1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/mail.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/mail.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/myfaces-api-1.1.4.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/myfaces-api-1.1.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/myfaces-impl-1.1.4.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/myfaces-impl-1.1.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/portlet-api-lib.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/portlet-api-lib.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,51 @@
+This directory contains all jars needed to compile Seam
+and run the unit tests.
+
+The only jars required to run Seam in a full Java EE 5 
+environment are:
+
+  jbpm-3.1.1.jar
+  thirdparty-all.jar
+
+To use Seam with Hibernate3 in a J2EE 1.4 environment, 
+the following extra jars are minimally required: 
+
+Hibernate3:
+  hibernate-all.jar
+
+MyFaces:
+  myfaces-impl-1.1.4.jar
+  myfaces-api-1.1.4.jar
+  commons-digester-1.6.jar
+  commons-codec-1.3.jar
+  commons-beanutils-1.7.0.jar
+  commons-lang-2.1.jar
+  commons-collections-3.1.jar
+  commons-el-1.0.jar
+  jstl-1.1.0.jar
+
+Or use your preferred JSF 1.1/1.2 implementation.
+
+Note that commons-lang and commons-collections are only
+needed for server-side JSF state saving in MyFaces.
+
+To use the JBoss Cache, the following additional jars
+are required:
+
+  jgroups.jar
+  jboss-aop-jdk50.jar
+  jboss-cache-jdk50.jar
+
+To use Seam in with JBoss Embeddable EJB 3.0 or JBoss 
+Microcontainer, the following extra jars are required:
+
+  jboss-ejb3-all.jar
+  hibernate-all.jar
+
+You will also need a JBoss Microcontainer configuration:
+
+JBoss Microcontainer with JTA/JCA:
+  microcontainer/conf
+  
+JBoss Embeddable EJB 3.0:
+  embedded-ejb/conf

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/servlet-api.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/servlet-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/stringtemplate-2.3b6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/stringtemplate-2.3b6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/testng-4.5.1-jdk15.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/testng-4.5.1-jdk15.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/thirdparty-all.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/lib/thirdparty-all.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/debug-jboss.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/debug-jboss.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/debug-jboss.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+# JBoss server related settings
+# Edit the following parameter according to your JBoss configuration
+jpda.host=localhost
+jpda.address=8787
+jpda.transport=dt_socket

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/ide-file-targets.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/ide-file-targets.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/ide-file-targets.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir=".." name="jboss-esb-console-IDE">
+    
+  <property file="nbproject/debug-jboss.properties"/>
+
+  <target name="debug-nb">
+    <nbjpdaconnect name="jboss-esb-console" host="${jpda.host}" address="${jpda.address}" transport="${jpda.transport}">
+      <!--classpath>
+        <path path="exploded-archives/jboss-esb-console.jar"/>
+      </classpath>
+      <sourcepath>
+        <path path="src"/>
+      </sourcepath-->
+    </nbjpdaconnect>
+  </target>
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/project.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/project.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/nbproject/project.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.ant.freeform</type>
+    <configuration>
+        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
+            <!-- Do not use Project Properties customizer when editing this file manually. -->
+            <name>jboss-esb-console</name>
+            <properties/>
+            <folders>
+                <source-folder>
+                    <label>src</label>
+                    <type>java</type>
+                    <location>src</location>
+                </source-folder>
+                <source-folder>
+                    <label>test</label>
+                    <type>java</type>
+                    <location>test</location>
+                </source-folder>
+                <source-folder>
+                    <label>view</label>
+                    <type>doc_root</type>
+                    <location>view</location>
+                </source-folder>
+            </folders>
+            <ide-actions>
+                <action name="clean">
+                    <target>clean</target>
+                    <target>unexplode</target>
+                </action>
+                <action name="build">
+                    <target>archive</target>
+                </action>
+                <action name="redeploy">
+                    <target>restart</target>
+                </action>
+                <action name="Undeploy">
+                    <target>unexplode</target>
+                </action>
+                <action name="test">
+                    <target>test</target>
+                </action>
+                <action name="debug">
+                    <script>nbproject/ide-file-targets.xml</script>
+                    <target>debug-nb</target>
+                </action> 
+            </ide-actions>
+            <view>
+                <items>
+                    <source-folder style="packages">
+                        <label>src</label>
+                        <location>src</location>
+                    </source-folder>
+                    <source-folder style="packages">
+                        <label>test</label>
+                        <location>test</location>
+                    </source-folder>
+                    <source-folder style="tree">
+                        <label>view</label>
+                        <location>view</location>
+                    </source-folder>
+                    <source-folder style="tree">
+                        <label>resources</label>
+                        <location>resources</location>
+                    </source-folder>
+                    <source-file>
+                        <location>build.xml</location>
+                    </source-file>
+                </items>
+                <context-menu>
+                    <ide-action name="clean"/>
+                    <ide-action name="build"/>
+                    <ide-action name="redeploy"/>
+                    <ide-action name="Undeploy"/>
+                    <ide-action name="debug"/>
+                    <ide-action name="test"/>
+                </context-menu>
+            </view>
+        </general-data>
+        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/1">
+            <compilation-unit>
+                <package-root>src</package-root>
+                <classpath mode="compile">lib/ant.jar:lib/commons-beanutils-1.7.0.jar:lib/commons-codec-1.3.jar:lib/commons-collections-3.1.jar:lib/commons-digester-1.6.jar:lib/commons-el-1.0.jar:lib/commons-lang-2.1.jar:lib/el-api.jar:lib/el-ri.jar:lib/hibernate-all.jar:lib/hsqldb.jar:lib/javax.servlet.jsp.jar:lib/jboss-aop-jdk50.jar:lib/jboss-cache-jdk50.jar:lib/jboss-ejb3-all.jar:lib/jboss-seam-debug.jar:lib/jboss-seam-ui.jar:lib/jboss-seam.jar:lib/jbpm-3.1.4.jar:lib/jgroups.jar:lib/jsf-facelets.jar:lib/jstl-1.1.0.jar:lib/mailstuff.jar:lib/myfaces-api-1.1.4.jar:lib/myfaces-impl-1.1.4.jar:lib/portlet-api-lib.jar:lib/servlet-api.jar:lib/testng-4.5.1-jdk15.jar:lib/thirdparty-all.jar</classpath>
+                <source-level>1.5</source-level>
+            </compilation-unit>
+        </java-data>
+        <web-data xmlns="http://www.netbeans.org/ns/freeform-project-web/1">
+            <web-module>
+                <doc-root>view</doc-root>
+                <classpath/>
+                <context-path/>
+                <j2ee-spec-level>1.5</j2ee-spec-level>
+            </web-module>
+        </web-data>
+    </configuration>
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/application.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/application.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/application.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application 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/application_5.xsd"
+             version="5">
+    
+   <display-name>jboss-esb-console</display-name>
+   
+   <module>
+      <web>
+         <web-uri>jboss-esb-console.war</web-uri>
+         <context-root>/jboss-esb-console</context-root>
+      </web>
+   </module>
+   
+   <module>
+      <ejb>jboss-esb-console.jar</ejb>
+   </module>
+   
+   <module>
+      <java>jboss-esb-console-service.xml</java>
+   </module>
+   
+   <!-- Seam and EL -->
+   <module>
+       <java>jboss-seam.jar</java>
+   </module>   
+   <module>
+      <java>el-api.jar</java>
+   </module>
+   <module>
+      <java>el-ri.jar</java>
+   </module>
+
+   <!-- jBPM -->
+   <module>
+      <java>jbpm-3.1.4.jar</java>
+   </module>
+
+   <!-- Drools and dependencies -->
+   <module>
+      <java>drools-core-3.0.5.jar</java>
+   </module>
+   <module>
+      <java>drools-compiler-3.0.5.jar</java>
+   </module>
+   <module>
+      <java>janino-2.4.3.jar</java>
+   </module>
+   <module>
+      <java>antlr-2.7.6.jar</java>
+   </module>
+   <module>
+      <java>antlr-3.0ea8.jar</java>
+   </module>
+   <module>
+      <java>commons-jci-core-1.0-406301.jar</java>
+   </module>
+   <module>
+      <java>commons-jci-janino-2.4.3.jar</java>
+   </module>
+   <module>
+      <java>stringtemplate-2.3b6.jar</java>
+   </module>
+
+   <!-- Smooks and dependencies -->
+   <module>
+      <java>milyn-smooks-core-0.8.jar</java>
+   </module>
+   <module>
+      <java>milyn-commons-0.8.jar</java>
+   </module>
+   <module>
+      <java>milyn-tinak-0.7.1.jar</java>
+   </module>
+   <module>
+      <java>milyn-edisax-0.1-SNAPSHOT.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-csv-0.1.jar</java>
+   </module>
+   <module>
+      <java>opencsv-1.6.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-edi-0.1-SNAPSHOT.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-javabean-0.2.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-misc-0.2.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-scripting-0.1-SNAPSHOT.jar</java>
+   </module>
+   <module>
+      <java>groovy-all-1.0.jar</java>
+   </module>
+   <module>
+      <java>milyn-smooks-templating-0.2.jar</java>
+   </module>
+   <module>
+      <java>ognl-2.6.9.jar</java>
+   </module>
+   <module>
+      <java>xbean.jar</java>
+   </module>
+   <module>
+      <java>xmlpublic.jar</java>
+   </module>
+
+</application>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/ejb-jar.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/ejb-jar.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/ejb-jar.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar 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/ejb-jar_3_0.xsd"
+         version="3.0">
+         
+   <interceptors>
+      <interceptor>
+         <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+      </interceptor>
+   </interceptors>
+   
+   <assembly-descriptor>
+      <interceptor-binding>
+         <ejb-name>*</ejb-name>
+         <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+      </interceptor-binding>
+   </assembly-descriptor>
+   
+</ejb-jar>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/jboss-app.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/jboss-app.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/jboss-app.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+<jboss-app>
+   <!-- loader-repository> 
+      seam.jboss.org:loader=jboss-esb-console
+   </loader-repository --> 
+</jboss-app> 
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/persistence.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/persistence.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/META-INF/persistence.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for dev profile -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
+             version="1.0">
+             
+   <persistence-unit name="jboss-esb-console">
+      <provider>org.hibernate.ejb.HibernatePersistence</provider>
+      <jta-data-source>java:/DefaultDS</jta-data-source>
+      <properties>
+         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+         <property name="hibernate.cache.use_query_cache" value="true"/>
+         <property name="jboss.entity.manager.factory.jndi.name" value="java:/jboss-esb-consoleEntityManagerFactory"/>
+      </properties>
+   </persistence-unit>
+    
+</persistence>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/components.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/components.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/components.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.com/products/seam/components"
+            xmlns:core="http://jboss.com/products/seam/core"
+            xmlns:drools="http://jboss.com/products/seam/drools"
+            xmlns:security="http://jboss.com/products/seam/security"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation=
+                "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-1.1.xsd 
+                 http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-1.1.xsd
+                 http://jboss.com/products/seam/security http://jboss.com/products/seam/security-1.1.xsd
+                 http://jboss.com/products/seam/components http://jboss.com/products/seam/components-1.1.xsd">
+
+   <core:init debug="true" jndi-pattern="@jndiPattern@"/>
+     
+   <core:manager concurrent-request-timeout="500" 
+                 conversation-timeout="120000" 
+                 conversation-id-parameter="cid" 
+                 conversation-is-long-running-parameter="clr"/>
+    
+   <core:pages no-conversation-view-id="/home.xhtml"/>
+
+   <core:managed-persistence-context name="entityManager"
+                               auto-create="true" 
+               persistence-unit-jndi-name="java:/jboss-esb-consoleEntityManagerFactory"/>
+
+   <core:ejb installed="@embeddedEjb@"/>
+
+   <component name="org.jboss.seam.remoting.remotingConfig">
+      <property name="debug">false</property>
+   </component>
+   
+   <!--  
+   <drools:rule-base name="securityRules">
+       <drools:rule-files><value>/security.drl</value></drools:rule-files>
+   </drools:rule-base>
+
+   <security:identity authenticate-method="#{authenticator.authenticate}"/>
+   -->
+        
+   <!-- For use with jBPM pageflow or process management -->
+   <!--  
+   <core:jbpm>
+      <core:process-definitions></core:process-definitions>
+      <core:pageflow-definitions></core:pageflow-definitions>
+   </core:jbpm>
+   -->
+      
+</components>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/faces-config.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/faces-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/faces-config.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE faces-config PUBLIC
+          "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
+          "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
+
+<faces-config>
+
+   <application>
+      <message-bundle>messages</message-bundle>
+      <view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler>
+   </application>
+
+   <!-- Seam transaction management -->
+   <lifecycle>
+      <phase-listener>org.jboss.seam.jsf.TransactionalSeamPhaseListener</phase-listener>
+   </lifecycle>
+    
+   <!-- No Seam transaction management -->
+   <!--  
+   <lifecycle>
+      <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
+   </lifecycle>
+   -->
+
+</faces-config>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/navigation.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/navigation.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/navigation.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,152 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE faces-config PUBLIC
+          "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
+          "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
+    
+<faces-config>
+
+    <!-- Navigation rules for the Admin Console app -->
+
+    <navigation-rule>
+
+        <navigation-case>
+            <from-outcome>home</from-outcome>
+            <to-view-id>/home.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>error</from-outcome>
+            <to-view-id>/error.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+		<!-- ==============================================================================================
+			Message Transformation Config View navigation rules.
+		=============================================================================================== -->
+
+        <navigation-case>
+            <from-outcome>select-message-exchange</from-outcome>
+            <to-view-id>/transform/select-message-exchange-from.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>select-message-exchange-from</from-outcome>
+            <to-view-id>/transform/select-message-exchange-from.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>select-message-exchange-to</from-outcome>
+            <to-view-id>/transform/select-message-exchange-to.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>select-message-exchange-finish</from-outcome>
+            <to-view-id>/transform/select-message-exchange-finish.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>new-trans-resource-select-spec</from-outcome>
+            <to-view-id>/transform/new-trans-resource-select-spec.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>add-resource-parameter</from-outcome>
+            <to-view-id>/transform/add-resource-parameter.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>new-trans-resource-create</from-outcome>
+            <to-view-id>/transform/new-trans-resource-create.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>new-trans-resource-target</from-outcome>
+            <to-view-id>/transform/new-trans-resource-target.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>new-trans-resource-spec-create</from-outcome>
+            <to-view-id>/transform/new-trans-resource-spec-create.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>list-resource-specs</from-outcome>
+            <to-view-id>/transform/list-resource-specs.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>list-resources</from-outcome>
+            <to-view-id>/transform/list-resources.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>view-resource</from-outcome>
+            <to-view-id>/transform/view-resource.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>update-resource-parameter</from-outcome>
+            <to-view-id>/transform/update-resource-parameter.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>test-transformation</from-outcome>
+            <to-view-id>/transform/test-transformation.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>smooks-config</from-outcome>
+            <to-view-id>/transform/smooks-config.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>import-export-resources</from-outcome>
+            <to-view-id>/transform/import-export-resources.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+        
+		<!-- ==============================================================================================
+			Message Contract Config View navigation rules.
+		=============================================================================================== -->
+
+        <navigation-case>
+            <from-outcome>new-message-contract</from-outcome>
+            <to-view-id>/contract/new-message-contract.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>list-message-contracts</from-outcome>
+            <to-view-id>/contract/list-message-contracts.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+        <navigation-case>
+            <from-outcome>manage-participants</from-outcome>
+            <to-view-id>/participant/manage-participants.xhtml</to-view-id>
+            <redirect />
+        </navigation-case>
+
+    </navigation-rule>
+
+	<navigation-rule>
+		<from-view-id>/home.xhtml</from-view-id>
+	</navigation-rule>
+	
+</faces-config>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/pages.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/pages.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/pages.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,13 @@
+<!DOCTYPE pages PUBLIC
+  "-//JBoss/Seam Pages Configuration DTD 1.1//EN"
+  "http://jboss.com/products/seam/pages-1.1.dtd">
+
+<pages>
+
+	<!-- Make sure newResource gets initialised... -->
+	<page view-id="/transform/new-trans-resource-select-spec.xhtml" action="#{newResource.initialise}" />
+
+	<!-- Make sure manageResources gets initialised... -->
+	<page view-id="/transform/list-resources.xhtml" action="#{manageResources.initialise}" />
+
+</pages>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/WEB-INF/web.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,95 @@
+<?xml version="1.0" ?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+         version="2.4">
+
+   <context-param>
+      <param-name>javax.faces.CONFIG_FILES</param-name>
+      <param-value>/WEB-INF/navigation.xml</param-value>
+   </context-param>
+
+   <listener>
+      <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
+   </listener>
+    
+   <listener>
+      <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
+   </listener>
+    
+   <context-param>
+      <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+      <param-value>client</param-value>
+   </context-param>
+    
+   <context-param>
+      <param-name>facelets.DEVELOPMENT</param-name>
+      <param-value>true</param-value>
+   </context-param>
+    
+   <context-param>
+      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+      <param-value>.xhtml</param-value>
+   </context-param>
+
+
+   <filter>
+      <filter-name>Seam Exception Filter</filter-name>
+      <filter-class>org.jboss.seam.servlet.SeamExceptionFilter</filter-class>
+   </filter>
+
+   <filter>
+      <filter-name>Seam Redirect Filter</filter-name>
+      <filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class>
+   </filter>
+
+   <filter-mapping>
+      <filter-name>Seam Exception Filter</filter-name>
+      <url-pattern>/*</url-pattern>
+   </filter-mapping>
+    
+   <filter-mapping>
+      <filter-name>Seam Redirect Filter</filter-name>
+      <url-pattern>*.seam</url-pattern>
+   </filter-mapping>
+
+   <servlet>
+      <servlet-name>Faces Servlet</servlet-name>
+      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+      <load-on-startup>1</load-on-startup>
+   </servlet>
+    
+   <servlet-mapping>
+      <servlet-name>Faces Servlet</servlet-name>
+      <url-pattern>*.seam</url-pattern>
+   </servlet-mapping>
+
+	<servlet>
+	    <servlet-name>Seam Remoting</servlet-name>
+	    <servlet-class>org.jboss.seam.remoting.SeamRemotingServlet</servlet-class>
+	</servlet>	
+	<servlet-mapping>
+	    <servlet-name>Seam Remoting</servlet-name>
+	    <url-pattern>/seam/remoting/*</url-pattern>
+	</servlet-mapping>
+
+    <filter>
+        <filter-name>Seam Multipart Filter</filter-name>
+        <filter-class>org.jboss.seam.servlet.SeamMultipartFilter</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>Seam Multipart Filter</filter-name>
+        <url-pattern>*.seam</url-pattern>
+    </filter-mapping>
+
+   <security-constraint> 
+       <display-name>Restrict raw XHTML Documents</display-name>
+       <web-resource-collection>
+           <web-resource-name>XHTML</web-resource-name>
+           <url-pattern>*.xhtml</url-pattern>
+       </web-resource-collection>
+       <auth-constraint>
+           <role-name>NONE</role-name>
+       </auth-constraint>
+   </security-constraint>
+</web-app>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/components.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/components.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/components.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,2 @@
+embeddedEjb true
+jndiPattern #{ejbName}/local
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/import.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/import.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/import.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,157 @@
+delete from participant;
+delete from messagecontract;
+delete from transformationresourceparameter;
+delete from transformationresource;
+delete from transformationresourceparameterspec;
+delete from transformationresourcespec;
+
+--########################################################################
+--#  Sample Message Exchange Participants.
+--########################################################################
+INSERT INTO participant (id, name) VALUES (1, 'DVDStore:OrderDispatchService');
+INSERT INTO participant (id, name) VALUES (2, 'DVDWarehouse_1:OrderHandlingService');
+INSERT INTO participant (id, name) VALUES (3, 'DVDWarehouse_2:OrderHandlingService');
+INSERT INTO participant (id, name) VALUES (4, 'DataWarehouse:OrderTrackingService');
+
+--########################################################################
+--#  Sample Message Contracts.
+--########################################################################
+INSERT INTO messagecontract (id, participant, usage, mime, namespace, messagedescription) VALUES (1, 'DVDStore:OrderDispatchService', 'PRODUCES', 'text/xml', 'fullFillOrder', 'http://org.acme/OrderDispatchService/fullFillOrder.xsd');
+INSERT INTO messagecontract (id, participant, usage, mime, namespace, messagedescription) VALUES (2, 'DVDWarehouse_1:OrderHandlingService', 'CONSUMES', 'text/xml', 'shipOrder', 'http://org.acme/OrderHandlingService/shipOrder-post.dtd');
+INSERT INTO messagecontract (id, participant, usage, mime, namespace, messagedescription) VALUES (3, 'DVDWarehouse_2:OrderNotificationService', 'CONSUMES', 'application/EDI-X12', 'notifyCustomer', 'http://org.acme/OrderHandlingService/notifyCustomer.xsd');
+INSERT INTO messagecontract (id, participant, usage, mime, namespace, messagedescription) VALUES (4, 'DataWarehouse:OrderTrackingService', 'CONSUMES', 'text/xml', 'recordOrder', 'http://org.acme/OrderTrackingService/recordOrder.xsd');
+
+--########################################################################
+--#  Templating cdu-creators.
+--########################################################################
+insert into transformationresource (id, name, path, selector, useragent) values (1, '* XSLT Content Delivery Unit Creator (This resource is targeted at all Message Exchanges and is required for interpreting "xsl" resource types)', 'org.milyn.templating.xslt.XslContentDeliveryUnitCreator', 'cdu-creator', '*');
+insert into transformationresourceparameter (id, name, value, transresource_id) values (1, 'restype', 'xsl', 1);
+
+insert into transformationresource (id, name, path, selector, useragent) values (2, '* StringTemplate Content Delivery Unit Creator (This resource is targeted at all Message Exchanges and is required for interpreting "st" resource types)', 'org.milyn.templating.stringtemplate.StringTemplateContentDeliveryUnitCreator', 'cdu-creator', '*');
+insert into transformationresourceparameter (id, name, value, transresource_id) values (2, 'restype', 'st', 2);
+
+insert into transformationresource (id, name, path, selector, useragent) values (3, '* Groovy Content Delivery Unit Creator (This resource is targeted at all Message Exchanges and is required for interpreting "groovy" resource types)', 'org.milyn.smooks.scripting.GroovyContentDeliveryUnitCreator', 'cdu-creator', '*');
+insert into transformationresourceparameter (id, name, value, transresource_id) values (3, 'restype', 'groovy', 3);
+
+--########################################################################
+--#  XSLT Templatelet Resource Template.
+--########################################################################
+insert into transformationresourcespec (id, name, path, description, reference) values (1, 'XSLT (Templatelet)', 'See ''resdata'' parameter value', 'Perform an XML Fragment Transform using an XSLT Templatelet.  The targeted XML fragment is transformed using the XSLT Templatelet and the transformation result is used in accordance with the value of the "action" parameter.  Can be used in conjunction with the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Javabean Cartridge</a> Cartridge.  <p/>Examples of using this resource can be seen on the <a href="http://milyn.codehaus.org/Tutorials">Milyn Smooks</a> website.<p/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Templating Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/templating/org/milyn/templating/xslt/XslContentDeliveryUnitCreator.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (1, 'resdata', '', 'Resource Data.  The XSLT Templatelet code.  Just define the body of the xsl <template> - no need for the outer &lt;stylesheet&gt; or &lt;template&gt; tags.', true, 1);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (2, 'action', '', 'Action to be performed with the transformation result relative to the targeted XML Fragment.  Possible values: "replace", "addto", "insertbefore", "insertafter".', true, 1);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (3, 'restype', 'xsl', 'Resource Type.', false, 1);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (4, 'is-xslt-templatelet', 'true', 'Is this XSLT resource an XSLT Templatelet.', false, 1);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (5, 'visitBefore', 'false', 'Should the template be applied before (true) or after (false) Smooks visits the child elements of the target element.', false, 1);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (6, 'encoding', 'UTF-8', 'XSLT Character Encoding.', false, 1);
+
+--########################################################################
+--#  StringTemplate Resource Template.
+--########################################################################
+insert into transformationresourcespec (id, name, description, reference) values (2, 'StringTemplate', 'Perform an XML Fragment Transform using an <a href="http://www.stringtemplate.org">StringTemplate</a> Template.  The targeted XML fragment is transformed using the <a href="http://www.stringtemplate.org">StringTemplate</a> Template and the transformation result is used in accordance with the value of the "action" parameter.  Used in conjunction with the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Javabean Cartridge</a>.  <p/>Examples of using this resource can be seen on the <a href="http://milyn.codehaus.org/Tutorials">Milyn Smooks</a> website.<p/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Templating and Javabean Cartridges</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/templating/org/milyn/templating/stringtemplate/StringTemplat!
 eContentDeliveryUnitCreator.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (7, 'action', '', 'Action to be performed with the transformation result relative to the targeted XML Fragment.  Possible values: "replace", "addto", "insertbefore", "insertafter".', true, 2);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (8, 'visitBefore', 'false', 'Should the template be applied before (true) or after (false) Smooks visits the child elements of the target element.', false, 2);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (9, 'encoding', 'UTF-8', 'XSLT Character Encoding.', false, 2);
+
+--########################################################################
+--#  CSV Message Parser Template.
+--########################################################################
+insert into transformationresourcespec (id, name, path, selector, description, reference) values (3, 'CSV Message Parser', 'org.milyn.csv.CSVParser', 'org.xml.sax.driver', 'Set the SAX Parser for a Comma Separated Value (CSV) message.  This resource sets the Smooks SAX Parser for the targeted CSV message, allowing the CSV message to be interpretted as an XML DOM.  <p/>Examples of using this resource can be seen on the <a href="http://milyn.codehaus.org/Tutorials">Milyn Smooks</a> website.<p/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks CSV Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/csv/org/milyn/csv/CSVParser.html');
+insert into transformationresourceparameterspec (id, name, value, param_type, description, required, resourcespec_id) values (10, 'fields', '', 'string-list', 'Comma Separated list of field names that map to the CSV fields expected in the message.  This field names are mapped to the element names in the DOM produced by this parser.  See Reference docs.', true, 3);
+
+--########################################################################
+--#  Message Exchange Parameter
+--########################################################################
+insert into transformationresourcespec (id, name, path, selector, description, reference) values (4, 'Message Exchange Parameter', 'N/A', 'device-parameters', 'Set a Message Exchange specific parameter/property value.  This parameter value will be accessible to all <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/ElementVisitor.html">ElementVisitor</a> derived resource instances via the <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/cdr/ParameterAccessor.html">ParameterAccessor</a> class.  This allows you to configure parameters that cut across message profiles.', 	'http://milyn.codehaus.org/javadoc/smooks/org/milyn/cdr/ParameterAccessor.html');
+insert into transformationresourceparameterspec (id, value, description, required, resourcespec_id) values (11, '', 'Parameter Name and Value.', false, 4);
+
+--########################################################################
+--#  JavaBean Populators
+--########################################################################
+insert into transformationresourcespec (id, name, path, description, reference) values (5, 'JavaBean Create - Assembly Phase', 'org.milyn.javabean.AssemblyPhaseBeanPopulator', 'Create a JavaBean instance for population with data from an XML message during the message processing <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/SmooksXML.html">Assembly Phase</a>.  The populated beans can be used in XSLT and StringTemplate transformation (see <a href="http://milyn.codehaus.org/Tutorials">Smooks Templating Tutorials</a>).  The populated beans <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html">HasMap</a> is also set on the Message Body (key="EXTRACTED_BEANS_HASH"), allowing them to be accessed by downstream action processors.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AbstractBeanPopulator.html');
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (12, 'beanId', 'Bean Identifier.', true, 5);
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (13, 'beanClass', 'Bean Class Name (see <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AssemblyPhaseBeanPopulator.html">Javadoc</a>).', false, 5);
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (14, 'addToList', 'Accumulate multiple bean instances (see <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AssemblyPhaseBeanPopulator.html">Javadoc</a>).', false, 5);
+
+insert into transformationresourcespec (id, name, path, description, reference) values (6, 'JavaBean Create - Processing Phase', 'org.milyn.javabean.ProcessingPhaseBeanPopulator', 'Create a JavaBean instance for population with data from an XML message during the message processing <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/SmooksXML.html">Processing Phase</a>.  The populated beans can be used in XSLT and StringTemplate transformation (see <a href="http://milyn.codehaus.org/Tutorials">Smooks Templating Tutorials</a>).  The populated beans <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html">HasMap</a> is also set on the Message Body (key="EXTRACTED_BEANS_HASH"), allowing them to be accessed by downstream action processors.', 	'http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AbstractBeanPopulator.html');
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (15, 'beanId', 'Bean Identifier.', true, 6);
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (16, 'beanClass', 'Bean Class Name (see <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AssemblyPhaseBeanPopulator.html">Javadoc</a>).', false, 6);
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (17, 'addToList', 'Accumulate multiple bean instances (see <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AssemblyPhaseBeanPopulator.html">Javadoc</a>).', false, 6);
+
+insert into transformationresourcespec (id, name, path, description, reference) values (7, 'JavaBean Populate - Assembly Phase', 'org.milyn.javabean.AssemblyPhaseBeanPopulator', 'Populate a JavaBean instance with data from an XML message during the message processing <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/SmooksXML.html">Assembly Phase</a>.  The populated beans can be used in XSLT and StringTemplate transformation (see <a href="http://milyn.codehaus.org/Tutorials">Smooks Templating Tutorials</a>).  The populated beans <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html">HasMap</a> is also set on the Message Body (key="EXTRACTED_BEANS_HASH"), allowing them to be accessed by downstream action processors.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AbstractBeanPopulator.html');
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (18, 'beanId', 'Bean Identifier.', true, 7);
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (19, 'setterName', 'Explicitly specify the bean setter method name (see <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AssemblyPhaseBeanPopulator.html">Javadoc</a>).', false, 7);
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (20, 'attributeName', 'DOM Element attribute name - for extracting a value from a DOM Element attribute (see <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AssemblyPhaseBeanPopulator.html">Javadoc</a>).', false, 7);
+
+insert into transformationresourcespec (id, name, path, description, reference) values (8, 'JavaBean Populate - Processing Phase', 'org.milyn.javabean.ProcessingPhaseBeanPopulator', 'Populate a JavaBean instance with data from an XML message during the message processing <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/SmooksXML.html">Processing Phase</a>.  The populated beans can be used in XSLT and StringTemplate transformation (see <a href="http://milyn.codehaus.org/Tutorials">Smooks Templating Tutorials</a>).  The populated beans <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html">HasMap</a> is also set on the Message Body (key="EXTRACTED_BEANS_HASH"), allowing them to be accessed by downstream action processors.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AbstractBeanPopulator.html');
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (21, 'beanId', 'Bean Identifier.', true, 8);
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (22, 'setterName', 'Explicitly specify the bean setter method name (see <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AssemblyPhaseBeanPopulator.html">Javadoc</a>).', false, 8);
+insert into transformationresourceparameterspec (id, name, description, required, resourcespec_id) values (23, 'attributeName', 'DOM Element attribute name - for extracting a value from a DOM Element attribute (see <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/AssemblyPhaseBeanPopulator.html">Javadoc</a>).', false, 8);
+
+--########################################################################
+--#  XSLT Stylesheet Resource Template (inlined).
+--########################################################################
+insert into transformationresourcespec (id, name, path, description, reference) values (9, 'XSLT (Full Stylesheet - Inlined)', 'See ''resdata'' parameter value', 'Perform an XML Fragment Transform using a fully XSLT Stylesheet, specified inline (as opposed to externally).  The targeted XML fragment is transformed using the XSLT Stylesheet and the transformation result is used in accordance with the value of the "action" parameter.  Can be used in conjunction with the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Javabean Cartridge</a> Cartridge.  <p/>Examples of using this resource can be seen on the <a href="http://milyn.codehaus.org/Tutorials">Milyn Smooks</a> website.<p/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Templating Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/templating/org/milyn/templating/xslt/XslContentDeliv!
 eryUnitCreator.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (24, 'resdata', '', 'Resource Data.  The XSLT Stylesheet.', true, 9);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (25, 'action', '', 'Action to be performed with the transformation result relative to the targeted XML Fragment.  Possible values: "replace", "addto", "insertbefore", "insertafter".', true, 9);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (26, 'restype', 'xsl', 'Resource Type.', false, 9);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (27, 'is-xslt-templatelet', 'false', 'Is this XSLT resource an XSLT Templatelet.', false, 9);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (28, 'visitBefore', 'false', 'Should the template be applied before (true) or after (false) Smooks visits the child elements of the target element.', false, 9);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (29, 'encoding', 'UTF-8', 'XSLT Character Encoding.', false, 9);
+
+--########################################################################
+--#  Rename Element.
+--########################################################################
+insert into transformationresourcespec (id, name, path, description, reference) values (10, 'Rename Element', 'org.milyn.cdres.trans.RenameElementTU', 'Rename Element.<br/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Misc Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/misc/org/milyn/cdres/trans/RenameElementTU.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (30, 'replacementElement', '', 'New name for the element.', true, 10);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (31, 'keepChildContent', '', 'Copy the target element child content to the replacement element.<br/>Default is "true".', false, 10);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (32, 'keepAttributes', '', 'Copy the target element attributes to the replacement element.<br/>Default is "true".', false, 10);
+
+--########################################################################
+--#  Set Attribute.
+--########################################################################
+insert into transformationresourcespec (id, name, path, description, reference) values (11, 'Set Attribute', 'org.milyn.cdres.trans.SetAttributeTU', 'Set Element Attribute.  Allows you add/overwrite an attribute on the target Element.<br/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Misc Cartridge</a> to be installed.','http://milyn.codehaus.org/javadoc/smooks-cartridges/misc/org/milyn/cdres/trans/SetAttributeTU.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (33, 'attributeName', '', 'New attribute name.', true, 11);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (34, 'attributeValue', '', 'Attribute Value.', true, 11);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (35, 'overwrite', '', 'Overwrite existing attributes of the same name.<br/>Default is "false".', false, 11);
+
+--########################################################################
+--#  Remove Element.
+--########################################################################
+insert into transformationresourcespec (id, name, path, description, reference) values (12, 'Remove Element', 'org.milyn.cdres.trans.RemoveElementTU', 'Remove Element.<br/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Misc Cartridge</a> to be installed.','http://milyn.codehaus.org/javadoc/smooks-cartridges/misc/org/milyn/cdres/trans/RemoveElementTU.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (36, 'keepChildContent', '', 'Keep the target element''s child content.<br/>Default is "true".', false, 12);
+
+--########################################################################
+--#  Remove Attribute.
+--########################################################################
+insert into transformationresourcespec (id, name, path, description, reference) values (13, 'Remove Attribute', 'org.milyn.cdres.trans.RemoveAttributeTU', 'Remove an attribute from the target element.<br/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Misc Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/misc/org/milyn/cdres/trans/RemoveAttributeTU.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (37, 'attributeName', '', 'The name of the attribute to be removed from the target element.', true, 13);
+
+--########################################################################
+--#  XSLT Stylesheet Resource Template (external).
+--########################################################################
+insert into transformationresourcespec (id, name, description, reference) values (14, 'XSLT (Full Stylesheet - External)', 'Perform an XML Fragment Transform using a fully XSLT Stylesheet, specified external (by <a href="http://milyn.codehaus.org/javadoc/commons/org/milyn/resource/URIResourceLocator.html">URI reference</a>).  The targeted XML fragment is transformed using the XSLT Stylesheet and the transformation result is used in accordance with the value of the "action" parameter.  Can be used in conjunction with the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Javabean Cartridge</a> Cartridge.  <p/>Examples of using this resource can be seen on the <a href="http://milyn.codehaus.org/Tutorials">Milyn Smooks</a> website.<p/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Templating Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridge!
 s/templating/org/milyn/templating/xslt/XslContentDeliveryUnitCreator.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (38, 'action', '', 'Action to be performed with the transformation result relative to the targeted XML Fragment.  Possible values: "replace", "addto", "insertbefore", "insertafter".', true, 14);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (39, 'restype', 'xsl', 'Resource Type.', false, 14);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (40, 'is-xslt-templatelet', 'false', 'Is this XSLT resource an XSLT Templatelet.', false, 14);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (41, 'visitBefore', 'false', 'Should the template be applied before (true) or after (false) Smooks visits the child elements of the target element.', false, 14);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (42, 'encoding', 'UTF-8', 'XSLT Character Encoding.', false, 14);
+
+--########################################################################
+--#  Groovy Script Resource Template (inlined).
+--########################################################################
+insert into transformationresourcespec (id, name, path, description, reference) values (15, 'Groovy Script (Inlined)', 'See ''resdata'' parameter value', 'Perform an XML Fragment Transform using a <a href="http://groovy.codehaus.org">Groovy Script</a>, specified inline (as opposed to externally).<p/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Scripting Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/scripting/org/milyn/smooks/scripting/GroovyContentDeliveryUnitCreator.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (43, 'restype', 'groovy', 'Resource Type.', false, 15);
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (44, 'resdata', '', 'Resource Data.  The inlined Groovy script.  The Groovy script class must implement one of <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/assemble/AssemblyUnit.html">AssemblyUnit</a>, <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/process/ProcessingUnit.html">ProcessingUnit</a>, or <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/serialize/SerializationUnit.html">SerializationUnit</a>', true, 15);
+
+--########################################################################
+--#  Groovy Script Resource Template (external).
+--########################################################################
+insert into transformationresourcespec (id, name, description, reference) values (16, 'Groovy Script (External)', 'Perform an XML Fragment Transform using a <a href="http://groovy.codehaus.org">Groovy Script</a>, specified externaly (by <a href="http://milyn.codehaus.org/javadoc/commons/org/milyn/resource/URIResourceLocator.html">URI reference</a>).<p/>The Groovy script class must implement one of <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/assemble/AssemblyUnit.html">AssemblyUnit</a>, <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/process/ProcessingUnit.html">ProcessingUnit</a>, or <a href="http://milyn.codehaus.org/javadoc/smooks/org/milyn/delivery/serialize/SerializationUnit.html">SerializationUnit</a>.<p/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Scripting Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridge!
 s/scripting/org/milyn/smooks/scripting/GroovyContentDeliveryUnitCreator.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (45, 'restype', 'groovy', 'Resource Type.', false, 16);
+insert into transformationresourceparameterspec (id, value, description, required, resourcespec_id) values (46, '', 'Optional script specific parameter.', false, 16);
+
+--########################################################################
+--#  EDI Message Parser Template.
+--########################################################################
+insert into transformationresourcespec (id, name, path, selector, description, reference) values (17, 'EDI Message Parser', 'org.milyn.smooks.edi.SmooksEDIParser', 'org.xml.sax.driver', 'Set the SAX Parser for an EDI message.  This resource sets the Smooks SAX Parser for the targeted EDI message, allowing the EDI message to be interpretted as an XML DOM.  <p/>Resources derived from this template will require the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks EDI Cartridge</a> to be installed.', 'http://milyn.codehaus.org/javadoc/smooks-cartridges/edi/org/milyn/smooks/edi/SmooksEDIParser.html');
+insert into transformationresourceparameterspec (id, name, value, description, required, resourcespec_id) values (47, 'mapping-model', '', 'EDI to SAX/XML mapping model.  <a href="http://milyn.codehaus.org/javadoc/smooks-cartridges/edi/org/milyn/smooks/edi/SmooksEDIParser.html">See Reference docs</a>.', true, 17);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console-ds.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console-ds.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console-ds.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources>
+   
+   <local-tx-datasource>
+      <jndi-name>jboss-esb-consoleDatasource</jndi-name>
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+      <user-name>sa</user-name>
+      <password></password>
+   </local-tx-datasource>
+    
+</datasources>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console-service.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console-service.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+    <mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Topic,name=org.jboss.soa.esb.transformation.Update">
+        <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+    </mbean>
+</server>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/jboss-esb-console.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,20 @@
+##############################################################################
+#
+# Context properties.
+#
+# Defaults to JBoss AS on localhost.
+# 
+############################################################################## 
+java.naming.provider.url=localhost
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.factory.url.pkgs=
+
+##############################################################################
+#
+# JMS properties.
+#
+# Provider defaults to JBoss MQ.
+# 
+############################################################################## 
+javax.jms.ConnectionFactory=ConnectionFactory
+update.notification.topic=topic/org.jboss.soa.esb.transformation.Update
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/messages_en.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/messages_en.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/messages_en.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,85 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validation failed
+validator.assertTrue=validation failed
+validator.future=must be a future date
+validator.length=length must be between {min} and {max}
+validator.max=must be less than or equal to {value}
+validator.min=must be greater than or equal to {value}
+validator.notNull=may not be null
+validator.past=must be a past date
+validator.pattern=must match "{regex}"
+validator.range=must be between {min} and {max}
+validator.size=size must be between {min} and {max}
+validator.email=must be a well-formed email address	
+
+org.jboss.seam.TransactionFailed=Transaction failed
+org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request
+org.jboss.seam.IllegalNavigation=Illegal navigation
+org.jboss.seam.ProcessEnded=Process #0 already ended
+org.jboss.seam.ProcessNotFound=Process #0 not found
+org.jboss.seam.TaskEnded=Task #0 already ended
+org.jboss.seam.TaskNotFound=Task #0 not found
+
+javax.faces.component.UIInput.CONVERSION=value could not be converted to the expected type
+javax.faces.component.UIInput.REQUIRED=value is required
+javax.faces.component.UIInput.UPDATE=an error occurred when processing your submitted information
+javax.faces.component.UISelectOne.INVALID=value is not valid
+javax.faces.component.UISelectMany.INVALID=value is not valid
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=value must be a number
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=value must be a signed decimal number consisting of zero or more digits, optionally followed by a decimal point and fraction, eg. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=value must be a number
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=value must be a signed integer number consisting of zero or more digits
+javax.faces.converter.BooleanConverter.BOOLEAN=value must be true or false
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=value must be true or false (any value other than true will evaluate to false)
+javax.faces.converter.ByteConverter.BYTE=value must be a number between 0 and 255
+javax.faces.converter.ByteConverter.BYTE_detail=value must be a number between 0 and 255
+javax.faces.converter.CharacterConverter.CHARACTER=value must be a character
+javax.faces.converter.CharacterConverter.CHARACTER_detail=value must be a valid ASCII character
+javax.faces.converter.DateTimeConverter.DATE=value must be a date
+javax.faces.converter.DateTimeConverter.DATE_detail=value must be a date,  eg. {1}
+javax.faces.converter.DateTimeConverter.TIME=value must be a time
+javax.faces.converter.DateTimeConverter.TIME_detail=value must be a time,  eg. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=value must be a date and time
+javax.faces.converter.DateTimeConverter.DATETIME_detail=value must be a date and time,  eg. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=a pattern or type attribute must be specified to convert the value
+javax.faces.converter.DoubleConverter.DOUBLE=value must be a number
+javax.faces.converter.DoubleConverter.DOUBLE_detail=value must be a number between 4.9E-324 and 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=value must be convertible to an enum
+javax.faces.converter.EnumConverter.ENUM_detail=value must be convertible to an enum or from the enum that contains the constant {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.FloatConverter.FLOAT=value must be a number
+javax.faces.converter.FloatConverter.FLOAT_detail=value must be a number between 1.4E-45 and 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=value must be a number
+javax.faces.converter.IntegerConverter.INTEGER_detail=value must be a number between -2147483648 and 2147483647
+javax.faces.converter.LongConverter.LONG=value must be a number
+javax.faces.converter.LongConverter.LONG_detail=must be a number between -9223372036854775808 and 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=value must be a currency amount
+javax.faces.converter.NumberConverter.CURRENCY_detail=value must be a currency amount, eg. {1}
+javax.faces.converter.NumberConverter.PERCENT=value must be a percentage amount
+javax.faces.converter.NumberConverter.PERCENT_detail=value must be a percentage amount, eg. {1}
+javax.faces.converter.NumberConverter.NUMBER=value must be a number
+javax.faces.converter.NumberConverter.NUMBER_detail=value must be a number
+javax.faces.converter.NumberConverter.PATTERN=value must be a number
+javax.faces.converter.NumberConverter.PATTERN_detail=value must be a number
+javax.faces.converter.ShortConverter.SHORT=value must be a number
+javax.faces.converter.ShortConverter.SHORT_detail=value must be a number between -32768 and 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=value is not of the correct type
+javax.faces.validator.LengthValidator.MAXIMUM=value is must be shorter than or equal to {0} characters
+javax.faces.validator.LengthValidator.MINIMUM=value is must be longer than or equal to {0} characters
+javax.faces.validator.LongRangeValidator.MAXIMUM=value must be less than or equal to {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=value must be greater than or equal to {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.validator.LongRangeValidator.TYPE=value is not of the correct type
+
+javax.faces.validator.NOT_IN_RANGE=value must be between {0} and {1}
+javax.faces.converter.STRING=value could not be converted to a string

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/seam.properties
===================================================================

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/security.drl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/security.drl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/resources/security.drl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+package Permissions;
+
+import java.security.Principal;
+
+import org.jboss.seam.security.PermissionCheck;
+import org.jboss.seam.security.Role;
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.admin.console;
+
+import java.util.Arrays;
+
+import org.jboss.seam.contexts.Contexts;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class SeamUtils {
+
+	public static void printContexts() {
+		System.out.println("==================================== Seam Contexts ====================================");
+		System.out.println("Appl Ctx [" + Contexts.getApplicationContext() + "]: : " + Arrays.asList(Contexts.getApplicationContext().getNames()));
+		System.out.println("Buss Ctx [" + Contexts.getBusinessProcessContext() + "]: : " + Arrays.asList(Contexts.getBusinessProcessContext().getNames()));
+		System.out.println("Sess Ctx [" + Contexts.getSessionContext() + "]: " + Arrays.asList(Contexts.getSessionContext().getNames()));
+		System.out.println("Conv Ctx [" + Contexts.getConversationContext() + "]: : " + Arrays.asList(Contexts.getConversationContext().getNames()));
+		System.out.println("Page Ctx [" + Contexts.getPageContext() + "]: : " + Arrays.asList(Contexts.getPageContext().getNames()));
+		System.out.println("Evnt Ctx [" + Contexts.getEventContext() + "]: : " + Arrays.asList(Contexts.getEventContext().getNames()));
+		System.out.println("=======================================================================================");
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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.admin.console;
+
+import java.util.Stack;
+
+import org.jboss.seam.contexts.Contexts;
+
+/**
+ * Seam View ID stack.
+ * <p/>
+ * Used to record view Ids so we can return to a view.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SeamViewIdStack {
+
+	/**
+	 * View Stack.
+	 */
+	private Stack<String> viewIdStack = new Stack<String>();
+	
+	/**
+	 * Session level singleton factory method.
+	 * @return The SeamViewIdStack instance.
+	 */
+	public static SeamViewIdStack getInstance() {
+		SeamViewIdStack stack = (SeamViewIdStack) Contexts.getSessionContext().get(SeamViewIdStack.class.getName());
+		
+		if(stack == null) {
+			stack = new SeamViewIdStack();
+			Contexts.getSessionContext().set(SeamViewIdStack.class.getName(), stack);
+		}
+		
+		return stack;
+	}
+	
+	/**
+	 * Record view ID.
+	 * @param viewId View ID.
+	 */
+	public void pushViewId(String viewId) {
+		viewIdStack.push(viewId);
+	}
+	
+	/**
+	 * Pop a view ID from the stack.
+	 * @return The view ID, or "home" if the stack is empty.
+	 */
+	public String popViewId() {
+		if(viewIdStack.isEmpty()) {
+			return "home";
+		}
+		
+		return viewIdStack.pop();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/Toggle.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/Toggle.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/Toggle.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,49 @@
+/*
+ * 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.admin.console;
+
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Simple toggle component.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("toggle")
+public class Toggle {
+
+	private boolean on;
+
+	/**
+	 * Is the toggle on/off.
+	 * @return Returns the on.
+	 */
+	public boolean isOn() {
+		return on;
+	}
+
+	/**
+	 * Toggle this toggle instance.
+	 */
+	public void toggle() {
+		on = !on;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,237 @@
+/*
+ * 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.admin.console;
+
+import static org.jboss.seam.ScopeType.APPLICATION;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.TextMessage;
+import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
+import javax.jms.TopicPublisher;
+import javax.jms.TopicSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.apache.log4j.Logger;
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Destroy;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+/**
+ * Console update notifier.
+ * <p/>
+ * Sends a notification message to all parties interested in console data updates.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("updateNotifier")
+ at Scope(APPLICATION)
+public class UpdateNotifier {
+	
+	/**
+	 * Logger.
+	 */
+	private static Logger logger = Logger.getLogger(UpdateNotifier.class);
+
+	/**
+	 * Properties file.
+	 */
+	private static final String JBOSS_ESB_CONSOLE_PROPERTIES = "/jboss-esb-console.properties";
+
+	private TopicConnection conn = null;
+	private TopicSession session = null;
+	private Topic topic = null;
+
+	/**
+	 * Send a notification to all parties listening to the update notification topic.
+	 */
+	public String sendNotification() {
+		sendNotification(true);
+		
+		return "home";
+	}
+	
+	/**
+	 * Send a notification to all parties listening to the update notification topic.
+	 * @param retryOnFail Perform a single retry if the notification fails.
+	 */
+	private void sendNotification(boolean retryOnFail) {
+		if(topic == null) {
+			logger.warn("Unable to successfully send Configuration notification.");
+			reconnectAndNotify(retryOnFail);
+			return;
+		}		
+		
+		try {
+			TopicPublisher send = session.createPublisher(topic);
+			TextMessage tm = session.createTextMessage("update"); // The contents of the message is irrelevant!
+			send.publish(tm);
+			
+			logger.info("Configuration Update notification sent successfully.");
+		} catch (JMSException e) {
+			logger.error("Configuration Update notification failed.", e);
+			reconnectAndNotify(retryOnFail);
+		}
+	}
+	
+	/**
+	 * Connect to the notification topic.
+	 */
+	@Create
+	public void connect() {
+		Properties properties = new Properties();
+		InputStream propertiesStream = getClass().getResourceAsStream(JBOSS_ESB_CONSOLE_PROPERTIES);
+		InitialContext context;
+		TopicConnectionFactory connectionFactory = null;
+		
+		if(propertiesStream == null) {
+			throw new IllegalStateException("Unexpected runtime error. '" + JBOSS_ESB_CONSOLE_PROPERTIES + "' should be available on the classpath.");
+		}
+		
+		// Load the properties...
+		try {
+			properties.load(propertiesStream);
+		} catch (IOException e) {
+			logger.error("Error reading properties stream (" + JBOSS_ESB_CONSOLE_PROPERTIES + ").", e);
+			return;
+		}
+		
+		// Create the naming context...
+		try {
+			context = new InitialContext(properties);
+		} catch (NamingException e) {
+			logger.error("InitialContext creation failure.  Properties: " + properties, e);
+			return;
+		}
+
+		String connectionFactoryRuntime = properties.getProperty(ConnectionFactory.class.getName(), "ConnectionFactory");
+		try {
+			connectionFactory = (TopicConnectionFactory) context.lookup(connectionFactoryRuntime);
+		} catch (NamingException e) {
+			logger.error("JNDI lookup of JMS Connection Factory [" + connectionFactoryRuntime + "] failed.", e);
+			return;
+		} catch (ClassCastException e) {
+			logger.error("JNDI lookup of JMS Connection Factory failed.  Class [" + connectionFactoryRuntime + "] is not an instance of [" + ConnectionFactory.class.getName() + "].", e);
+			return;
+		}
+		
+		// Create the topic connection...
+		try {
+			conn = connectionFactory.createTopicConnection();
+		} catch (JMSException e) {
+			logger.error("Failed to open JMS TopicConnection for the Transformation configuration Update Notifier. Update Notifier not enabled!", e);
+			return;
+		}
+		
+		// Lookup the topic...
+		String notificationTopic = properties.getProperty("update.notification.topic", "topic/org.jboss.soa.esb.transformation.Update");
+		try {
+			topic = (Topic) context.lookup(notificationTopic);
+		} catch (NamingException e) {
+			logger.warn("Topic lookup failed for the Transformation configuration Update Notifier.  Topic name '" + notificationTopic + "'. Update Notifier not enabled!");
+			close();
+			return;
+		}
+		
+		// Create the TopicSession...
+		try {
+			session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
+		} catch (JMSException e) {
+			logger.error("TopicSession creation failed for the Transformation configuration Update Notifier.  Update Notifier not enabled!", e);
+			close();
+			return;
+		}
+		
+		// Start the connection...
+		try {
+			conn.start();
+		} catch (JMSException e) {
+			logger.error("Failed to start JMS TopicConnection for the Transformation configuration Update Notifier.  Update Notifier not enabled!", e);
+			close();
+			return;
+		}
+
+		logger.info("Transformation Configuration Update Notifier started!");
+	}
+
+	/**
+	 * Attempt a single reconnect and notify operation.
+	 * @param attemptRetry Is the retry to be attempted on this call.
+	 */
+	private void reconnectAndNotify(boolean attemptRetry) {
+		if(attemptRetry) {
+			logger.info("Attempting a single reconnect and retry.");
+			close();
+			connect();
+			sendNotification(false);
+		} else {
+			logger.info("Already attempted a reconnect and retry - not attempting another.  This notification event will be lost!");
+		}
+	}
+	
+	@Destroy
+	public void destroy() {
+		close();
+	}
+
+	/**
+	 * Close out the listener and all it's resources.
+	 */
+	private void close() {
+		try {
+			if(conn != null) {
+				conn.stop();
+				logger.info("Update Notifier JMS TopicConnection stopped.");
+			}
+		} catch (Throwable e) {
+			logger.error("Failed to stop Update Notifier JMS connection.", e);
+			conn = null;
+		}
+		try {
+			if(session != null) {
+				session.close();
+				logger.info("Update Notifier JMS TopicSession closed.");
+			}
+		} catch (Throwable e) {
+			logger.error("Failed to close Update Notifier JMS session.", e);
+		} finally {
+			session = null;
+		}
+		try {
+			if(conn != null) {
+				conn.close();
+				logger.info("Update Notifier JMS TopicConnection closed.");
+			}
+		} catch (Throwable e) {
+			logger.error("Failed to close Update Notifier JMS connection.", e);
+		} finally {
+			conn = null;
+		}
+		topic = null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.contract;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.seam.annotations.datamodel.DataModelSelectionIndex;
+
+/**
+ * Manage the configured message contracts.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("manageContracts")
+ at Scope(CONVERSATION)
+public class ManageContracts implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@In(create=true)
+	private EntityManager entityManager;
+	
+	@DataModel
+	private List<MessageContract> contracts;
+	@DataModelSelectionIndex("contracts")
+	int contractIndex = 0;
+	
+	@In(required=false) @Out(required=false,scope=CONVERSATION)
+	private MessageContract selectedContract;
+	
+	/**
+	 * Get the {@link MessageContract} list factory method.
+	 */
+	public void readContracts() {
+		if(entityManager == null) {
+			throw new NullPointerException("Null entityManager!");
+		}
+		
+		contracts = entityManager.createQuery("from MessageContract order by participant").getResultList();
+	}
+	
+	@Begin(join=true)
+	public String list() {
+		readContracts();
+		return "list-message-contracts";
+	}
+	
+	public String deleteContract() {
+		selectedContract = contracts.get(contractIndex);
+		entityManager.remove(selectedContract);
+
+		// Re-read te contracts...
+		readContracts();
+		
+		return "list-message-contracts";
+	}
+
+	@End
+	public String home() {
+		return "home";
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,234 @@
+/*
+ * 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.admin.console.contract;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.validator.NotNull;
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Message contract definition.
+ * <p/>
+ * This class defines message properties with respect to the type of data contained in the message, as well as the
+ * {@link org.jboss.soa.esb.admin.console.exchange.participant.Participant} that produces or consumes the message.  It basically
+ * puts some typing information around the messages that exchange through the ESB.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Entity
+ at Name("messageContract")
+public class MessageContract implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Enumeration type for how a message type is used by the service located at the associated Participant.
+	 * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+	 */
+	public static enum USAGE {
+		PRODUCES, 
+		CONSUMES
+	};
+	
+	/**
+	 * Persistence ID ref.
+	 */
+	private String id;
+	/**
+	 * The Participant that this message type is associated with.
+	 */
+	private String participant;
+	/**
+	 * How this message is used by the Participant.
+	 */
+	private String usage;
+	/**
+	 * Message Mime Type.
+	 */
+	private String mime;
+	/**
+	 * Message namespace.
+	 */
+	private String namespace;
+	/**
+	 * Message description (dtd, xsd etc).
+	 */
+	private String messageDescription;
+	
+	// TODO:  The type could/should be normalised further by pulling the message typing info into a type of its own,
+	// making this class look like...
+	// class MessageContract {
+	//		MessageType messageType;
+	// 		Participant participant;
+	//		USAGE messageUsage;
+	// }
+	
+	/**
+	 * Public default constructor.
+	 */
+	public MessageContract() {
+	}
+
+	/**
+	 * Public Constructor.
+	 * @param mime Message mime type (required).
+	 * @param namespace Message namespace (optional).
+	 * @param messageDescription Message dtd/schema (optional).
+	 */
+	public MessageContract(String mime, String namespace, String messageDescription) {
+		this.mime = mime;
+		this.namespace = namespace;
+		this.messageDescription = messageDescription;
+	}
+
+	/**
+	 * @return Returns the participant.
+	 */
+	@NotNull
+	public String getParticipant() {
+		return participant;
+	}
+
+	/**
+	 * @param participant The participant to set.
+	 */
+	public void setParticipant(String participant) {
+		this.participant = participant;
+	}
+
+	/**
+	 * @return Returns the usage.
+	 */
+	@NotNull
+	public String getUsage() {
+		return usage;
+	}
+
+	/**
+	 * @param usage The usage to set.
+	 */
+	public void setUsage(String usage) {
+		// TODO:  There must be a way to get Seam to perform tis checking via annotations!
+		if(!USAGE.PRODUCES.name().equals(usage) && !USAGE.CONSUMES.name().equals(usage)) {
+			// TODO: Handle this properly!!  Better still - find out if and how to get enums to work with Seam.
+			throw new RuntimeException("Message Usage field must be either '" + USAGE.PRODUCES.name() + "' '" + USAGE.CONSUMES.name() + "'");
+		}
+		this.usage = usage;
+	}
+	
+	/**
+	 * @return Returns the messageDescription.
+	 */
+	public String getMessageDescription() {
+		return messageDescription;
+	}
+	/**
+	 * @param messageDescription The messageDescription to set.
+	 */
+	public void setMessageDescription(String messageDescription) {
+		this.messageDescription = messageDescription;
+	}
+	/**
+	 * @return Returns the mime.
+	 */
+	public String getMime() {
+		return mime;
+	}
+	/**
+	 * @param mime The mime to set.
+	 */
+	public void setMime(String mime) {
+		this.mime = mime;
+	}
+
+	/**
+	 * @return Returns the id.
+	 */
+	@Id @GeneratedValue(generator="system-uuid")
+	@GenericGenerator(name="system-uuid", strategy = "uuid")
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * @param id The id to set.
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	/**
+	 * @return Returns the message namespace.
+	 */
+	@NotNull
+	public String getNamespace() {
+		return namespace;
+	}
+	
+	/**
+	 * @param namespace The message namespace to set.
+	 */
+	public void setNamespace(String xmlns) {
+		this.namespace = xmlns;
+	}
+
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		StringBuffer stringBuf = new StringBuffer();
+		
+		stringBuf.append(mime);
+		if(namespace != null) {
+			if(mime != null && !mime.trim().equals("")) {
+				stringBuf.append(':');
+			}
+			stringBuf.append(namespace);
+		}
+		
+		return stringBuf.toString();
+	}
+
+	/**
+	 * Map the suppied list of Message Contracts to a list of contract DTO instances.
+	 * @param contracts The list of contracts to be mapped.
+	 * @return The list of mapped DTO instances.
+	 */
+	public static List<MessageContractDTO> toDTOList(List<MessageContract> contracts) {
+		List<MessageContractDTO> list = new ArrayList<MessageContractDTO>();
+		
+		for(MessageContract contract : contracts) {
+			list.add(new MessageContractDTO(contract.id, contract.toString()));
+		}
+		
+		return list;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,50 @@
+/*
+ * 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.admin.console.contract;
+
+/**
+ * Simple DTO bean for message contracts.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MessageContractDTO {
+	private String id;
+	private String displayName;
+
+	public MessageContractDTO() {		
+	}
+	
+	public MessageContractDTO(String id, String displayName) {
+		this.id = id;
+		this.displayName = displayName;
+	}
+	
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getDisplayName() {
+		return displayName;
+	}
+	public void setDisplayName(String displayName) {
+		this.displayName = displayName;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,104 @@
+/*
+ * 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.admin.console.contract;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.faces.model.SelectItem;
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+
+/**
+ * Add a new Message Contract.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("newContract")
+ at Scope(CONVERSATION)
+public class NewContract implements Serializable {
+	
+	private static final long serialVersionUID = 1L;
+
+	@In(create=true, required=false) @Out(scope=CONVERSATION)
+	private MessageContract contract;
+
+	@In(create=true)
+	private EntityManager entityManager;
+	
+	private String participant;
+	
+	private void initialise() {
+		participant = null;
+	}
+	
+	@Begin(join=true)
+	public String showForm() {
+		initialise();
+		return "new-message-contract";
+	}
+	
+	@Create
+	public void create() {
+		contract = new MessageContract();
+	}
+	
+	public List<SelectItem> getParticipants() {
+		return entityManager.createQuery("select distinct new javax.faces.model.SelectItem(p.name) from Participant p order by p.name").getResultList();
+	}
+	
+	@End
+	public String save() {
+		try {
+			contract.setParticipant(participant);
+			
+			// Persist...
+			entityManager.persist(contract);
+			
+			return "home";
+		} catch(Throwable thrown) {
+			thrown.printStackTrace();
+			throw new RuntimeException(thrown);
+		}
+	}
+	
+	@End
+	public String home() {
+		return "home";
+	}
+
+	public String getParticipant() {
+		return participant;
+	}
+
+	public void setParticipant(String participant) {
+		this.participant = participant;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.exchange;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+import org.jboss.soa.esb.admin.console.exchange.participant.Participant;
+
+/**
+ * Message Exchange.
+ * <p/>
+ * This class defines properties used to target message transformation resources at a message exchange,
+ * or a subset there of.
+ * <p/>
+ * This class will likely be expanded to include support for other message profile types. 
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("messageFLow")
+public class MessageExchange implements Serializable {
+	
+	private static final long serialVersionUID = 1L;
+	
+	public static final String FROM = "from:";
+	public static final String FROM_TYPE = "from-type:";
+	public static final String TO = "to:";
+	public static final String TO_TYPE = "to-type:";
+
+	@In(required=false) @Out(required=false)
+	private Participant from;
+
+	@In(required=false) @Out(required=false)
+	private MessageContract fromMessageType;
+
+	@In(required=false) @Out(required=false)
+	private Participant to;
+
+	@In(required=false) @Out(required=false)
+	private MessageContract toMessageType;
+
+	/**
+	 * Set the message source {@link Participant}.
+	 * @param from The from to set.
+	 */
+	public void setFrom(Participant from) {
+		this.from = from;
+	}
+
+	/**
+	 * Get the message source {@link Participant}.
+	 * @return Returns the from.
+	 */
+	public Participant getFrom() {
+		return from;
+	}
+
+	/**
+	 * Set the message type associated with the exchange.
+	 * @param fromMessageType The fromMessageType to set.
+	 */
+	public void setFromMessageType(MessageContract messageType) {
+		this.fromMessageType = messageType;
+	}
+
+	/**
+	 * Get the message type associated with the exchange.
+	 * @return Returns the fromMessageType.
+	 */
+	public MessageContract getFromMessageType() {
+		return fromMessageType;
+	}
+
+	/**
+	 * Set the message destination {@link Participant}.
+	 * @param to The to to set.
+	 */
+	public void setTo(Participant to) {
+		this.to = to;
+	}
+
+	/**
+	 * Get the message destination {@link Participant}.
+	 * @return Returns the to.
+	 */
+	public Participant getTo() {
+		return to;
+	}
+
+	/**
+	 * @param toMessageType The toMessageType to set.
+	 */
+	public void setToMessageType(MessageContract toMessageType) {
+		this.toMessageType = toMessageType;
+	}
+
+	/**
+	 * @return Returns the toMessageType.
+	 */
+	public MessageContract getToMessageType() {
+		return toMessageType;
+	}
+
+	@Out
+	public String getExchangeUseragentString() {
+		if(fromMessageType == null && from == null && toMessageType == null && to == null) {
+			return "*";
+		}
+
+		StringBuffer stringBuffer = new StringBuffer();
+		
+		if(fromMessageType != null) {
+			stringBuffer.append(FROM_TYPE);
+			stringBuffer.append(fromMessageType != null?fromMessageType:"*");
+			stringBuffer.append(from != null || toMessageType != null || to != null?" AND ":"");
+		}
+
+		if(from != null) {
+			stringBuffer.append(FROM);
+			stringBuffer.append(from != null?from:"*");
+			stringBuffer.append(toMessageType != null || to != null?" AND ":"");
+		}
+		
+		if(toMessageType != null) {
+			stringBuffer.append(TO_TYPE);
+			stringBuffer.append(toMessageType != null?toMessageType:"*");
+			stringBuffer.append(to != null?" AND ":"");
+		}
+
+		if(to != null) {
+			stringBuffer.append(TO);
+			stringBuffer.append(to != null?to:"*");
+		}
+		
+		return stringBuffer.toString().trim();
+	}
+	
+	@Out
+	public String getExchangeUseragentStringAsHtml() {
+		if(fromMessageType == null && from == null && toMessageType == null && to == null) {
+			return "All Messages";
+		}
+
+		StringBuffer stringBuffer = new StringBuffer();
+		
+		stringBuffer.append("<b>").append(FROM_TYPE).append("</b>");
+		stringBuffer.append(fromMessageType != null?fromMessageType:"*");
+		stringBuffer.append("<br/>AND<br/>");
+
+		stringBuffer.append("<b>").append(FROM).append("</b>");
+		stringBuffer.append(from != null?from:"*");
+		stringBuffer.append("<br/>AND<br/>");
+		
+		stringBuffer.append("<b>").append(TO_TYPE).append("</b>");
+		stringBuffer.append(toMessageType != null?toMessageType:"*");
+		stringBuffer.append("<br/>AND<br/>");
+
+		stringBuffer.append("<b>").append(TO).append("</b>");
+		stringBuffer.append(to != null?to:"*");
+		
+		return stringBuffer.toString();
+	}
+	
+	@Out
+	public String getExchangeAsHtml() {
+		if(fromMessageType == null && from == null && toMessageType == null && to == null) {
+			return "All Messages";
+		}
+
+		StringBuffer stringBuffer = new StringBuffer();
+		
+		stringBuffer.append("<b>").append(FROM_TYPE).append("</b> ");
+		stringBuffer.append(fromMessageType != null?fromMessageType:"*");
+		stringBuffer.append("<br/>");
+
+		stringBuffer.append("<b>").append(FROM).append("</b> ");
+		stringBuffer.append(from != null?from:"*");
+		stringBuffer.append("<br/>");
+		
+		stringBuffer.append("<b>").append(TO_TYPE).append("</b> ");
+		stringBuffer.append(toMessageType != null?toMessageType:"*");
+		stringBuffer.append("<br/>");
+
+		stringBuffer.append("<b>").append(TO).append("</b> ");
+		stringBuffer.append(to != null?to:"*");
+		
+		return stringBuffer.toString();
+	}
+
+    /**
+     * Get the profile list based on this message exchange.
+	 * @return The list of profiles.
+	 */
+	public String[] getUseragentProfiles() {
+		List<String> profiles = new ArrayList<String>();
+		String[] profileArray;
+		
+		if(fromMessageType != null) {
+			profiles.add(FROM_TYPE + fromMessageType);
+		}
+		if(from != null) {
+			profiles.add(FROM + from);
+		}
+		if(toMessageType != null) {
+			profiles.add(TO_TYPE + toMessageType);
+		}
+		if(to != null) {
+			profiles.add(TO + to);
+		}
+		
+		profileArray = new String[profiles.size()];
+		profiles.toArray(profileArray);
+
+		return profileArray;
+	}
+
+	/**
+	 * Reset the message exchange.
+	 */
+	public void reset() {
+		from = null;
+		fromMessageType = null;
+		to = null;
+		toMessageType = null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,90 @@
+/*
+ * 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.admin.console.exchange;
+
+import java.util.List;
+
+import javax.ejb.Local;
+import javax.ejb.Remove;
+import javax.faces.model.SelectItem;
+
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Destroy;
+import org.jboss.seam.annotations.WebRemote;
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+import org.jboss.soa.esb.admin.console.contract.MessageContractDTO;
+import org.jboss.soa.esb.admin.console.exchange.participant.Participant;
+
+/**
+ * SelectMessageExchange action listener interface.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Local
+public interface SelectMessageExchange {
+
+	/**
+	 * Select the "from" {@link Participant} action listener remote method.
+	 * @return The list of "produce" message contracts supported by the selected
+	 * participant.
+	 */
+	@WebRemote
+	public List<MessageContractDTO> selectFrom(String selectionId);
+
+	/**
+	 * Select the "from" {@link MessageContract} action listener method.
+	 */
+	@WebRemote
+	public void selectFromContract(String selectionId);
+
+	/**
+	 * Select the "to" {@link Participant} action listener remote method.
+	 * @return The list of "consume" message contracts supported by the selected
+	 * participant.
+	 */
+	@WebRemote
+	public List<MessageContractDTO> selectTo(String selectionId);
+
+	/**
+	 * Select the "to" {@link MessageContract} action listener method.
+	 */
+	@WebRemote
+	public void selectToContract(String selectionId);
+
+	@Create
+	public void initialise();
+
+	public String showFrom();
+
+	public String showFinish();
+
+	public String finish();
+
+	public String home();
+
+	@Remove
+	@Destroy
+	public void destroy();
+
+	public List<SelectItem> getParticipantListItems();
+
+	public List<Participant> getParticipants();
+
+	public void setParticipants(List<Participant> participants);
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,231 @@
+/*
+ * 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.admin.console.exchange;
+
+import static org.jboss.seam.ScopeType.SESSION;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.faces.model.SelectItem;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import static javax.persistence.PersistenceContextType.EXTENDED;
+
+import org.apache.log4j.Logger;
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Destroy;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.contexts.Contexts;
+import org.jboss.soa.esb.admin.console.SeamViewIdStack;
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+import org.jboss.soa.esb.admin.console.contract.MessageContractDTO;
+import org.jboss.soa.esb.admin.console.exchange.participant.Participant;
+
+/**
+ * Message Exchange Select Listener.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Stateful
+ at Name("messageExchangeSelect")
+ at Scope(SESSION)
+public class SelectMessageExchangeAction implements Serializable, SelectMessageExchange {
+
+	private static final long serialVersionUID = 1L;
+	static Logger logger = Logger.getLogger(SelectMessageExchangeAction.class);
+
+	@PersistenceContext(type=EXTENDED) 
+	private EntityManager entityManager;
+	
+	@In(required=false) @Out(scope=SESSION) 
+	private List<Participant> participants;
+	
+	private static List<MessageContractDTO> emptyContractList = new ArrayList<MessageContractDTO>();
+
+	@In(required=false) @Out(scope=SESSION) MessageExchange messageExchange;
+	
+	@Create
+	public void initialise() {
+		messageExchange = new MessageExchange();
+		participants = entityManager.createQuery("from Participant order by name").getResultList();
+	}
+	
+	public String showFrom() {
+		resetExchange();
+		return "select-message-exchange-from";
+	}
+	
+	public String showFinish() {
+		return "select-message-exchange-finish";
+	}
+	
+	public String finish() {
+		setExchange();
+		return SeamViewIdStack.getInstance().popViewId();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.admin.console.exchange.SelectMessageExchange#selectFrom(String)
+	 */
+	public List<MessageContractDTO> selectFrom(String selectionId) {
+		Participant from = null;
+		
+		messageExchange.setFrom(null);
+		messageExchange.setFromMessageType(null);
+		from = findParticipant(selectionId, participants);
+		if(from == null) {
+			logger.error("Unexpected error.  Failed to locate 'from' exchange participant '" + selectionId + "'.  This may be OK.  Returning empty message contract list.");
+			return emptyContractList;
+		}
+		messageExchange.setFrom(from);
+		
+		// Select the message contracts *produced* by the selected "from" Participant...
+		List<MessageContract> contracts = entityManager.createQuery("from MessageContract where participant = :participant and usage = 'PRODUCES'")
+										.setParameter("participant", from.getName())
+										.getResultList();
+		
+		return MessageContract.toDTOList(contracts);
+	}
+
+	/**
+	 * Select the "from" {@link MessageContract} action listener method.
+	 */
+	public void selectFromContract(String selectionId) {
+		messageExchange.setFromMessageType(findContract(selectionId));
+	}	
+
+	/**
+	 * Select the "to" {@link Participant} action listener method.
+	 */
+	public List<MessageContractDTO> selectTo(String selectionId) {
+		Participant to = null;
+		
+		messageExchange.setTo(null);
+		messageExchange.setToMessageType(null);
+		to = findParticipant(selectionId, participants);
+		if(to == null) {
+			logger.warn("Unexpected error.  Failed to locate 'to' exchange participant '" + selectionId + "'.  This may be OK.  Returning empty message contract list.");
+			return emptyContractList;
+		}
+		messageExchange.setTo(to);
+		
+		// Select the message contracts *produced* by the selected "from" Participant...
+		List<MessageContract> contracts = entityManager.createQuery("from MessageContract where participant = :participant and usage = 'CONSUMES'")
+										.setParameter("participant", to.getName())
+										.getResultList();
+		
+		return MessageContract.toDTOList(contracts);
+	}
+
+	/**
+	 * Select the "to" {@link MessageContract} action listener method.
+	 */
+	public void selectToContract(String selectionId) {
+		messageExchange.setToMessageType(findContract(selectionId));
+	}
+
+	public String home() {
+		resetExchange();
+		
+		return "home";
+	}
+	
+	@Remove
+	@Destroy
+	public void destroy() {		
+	}
+
+	void setExchange() {
+		Contexts.getSessionContext().set(MessageExchange.class.getName(), "set");
+		Contexts.getSessionContext().set(MessageExchange.class.getName() + "#instance", messageExchange);
+	}
+
+	void resetExchange() {
+		Contexts.getSessionContext().set(MessageExchange.class.getName(), "notset");
+		initialise();
+	}
+	
+	/**
+	 * Is the {@link MessageExchange} selected on the current session.
+	 * @return True if the {@link MessageExchange} is selected on the current session, otherwise false.
+	 */
+	public static boolean isMessageExchangeSelected() {
+		String set = (String)Contexts.getSessionContext().get(MessageExchange.class.getName());
+		
+		return (set != null && set.equals("set"));
+	}
+	
+	/**
+	 * Get the current MessageExchange instance.
+	 * @return The current MessageExchange instance.
+	 */
+	public static MessageExchange getMessageExchange() {
+		if(isMessageExchangeSelected()) {
+			return (MessageExchange) Contexts.getSessionContext().get(MessageExchange.class.getName() + "#instance");
+		}
+		
+		throw new IllegalStateException("Call to 'getMessageExchange()' before an exchange has been selected.  The calling code needs to protect itself against this condition!");
+	}
+
+	public List<SelectItem> getParticipantListItems() {
+		List<SelectItem> items = new ArrayList<SelectItem>();
+		
+		items.add(new SelectItem("All"));
+		for(int i = 0; i < participants.size(); i++) {
+			Participant participant = participants.get(i);
+			items.add(new SelectItem(participant.getId(), participant.getName()));
+		}
+		
+		return items;
+	}
+
+	public List<Participant> getParticipants() {
+		return participants;
+	}
+
+	public void setParticipants(List<Participant> fromMessageParticipants) {
+		this.participants = fromMessageParticipants;
+	}
+
+	Participant findParticipant(String id, List<Participant> participants) {
+		for(Participant participant : participants) {
+			if(participant.getId().equals(id)) {
+				return participant;
+			}
+		}
+		return null;
+	}
+
+	MessageContract findContract(String id) {
+		MessageContract contracts = (MessageContract) entityManager.createQuery("from MessageContract where id = :id")
+									.setParameter("id", id)
+									.getSingleResult();
+
+		return contracts;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,88 @@
+/*
+ * 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.admin.console.exchange.participant;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.seam.annotations.datamodel.DataModelSelectionIndex;
+
+/**
+ * Manage the configured message Transformation/Analysis {@link org.jboss.soa.esb.admin.console.exchange.participant.Participant Participants}.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("manageParticipants")
+ at Scope(CONVERSATION)
+public class ManageParticipants implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@In(create=true)
+	private EntityManager entityManager;
+	
+	@DataModel
+	private List<Participant> participants;
+	@DataModelSelectionIndex("participants")
+	int participantIndex = 0;
+	
+	@In(required=false) @Out(required=true, scope=CONVERSATION)
+	private Participant newParticipant;
+	
+	private void initialise() {
+		participants = entityManager.createQuery("from Participant order by name").getResultList();
+		newParticipant = new Participant();
+	}
+	
+	@Begin(join=true)
+	public String show() {
+		initialise();
+		
+		return "manage-participants";
+	}
+	
+	public void addParticipant() {
+		entityManager.persist(newParticipant);
+		initialise();
+	}
+	
+	public void deleteParticipant() {
+		Participant selectedParticipant = participants.get(participantIndex);
+		entityManager.remove(selectedParticipant);
+		initialise();
+	}
+	
+	@End
+	public String home() {
+		return "home";
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,111 @@
+/*
+ * 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.admin.console.exchange.participant;
+
+import java.io.Serializable;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.validator.NotNull;
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Transformation "Participant".
+ * <p/>
+ * All message transformation/analysis resources within JBoss ESB need to be specified with respect
+ * to 2 participants - the message "Producer" and message "Consumer".
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Entity
+ at Name("participant")
+public class Participant implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Persistence ID ref.
+	 */
+	private String id;
+	/**
+	 * The URI of the Participant.
+	 */
+	private String name;
+	
+	/**
+	 * Public default constructor.
+	 */
+	public Participant() {
+	}
+
+	/**
+	 * Public constructor.
+	 * @param name Participant URI.
+	 */
+	public Participant(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * Get the name.
+	 * @return Returns the name.
+	 */
+	@NotNull
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * Set the name.
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.admin.console.exchange.participant.Identifiable#getId()
+	 */
+	@Id @GeneratedValue(generator="system-uuid")
+	@GenericGenerator(name="system-uuid", strategy = "uuid")
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * @param id The id to set.
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return name;
+	}	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,64 @@
+/*
+ * 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.admin.console.transform;
+
+import static org.jboss.seam.ScopeType.EVENT;
+import static org.jboss.seam.ScopeType.SESSION;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+
+/**
+ * Action listener for outjecting the complete list of {@link org.jboss.soa.esb.admin.console.transform.TransformationResource}
+ * configurations managed by this instance of the console.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("listAllResources")
+ at Scope(EVENT)
+public class ListAllResources implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@In(create=true)
+	private EntityManager entityManager;
+
+	// TODO: Why can't we outject this to the EVENT context???
+	@Out(scope=SESSION)
+	private List<TransformationResource> allResourceConfigs;
+	
+	/**
+	 * List all resources.
+	 * <p/>
+	 * Initialises the data model before it's outjected.
+	 * @return
+	 */
+	public void list() {
+		allResourceConfigs = entityManager.createQuery("from TransformationResource").getResultList();
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,88 @@
+/*
+ * 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.admin.console.transform;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.seam.annotations.datamodel.DataModelSelectionIndex;
+
+/**
+ * Manage <a href="http://milyn.codehaus.org/Smooks">Smooks</a> resource configuration specifications.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("manageResourceSpecs")
+ at Scope(CONVERSATION)
+public class ManageResourceSpecs implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@In(create=true)
+	private EntityManager entityManager;
+	
+	@DataModel 
+	private List<TransformationResourceSpec> configurationSpecs;
+	@DataModelSelectionIndex("configurationSpecs")
+	int configurationSpecIndex = 0;
+	
+	@Begin(join=true)
+	public String list() {
+		initialise();
+		
+		return "list-resource-specs";
+	}
+	
+	public String deleteConfiguration() {
+		TransformationResourceSpec selectedConfig = configurationSpecs.get(configurationSpecIndex);
+		
+		for(TransformationResourceParameterSpec parameter : selectedConfig.getParameters()) {
+			entityManager.remove(parameter);
+		}
+		entityManager.remove(selectedConfig);
+		initialise();
+		
+		return "list-resource-spec";
+	}
+
+	@End
+	public String home() {
+		return "home";
+	}
+	
+	/**
+	 * Initialise the message exchange configurations list.
+	 */
+	private void initialise() {
+		// Read all resources config specs from the DB...
+		configurationSpecs = entityManager.createQuery("from TransformationResourceSpec order by name").getResultList();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,167 @@
+/*
+ * 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.admin.console.transform;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.seam.annotations.datamodel.DataModelSelectionIndex;
+import org.jboss.soa.esb.admin.console.SeamViewIdStack;
+import org.jboss.soa.esb.admin.console.Toggle;
+import org.jboss.soa.esb.admin.console.UpdateNotifier;
+import org.jboss.soa.esb.admin.console.exchange.MessageExchange;
+import org.jboss.soa.esb.admin.console.exchange.SelectMessageExchangeAction;
+
+/**
+ * Manage the <a href="http://milyn.codehaus.org/Smooks">Smooks</a> resource configurations targeted at the session selected message exchange.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("manageResources")
+ at Scope(CONVERSATION)
+public class ManageResources implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@In(create=true)
+	private EntityManager entityManager;
+
+	@In(required=false)
+	private MessageExchange messageExchange;
+
+	@In(create=true)
+	private UpdateNotifier updateNotifier;
+	
+	@DataModel 
+	private List<TransformationResource> messageExchangeConfigs;
+	@DataModelSelectionIndex("messageExchangeConfigs")
+	int messageExchangeConfigIndex = 0;
+	
+	@In(required=false) @Out(required=false,scope=CONVERSATION)
+	private Toggle showAll;
+	
+	@In(required=false) @Out(required=false,scope=CONVERSATION)
+	private TransformationResource selectedConfig;
+	
+	@DataModel 
+	private List<TransformationResourceParameter> selectedConfigParams;
+	@DataModelSelectionIndex("selectedConfigParams")
+	int selectedConfigParamsIndex = 0;
+	
+	@In(required=false) @Out(required=false,scope=CONVERSATION)
+	private TransformationResourceParameter selectedConfigParam;
+	
+	@Begin(join=true)
+	public String list() {
+		if(!SelectMessageExchangeAction.isMessageExchangeSelected()) {
+			SeamViewIdStack.getInstance().pushViewId("list-resources");
+			return "select-message-exchange";
+		}
+
+		initialise();
+		
+		return "list-resources";
+	}
+	
+	public void toggleShowAll() {
+		showAll.toggle();
+		initialise();
+	}
+
+	public String viewConfiguration() {
+		selectedConfig = messageExchangeConfigs.get(messageExchangeConfigIndex);
+		selectedConfigParams = selectedConfig.getParameters();
+				
+		return "view-resource";
+	}
+
+	public String selectUpdateParameter() {
+		selectedConfigParam = selectedConfigParams.get(selectedConfigParamsIndex);
+				
+		return "update-resource-parameter";
+	}
+
+	public String updateParameter() {
+		entityManager.persist(selectedConfigParam);
+		updateNotifier.sendNotification();
+				
+		return "view-resource";
+	}
+	
+	public String deleteConfiguration() {
+		selectedConfig = messageExchangeConfigs.get(messageExchangeConfigIndex);
+		for(TransformationResourceParameter parameter : selectedConfig.getParameters()) {
+			entityManager.remove(parameter);
+		}
+		entityManager.remove(selectedConfig);
+		initialise();
+		updateNotifier.sendNotification();
+		
+		return "list-resources";
+	}
+
+	@End
+	public String home() {
+		return "home";
+	}
+	
+	/**
+	 * Initialise the message exchange configurations list.
+	 */
+	@Begin(join=true)
+	public void initialise() {
+		List<TransformationResource> allResourceConfigs;
+		
+		if(showAll == null) {
+			showAll = new Toggle();
+		}
+
+		// Read all resources configs from the DB...
+		allResourceConfigs = entityManager.createQuery("from TransformationResource").getResultList();
+		
+		// Filter and sort the resource configs for the selected message exchange (for display)...
+		messageExchangeConfigs = SmooksUtils.getMessageExchangeConfigs(messageExchange, allResourceConfigs);
+		if(!showAll.isOn()) {
+			Iterator<TransformationResource> listIterator = messageExchangeConfigs.iterator();
+			while(listIterator.hasNext()) {
+				TransformationResource resource = listIterator.next();
+				if(!resource.getUseragent().equalsIgnoreCase(messageExchange.getExchangeUseragentString())) {
+					listIterator.remove();
+				}
+			}
+		}
+		
+		// Clear the selected configuration.
+		selectedConfig = null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,194 @@
+/*
+ * 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.admin.console.transform;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.seam.annotations.datamodel.DataModelSelectionIndex;
+import org.jboss.seam.core.FacesMessages;
+import org.jboss.soa.esb.admin.console.SeamUtils;
+import org.jboss.soa.esb.admin.console.SeamViewIdStack;
+import org.jboss.soa.esb.admin.console.UpdateNotifier;
+import org.jboss.soa.esb.admin.console.exchange.MessageExchange;
+import org.jboss.soa.esb.admin.console.exchange.SelectMessageExchangeAction;
+
+/**
+ * Add Transformation Resource action handler.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("newResource")
+ at Scope(CONVERSATION)
+public class NewResource implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@In(create=true)
+	private EntityManager entityManager;
+
+	@In(required=false)
+	private MessageExchange messageExchange;
+
+	@In(create=true)
+	private UpdateNotifier updateNotifier;
+	
+	@DataModel 
+	private List<TransformationResourceSpec> configurationSpecs;
+	@DataModelSelectionIndex("configurationSpecs")
+	int configurationSpecIndex = 0;
+	
+	@In(required=false) @Out(required=false)
+	private TransformationResourceSpec selectedConfigSpec;
+	
+	@DataModel 
+	private List<TransformationResourceParameterSpec> selectedSpecParams;
+	@DataModelSelectionIndex("selectedSpecParams")
+	int selectedSpecParamIndex = 0;
+	
+	@In(create=true) @Out
+	private TransformationResourceParameterSpec transResourceParameterSpec;
+	
+	@In(create=true) @Out
+	private TransformationResource transResource;
+	
+	@In(create=true) @Out
+	private TransformationResourceParameter transResourceParameter;
+	
+	@DataModel 
+	private List<TransformationResourceParameter> parameterList;
+
+	@Begin(join=true)
+	public void initialise() {
+		configurationSpecs = entityManager.createQuery("from TransformationResourceSpec order by name").getResultList();
+	}
+	
+	@Begin(join=true)
+	public String selectResourceSpec() {
+		initialise();
+		
+		if(!SelectMessageExchangeAction.isMessageExchangeSelected()) {
+			SeamViewIdStack.getInstance().pushViewId("new-trans-resource-select-spec");
+			return "select-message-exchange";
+		}
+		
+		return "new-trans-resource-select-spec";
+	}
+	
+	public String captureResourceDetailsConfiguration() {
+		selectedConfigSpec = configurationSpecs.get(configurationSpecIndex);
+		selectedSpecParams = selectedConfigSpec.getParameters();
+
+		// Create the new resource from the selected spec and set the useragent...
+		transResource = selectedConfigSpec.toTransformationResource();
+		parameterList = transResource.getParameters();
+		transResource.setUseragent(messageExchange.getExchangeUseragentString());
+		
+		return "new-trans-resource-create";
+	}
+	
+	public String selectParameterSpec() {
+		transResourceParameterSpec = selectedSpecParams.get(selectedSpecParamIndex);
+		transResourceParameter.setName(transResourceParameterSpec.getName());
+		transResourceParameter.setType(transResourceParameterSpec.getType());
+		
+		return "add-resource-parameter";
+	}	
+	
+	public String addParameter() {
+		if(!parameterList.contains(transResourceParameter)) {
+			// Protected against the parameter being added more than once.  I've seen this
+			// happen occassionaly.
+			parameterList.add(transResourceParameter);
+		}
+		transResourceParameter = new TransformationResourceParameter();
+		
+		return "new-trans-resource-create";
+	}
+	
+	public String targetConfig() {
+		// Verify that all required parameters have been specified...
+		if(!assertAllRequiredParamsSet()) {
+			return null;
+		}
+
+		return "new-trans-resource-target";
+	}
+	
+	public String cancelAddParameter() {
+		return "new-trans-resource-create";
+	}
+	
+	@End
+	public String save() {
+		try {
+			// Persist...
+			persistNewResource(transResource, entityManager);
+			updateNotifier.sendNotification();
+			
+			return "home";
+		} catch(Throwable thrown) {
+			SeamUtils.printContexts();
+			return "error";
+		}
+	}
+
+	public static void persistNewResource(TransformationResource transResource, EntityManager esbDatabase) {
+		esbDatabase.persist(transResource);
+		for(TransformationResourceParameter parameter : transResource.getParameters()) {
+			parameter.setTransResource(transResource);
+			esbDatabase.persist(parameter);
+		}
+	}
+
+	/**
+	 * Assert that all parameters that have been defined as "required" on the resource spec
+	 * are set.
+	 */
+	private boolean assertAllRequiredParamsSet() {
+		for(TransformationResourceParameterSpec paramSpec : selectedSpecParams) {
+			if(paramSpec.isRequired()) {
+				if(!TransformationResource.isParamaterSet(paramSpec.getName(), transResource)) {
+					FacesMessages.instance().add("Required execution parameter '" + paramSpec.getName() + "' not set.");
+					return false;
+				}
+			}
+		}
+		
+		return true;
+	}
+	
+	@End
+	public String home() {
+		return "home";
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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.admin.console.transform;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.soa.esb.admin.console.SeamUtils;
+
+/**
+ * Add Transformation Resource Specification action handler.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("newResourceSpec")
+ at Scope(CONVERSATION)
+public class NewResourceSpec implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@In(create=true)
+	private EntityManager entityManager;
+	
+	@In(create=true) @Out
+	private TransformationResourceSpec transResourceSpec;
+	
+	@In(create=true) @Out
+	private TransformationResourceParameterSpec transResourceParameterSpec;
+	
+	@DataModel 
+	private List<TransformationResourceParameterSpec> parameterList;
+	
+	@Begin(join=true)
+	public String captureResourceDetailsConfiguration() {
+		// Create the new resource and set the useragent...
+		transResourceSpec = new TransformationResourceSpec();
+
+		parameterList = new ArrayList<TransformationResourceParameterSpec>();
+		transResourceSpec.setParameters(parameterList);
+		
+		return "new-trans-resource-spec-create";
+	}
+	
+	public String addParameter() {
+		if(!parameterList.contains(transResourceParameterSpec)) {
+			// Protected against the parameter being added more than once.  I've seen this
+			// happen occassionaly.
+			parameterList.add(transResourceParameterSpec);
+		}
+		transResourceParameterSpec = new TransformationResourceParameterSpec();
+		
+		return "new-trans-resource-spec-create";
+	}
+	
+	public String cancelAddParameter() {
+		return "new-trans-resource-spec-create";
+	}
+	
+	@End
+	public String save() {
+		try {
+			// Persist...
+			entityManager.persist(transResourceSpec);
+			for(TransformationResourceParameterSpec parameter : transResourceSpec.getParameters()) {
+				parameter.setResourceSpec(transResourceSpec);
+				entityManager.persist(parameter);
+			}
+			
+			return "home";
+		} catch(RuntimeException thrown) {
+			SeamUtils.printContexts();
+			throw thrown;
+		}
+	}
+	
+	@End
+	public String home() {
+		return "home";
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,141 @@
+/*
+ * 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.admin.console.transform;
+
+import java.util.List;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+
+/**
+ * Faces converter for a list of transformation resource.
+ * <p/>
+ * Generates a Smooks XML config fragment.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class SmooksResourceList {
+	
+	public static String getList() {
+		try {
+			InitialContext context = new InitialContext();
+			EntityManagerFactory entityManagerFactory;
+			EntityManager entityManager = null;
+			
+			// Lookup the EntityManager...
+			entityManagerFactory = (EntityManagerFactory) context.lookup("java:/jboss-esb-consoleEntityManagerFactory");
+			entityManager = entityManagerFactory.createEntityManager();
+			
+			try {
+				return getList(entityManager);
+			} finally {
+				if(entityManager != null) {
+					entityManager.close();
+				}
+			}
+		} catch (NamingException e) {
+			throw new IllegalStateException("Cannot generate Transformation Configurations. Unable to access persistence context.", e);
+		}
+	}
+	
+	public static String getList(EntityManager entityManager) {
+		List<TransformationResource> resList;
+		
+		resList = entityManager.createQuery("from TransformationResource").getResultList();
+
+		return getList(resList);
+	}
+
+	protected static String getList(List<TransformationResource> resList) {
+		StringBuffer stringBuffer = new StringBuffer();
+		
+		stringBuffer.append("<?xml version=\"1.0\"?>\n");
+		stringBuffer.append("<!DOCTYPE smooks-resource-list PUBLIC \"-//MILYN//DTD SMOOKS 1.0//EN\" \"http://www.milyn.org/dtd/smooksres-list-1.0.dtd\">\n");
+		stringBuffer.append("<smooks-resource-list>\n");
+		
+		if(resList != null && !resList.isEmpty()) {
+			for(int i = 0; i < resList.size(); i++) {
+				TransformationResource resource = (TransformationResource) resList.get(i);
+				
+				appendResource(resource, stringBuffer);
+			}
+		} else {
+			stringBuffer.append("<!-- No configurations found. -->");
+		}
+
+		stringBuffer.append("\n</smooks-resource-list>");
+		
+		return stringBuffer.toString();
+	}
+
+	private static void appendResource(TransformationResource resource, StringBuffer stringBuffer) {
+		
+		stringBuffer.append("\n\t<smooks-resource ");
+		if(resource.getSelector() != null && !resource.getSelector().trim().equals("")) {
+			stringBuffer.append("selector=\"").append(resource.getSelector()).append("\" ");
+		}
+		if(resource.getUseragent() != null && !resource.getUseragent().trim().equals("")) {
+			stringBuffer.append("useragent=\"").append(resource.getUseragent()).append("\" ");
+		}
+		if(resource.getNamespace() != null && !resource.getNamespace().trim().equals("")) {
+			stringBuffer.append("namespace=\"").append(resource.getNamespace()).append("\" ");
+		}
+		if(resource.getPath() != null && !resource.getPath().trim().equals("")) {
+			stringBuffer.append("path=\"").append(resource.getPath()).append("\" ");
+		}
+		stringBuffer.append(">");
+
+		List<TransformationResourceParameter> parameters = resource.getParameters();
+		if(parameters != null && !parameters.isEmpty()) {
+			appendParameters(resource, parameters, stringBuffer);
+		}
+	
+		stringBuffer.append("\n\t</smooks-resource>");
+	}
+
+	private static void appendParameters(TransformationResource resource, List<TransformationResourceParameter> parameters, StringBuffer stringBuffer) {
+		TransformationResourceParameter nameParameter = 
+			new TransformationResourceParameter(SmooksUtils.RESOURCE_NAME_PARAM, null, resource.getName());
+		
+		// Append the "Name" parameter.  This is not a "real" parameter.  It's just how we get over the fact that the SmooksResourceConfiguration
+		// class doesn't have "name" attribute like the TransformationResource class.  So, we import and export
+		// as a resource parameter.
+		appendParameter(stringBuffer, nameParameter);
+		for(TransformationResourceParameter param : parameters) {
+			appendParameter(stringBuffer, param);
+		}
+	}
+
+	private static void appendParameter(StringBuffer stringBuffer, TransformationResourceParameter param) {
+		stringBuffer.append("\n\t\t<param name=\"").append(param.getName()).append("\"");
+		if(param.getType() != null && !param.getType().trim().equals("")) {
+			stringBuffer.append(" type=\"").append(param.getType()).append("\"");
+		}
+		stringBuffer.append(">");
+		
+		stringBuffer.append("<![CDATA[");
+		stringBuffer.append(param.getValueAsString());
+		stringBuffer.append("]]>");
+		stringBuffer.append("</param>");
+	}	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,157 @@
+/*
+ * 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.admin.console.transform;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.jboss.soa.esb.admin.console.exchange.MessageExchange;
+import org.milyn.SmooksStandalone;
+import org.milyn.cdr.SmooksResourceConfiguration;
+import org.milyn.container.standalone.StandaloneContainerSession;
+
+/**
+ * <a href="http://milyn.codehaus.org/Smooks">Milyn Smooks</a> utility methods
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksUtils {
+
+	/**
+	 * {@link SmooksResourceConfiguration} doesn't have a config "name" attribute as does the
+	 * {@link TransformationResource} class.  For import and export of configs, we add and get this
+	 * as a resource parameter.
+	 */
+	public static final String RESOURCE_NAME_PARAM = "RESERVED:RESOURCE_NAME_PARAM";
+
+	/**
+	 * Get the ordered set of message {@link TransformationResource}s targetd at the supplied message exchange.
+	 * <p/>
+	 * The resource are grouped by selector and ordered according to their specificity.  See 
+	 * <a href="http://milyn.codehaus.org/Smooks">Milyn Smooks</a>.
+	 * @param messageExchange The message exchange whose resources we're interested in.
+	 * @param allResourceConfigs All the configured transformation resources on this ESB instance.
+	 * @return List of transformation resources targeted at the supplied message exchange.
+	 */
+	public static List<TransformationResource> getMessageExchangeConfigs(MessageExchange messageExchange, List<TransformationResource> allResourceConfigs) {
+		SmooksStandalone smooks = new SmooksStandalone("UTF-8");
+		String messageUAString = "JBossESBMessage"; // Doesn't really matter what this string is because of how we're using it here!
+		StandaloneContainerSession messageUASession;
+		Map messageExchangeConfigsMap;
+		List<TransformationResource> messageExchangeConfigsList = new ArrayList<TransformationResource>();;
+		
+		// Register all the configurations on the context...
+		for(TransformationResource resourceConfig : allResourceConfigs) {
+			smooks.registerResource(DBLinkedSmooksResourceConfiguration.getInstance(resourceConfig));
+		}
+		
+		// Capture the message exchange properties as useragent profiles...
+		String[] profilesArray = getMessageExchangeProfiles(messageExchange);
+
+		// Create and register a message useragent with the message exchange profiles ...
+		smooks.registerUseragent(messageUAString, profilesArray);
+		messageUASession = smooks.getSession(messageUAString);
+		
+		// Filter out the configurations for the message session...
+		messageExchangeConfigsMap = messageUASession.getDeliveryConfig().getSmooksResourceConfigurations();
+		Iterator mapIterator = messageExchangeConfigsMap.entrySet().iterator();
+		while(mapIterator.hasNext()) {
+			Entry mapEntry = (Entry)mapIterator.next();
+			List selectorResourceList = (List)mapEntry.getValue();
+			
+			for(Object resourceConfig : selectorResourceList) {
+				if(resourceConfig instanceof DBLinkedSmooksResourceConfiguration) {
+					messageExchangeConfigsList.add(((DBLinkedSmooksResourceConfiguration)resourceConfig).persistedConfigForm);
+				}
+			}
+		}
+		
+
+		return messageExchangeConfigsList;
+	}
+
+	/**
+	 * Get the Smooks "profiles" that correspond to the supplied message exchange. 
+	 * @param messageExchange The message exchange.
+	 * @return List of profiles.
+	 */
+	private static String[] getMessageExchangeProfiles(MessageExchange messageExchange) {
+		String[] profilesArray;
+		List<String> profiles = new ArrayList<String>();
+		
+		if(messageExchange.getFromMessageType() != null) {
+			profiles.add(MessageExchange.FROM_TYPE + messageExchange.getFromMessageType());
+		}
+		if(messageExchange.getFrom() != null) {
+			profiles.add(MessageExchange.FROM + messageExchange.getFrom());
+		}
+		if(messageExchange.getTo() != null) {
+			profiles.add(MessageExchange.TO + messageExchange.getTo());
+		}
+		if(messageExchange.getToMessageType() != null) {
+			profiles.add(MessageExchange.TO_TYPE + messageExchange.getToMessageType());
+		}
+
+		if(profiles.isEmpty()) {
+			profiles.add("$NO-PROFILES$");
+		}
+		
+		profilesArray = new String[profiles.size()];
+		profiles.toArray(profilesArray);
+		
+		return profilesArray;
+	}
+
+	/**
+	 * Linking of the SmooksResourceConfiguration to it's persisted JBoss ESB TransformationResource
+	 * form.
+	 * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+	 */
+	private static class DBLinkedSmooksResourceConfiguration extends SmooksResourceConfiguration {
+		
+		private TransformationResource persistedConfigForm;
+		
+		public DBLinkedSmooksResourceConfiguration(String selector, String namespaceURI, String useragents, String path) {
+			super(selector, namespaceURI, useragents, path);
+		}
+		
+		private static DBLinkedSmooksResourceConfiguration getInstance(TransformationResource resourceConfig) {
+			DBLinkedSmooksResourceConfiguration instance;
+			
+			instance = new DBLinkedSmooksResourceConfiguration(
+					resourceConfig.getSelector(), resourceConfig.getNamespace(),
+					resourceConfig.getUseragent(), resourceConfig.getPath());
+			instance.persistedConfigForm = resourceConfig;
+			
+			// If there are parameters, set them too...
+			if(resourceConfig.getParameters() != null) {
+				for(TransformationResourceParameter param : resourceConfig.getParameters()) {
+					instance.setParameter(param.getName(), param.getType(), new String(param.getValue()));
+				}
+			}
+			
+			return instance;
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,167 @@
+/*
+ * 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.admin.console.transform;
+
+import static org.jboss.seam.ScopeType.SESSION;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+
+import javax.persistence.EntityManager;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.log4j.Logger;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.soa.esb.admin.console.SeamViewIdStack;
+import org.jboss.soa.esb.admin.console.exchange.MessageExchange;
+import org.jboss.soa.esb.admin.console.exchange.SelectMessageExchangeAction;
+import org.milyn.SmooksException;
+import org.milyn.SmooksStandalone;
+import org.xml.sax.SAXException;
+
+/**
+ * Test Transformation action listener.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("testTransformation")
+ at Scope(SESSION)
+public class TestTransformation implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	private static Logger logger = Logger.getLogger(TestTransformation.class);
+
+	@In(create=true)
+	private EntityManager entityManager;
+
+	@In(required=false) @Out(scope=SESSION)
+	private TestTransformationView testView;
+	
+	private byte[] testData;
+
+	public String show() {
+		if(testView == null) {
+			// How do we get Seam to autocreate the instance?? Tried the create=true annotation but no joy!
+			testView = new TestTransformationView();
+		}
+		
+		if(!SelectMessageExchangeAction.isMessageExchangeSelected()) {
+			SeamViewIdStack.getInstance().pushViewId("test-transformation");
+			return "select-message-exchange";
+		}
+		
+		return "test-transformation";
+	}
+	
+	public void applyResources() throws UnsupportedEncodingException {
+        SmooksStandalone smooks = new SmooksStandalone("UTF-8");
+        ByteArrayInputStream config = new ByteArrayInputStream(SmooksResourceList.getList(entityManager).getBytes("UTF-8"));
+        ByteArrayInputStream input = new ByteArrayInputStream(testView.getInput().getBytes("UTF-8"));
+        MessageExchange exchange = SelectMessageExchangeAction.getMessageExchange();
+        
+        try {
+			smooks.registerResources("Console Resources", config);
+		} catch (Throwable t) {
+			logger.error("Error loading transformation resources.", t);
+			testView.setOutput("Error Loading Transformation Resources...\n\n" + t.getClass().getName() + ": " + t.getMessage() + "\n\nCheck Java console.");
+			return;
+		}
+		
+        try {
+        	String[] profiles = exchange.getUseragentProfiles();
+        	
+        	if(profiles == null || profiles.length == 0) {
+        		smooks.registerUseragent(exchange.getExchangeUseragentString());
+        	} else {
+        		smooks.registerUseragent(exchange.getExchangeUseragentString(), profiles);
+        	}
+		} catch (Throwable t) {
+			logger.error("Error registering Smooks message profiles.", t);
+			testView.setOutput("Error registering Smooks message profiles...\n\n" + t.getClass().getName() + ": " + t.getMessage() + "\n\nCheck Java console.");
+			return;
+		}
+		
+        try {
+        	String output = smooks.filterAndSerialize(exchange.getExchangeUseragentString(), input);        	
+        	testView.setOutput(format(output));
+		} catch (Throwable t) {
+			logger.error("Error in applying Transformation/Analysis resources to message.", t);
+			if(t instanceof SmooksException && t.getCause() instanceof SAXException) {
+				testView.setOutput("Transformation Exception...\n\n" + t.getClass().getName() + ": " + t.getMessage() + "\n\nCheck Java console.\n\nNOTE: This particular error was caused by a " + t.getCause().getClass().getName() + " exception which can result from attempting to parse the incomming message with the wrong SAX Parser.  If the message is not an XML message, you must specify an appropriate parser.");
+			} else {
+				testView.setOutput("Transformation Exception...\n\n" + t.getClass().getName() + ": " + t.getMessage() + "\n\nCheck Java console.");
+			}
+		}
+	}
+
+	private static TransformerFactory factory = TransformerFactory.newInstance();
+
+	/**
+	 * Attempt to format the output.
+	 * @param output Output to be formatted.
+	 * @return Output.
+	 */
+	private String format(String output) {
+		StreamSource source = new StreamSource(new ByteArrayInputStream(output.getBytes()));
+		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+		
+		try {
+			Transformer transformer;
+			
+			// There's a bug in Java 5 re this code (formatting).
+			// See http://forum.java.sun.com/thread.jspa?threadID=562510&start=0 and it explains the
+			// whys of the following code.
+			transformer = factory.newTransformer();
+			transformer.setOutputProperty(OutputKeys.INDENT, "yes");			
+			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "4");
+			transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+			transformer.transform(source, new StreamResult(outStream));
+			
+			return outStream.toString();
+		} catch (Exception e) {
+			return output;
+		}
+	}
+	
+	public void loadTestData() {
+		if(testData != null) {
+			testView.setInput(new String(testData));
+		}
+	}
+	
+	public byte[] getTestData() {
+		return testData;
+	}
+
+	public void setTestData(byte[] testData) {
+		this.testData = testData;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,61 @@
+/*
+ * 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.admin.console.transform;
+
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Test Transformation View.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("testTransformationView")
+public class TestTransformationView {
+
+	private String input;
+	private String output;
+	
+	/**
+	 * @return Returns the input.
+	 */
+	public String getInput() {
+		return input;
+	}
+	/**
+	 * @param input The input to set.
+	 */
+	public void setInput(String input) {
+		this.input = input;
+	}
+	/**
+	 * @return Returns the output.
+	 */
+	public String getOutput() {
+		return output;
+	}
+	/**
+	 * @param output The output to set.
+	 */
+	public void setOutput(String output) {
+		this.output = output;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,165 @@
+/*
+ * 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.admin.console.transform;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.validator.NotNull;
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Transformation resource.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Entity
+ at Name("transResource")
+public class TransformationResource implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	private String id;
+	private String name;
+	private String useragent;
+	private String selector;
+	private String namespace;
+	private String path;
+	private List<TransformationResourceParameter> parameters;
+
+	/**
+	 * @return Returns the id.
+	 */
+	@Id @GeneratedValue(generator="system-uuid")
+	@GenericGenerator(name="system-uuid", strategy = "uuid")
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * @param id The id to set.
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+	
+	/**
+	 * @return Returns the namespace.
+	 */
+	public String getNamespace() {
+		return namespace;
+	}
+	/**
+	 * @param namespace The namespace to set.
+	 */
+	public void setNamespace(String namespace) {
+		this.namespace = namespace;
+	}
+	/**
+	 * @return Returns the path.
+	 */
+	public String getPath() {
+		return path;
+	}
+	/**
+	 * @param path The path to set.
+	 */
+	public void setPath(String path) {
+		this.path = path;
+	}
+	/**
+	 * @return Returns the parameters.
+	 */
+	@OneToMany(mappedBy="transResource")
+	public List<TransformationResourceParameter> getParameters() {
+		return parameters;
+	}
+	/**
+	 * @param parameters The parameters to set.
+	 */
+	public void setParameters(List<TransformationResourceParameter> parameters) {
+		this.parameters = parameters;
+	}
+	/**
+	 * @return Returns the selector.
+	 */
+	@NotNull
+	public String getSelector() {
+		return selector;
+	}
+	/**
+	 * @param selector The selector to set.
+	 */
+	public void setSelector(String selector) {
+		this.selector = selector;
+	}
+	/**
+	 * @return Returns the useragent.
+	 */
+	public String getUseragent() {
+		return useragent;
+	}
+	/**
+	 * @param useragent The useragent to set.
+	 */
+	public void setUseragent(String useragent) {
+		this.useragent = useragent;
+	}
+
+	/**
+	 * @return Returns the name.
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * Is the specified parameter configured on the supplied transformation resource configuration. 
+	 * @param paramName The parameter to check for.
+	 * @param transResource The resource to check.
+	 * @return True if the parameter is set, otherwise false.
+	 */
+	public static boolean isParamaterSet(String paramName, TransformationResource transResource) {
+		if(transResource.parameters == null || transResource.parameters.isEmpty()) {
+			return false;
+		}
+		
+		for(TransformationResourceParameter param : transResource.getParameters()) {
+			if(param.getName().equals(paramName)) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,153 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.validator.NotNull;
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Transformation Resource Parameter.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Entity
+ at Name("transResourceParameter")
+public class TransformationResourceParameter implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	private String id;
+	private TransformationResource transResource;
+	private String name;
+	private String type;
+	private String value;
+
+	public TransformationResourceParameter() {
+	}
+
+	public TransformationResourceParameter(String name, String type, String value) {
+		this.name = name;
+		this.type = type;
+		setValueAsString(value);
+	}
+
+	/**
+	 * @return Returns the id.
+	 */
+	@Id @GeneratedValue(generator="system-uuid")
+	@GenericGenerator(name="system-uuid", strategy = "uuid")
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * @param id The id to set.
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	/**
+	 * @return Returns the transResource.
+	 */
+	@ManyToOne
+	public TransformationResource getTransResource() {
+		return transResource;
+	}
+
+	/**
+	 * @param transResource The transResource to set.
+	 */
+	public void setTransResource(TransformationResource transResource) {
+		this.transResource = transResource;
+	}
+	
+	/**
+	 * @return Returns the name.
+	 */
+	@NotNull
+	public String getName() {
+		return name;
+	}
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+	/**
+	 * @return Returns the valueAsString.
+	 */
+	@NotNull
+	@Transient
+	public String getValueAsString() {
+		if(value == null) {
+			return null;
+		}
+		return new String(value);
+	}
+	/**
+	 * @param valueAsString The valueAsString to set.
+	 */
+	public void setValueAsString(String value) {
+		this.value = value;
+	}
+
+	/**
+	 * @return Returns the value.
+	 */
+	@Lob
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * @param value The value to set.
+	 */
+	public void setValue(String value) {
+		this.value = value;
+	}
+
+	/**
+	 * @return Returns the type.
+	 */
+	@Column(name="param_type")
+	public String getType() {
+		return type;
+	}
+
+	/**
+	 * @param type The type to set.
+	 */
+	public void setType(String type) {
+		this.type = type;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,196 @@
+/*
+ * 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.admin.console.transform;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.validator.NotNull;
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Transformation Resource Parameter Specification Spec.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Entity
+ at Name("transResourceParameterSpec")
+public class TransformationResourceParameterSpec implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	private String id;
+	private String name;
+	private String description;
+	private boolean required;
+	private String type;
+	private String value;
+	private TransformationResourceSpec resourceSpec;
+	
+	/**
+	 * @return Returns the description.
+	 */
+	@Lob
+	public String getDescription() {
+		return description;
+	}
+	/**
+	 * @param description The description to set.
+	 */
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	@NotNull
+	@Transient
+	public String getDescriptionAsString() {
+		if(description == null) {
+			return null;
+		}
+		return new String(description);
+	}
+	public void setDescriptionAsString(String description) {
+		this.description = description;
+	}
+
+	/**
+	 * @return Returns the id.
+	 */
+	@Id @GeneratedValue(generator="system-uuid")
+	@GenericGenerator(name="system-uuid", strategy = "uuid")
+	public String getId() {
+		return id;
+	}
+	/**
+	 * @param id The id to set.
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+	/**
+	 * @return Returns the name.
+	 */
+	public String getName() {
+		return name;
+	}
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+	/**
+	 * @return Returns the required.
+	 */
+	public boolean isRequired() {
+		return required;
+	}
+	/**
+	 * @param required The required to set.
+	 */
+	public void setRequired(boolean required) {
+		this.required = required;
+	}
+	/**
+	 * @return Returns the resourceSpec.
+	 */
+	@ManyToOne
+	public TransformationResourceSpec getResourceSpec() {
+		return resourceSpec;
+	}
+	/**
+	 * @param resourceSpec The resourceSpec to set.
+	 */
+	public void setResourceSpec(TransformationResourceSpec resourceSpec) {
+		this.resourceSpec = resourceSpec;
+	}
+	/**
+	 * @return Returns the value.
+	 */
+	@Lob
+	public String getValue() {
+		return value;
+	}
+	/**
+	 * @param value The value to set.
+	 */
+	public void setValue(String value) {
+		this.value = value;
+	}
+	/**
+	 * @return Returns the valueAsString.
+	 */
+	@NotNull
+	@Transient
+	public String getValueAsString() {
+		return value;
+	}
+	/**
+	 * @param valueAsString The valueAsString to set.
+	 */
+	public void setValueAsString(String value) {
+		this.value = value;
+	}
+	/**
+	 * @return Returns the type.
+	 */
+	@Column(name="param_type")
+	public String getType() {
+		return type;
+	}
+	/**
+	 * @param type The type to set.
+	 */
+	public void setType(String type) {
+		this.type = type;
+	}
+	
+	/**
+	 * Construc a TransformationResourceParameter instance from this spec.
+	 * @return The TransformationResourceParameter instance.
+	 */
+	@Transient
+	public Object toTransformationResourceParameter() {
+		TransformationResourceParameter parameter = new TransformationResourceParameter();
+		
+		parameter.setName(getName());
+		parameter.setType(getType());
+		parameter.setValue(getValue());
+		
+		return parameter;
+	}
+	
+	/**
+	 * Is the value of this parameter preset from the specification.
+	 * @return True if the value is preset, otherwise false.
+	 */
+	@Transient
+	public boolean isPreset() {
+		return (value != null && value.length() > 0);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,196 @@
+/*
+ * 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.admin.console.transform;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.validator.NotNull;
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Transformation Resource Specification.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Entity
+ at Name("transResourceSpec")
+public class TransformationResourceSpec implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	private String id;
+	private String name;
+	private String description;
+	private String path;
+	private String selector;
+	private String namespace;
+	private String reference;
+	private List<TransformationResourceParameterSpec> parameters;
+	
+	/**
+	 * @return Returns the id.
+	 */
+	@Id @GeneratedValue(generator="system-uuid")
+	@GenericGenerator(name="system-uuid", strategy = "uuid")
+	public String getId() {
+		return id;
+	}
+	/**
+	 * @param id The id to set.
+	 */
+	public void setId(String id) {
+		this.id = id;
+	}
+	/**
+	 * @return Returns the namespace.
+	 */
+	public String getNamespace() {
+		return namespace;
+	}
+	/**
+	 * @param namespace The namespace to set.
+	 */
+	public void setNamespace(String namespace) {
+		this.namespace = namespace;
+	}
+	/**
+	 * @return Returns the parameters.
+	 */
+	@OneToMany(mappedBy="resourceSpec")
+	@OrderBy("value") // to force the unset and preset specs to be grouped seperately
+	public List<TransformationResourceParameterSpec> getParameters() {
+		return parameters;
+	}
+	/**
+	 * @param parameters The parameters to set.
+	 */
+	public void setParameters(List<TransformationResourceParameterSpec> parameters) {
+		this.parameters = parameters;
+	}
+	/**
+	 * @return Returns the path.
+	 */
+	public String getPath() {
+		return path;
+	}
+	/**
+	 * @param path The path to set.
+	 */
+	public void setPath(String path) {
+		this.path = path;
+	}
+	/**
+	 * @return Returns the selector.
+	 */
+	public String getSelector() {
+		return selector;
+	}
+	/**
+	 * @param selector The selector to set.
+	 */
+	public void setSelector(String selector) {
+		this.selector = selector;
+	}
+	/**
+	 * @return Returns the description.
+	 */
+	@Lob
+	public String getDescription() {
+		return description;
+	}
+	/**
+	 * @param description The description to set.
+	 */
+	public void setDescription(String description) {
+		this.description = description;
+	}
+	@NotNull
+	@Transient
+	public String getDescriptionAsString() {
+		if(description == null) {
+			return null;
+		}
+		return new String(description);
+	}
+	public void setDescriptionAsString(String description) {
+		this.description = description;
+	}
+	/**
+	 * @return Returns the name.
+	 */
+	public String getName() {
+		return name;
+	}
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+	/**
+	 * @return Returns the reference.
+	 */
+	public String getReference() {
+		return reference;
+	}
+	/**
+	 * @param reference The reference to set.
+	 */
+	public void setReference(String reference) {
+		this.reference = reference;
+	}
+	
+	/**
+	 * Construct a {@link TransformationResource} instance from this spec.
+	 * @return The {@link TransformationResource} instance.
+	 */
+	@Transient
+	public TransformationResource toTransformationResource() {
+		TransformationResource transResource = new TransformationResource();
+		
+		transResource.setName(getName());
+		transResource.setPath(getPath());
+		transResource.setSelector(getSelector());
+		transResource.setNamespace(getNamespace());
+
+		// Copy over the preset resource execution parameters...
+		List parameterList = new ArrayList<TransformationResourceParameter>();
+		transResource.setParameters(parameterList);
+		for(TransformationResourceParameterSpec spec : getParameters()) {
+			if(spec.isPreset()) {
+				parameterList.add(spec.toTransformationResourceParameter());
+			}
+		}
+		
+		
+		return transResource;
+	}	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,201 @@
+/*
+ * 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.admin.console.transform.importexport;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.apache.log4j.Logger;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.core.FacesMessages;
+import org.jboss.soa.esb.admin.console.UpdateNotifier;
+import org.jboss.soa.esb.admin.console.transform.NewResource;
+import org.jboss.soa.esb.admin.console.transform.SmooksResourceList;
+import org.jboss.soa.esb.admin.console.transform.SmooksUtils;
+import org.jboss.soa.esb.admin.console.transform.TransformationResource;
+import org.jboss.soa.esb.admin.console.transform.TransformationResourceParameter;
+import org.milyn.cdr.Parameter;
+import org.milyn.cdr.SmooksResourceConfiguration;
+import org.milyn.cdr.SmooksResourceConfigurationList;
+import org.milyn.cdr.UseragentExpression;
+import org.milyn.cdr.XMLConfigDigester;
+import org.xml.sax.SAXException;
+
+/**
+ * Imports/Exports Smooks transformation resource condifurations.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("resourceImportExport")
+ at Scope(CONVERSATION)
+public class ResourceImportExport implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	private static Logger logger = Logger.getLogger(ResourceImportExport.class);
+	
+	@In(create=true)
+	private EntityManager entityManager;
+
+	@In(create=true)
+	private UpdateNotifier updateNotifier;
+	
+	private byte[] importData;
+	
+	@Out(required=false)
+	private String exportData;
+
+	@Begin(join=true)
+	public String show() {
+		importData = null;
+		exportData = null;
+		
+		return "import-export-resources";
+	}
+	
+	public void importResources() {	
+		if(importData != null) {
+			try {
+				loadConfigurations(new ByteArrayInputStream(importData));
+			} catch (SAXException e) {
+				FacesMessages.instance().add("Import Failed.  Invalid Configuration: " + e.getMessage());
+				logger.warn("Import Failed.  Invalid Configuration: " + e.getMessage());
+				return;
+			} catch (IOException e) {
+				FacesMessages.instance().add("Import Failed.  Error Reading Configuration: " + e.getMessage());
+				logger.warn("Import Failed.  Error Reading Configuration: " + e.getMessage());
+				return;
+			}
+			
+			logger.info("Successfully imported resources.");
+			if(logger.isDebugEnabled()) {
+				logger.debug("Imported:\n[" + new String(importData) + "]");
+			}
+			updateNotifier.sendNotification();
+		} else {
+			logger.warn("Resource imported request received, but no import data!!");
+		}
+	}
+	
+	public void exportResources() {
+		exportData = SmooksResourceList.getList(entityManager);
+		logger.info("Successfully exported resources.");
+	}
+	
+	@End
+	public String home() {
+		return "home";
+	}
+
+	private void loadConfigurations(InputStream resStream) throws SAXException, IOException {
+		SmooksResourceConfigurationList resList = XMLConfigDigester.digestConfig("import-list", resStream);
+
+		for(int i = 0; i < resList.size(); i++) {
+			TransformationResource transResource = toTransformationResource(resList.get(i));
+			
+			NewResource.persistNewResource(transResource, entityManager);
+		}
+	}
+
+	private TransformationResource toTransformationResource(SmooksResourceConfiguration configuration) {
+		TransformationResource resource = new TransformationResource();
+		
+		resource.setUseragent(getUseragentString(configuration.getUseragentExpressions()));
+		resource.setSelector(configuration.getSelector());
+		resource.setPath(configuration.getPath());
+		resource.setNamespace(configuration.getNamespaceURI());
+		
+		List smooksParams = configuration.getParameters();
+		resource.setParameters(new ArrayList<TransformationResourceParameter>());
+		for(int i = 0; i < smooksParams.size(); i++) {
+			Object listEntry = smooksParams.get(i);
+			if(listEntry instanceof List) {
+				List parameterGroup = (List)listEntry; 
+				for(int ii = 0; ii < parameterGroup.size(); ii++) {
+					Parameter param = (Parameter)parameterGroup.get(ii);
+					addParameter(resource, param);
+				}
+			} else if(listEntry instanceof Parameter) {
+				Parameter param = (Parameter)listEntry;
+				addParameter(resource, param);
+			}
+		}
+		
+		return resource;
+	}
+
+	private void addParameter(TransformationResource resource, Parameter param) {
+		if(param.getName().equals(SmooksUtils.RESOURCE_NAME_PARAM)) {
+			// This is not a "real" parameter.  It's just how we get over the fact that the SmooksResourceConfiguration
+			// class doesn't have "name" attribute like the TransformationResource class.  So, we import and export
+			// as a resource parameter.
+			resource.setName(param.getValue());
+		} else {
+			TransformationResourceParameter parameter;
+			parameter = new TransformationResourceParameter(param.getName(), param.getType(), param.getValue());
+			parameter.setTransResource(resource);
+			resource.getParameters().add(parameter);
+		}
+	}
+
+	
+	private String getUseragentString(UseragentExpression[] useragentExpressions) {
+		StringBuffer string = new StringBuffer();
+		
+		for(int i = 0; i < useragentExpressions.length; i++) {
+			string.append(useragentExpressions[i].getExpression());
+			if(i < (useragentExpressions.length - 1)) {
+				string.append(", ");
+			}
+		}
+		
+		return string.toString();
+	}
+
+	public byte[] getImportData() {
+		return importData;
+	}
+
+	public void setImportData(byte[] importData) {
+		this.importData = importData;
+	}
+
+	public String getExportData() {
+		return exportData;
+	}
+
+	public void setExportData(String exportData) {
+		this.exportData = exportData;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+/*
+ * 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.admin.console;
+
+import static org.testng.AssertJUnit.assertEquals;
+
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+import org.testng.annotations.Test;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MessageTypeTest {
+
+	@Test
+	public void test_toString() {
+		MessageContract messageType = new MessageContract("text/xml", "org.jboss.XService#getSomething", "http://org.jboss/XService/get-something.xsd");
+		
+		assertEquals("text/xml:org.jboss.XService#getSomething", messageType.toString());
+		
+		messageType.setMessageDescription(null);
+		assertEquals("text/xml:org.jboss.XService#getSomething", messageType.toString());
+		
+		messageType.setNamespace(null);
+		assertEquals("text/xml", messageType.toString());
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/testng.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/testng.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/testng.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,11 @@
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+
+<suite name="JBoss ESB Admin Console." verbose="2" parallel="false">
+
+   <test name="All">
+      <packages>
+         <package name="org.jboss.soa.esb.admin.console.*" />
+      </packages>
+   </test>
+	
+</suite>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,60 @@
+/*
+ * 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.admin.console.transform;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.milyn.io.StreamUtils;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksResourceListTest {
+
+	/*
+	 * Test method for 'org.jboss.soa.esb.admin.console.transform.SmooksResourceListConverter.getAsString(FacesContext, UIComponent, Object)'
+	 */
+	@Test
+	public void test_getAsString() throws IOException {
+		List<TransformationResource> transList = new ArrayList<TransformationResource>();
+		TransformationResource res = new TransformationResource();
+		
+		res.setName("res-name");
+		res.setNamespace("ns");
+		res.setPath("path");
+		res.setSelector("selector");
+		res.setUseragent("ua");
+		res.setParameters(Arrays.asList(new TransformationResourceParameter[] {new TransformationResourceParameter("name", null, "value")}));
+		transList.add(res);
+		transList.add(res);
+	
+		String expected = new String(StreamUtils.readStream(getClass().getResourceAsStream("expected-1.txt")));
+		AssertJUnit.assertEquals(expected, SmooksResourceList.getList(transList));
+	}
+	
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform;
+
+import static org.testng.AssertJUnit.assertEquals;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+import org.jboss.soa.esb.admin.console.exchange.MessageExchange;
+import org.jboss.soa.esb.admin.console.exchange.participant.Participant;
+import org.testng.annotations.Test;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksUtilsTest {
+
+	/*
+	 * Test method for 'org.jboss.soa.esb.admin.console.transform.SmooksUtils.getMessageExchangeConfigs(MessageExchange, List<TransformationResource>)'
+	 */
+	@Test
+	public void test_getMessageExchangeConfigs() {
+		MessageExchange flow = new MessageExchange();
+		List<TransformationResource> allResources = new ArrayList<TransformationResource>();
+		List<TransformationResource> flowResources;
+		TransformationResource resource;
+		
+		resource = new TransformationResource();
+		resource.setUseragent(MessageExchange.FROM + "A");
+		resource.setSelector("header");
+		allResources.add(resource);
+		
+		resource = new TransformationResource();
+		resource.setUseragent(MessageExchange.FROM + "A AND " + MessageExchange.TO + "B");
+		resource.setSelector("header");
+		allResources.add(resource);
+		
+		resource = new TransformationResource();
+		resource.setUseragent("*");
+		resource.setSelector("header");
+		allResources.add(resource);
+		
+		resource = new TransformationResource();
+		resource.setUseragent(MessageExchange.FROM + "B");
+		resource.setSelector("body");
+		allResources.add(resource);
+		
+		resource = new TransformationResource();
+		resource.setUseragent(MessageExchange.FROM + "B AND " + MessageExchange.TO_TYPE + "text/xml");
+		resource.setSelector("body");
+		allResources.add(resource);
+		
+		resource = new TransformationResource();
+		resource.setUseragent(MessageExchange.FROM + "B AND " + "not:" + MessageExchange.FROM_TYPE + "text/xml");
+		resource.setSelector("body");
+		allResources.add(resource);
+		
+		resource = new TransformationResource();
+		resource.setUseragent(MessageExchange.FROM + "C");
+		resource.setSelector("legs");
+		allResources.add(resource);
+
+		// Set the flow and run some tests...
+		flow.setFrom(new Participant("A"));
+		flowResources = SmooksUtils.getMessageExchangeConfigs(flow, allResources);
+		assertEquals(2, flowResources.size());
+		assertEquals(allResources.get(0), flowResources.get(0)); // 1st
+		assertEquals(allResources.get(2), flowResources.get(1)); // 3rd - useragent="*"
+
+		// Change the flow and run some more tests...
+		flow.setFrom(new Participant("A"));
+		flow.setTo(new Participant("B"));
+		flowResources = SmooksUtils.getMessageExchangeConfigs(flow, allResources);
+		assertEquals(3, flowResources.size());
+		assertEquals(allResources.get(1), flowResources.get(0)); // 2nd - useragent expression is more specific
+		assertEquals(allResources.get(0), flowResources.get(1)); // 1st
+		assertEquals(allResources.get(2), flowResources.get(2)); // 3rd - useragent="*"
+
+		flow.reset();
+		
+		// Change the flow and run some more tests...
+		flow.setFrom(new Participant("B"));
+		flow.setFromMessageType(new MessageContract("text/xml", null, null));
+		flowResources = SmooksUtils.getMessageExchangeConfigs(flow, allResources);
+		assertEquals(2, flowResources.size());
+		assertEquals(allResources.get(3), flowResources.get(0)); // 4th
+		assertEquals(allResources.get(2), flowResources.get(1)); // 3rd - useragent="*"
+
+		// Change the flow and run some more tests...
+		flow.setFrom(new Participant("B"));
+		flow.setFromMessageType(new MessageContract("text/xml", null, null));
+		flow.setToMessageType(new MessageContract("text/xml", null, null));
+		flowResources = SmooksUtils.getMessageExchangeConfigs(flow, allResources);
+		assertEquals(3, flowResources.size());
+		assertEquals(allResources.get(4), flowResources.get(0)); // 5th
+		assertEquals(allResources.get(3), flowResources.get(1)); // 4th
+		assertEquals(allResources.get(2), flowResources.get(2)); // 3rd - useragent="*"
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/expected-1.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/expected-1.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/expected-1.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE smooks-resource-list PUBLIC "-//MILYN//DTD SMOOKS 1.0//EN" "http://www.milyn.org/dtd/smooksres-list-1.0.dtd">
+<smooks-resource-list>
+
+	<smooks-resource selector="selector" useragent="ua" namespace="ns" path="path" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[res-name]]></param>
+		<param name="name"><![CDATA[value]]></param>
+	</smooks-resource>
+	<smooks-resource selector="selector" useragent="ua" namespace="ns" path="path" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[res-name]]></param>
+		<param name="name"><![CDATA[value]]></param>
+	</smooks-resource>
+</smooks-resource-list>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,68 @@
+/*
+ * 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.admin.console.transform.flow;
+
+import static org.testng.AssertJUnit.assertEquals;
+
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+import org.jboss.soa.esb.admin.console.exchange.MessageExchange;
+import org.jboss.soa.esb.admin.console.exchange.participant.Participant;
+import org.testng.annotations.Test;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MessageContractTest {
+
+	@Test
+	public void test_getExchangeUseragentString_and_getExchangeUseragentStringAsHtml_getExchangeAsHtml() {
+		MessageExchange flow = new MessageExchange();
+		
+		flow.setFrom(new Participant("jms://x.y"));
+		flow.setFromMessageType(new MessageContract("text/xml", null, null));
+		flow.setTo(new Participant("file://x.y"));
+		flow.setToMessageType(new MessageContract("text/xml", null, null));
+		
+		assertEquals("from-type:text/xml AND from:jms://x.y AND to-type:text/xml AND to:file://x.y", flow.getExchangeUseragentString());
+		assertEquals("<b>from-type:</b>text/xml<br/>AND<br/><b>from:</b>jms://x.y<br/>AND<br/><b>to-type:</b>text/xml<br/>AND<br/><b>to:</b>file://x.y", flow.getExchangeUseragentStringAsHtml());
+		assertEquals("<b>from-type:</b> text/xml<br/><b>from:</b> jms://x.y<br/><b>to-type:</b> text/xml<br/><b>to:</b> file://x.y", flow.getExchangeAsHtml());
+
+		flow.setTo(null);
+		assertEquals("from-type:text/xml AND from:jms://x.y AND to-type:text/xml", flow.getExchangeUseragentString());
+		assertEquals("<b>from-type:</b>text/xml<br/>AND<br/><b>from:</b>jms://x.y<br/>AND<br/><b>to-type:</b>text/xml<br/>AND<br/><b>to:</b>*", flow.getExchangeUseragentStringAsHtml());
+		assertEquals("<b>from-type:</b> text/xml<br/><b>from:</b> jms://x.y<br/><b>to-type:</b> text/xml<br/><b>to:</b> *", flow.getExchangeAsHtml());
+
+		flow.setToMessageType(null);
+		assertEquals("from-type:text/xml AND from:jms://x.y", flow.getExchangeUseragentString());
+		assertEquals("<b>from-type:</b>text/xml<br/>AND<br/><b>from:</b>jms://x.y<br/>AND<br/><b>to-type:</b>*<br/>AND<br/><b>to:</b>*", flow.getExchangeUseragentStringAsHtml());
+		assertEquals("<b>from-type:</b> text/xml<br/><b>from:</b> jms://x.y<br/><b>to-type:</b> *<br/><b>to:</b> *", flow.getExchangeAsHtml());
+		
+		flow.setFrom(null);
+		assertEquals("from-type:text/xml", flow.getExchangeUseragentString());
+		assertEquals("<b>from-type:</b>text/xml<br/>AND<br/><b>from:</b>*<br/>AND<br/><b>to-type:</b>*<br/>AND<br/><b>to:</b>*", flow.getExchangeUseragentStringAsHtml());
+		assertEquals("<b>from-type:</b> text/xml<br/><b>from:</b> *<br/><b>to-type:</b> *<br/><b>to:</b> *", flow.getExchangeAsHtml());
+
+		flow.setFromMessageType(null);
+		assertEquals("*", flow.getExchangeUseragentString());
+		assertEquals("All Messages", flow.getExchangeUseragentStringAsHtml());
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/about.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/about.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/about.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,219 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div id="main" class="section">
+		<h2>About JBoss ESB Message Transformation &amp; Analysis</h2>
+		<a href="#features">1. Features</a><br/>
+		<a href="#configuring">2. Configuring JBoss ESB Transformations</a><br/>
+		<a href="#custom-java">3. Creating and Using Custom Java Transformations</a><br/>
+		<a href="#faqs">4. FAQs</a><br/>
+		<a href="#flash-demos">5. Flash Demos</a>
+
+	<div id="jboss-esb-trans-analysis" class="section">
+		
+		<div class="section">
+		<h2 id="features">1. Features</h2>
+		The features of JBoss ESB Transformation are based largely on those of <a href="http://milyn.codehaus.org/Smooks">Milyn Smooks</a>.
+		<a href="features.seam">Read more...</a>
+		</div>
+		
+		<div class="section">
+		<h2 id="configuring">2. Configuring JBoss ESB Transformations</h2>
+		Under JBoss ESB, message transformations are performed relative to a <a href="#message-exchange">Message Exchange</a>.  Transformations
+		are carried out on messages as they are exchanged between 2 <a href="#message-exchange-participant">Message Exchange Particpants</a>.
+		<p/>
+		The basic steps taken to configure a Transformation Resource under JBoss ESB are as follows:
+		<div class="indent">		
+		<ol>
+			<li><b>Create the Message Exchange Participants</b>.  This is done through the "Manage Message Exchange Participants" wizard off the console main menu.  Obviously, this only 
+				needs to be done once for the lifetime of each participant.  If the participant is a Service, use the Service Logical Name.  Otherwise,
+				simply make up a meaningful unique name for the Participant (e.g. the component name).</li>
+			<li><b>Configure the "<a href="#message-contract">Message Contracts</a>"</b> associated with each Message Exchange Participant .  This is done through the 
+				"Configure New Message Contract" wizard off the console main menu.  This is basically
+				a process of defining the types of messages that a Participant can produce or consume.  Note that a Participant can potentially produce or consume more than 1 message type.</li>
+			<li><b>Set the active <a href="#message-exchange">Message Exchange</a></b> for the browser session.  This sets the Message Exchange to be associated with all future
+				transformation configurations made on this browser session.  If not already set, the console will automatically redirect the user to set the active Message Exchange.</li>
+			<li><b>Configure and target the new Resource</b>.  This is a 4 step process:
+				<ol style="list-style-type: lower-roman">
+					<li>Select "Configure New Resource" from the console main menu.</li>
+					<li>Select a template upon which to base the new configuration.  For example, if you simply wish to specify an XSLT transformation, select one of the XSLT Resource
+						templates from the list.</li>
+					<li>Fill in the template.  This may include setting execution parameters for the resource.</li>
+					<li>Target the new resource configuration at a Message Exchange (and Fragment within the message).  The Message Exchange details will be pre-populated
+						based on the active Message Exchange selection, <a href="#how-do-i-modify-the-default-exchange-targeting">but can be tweaked</a> 
+						in order to widen or narrow the selection.
+					</li>
+				</ol>
+			</li>
+		</ol>
+		</div>
+		Transforming a message in JBoss ESB may involve "targeting" multiple resources at a Message Exchange - basically repeating step 4 (above) multiple times.
+		Creating these configurations is not enough however.  You also need to tell the ESB when to perform a transformation.  This is done by configuring the
+		<i>org.jboss.soa.esb.actions.converters.SmooksTransformer</i> ActionProcessor in an Action Pipeline at the point at which the message transformation 
+		needs to take place i.e. at the point of message exchange between 2 components (Message Exchange Participants).  The transformation specific pipeline 
+		&lt;action&gt; attributes specify the Message Exchange for which transformation needs to take place.
+<pre>
+	&lt;action class="org.jboss.soa.esb.actions.converters.SmooksTransformer"
+		<b>from</b>="DVDStore:OrderManagementService"
+		<b>from-type</b>="text/xml:createOrder"
+		<b>to</b>="DVDStore:NotificationService"
+		<b>to-type</b>="text/xml:notify" /&gt;
+</pre>
+		</div>
+
+		<div class="section">
+		<h2 id="custom-java">3. Creating Custom Java Transformations</h2>
+		TODO!!
+		</div>
+		
+		<div class="section">
+		<h2 id="faqs">4. FAQs</h2>
+		<a href="#message-exchange">What is a Message Exchange?</a><br/>
+		<a href="#message-exchange-participant">What is a Message Exchange Participant?</a><br/>
+		<a href="#message-contract">What is a Message Contract?</a><br/>
+		<a href="#why-not-just-type-info">Why can't I define transformations purely in terms of message typing information?</a><br/>
+		<a href="#notify-esb-instances">How do I configure my ESB instance(s) to be notified of configuration updates made in the Admin Console?</a><br/>
+		<a href="#how-do-i-modify-the-default-exchange-targeting">How do I modify the default Message Exchange Targeting information?</a><br/>
+	
+		<div id="message-exchange" class="section">
+			<h3>What is a "Message Exchange"?</h3>
+			Within the context of JBoss ESB, message transformations are performed in order to make a messages "produced" by one entity "<i>A</i>",
+			"consumable" by another entity "<i>B</i>".  We refer to this interaction as a "Message Exchange", with entities "<i>A</i>" and "<i>B</i>" 
+			being the "Exchange Participants".
+			<p/>
+			We use the term "Participant" (Vs terms like "Service" or "Endpoint") simply because JBoss ESB acknowledges the fact that transformations often need to
+			happen in many different scenarios and between all sorts of "participants", not just Service Endpoints.
+			<p/>
+			All JBoss ESB Transformations are defined in terms of a "Message Exchange".  This therefore means they are defined with respect to the two Participants
+			involved in that Message Exchange, as well as the message typing information associated with the message being exchanged between the 2 participants.
+			Therefore, the 4 properties of all Message Exchanges are:
+			<div class="indent">		
+			<ol>
+				<li><b>from</b>: Message producer participant name,</li>
+				<li><b>from-type</b>: Message producer message type (message type produced), </li>
+				<li><b>to</b>: Message consumer participant name,</li>
+				<li><b>to-type</b>: Message consumer message type (message type consumed), </li>
+			</ol>
+			</div>
+			Note that any message exchange participant can potentially produce or consume multiple message types.
+			<p/>
+			This approach to targeting transformation resources often raises the question 
+			"<a href="#why-not-just-type-info">Why can't I define transformations purely in terms of message typing information?</a>".
+		</div>
+		
+		<div id="message-exchange-participant" class="section">
+			<h3>What is a "Message Exchange Participant"?</h3>
+			See <a href="#message-exchange">What is a Message Exchange?</a>
+		</div>
+
+		<div id="message-contract" class="section">
+			<h3>What is a "Message Contract"?</h3>
+			A "Message Contract" is effective half of a full <a href="#message-exchange">Message Exchange</a>.  It simply associates a Message Participant
+			with a Message Type, indicating whether the participant "Produces" or "Consumes" that Message Type.  Message Contracts are required to
+			support easier setting of the <a href="#message-exchange">Message Exchange</a> associated with a Transformation or Analysis resource configuration.
+		</div>
+		
+		<div id="why-not-just-type-info" class="section">
+			<h3>Why can't I define transformations purely in terms of message typing information?</h3>
+			In many situations (possibly most), message transformations can be defined purely in terms of message typing information i.e.
+			transform from message "Type-A" to message "Type-B".  JBoss ESB, adds additional selection properties based on the two
+			participants involved in the <a href="#message-exchange">message exchange</a>.  We do this simply because these parameters
+			can often be very relevant to both structural and non-structural transformations within a message:
+			<div class="indent">		
+			<ul>
+				<li><b>Structural</b>: In situations where the message consumer doesn't properly support the incoming message format, it may 
+					be necessary to tweak a valid message in order to make it consumable.  An example of this could be where the message consumer fails
+					to consume the message because it fails to adopt default values for optional attributes.  The transformation could be simply to
+					make sure the message contains an appropriate attribute value for that exchange participant.</li>
+				<li><b>Non-Structural</b>: Many transformations are non-structural in nature.  They don't involve modifying the basic message structure, but
+					instead operate on inter-structural content e.g. attribute or element values.  Proper execution of these types of transformation will often
+					be sensitive to the message exchange participants producing or consuming the message.</li>
+			</ul>
+			</div>
+			Future versions of JBoss ESB will likely offer multiple ways of defining and targeting message transformation resources such that
+			information like message exchange participants can be ignored/invisible where not relevant.  With this version of JBoss ESB, the message
+			exchange participants can be excluded from the targeting information by manually editing the "Message Exchange Targeting Expression"
+			on the "Target New Resource Configuration" form of the "Configure New Resource" wizard.  So, from this point of view, it is actually
+			possible to "define transformations purely in terms of message typing information", it's just not the default.  See the
+			<a href="#how-do-i-modify-the-default-exchange-targeting">How do I modify the default Message Exchange Targeting information?</a> FAQ
+			for more details.
+		</div>
+		
+		<div id="notify-esb-instances" class="section">
+			<h3>How do I configure my ESB instance(s) to be notified of configuration updates made in the Admin Console?</h3>
+			If your ESB instance is running on the same host as your Admin Console (i.e. the same host as the JBoss AS
+			instance hosting the Admin Console), then you should have nothing to do.  If your ESB instance is
+			running on a different host from the Admin Console, then you will need to update your <b>jbossesb-properties.xml</b>
+			and add the following configuration:
+<pre>
+    &lt;properties name="transformation"&gt;
+        &lt;property name="java.naming.provider.url" value="<b>consolehost.acme.com</b>"/&gt;
+    &lt;/properties&gt;
+</pre>
+			... where the value of the "java.naming.provider.url" property needs to be set to the address
+			of the Admin Console host.  The default value for this property is "localhost" - hence why you typically don't
+			need to specify this property if you're running the ESB and Admin Console instances on the same host.
+			<p/>
+			This is basically a Publish &amp; Subscribe Service offered by the Admin Console application.  Once your ESB instance
+			subscribes, it will be notified!
+		</div>
+		
+		<div id="how-do-i-modify-the-default-exchange-targeting" class="section">
+			<h3>How do I modify the default Message Exchange Targeting information?</h3>
+			All new message Transformation or Analysis configurations must be targeted at a "<a href="#message-exchange">Message Exchange</a>".
+			This information is stored in the browser session - the Message Exchange must be set on the browser session before
+			being allowed create or manage message transformation/analysis resources.  The targeting expression associated with the current
+			message exchange is shown (pre-populated) in the "Message Exchange Targeting Expression" field
+			of the "Target New Resource Configuration" form of the "Configure New Resource" wizard.  This expression takes the form:
+<pre>
+	<b>from-type</b>:text/xml:createOrder AND <b>from</b>:DVDStore:OrderManagementService AND <b>to-type</b>:text/xml:notify AND <b>to</b>:DVDStore:NotificationService
+</pre>
+			In it's default form, the expression contains the 4 properties of all <a href="#message-exchange">Message Exchanges</a>.  However, 
+			the "Target New Resource Configuration" form leaves this field editable in order to allow the user modify this expression.  A typical 
+			modification might be to remove one or both of the <a href="#message-exchange">Message Exchange Participants</a>, leaving an expression of the
+			form:
+<pre>
+	<b>from-type</b>:text/xml:createOrder AND <b>to-type</b>:text/xml:notify
+</pre>
+			Another option is to "NOT" components of the expression, producing expressions of the form:
+<pre>
+	<b>from-type</b>:text/xml:createOrder AND <b><u>not:</u>to-type</b>:text/xml:notify
+</pre>
+		</div>
+		</div>
+
+		<div class="section">
+		<h2 id="flash-demos">5. Flash Demos</h2>
+			<div class="section">
+				<a href="flash/console-demo-01.html">Demo 1</a>: A basic demo that walks you through most of the main
+				concepts within JBoss ESB Transformations.
+				<p/>
+				<a href="flash/console-demo-02.html">Demo 2</a>: A slightly more advanced demo that builds on Demo 1.
+				Be sure to go through Demo 1 before looking at Demo 2.
+				<p/>
+				<a href="http://labs.jboss.com/portal/jbossesb/resources/tutorials/xformation-demos/console-demo-03.html">Demo 3</a>: 
+				This demo gets more detailed again. It walks you through the steps that were involved in creating the "<i>transform_EDI2XML_Groovy_XSLT</i>" Quickstart (available in the JBoss ESB 4.0 distribution).
+				It demonstrates how to perform EDI message processing, as well as create reusable transformation components in Groovy.  This demo tries to take
+				the reader through the full process of creating JBoss ESB Transformations in a step by step manner.
+				<p/>
+			</div>
+		</div>
+
+	</div>
+	</div>
+
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><h:commandButton value="Home" action="/home.xhtml" /></h:form></b>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/list-message-contracts.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/list-message-contracts.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/list-message-contracts.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+	<fieldset>
+		<h:form>			
+			<h2>Manage Message Contracts</h2>
+			<div class="section">
+				This wizard allows you manage "<a href="../about.seam#message-contract">Message Contracts</a>".
+			</div>
+			<div class="section">
+		    <h:outputText value="There are no Message Contracts configured!" rendered="#{contracts != null and contracts.rowCount==0}"/>
+		    <h:dataTable value="#{contracts}" var="contractSelection" rendered="#{contracts.rowCount>0}">
+		        <h:column>
+		            <f:facet name="header">Participant Name (Message Producer/Consumer)</f:facet>
+				    #{contractSelection.participant}
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">Usage</f:facet>
+				    #{contractSelection.usage}
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">Namespace</f:facet>
+				    #{contractSelection.namespace}
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">MIME Type</f:facet>
+				    #{contractSelection.mime}
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">Description</f:facet>
+				    #{contractSelection.messageDescription}
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">Manage</f:facet>
+				    <s:link action="#{manageContracts.deleteContract}" value="Delete" />
+		        </h:column>
+		    </h:dataTable>
+			</div>
+		</h:form>
+		<h:form>			
+			<div class="section">
+				<s:button action="#{manageContracts.home}" value="Done" />
+			</div>	
+		</h:form>
+	</fieldset>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{manageContracts.home}" /></h:form></b>
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/new-message-contract.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/new-message-contract.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/new-message-contract.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,93 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+		<div class="section">
+			<h2>Configure New Message Contract</h2>
+		</div>
+		<div class="section">
+			This form allows you to create a new "<a href="../about.seam#message-contract">Message Contracts</a>".
+		</div>
+		<div class="section">
+			<h:form>			
+				<s:validateAll>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Participant">Participant Name (Message Producer/Consumer):</h:outputLabel></div>
+					<div class="input">
+                        <h:selectOneListbox id="Participant" value="#{newContract.participant}" required="true" size="5">
+                            <f:selectItems value="#{newContract.participants}"/>
+                        </h:selectOneListbox>
+						<br/><span class="errors"><h:message for="Participant" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Usage">Message Usage:</h:outputLabel></div>
+					<div class="input">
+						<h:selectOneListbox id="Usage" value="#{contract.usage}" required="true">
+							<f:selectItem itemLabel="PRODUCES" itemValue="PRODUCES"/>
+							<f:selectItem itemLabel="CONSUMES" itemValue="CONSUMES"/>
+						</h:selectOneListbox>
+						<br/><span class="errors"><h:message for="Usage" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Namespace">Message Namespace (e.g. SOAP Action):</h:outputLabel></div>
+					<div class="input">
+						<h:inputText id="Namespace" value="#{contract.namespace}" size="50" required="true" />
+						<br/><span class="errors"><h:message for="Namespace" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Mime">Message Mime (e.g. text/xml):</h:outputLabel></div>
+					<div class="input">
+						<h:inputText id="Mime" value="#{contract.mime}" size="30" />
+						<br/><span class="errors"><h:message for="Mime" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Description">Message Description (dtd/xsd reference):</h:outputLabel></div>
+					<div class="input">
+						<h:inputText id="Description" value="#{contract.messageDescription}" size="50"/>
+						<br/><span class="errors"><h:message for="Description" /></span>
+					</div>
+				</div>
+
+				<div class="entry errors"><h:messages globalOnly="true"/></div>
+				
+				<div class="entry">
+					<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+					<div class="input">
+						<h:commandButton value="Save" action="#{newContract.save}" />
+					</div>
+				</div>
+				</s:validateAll>
+			</h:form>
+		</div>
+		<h:form>
+			<div class="section">
+				<div class="entry">
+					<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+					<div class="input">
+						<s:button value="Cancel" action="#{newContract.home}" />
+					</div>
+				</div>		
+			</div>
+		</h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<h1>Create Transformation/Analysis Configuration</h1>
+	Create a message transformation/analysis configuration for the chosen Message Exchange.
+	<p/>
+	<b><h:form><s:button value="Home" action="#{newContract.home}" /></h:form></b>
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/template.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/template.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/contract/template.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:f="http://java.sun.com/jsf/core"
+	  xmlns:h="http://java.sun.com/jsf/html">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>JBoss ESB: Administration Console</title>
+	<link href="../css/screen.css" rel="stylesheet" type="text/css" />
+	<link rel="stylesheet" href="../css/custom.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/global.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/headings.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/layout.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/navigation.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/pagelayout.css" type="text/css" media="all"/>
+	<link rel="stylesheet" href="../css/tables.css" type="text/css" media="all" />
+	
+	<link rel="stylesheet" href="../css/screen_001.css" type="text/css" media="screen" />
+	<link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+	<link rel="stylesheet" href="../css/common.css" type="text/css" media="all" />
+</head>
+<body>
+
+<div id="document">
+	<div id="header">
+		<div>
+		  <a href="http://www.jboss.com"><img src="../img/logo.gif" alt="JBoss - The Professional Open Source Company" border="0" /></a>
+		</div>
+		
+		<div id="TopMenu">
+		  <table cellpadding="0" cellspacing="0">
+		  <tr>
+		    <td class="menu_JBnetwork"><a href="http://network.jboss.com/">subscription</a></td>
+		    <td class="menu_JBcom"><a href="http://www.jboss.com/">jboss.com</a></td>
+		
+		    <td class="menu_JBorg"><a href="http://labs.jboss.com">jboss.org</a></td>
+		    <td class="menu_RH"><a href="http://www.redhat.com">redhat.com</a></td>
+		  </tr>
+		  </table>
+		</div>	
+	</div>
+	<div id="container">
+		<div id="sidebar">
+			<ui:insert name="sidebar"/>
+		</div>
+		<div id="content">
+			<ui:insert name="content"/>
+		</div>
+	</div>
+</div>
+<ui:debug hotkey="D"/>
+</body>
+</html>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/common.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/common.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/common.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,211 @@
+body { font: 11px Verdana, Arial, Helvetica, sans-serif; }
+
+a:link { color: #005EB6; text-decoration: none; }
+a:active { color: #666666; text-decoration: none; }
+a:visited { color: #005EB6/*#888888*/; text-decoration: none; }
+a:hover { }
+
+h1 { color: #000000; line-height: 22px; font: 20px Verdana, Arial, Helvetica, sans-serif; }
+h3 { color: #000000; line-height: 16px; font: bold 14px Verdana, Arial, Helvetica, sans-serif; margin-top: 8px; }
+h4 { color: #000000; line-height: 16px; font: 14px Verdana, Arial, Helvetica, sans-serif; margin-top: 8px; }
+h5 { color: #000000; line-height: 14px; font: 12px Verdana, Arial, Helvetica, sans-serif; margin-top: 8px; }
+
+strong { font-weight: bold; }
+em { font-style: italic; }
+
+p { line-height: 150%; }
+pre { font-family: Andale Mono, Courier New, Courier, monospace; }
+code { font: 11px Andale Mono, Courier New, Courier, monospace; line-height: 110%; white-space: pre; padding: 5px; margin: 5px; background-color: #efefef; width: 550px; overflow: visible; }
+
+hr { color: #6e6e6e; }
+
+dl {}
+dl dt { font-weight: bold; }
+dl dd { margin-top: 10px; margin-bottom: 20px; margin-left: 20px;}
+
+
+/* FOOTER ----------------------------------------------*/
+#PageFooter #Copyright { font: 9px Verdana, Helvetica, Arial, sans-serif;}
+#PageFooter a { color: #0044AA; }
+
+
+/* INFOTABLE ----------------------------------------------*/
+.infotable { border-spacing: 3px; text-align: left; color: #ffffff; }
+.infotable .grey{ background-color: #b2b2b2; }
+.infotable .blue { background-color: #b2b2b2; }
+.infotable .beige { background-color: #b2b2b2; }
+.infotable .orange { background-color: #b2b2b2; }
+.infotable .green { background-color: #b2b2b2; }
+.infotable .blank { color: #ffffff; background-color: #ffffff; }
+.infotable .headline { font-size: 110%; padding-left:5px; color:#000000; background-color: #cccccc; font-weight:bold;}
+.infotable .button { padding:3px; margin:0px; background-color: #777777; font: bold;}
+.infotable .button a { color: #ffffff; text-decoration: none; font: bold 10px Helvetica, Arial, sans-serif; }
+.infotable td { padding: 5px; background-color: #efefef; color: #000000; font: 11px Verdana, Arial, Helvetica, sans-serif; }
+.infotable th { padding: 5px; background-color: #efefef; color: white; font: bold 13px Verdana, Arial, Helvetica, sans-serif; }
+
+table.infotable2 {}
+table.infotable2 td { padding: 10px 10px 10px 10px; background-color: #eaeaea; border-top: solid 1px #777777; line-height: 150% }
+table.infotable2 td:first-child { padding-top: 15px; padding-right: 20px; background-color: transparent; }
+table.infotable2 p { padding: 10px; }
+table.infotable2 p:first-child { padding-top: 0px; }
+table.infotable2 table {border-bottom: none;}
+table.infotable2 table td, table.infotable2 table td:first-child { padding: 5px; background-color: transparent; border: none; line-height: 100% }
+table.infotable2 table p, table.infotable2 table p:first-child { padding: 0px; }
+table.infotable2 h2 {margin: 0px;}
+
+/* PARTNERTABLE ----------------------------------------------*/
+.partnertable { border-spacing: 2px; border-color:#FFFFFF; text-align: left; color: #ffffff; }
+.partnertable .grey{ background-color: #b2b2b2;}
+.partnertable .blue { background-color: #b2b2b2; }
+.partnertable .beige { background-color: #b2b2b2; }
+.partnertable .orange { background-color: #b2b2b2; }
+.partnertable .green { background-color: #b2b2b2; }
+.partnertable .blank { color: #ffffff; background-color: #ffffff; }
+.partnertable .headline { font-size: 110%; padding-left:5px; color:#000000; background-color: #cccccc; font-weight:bold;}
+.partnertable .button { padding:3px; margin:0px; background-color: #777777; font: bold;}
+.partnertable .button a { color: #ffffff; text-decoration: none; font: bold 10px Helvetica, Arial, sans-serif; }
+.partnertable td { padding: 5px; background-color: #efefef; color: #000000; font: 11px Verdana, Arial, Helvetica, sans-serif; }
+.partnertable th { padding: 5px; background-color: #efefef; color: white; font: bold 13px Verdana, Arial, Helvetica, sans-serif; }
+
+
+.partnertable .partnerblue {color: #05229E}
+.partnertable .partnerred {color: #54110B}
+.partnertable .partnerorange {color: #98400C}
+.partnertable .partnergreen {color: #353925}
+.partnertable .partnerlavender {color: #936883}
+.partnertable .partnerpurple {color: #5C5675}
+
+
+
+table.partnertable2 {}
+table.partnertable2 td { padding: 10px 10px 10px 10px; background-color: #eaeaea; border-top: solid 1px #777777; line-height: 150% }
+table.partnertable2 td:first-child { padding-top: 15px; padding-right: 20px; background-color: transparent; }
+table.partnertable2 p { padding: 10px; }
+table.partnertable2 p:first-child { padding-top: 0px; }
+table.partnertable2 table {border-bottom: none;}
+table.partnertable2 table td, table.infotable2 table td:first-child { padding: 5px; background-color: transparent; border: none; line-height: 100% }
+table.partnertable2 table p, table.infotable2 table p:first-child { padding: 0px; }
+table.partnertable2 h2 {margin: 0px;}
+
+
+/* PARTNERLISTING ----------------------------------------------*/
+.partnerlist { border-spacing: 2px; border-color:#FFFFFF; text-align: left; color: #ffffff; }
+.partnerlist .grey{ background-color: #b2b2b2; }
+.partnerlist .blue { background-color: #b2b2b2; }
+.partnerlist .beige { background-color: #b2b2b2; }
+.partnerlist .orange { background-color: #b2b2b2; }
+.partnerlist .green { background-color: #b2b2b2; }
+.partnerlist .blank { color: #ffffff; background-color: #ffffff; }
+.partnerlist .headline { font-size: 110%; padding-left:5px; color:#000000; background-color: #cccccc; font-weight:bold;}
+.partnerlist .button { padding:3px; margin:0px; background-color: #777777; font: bold;}
+.partnerlist .button a { color: #ffffff; text-decoration: none; font: bold 10px Verdana, Arial, Helvetica, sans-serif; }
+.partnerlist td { padding: 5px; background-color: #ffffff; color: #000000; font: 11px Verdana, Arial, Helvetica, sans-serif; }
+.partnerlist th { padding: 5px; background-color: #efefef; color: white; font: bold 13px Verdana, Arial, Helvetica, sans-serif; }
+
+
+/* NEWSTABLE ----------------------------------------------*/
+.newstable { border-spacing: 3px; text-align: left; background-image: url(../img/gradient_news_bkgd_650.gif); background-repeat:no-repeat; }
+.newstable .grey{ background-color: #b2b2b2; }
+.newstable .blue { background-color: #b2b2b2; }
+.newstable .beige { background-color: #b2b2b2; }
+.newstable .orange { background-color: #b2b2b2; }
+.newstable .green { background-color: #b2b2b2; }
+.newstable .blank { color: #ffffff; background-color: #ffffff; }
+.newstable .headline { font-size: 110%; padding-left:5px; color:#000000; background-color: #cccccc; font-weight:bold;}
+.newstable .button { padding:3px; margin:0px; background-color: #777777; font: bold;}
+.newstable .button a { color: #ffffff; text-decoration: none; font: bold 10px Verdana, Arial, Helvetica, sans-serif; }
+.newstable td { padding: 5px;  font: 11px Verdana, Arial, Helvetica, sans-serif; }
+.newstable th { padding: 5px; color: black; font: bold 14px Verdana, Arial, Helvetica, sans-serif; }
+
+table.newstable2 {}
+table.newstable2 td { padding: 10px 10px 10px 10px; background-color: #eaeaea; border-top: solid 1px #777777; line-height: 150% }
+table.newstable2 td:first-child { padding-top: 15px; padding-right: 20px; background-color: transparent; }
+table.newstable2 p { padding: 10px; }
+table.newstable2 p:first-child { padding-top: 0px; }
+table.newstable2 table {border-bottom: none;}
+table.newstable2 table td, table.infotable2 table td:first-child { padding: 5px; background-color: transparent; border: none; line-height: 100% }
+table.newstable2 table p, table.infotable2 table p:first-child { padding: 0px; }
+table.newstable2 h2 {margin: 0px;}
+
+
+
+
+/* DEFINITION TABLE ---------------------------------------*/
+.deftable { border-spacing: 5px; text-align: left; color: #ffffff; line-height: 150%; }
+.deftable .term { border: none; vertical-align: top; padding: 5px; background-color: #aaaaaa; color: #ffffff; font-weight: bold; }
+.deftable .def { border: none; vertical-align: top; padding: 5px; background-color: #efefef; color: #000000; }
+.deftable .def ul { margin-left: 1em; padding-left: 0px; margin-top: 0px; margin-bottom: 0px;}
+.deftable .def ol { margin-top: 0px; margin-bottom: 0px; }
+
+
+/* QUICKSTART BOX -----------------------------------------*/
+.quickstart-box { float: right; text-align: left; padding: 0px 0px 0px 0px; margin: 0px -9px 20px 20px; position: relative; }
+.quickstart-box td { font-family: Helvetica, Arial, sans-serif; }
+.quickstart-box a { color: #ffffff; font-size: 11px; text-decoration: none; }
+.quickstart-box a:active { color: #ffffff; font-size: 11px; text-decoration: none; }
+.quickstart-box a:visited { color: #ffffff; font-size: 11px; text-decoration: none; }
+.quickstart-head { font-weight: bold; font-size: 12px; margin-bottom: 4px; }
+.quickstart-red { color: #ffffff; font-weight: bold; border-bottom: 1px solid #ffffff; padding: 3px; padding-left: 15px; background: #EB1A24 url(../img/crn_left_bot_red.gif) 0 100% no-repeat; }
+.quickstart-blue { color: #ffffff; font-weight: bold; border-bottom: 1px solid #ffffff; padding: 3px; padding-left: 15px; background: #008FD6 url(../img/crn_left_bot_blue.gif) 0 100% no-repeat; }
+.quickstart-green { color: #ffffff; font-weight: bold; border-bottom: 1px solid #ffffff; padding: 3px; padding-left: 15px; background: #9BCD4B url(../img/crn_left_bot_green.gif) 0 100% no-repeat; }
+.quickstart-yellow { color: #ffffff; font-weight: bold; border-bottom: 1px solid #ffffff; padding: 3px; padding-left: 15px; background: #E5B335 url(../img/crn_left_bot_yellow.gif) 0 100% no-repeat; }
+
+
+/* Customizations */
+
+img.topaccent { margin-left: 10px; margin-bottom: 10px;}
+
+table.customermatrix {}
+table.customermatrix td { padding: 10px 10px 0px 10px; background-color: whitesmoke; border-top: solid 1px #666666; border-top: solid 1px #777777; }
+table.customermatrix td:first-child { padding-top: 25px; padding-right: 20px; background-color: transparent; }
+table.customermatrix p { padding: 10px; }
+table.customermatrix p:first-child { padding-top: 0px; }
+
+dl.faq { }
+dl.faq dt { font-weight: bold; font-size: 12px; color: #333333; border-bottom: 1px solid #9BCD4B; padding-bottom: 2px; padding-top: 20px;}
+dl.faq dd { margin: 10px 10px 10px 10px;}
+dl.faq dt:first-child { border-top: none; padding-top: 0px;}
+
+#points{
+background-image: url(/images/points.gif);
+background-repeat:no-repeat;
+color: #000000; 
+font:10px Verdana, Arial, Helvetica, sans-serif; 
+height: 118px;
+width: 200px;
+text-align: left; 
+padding: 5px 0px 5px 5px; 
+}
+
+#points .text{
+color: #000000; 
+font:10px Verdana, Arial, Helvetica, sans-serif; 
+}
+
+
+/* NUTCH --------------------------------------------------*/
+.menuTd {background-color: #F9F7F4; height: 25px; } /*#ECE5DC*/
+.menuTdhover {background-color: #ECE5DC; height: 25px; }
+.menuEntry { font: 12px Arial, Helvetica, sans-serif; color: #000000; text-decoration: none; }
+.body {background-color: #F9F7F4; }
+.bodytext { font: 12px Arial, Helvetica, sans-serif; color: #000000; text-decoration: none; }
+.title { font: 26px Arial, Helvetica, sans-serif; color: #FF9900; text-decoration: none; }
+.intro { font: 12px Arial, Helvetica, sans-serif; color: #FF9900; text-decoration: none; }
+.orangeTd { background-color: #FF9900; }
+ul { list-style-image: url(../img/reiter/ul.gif); }
+h4 { font: 14px Verdana, Arial, Helvetica, sans-serif; color: #000000; }
+.url { color: #996600; }
+
+
+
+/* these need to go away */
+.quote { line-height: 150%; margin-left: 25px; }
+.code { font-size: 90%; line-height: 110%; white-space: pre; padding: 5px; margin: 5px; background-color: #efefef; width: 550px; overflow: visible; font-family: Andale Mono, Courier New, Courier, monospace; }
+.pre { font-family: Andale Mono, Courier New, Courier, monospace; }
+.bold { font-weight: bold; }
+.italic { font-style: italic; }
+.fixed { font-size: 95%; font-family: Andale Mono, Courier New, Courier, monospace; }
+.ulist { font-family: Helvetica, Arial, sans-serif; }
+.ulist li { margin-left: -1em; list-style: none; line-height: 150%; }
+.olist { font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 150%; }
+.olist li { line-height: 150%; }

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/custom.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/custom.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/custom.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,1761 @@
+/************************************************************** HOME PAGE */
+
+#contentWrapHome {
+	margin: 15px 0 10px 0;
+	padding: 0;
+	}
+	
+#contentWrapHome:after {
+    content: "."; 
+    display: block;
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #contentWrapHome {height: 1%;}
+    /* End Holly Hack */
+    
+#contentHome {
+	width: 100%;
+	margin-top: 7px;
+	}
+	
+#contentHome:after {
+    content: "."; 
+    display: block; 
+    height: 1px;
+    margin-top: -1px;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #promoHome {height: 1%;}
+    /* End Holly Hack */
+ 	
+#promoHome {
+	margin-bottom: 8px;
+	}
+	
+#promoHome .img2a {
+	float: left;
+	}
+	
+#promoHome .img2b {
+	float: right;
+	}
+
+#promoHome .img3a {
+	float: left;
+	margin-right: 15px;
+	}
+	
+#promoHome .img3b {
+	float: left;
+	}
+	
+#promoHome .img3c {
+	float: right;
+	}
+	
+#promoHome:after {
+    content: "."; 
+    display: block; 
+    height: 1px;
+    margin-top: -1px;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #promoHome {height: 1%;}
+    /* End Holly Hack */
+    
+#homeNews {
+	text-align: center;
+	font-size: x-small;
+	padding: 7px 0 12px 0;
+	}
+	
+#homeNews a {
+	text-decoration: none;
+	}
+    
+#contentHomeMain {
+	width: 360px;
+	float: left;
+	}
+	
+#contentHomeMain a {
+	text-decoration: none;
+	}
+    
+.contentHomeMainBox {
+ 	background: url(/images/rh/corner_homelinebox_top.png) top right no-repeat;
+ 	width: 100%;
+ 	padding-top: 7px;
+ 	margin-bottom: 15px;
+	}
+	
+.contentHomeMainBoxInner {
+ 	background: url(/images/rh/corner_homelinebox_bottom.png) bottom left no-repeat;
+ 	padding-bottom: 7px;
+ 	}
+ 	
+.contentHomeMainBoxBody {
+ 	padding: 7px 14px;
+ 	border-left: 1px solid #b4b4b4;
+ 	border-right: 1px solid #b4b4b4;
+ 	}
+ 	
+ .contentHomeMainBoxBody p,
+ .contentHomeMainBoxBody ul {
+ 	margin: 0;
+ 	padding: 0;
+ 	}
+	
+ul#homeServicesList {
+	width: 150px;
+	float: left;
+	padding: 7px 0;
+	margin: 0;
+	list-style-type: none;
+	}
+	
+ul#homeServicesList li {
+	margin: 3px 0 13px 0;
+	}
+	
+ul#homeServicesList li a {
+	display: block;
+	}
+	
+ul#homeServicesList li#rhel a {
+	background: url(/images/rh/listitem_rhelhomepage.png) 0 0 no-repeat;
+	width: 141px;
+	height: 25px;
+	}
+	
+ul#homeServicesList li#rhel a span {
+	display: none;
+	}
+	
+ul#homeServicesList li#rhn a {
+	background: url(/images/rh/listitem_rhnhomepage.png) 0 0 no-repeat;
+	width: 90px;
+	height: 25px;
+	}
+	
+ul#homeServicesList li#rhn a span {
+	display: none;
+	}
+	
+ul#homeServicesList li#rhas a {
+	background: url(/images/rh/listitem_rhashomepage.png) 0 0 no-repeat;
+	width: 155px;
+	height: 25px;
+	}
+	
+ul#homeServicesList li#rhas a span {
+	display: none;
+	}
+	
+ul#homeServicesList li#rhgfs a {
+	background: url(/images/rh/listitem_rhgfshomepage.png) 0 0 no-repeat;
+	width: 155px;
+	height: 25px;
+	}
+	
+ul#homeServicesList li#rhgfs a span {
+	display: none;
+	}
+	
+ul#homeServicesList li#rhgcs a {
+	background: url(/images/rh/listitem_rhgcs.png) 0 0 no-repeat;
+	width: 132px;
+	height: 25px;
+	}
+	
+ul#homeServicesList li#rhgcs a span {
+	display: none;
+	}
+	
+#contentHomeSolutions {
+	margin-left: 168px;
+	}
+	
+ul.bigArrowList {
+	list-style: none;
+	padding-left: 0;
+	margin-left: 0;
+	}
+	
+ul.bigArrowList li {
+	background-image: url(/images/rh/bullet_bluearrow_dot.png);
+	background-repeat: no-repeat;
+	background-position: 0px 3px;
+	padding: 0px 0px 2px 18px;
+	}
+	
+.contentHomeNewsCol ul.bigArrowList {
+	margin-top: 1.5em;
+	}
+	
+.contentHomeNewsCol ul.bigArrowList li {
+	background-image: url(/images/rh/bullet_bluearrow_dot.png);
+	background-repeat: no-repeat;
+	background-position: 0 0;
+	padding: 1px 0 1px 18px;
+	}
+	
+ul.bigArrowList li a {
+	text-decoration: none;
+	font-weight: bold;
+	}
+	
+#headosaHomepg {
+	background-image: url(/images/rh/head_osahomepage.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	padding-bottom: 0;
+	height: 12px;
+	}
+	
+#headrated1Homepg {
+	background-image: url(/images/rh/head_rated1homepage.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	padding-bottom: 0;
+	height: 13px;
+	}
+	
+#headsubsHomepg {
+	background-image: url(/images/rh/head_subshomepage.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	padding-bottom: 0;
+	height: 15px;
+	}
+	
+h1#headosaHomepg span {
+	display: none;
+	}
+	
+h1#headrated1Homepg span {
+	display: none;
+	}
+	
+h2#headsubsHomepg span {
+	display: none;
+	}
+	
+#contentHomeMain h2 {
+	font-size: 1em;
+	padding-top: .3em;
+	}
+	
+#contentHomeNews {
+	float: left;
+	width: 360px;
+	}
+	
+.contentHomeNewsCol {
+	width: 165px;
+	padding: 0;
+	margin-left: 15px;
+	float: left;
+	font-size: smaller;
+	}
+	
+.contentHomeNews2Col {
+	clear: left;
+	}
+	
+    /* Holly Hack Targets IE Win only \*/
+    * html .contentHomeNews2Col {margin-left: -15px;}
+    /* End Holly Hack */
+	
+#contentHomeNews h2 {
+	font-size: 10px;
+	padding-bottom: 0;
+	margin-bottom: 0;
+	}
+	
+.contentHomeNewsCol p {
+	margin-bottom: 1.5em;
+	line-height: 1.6em;
+	}
+	
+.contentHomeNewsCol a {
+	text-decoration: none;
+	}
+	
+/************************************************************** RH ENTERPRISE LINUX PAGES */
+
+.successByline{
+	font-size: small;
+	color: #999;
+	}
+
+.successQuote {
+	color: #999;
+	font-size: small;
+    font-weight: bold;
+	}
+
+/* 2 col even lists  */
+ul.doubleList {
+	padding-left: 75px;
+	}
+ul.doubleListTwo {
+	padding-right: 50px;	
+	}
+
+/* img align and padding for success stories /solutions/info/casestudies/ */
+
+.ssCol1 {
+	float: left;
+	margin: 0 15px 0 0;
+	}
+.ssCol2 {
+	float: left;
+	margin: 0 30px 0 0;
+	}
+.ssCol3 {
+	}
+.ssCol3:after {
+    content: "."; 
+    display: block; 
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html .ssCol3 {height: 1%;}
+    /* End Holly Hack */
+
+
+img.storyPic {
+	float: left;
+	text-align: left;
+	padding-right: 15px;
+	padding-bottom: 30px;
+	}
+
+.storyTitleBlock {
+	margin-bottom: 10px;
+	overflow: auto;
+	}
+
+	
+
+/************************************************************** STORE PAGES */
+
+
+/*-- Store Index Page --*/
+
+#productMain {
+	margin-left: 15px;
+	}
+
+.productCatagory {
+	border-bottom: 1px solid #ccc;
+	text-align: right;
+	margin-bottom: 7px;
+	padding-top: 2px;
+	}
+	
+.productCatagory:after {
+    content: "."; 
+    display: block;
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+	}
+
+    /* Holly Hack Targets IE Win only \*/
+    * html .productCatagory {height: 1%;}
+    /* End Holly Hack */
+	
+.productCatagory h2 {
+	float:left;
+	}
+	  
+.productRow {
+	text-align: right;
+	padding-bottom: 10px;
+	padding-right: 15px;
+	}
+	
+.productRow strong, .productRow h3 { 
+	float: left;  
+	}
+	
+#steps {
+	margin:0 0 5px 0; padding: 0;
+	}
+	
+#steps ol {
+	font-size: x-small;
+	color: #999;
+	text-align:right;
+	margin:0; padding:0;
+	}
+	
+#steps li {
+	display: inline;
+	padding-left: 6px;
+	}
+	
+#steps ol li a:link, #steps ol li a:visited, #steps ol li a:active {
+	color: #999;
+	font-size: inherit; 
+	text-decoration: none;
+	}
+	
+#steps ol li a:hover {
+	font-size: inherit;
+	color: #666;
+	}
+	
+#steps span {
+	color: #C00;
+	font-weight: bold;
+	}
+	
+/* Store heading */
+	
+h1#storeTitle {
+	background-image: url(/images/rh/title_store_home.png);
+	background-repeat: no-repeat;
+	height: 30px;
+	margin: 0;
+	padding: 0;
+	width: 200px;
+	float: left;
+	}
+	
+h1#storeTitle span {
+	display: none;
+	}
+	
+#storeFront {
+	margin: 0 15px 15px 15px; 
+	}
+
+#storeContent {
+	margin-bottom: 10px;
+	}
+
+#storeHead {
+	margin: 0;
+	padding-bottom: 3px;
+	border-bottom: 1px solid #ccc;
+	margin-bottom: 5px;
+	}
+	
+#storeCart {
+	text-align: right;
+	}
+	
+#storeCart img {
+	padding-top: 5px;
+	}
+
+.editStore {
+	font-size: 12px;
+	font-weight: normal;
+	}
+
+.cccLine { 
+	border-bottom: 1px solid #ccc;
+	width: 690px;
+	margin: 1px 0; padding:0;
+	}
+	
+.storeBlock {
+	padding: 12px 0 3px 33px; font-size: 11px;
+	border-bottom: 1px solid #CCC;
+	}
+	
+/**** New Window ****/
+	
+#open_window {
+	background-image: none;
+	margin: 15px 0 0 15px;
+	text-align: left;
+	width: 550px;  }
+	
+#open_window_header {
+	background: url(/images/rh/logo_rh_home.png) left top no-repeat;
+	text-align: right;
+	padding-top: 10px;
+	height: 30px;
+	font: 10px Verdana, Arial, Helvetica, sans-serif;
+	color: #999999; }
+
+input.buyRed {
+	border: 1px solid #000;
+	background: #b70000;
+	padding: 0 12px; 
+	color: #FFF; 
+	}
+	
+a.inputButton, a.inputButton:hover, a.inputButton:visited, a.inputButton:active {
+	color:#333;
+	font-size:small;
+	padding: 1px 8px;
+	border: 1px solid #999;
+	text-decoration:none;
+	background-color:#f7f2d0;
+	}
+	
+.buyBlue a {
+	color:#00A7E4;
+	font-weight:bold;
+	font-size:small;
+	padding: 1px 3px;
+	border: 1px solid #00A7E4;
+	text-decoration:none;
+	background-color:#fff;
+	}
+	
+.buyBlue a:hover {
+	color:#fff;
+	background-color:#00A7E4;
+	}
+	
+.buyGreen a {
+	color:#a2bd1c;
+	font-weight:bold;
+	font-size:small;
+	padding: 0 2px;
+	border: 1px solid #a2bd1c;
+	text-decoration:none;
+	background-color:#fff;
+	}
+	
+.buyGreen a:hover {
+	color:#fff;
+	background-color:#a2bd1c;
+	}
+	
+.buyOrange a {
+	color:#faa614;
+	font-weight:bold;
+	font-size:small;
+	padding: 0 2px;
+	border: 1px solid #faa614;
+	text-decoration:none;
+	background-color:#fff;
+	}	
+	
+.buyOrange a:hover {
+	color:#fff;
+	background-color:#faa614;
+	}
+	
+.buyRed a {
+	color:#b70000;
+	font-weight:bold;
+	font-size:small;
+	padding: 0 2px;
+	border: 1px solid #b70000;
+	text-decoration:none;
+	background-color:#fff;
+	}
+	
+.buyRed a:hover {
+	color:#fff;
+	background-color:#b70000;
+	}
+
+.popUp	{
+	text-align: center;
+	margin: 5px 15px;
+	background-color:#fff;
+	padding: 10px;
+	width:350px;
+	}
+	
+.popUp2	{
+	text-align: center;
+	margin: 5px 15px;
+	background-color:#fff;
+	padding: 10px;
+	width:400px;
+	}
+	
+/************************************************************** SERVICE PAGES */
+
+/* AIM box styles for /services/aim.html and subpages */
+
+table.aim {
+	margin: 15px 0;
+	}
+	
+table.aim th {
+	text-align:center;
+	font-size: small;
+	}
+	
+/************************************************************** SOLUTIONS PAGES */	
+	
+div#imgOSA {
+	width: 550px;
+ 	}
+ 	
+.wrapOSA {
+	text-align: center;
+	vertical-align: top;
+	margin: 0 15px 15px 15px;
+	}
+	
+.wrapOSA img {
+	vertical-align: top;
+	}
+	
+.wrapOSA img.osaCenter {
+	margin: 0 30px;
+	}
+	
+
+/* SOLUTIONS PARTNER SPOTLIGHTS */
+
+#menuList li
+{
+display: inline;
+list-style-type: none;
+}
+
+#menuContainer
+{
+margin-bottom: 15px;
+width: 565px;
+}
+
+#menuContainer ul
+{
+list-style-type: none;
+text-align: right;
+padding: 0;
+position: relative;
+}
+
+#menuContainer li
+{
+display: inline;
+text-align: center;
+margin: 0 0 0 2px;
+}
+
+#menuContainer li a
+{
+padding: 0 2px;
+color: #666;
+background-color: #fff;
+border: 1px solid #ccc;
+text-decoration: none;
+text-transform: uppercase;
+font-size: x-small;
+}
+
+#menuContainer li a:hover
+{
+color: #000;
+border: 1px solid #666;
+border-top: 2px solid #666;
+border-bottom: 2px solid #666;
+}
+
+#menuContainer li a#current
+{
+color: #000;
+border: 1px solid #666;
+border-top: 2px solid #666;
+border-bottom: 2px solid #666;
+}
+
+.logoWrap {
+	margin-bottom: 30px;
+	width: 565px;
+	}
+	
+div.visit {
+	text-align: right;
+	margin-bottom: 0;
+	margin-top: -15px;
+	font-size: x-small;
+	text-decoration: none;
+ 	}
+ 	
+/* FOR NA SKU LIST */
+
+#sku td {
+	color:#000;
+	font-weight:normal;
+	font-size:small;
+	}
+	
+#sku td.main {
+	color:#666;
+	font-size:x-small;
+	font-weight: bold;
+	white-space:nowrap;
+	}
+	
+#sku th.cat {
+	font-size: large;
+	font-weight: bold;
+	color: #fff;
+	background-color:#900;
+	height:30px;
+	}
+	
+#sku td.sub1 {
+	color:#fff;
+	background-color:#999;
+	font-weight:bold;
+	font-size:medium;
+	height:25px;
+	}
+	
+
+#sku td.subcat1 {
+	color:#fff;
+	background-color:#999;
+	font-weight:bold;
+	font-size:small;
+	}
+	
+#sku td.sub2 {
+	color:#fff;
+	background-color:#333;
+	font-weight:bold;
+	font-size:medium;
+	height:25px;
+	}
+	
+#sku td.subcat2 {
+	color:#fff;
+	background-color:#333;
+	font-weight:bold;
+	font-size:small;
+	}
+	
+/* Choice landing page */
+
+h1#headchoice {
+	background-image: url(/g/choice_logo.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	height: 55px;
+	}
+
+	
+h1#headchoice span {
+	display: none;
+	}
+
+
+div#choice {
+	width: 720px;
+	margin: 25px 0;
+	background: #fff url(/images/rh/choice_back.gif) top center repeat-y;
+	border-bottom: 1px solid white;
+	}
+	
+div#choice:after {
+    content: "."; 
+    display: block;
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #choice {height: 1%;}
+    /* End Holly Hack */
+	
+div#choice h2 {
+	text-align: right;
+	font-size: x-small;
+	color: #999;
+	margin: 0 0 1.5em 0;
+	}
+	
+div#choice p {
+	margin-top: 0;
+	line-height: 1.3em;
+	}
+	
+div#choice h3 {
+	margin-bottom: .25em;
+	font-size: x-small;
+	}
+	
+div#choice ul.plain {
+	margin: 0 0 1em 0;
+	padding-left: 10px;
+	list-style: none;
+	}
+	
+div#choice ul.plain li {
+	padding: 0.30em 0;
+	}
+
+div.choiceCol {
+	width: 160px;
+	float: left;
+	padding: 0 10px;
+	font-size: x-small;
+	}
+	
+/* Truth Happens page */
+
+.thenumbers {
+	margin-bottom: 1.5em;
+	margin-left: 15px;
+	font-family: verdana, sans-serif; 
+	font-size: 11px;
+	}
+	
+.thenumbers p {
+	margin: 0;
+	padding: 0;
+	}
+	
+.thefirst, .thesecond, .thethird, .thefourth, .thefifth, .thesixth {
+	vertical-align: bottom;
+	font-size: 9px; 
+	color: #b4b19a; 
+	font-weight: bold;
+	}
+	
+.thefirst {
+	width: 110px; 
+	}
+	
+.thesecond {
+	width: 95px; 
+	padding-left: 20px;
+	}
+	
+.thethird {
+	width: 80px; 
+	padding-left: 10px;
+	}
+	
+.thefourth {
+	width: 70px; 
+	padding-left: 20px;
+	}
+	
+.thefifth {
+	width: 80px; 
+	padding-left: 10px;
+	}
+	
+.thesixth {
+	width: 63px; 
+	padding-left: 10px;
+	}
+	
+.thenumbers p strong {
+	font-size: 2.3em; 
+	line-height: 1.2em;
+	}
+
+/* styles for direct renewals / contract tables */
+
+h2.contractsTab {
+        margin-top: 15px;
+        font-size: smaller;
+        background: #b4b19a url(../img/rh/table_corner_tr.gif) top right no-repeat;
+        padding-bottom: 0px;
+        padding-top: 3px;
+	margin-bottom: 0px;
+        }
+                                                                                                                                                                                        
+h2.contractsTab span    {
+        background: #b4b19a url(../img/rh/table_corner_tl.gif) top left no-repeat;
+        font-size: small;
+        color: #fff;
+        padding-left: 7px;
+        padding-top: 3px;
+	margin: 0px;
+	padding-bottom: 0px;
+	padding-right: 0px;
+        }
+                                                                                                                                                                                        
+p.contractsTabText       {
+        background-color: #b4b19a;
+        font-size: xx-small;
+        margin: 0px;
+        padding: 3px 0px 9px 9px;
+	border: 0px;
+        }
+
+.hedSummary {
+	color: #666;
+	font-weight: bolder;
+	padding-left: 15px;
+	line-height: 24px;
+	}
+
+/* styles for things in /promo/ */
+
+#greyCurveWrap {
+        background: #DEDEDE;
+        margin: 30px 0 0 0;
+        width: 720px;
+        height: auto;
+        }
+
+#greyCurveTop {
+        background: url(/g/landing/ibm_roadshow_top.gif) top left no-repeat;
+        height: 20px
+        width: 720px;
+        }
+
+#greyCurveBottom  {
+        background: url(/g/landing/ibm_roadshow_bottom.gif) bottom left no-repeat;
+	width: 720px;
+	height: 20px;
+        }
+
+#whiteLogoBox  {
+	margin: 30px 0px 0px 0px;
+	padding: 25px 0px 25px 0px;
+	background: #fff;
+	width: 100%;
+	text-align: center;
+	}
+
+#greyCurveWrap h1	{
+	color: #c00;
+	font-size: xx-large;
+	text-align: center;
+	margin: 10px 5px 0px 5px;
+	padding: 0px;
+	}
+
+#greyCurveWrap h2	{
+	color: #c00;
+	font-size: large;
+	margin: 0px 50px 5px 75px;
+	padding: 0px;
+	}
+
+#greyCurveWrap h3	{
+	color: #c00;
+	font-size: large;
+	margin: 15px 50px 5px 75px;
+	padding: 0px;
+	text-transform: uppercase;
+	}
+
+#greyCurveWrap p.text	{
+	margin: 0px 50px 5px 75px;
+	}
+
+#greyCurveWrap ul	{
+	margin: 10px 65px 10px 75px;
+	padding: 0;
+	}
+
+#greyCurveWrap ul li {
+	font-size: smaller;	
+	margin: 0px 0px 5px 45px;
+	padding: 0;
+	}
+
+#greyCurveWrap p.floatLeft  {
+	font-weight: bold;
+	float: left;
+	margin: 0px 50px 5px 75px;
+	}
+
+#greyCurveWrap p.floatRight {
+	margin: 5px 50px 5px 350px;
+	font-weight: bold;
+	}
+
+.agendaLeft	{
+	padding-right: 50px;
+	margin: 5px 0px 5px 75px;
+	}
+
+.agendaRight  {
+	font-size: smaller;
+	vertical-align: middle;
+	}
+
+#greyCurveWrap:after {
+    content: ".";
+    display: block;
+    height: 0;
+    overflow: hidden;
+    clear: both;
+    visibility: hidden;
+    }
+                                                                                                                                                                                         
+    /* Holly Hack Targets IE Win only \*/
+    * html greyCurve#Wrap {height: 1%;}
+    /* End Holly Hack */
+	
+	
+/* Videos */
+
+#videoWrap a {
+	color: #cc0000;
+	text-decoration: none;
+	}
+
+.videoHeadInner {
+	padding: 60px 15px 15px 15px; 
+	color: #ffffff;
+	}
+	
+.videoHeadInner img {
+	float: left; 
+	padding: 0 15px 0 0;
+	}
+
+img.videoImg	{
+	float: left;
+	display: block;
+	margin: 0 15px 0 0;
+	}
+
+ul.videoMore {
+	list-style: none;
+	padding-left: 0;
+	margin: 0 0 30px 0;
+	}
+	
+ul.videoMore li{
+	background-image: url(/images/rh/bullet_arrow_red.png);
+	background-repeat: no-repeat;
+	background-position: 0 .4em;
+	padding-left: 10px;
+	margin: .8em 0;
+	}
+
+ul.videoMore li a {
+	font-weight: bold;
+	}
+	
+ul.videoMore li a.view {
+	font-weight: normal;
+	font-size: smaller;
+	}
+    
+ /* newsletter styles */
+ 
+ .NLcontentIndent15 h2 {
+ 	font-size: large; 
+ 	color: #c00;
+ 	}
+ 	
+ .NLcontentIndent15 h3 {
+ 	font-size: large;
+ 	}
+ 	
+ .NLcontentIndent15 h4 {
+ 	font-size: medium; 
+ 	color: #666;
+ 	}
+ 
+ .NLcontentIndent15 h4.NLDate {
+ 	font-size: small;
+ 	color: #c00;
+ 	}
+ 
+ #NLGrey {
+ 	width: 720px; 
+ 	margin: 20px auto 20px auto; 
+ 	background: #dedede url(/g/landing/ibm_roadshow_top.gif) top left no-repeat;
+ 	}
+ 	
+ #NLGreyLCol {
+ 	float: left; 
+ 	width: 515px; 
+ 	margin: 15px; 
+ 	background: white url(/images/rh/corner_subnews_bottom.gif) bottom right no-repeat; 
+ 	padding-bottom: 20px;
+ 	}
+ 	
+ #NLGreyRCol {
+ 	margin-left: 545px; 
+ 	padding: 85px 15px 0 0;
+ 	}
+ 	
+ #NLGreyBottom {
+ 	width: 720px; height: 20px; 
+ 	background: url(/g/landing/ibm_roadshow_bottom.gif) bottom right no-repeat; 
+ 	clear: both;
+ 	}
+ 	
+ .NLcontentIndent15 {
+ 	margin: 0 15px;
+ 	}
+ 	
+ /* newsletter titles */
+ 
+ h1#SubNews {
+ 	width: 515px; 
+ 	height: 59px; 
+ 	background: url(/g/subnew_header.png) 0 0 no-repeat;
+ 	}
+ 	
+ h1#SubNews span {
+ 	display: none;
+ 	}
+ 	
+/* Summit05 promo */
+
+#homeSummit {
+ 	font-size: 11px;
+ 	color: #666;
+	}
+	
+#homeSummit p, #homeSummit h2, #homeSummit h3 {
+	margin: 0;
+	padding: 0;
+	margin-bottom: 3px;
+	}
+	
+#homeSummit a {
+	text-decoration: none;
+	}
+
+#homeSummitHeader h2 {
+	background: url(/g/promos/summit05/head_homeSummit.png) top left no-repeat;
+	width: 157px;
+	height: 10px;
+	text-indent: -10000px;
+	}
+	
+#homeSummitHeader img {
+	float: right; 
+	margin-left: 30px;
+	}
+	
+#homeSummitPhotos {
+	position: relative;
+	width: 317px;
+	height: 120px;
+	margin: 30px 0 35px -14px;
+	z-index: 1;
+	}
+	
+.homeSummitSpeak1, .homeSummitSpeak2, .homeSummitSpeak3, .homeSummitSpeak4, .homeSummitSpeak5, .homeSummitSpeak6, .homeSummitSpeak7, .homeSummitSpeak8 {
+	display: block;
+	float: left;
+	margin-right: 5px;
+	margin-bottom: 5px;
+	text-indent: -10000px;
+	text-decoration: none;
+	width: 48px;
+	height: 48px;
+	}
+	
+.homeSummitSpeak1 {
+	background: url(/g/promos/summit05/szulik_off.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak2 {
+	background: url(/g/promos/summit05/tiemann_off.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak3 {
+	background: url(/g/promos/summit05/buckman_off.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak4 {
+	background: url(/g/promos/summit05/wheaton_off.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak5 {
+	background: url(/g/promos/summit05/mau_off.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak6 {
+	background: url(/g/promos/summit05/fink_off.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak7 {
+	background: url(/g/promos/summit05/wirt_off.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak8 {
+	background: url(/g/promos/summit05/berger_off.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak {
+	position: absolute;
+	top: 53px;
+	left: 159px;
+	width: 180px;
+	height: 70px;
+	z-index: 100;
+	}
+	
+.homeSummitSpeak p {
+	line-height: 1.2em;
+	}
+	
+#homeSummitPhotos a span {
+	display: none;
+	}
+	
+#homeSummitPhotos a:hover span {
+	display: block;
+	position: absolute;
+	top: 53px;
+	left: 159px;
+	height: 75px;
+	width: 180px;
+	text-indent: 0;
+	z-index: 200;
+	background: white;
+	color: black;
+	}
+	
+.homeSummitSpeak1:hover {
+	background: url(/g/promos/summit05/szulik_on.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak2:hover {
+	background: url(/g/promos/summit05/tiemann_on.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak3:hover {
+	background: url(/g/promos/summit05/buckman_on.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak4:hover {
+	background: url(/g/promos/summit05/wheaton_on.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak5:hover {
+	background: url(/g/promos/summit05/mau_on.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak6:hover {
+	background: url(/g/promos/summit05/fink_on.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak7:hover {
+	background: url(/g/promos/summit05/wirt_on.jpg) top left no-repeat;
+	}
+	
+.homeSummitSpeak8:hover {
+	background: url(/g/promos/summit05/berger_on.jpg) top left no-repeat;
+	}
+	
+#homeSummitFooter p {
+	text-align: right;
+	font-size: 10px;
+	}
+	
+#homeSummitFooter a {
+	color: #900;
+	font-weight: bold;
+	}
+	
+#summitLive {
+	width: 360px;
+	float: left;
+ 	margin-bottom: 15px;
+	height: 262px;
+	}
+	
+#summitLive h2,#summitLive p {
+	text-indent: -10000px;
+		}
+		
+		
+/* EASY PROMO /promo/easy/ */
+
+#easyWrap {
+	background: url(/g/landing/easy_bg_circles.png) top center no-repeat;
+	width: 695px;
+	min-height: 665px;
+	}
+	
+#easyWrap2 {
+	background: url(/g/landing/easy_bg_circles2.png) top center no-repeat;
+	width: 695px;
+	min-height: 665px;
+	}
+	
+#easyLogo {
+	width: 680px;
+	margin-left: 15px;
+	}
+	
+#easyLogo img {
+	margin-right: 30px;
+	}
+	
+#easyLeft {
+	float: left;
+	width: 335px;
+	margin-left: 15px;
+	}
+	
+#easyRight {
+	float: right;
+	width: 315px;
+	margin-left: 30px;
+	}
+	
+.easyStory {
+	padding-top: 15px;
+	}
+		
+		
+ /* HP ADVOCATE PROMO */
+ 
+ #hpAgenda {
+	margin: 5px 0px 5px 75px;
+	}
+ 
+ #hpAgenda p {
+ 	font-size:smaller;
+ 	margin: 5px 0px 5px 15px;
+	}
+	
+#hpRegister {
+	float: right;
+	width: 350px;
+	}
+
+ 
+/* New Truth Happens pages */
+
+#truthBottom {
+        clear:both;
+        background: url(/g/landing/truthhappens_bottom.png) bottom left no-repeat;
+        height: 27px;
+        padding: 0px;
+        margin: 0px 0px 0px -25px;
+        width: 716px;
+        }
+
+#truthWrap {
+        background: black url('/g/landing/truthhappens_background.png') top left no-repeat;
+    width: 716px;
+        margin: 0px;
+        padding: 0px;
+        }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #truthWrap {width: 716px;}
+    * html #truthWrap {overflow-x: hidden;}
+    * html #truthWrap {overflow-y: auto;}
+    * html #truthWrap {height: 1%;}
+    /* End Holly Hack */
+
+#truthContent {
+        padding-top: 120px;
+        padding-left: 25px;
+        padding-right: 25px;
+        height: auto;
+        }
+
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #truthContent {height: 1%;}
+    /* End Holly Hack */
+
+#truthContent:after {
+  content: "."; 
+   display: block; 
+   height: 0; 
+   overflow: hidden;
+    clear: both;
+    visibility: hidden;
+}
+
+#truthContent p {
+        color: white;
+        font-size: 10pt;
+        font-family: "Lucida Grande", "Luxi Sans", "Bitstream Vera Sans", "Trebuchet MS", helvetica, verdana, arial, sans-serif;
+
+        }
+
+#truthContent a {
+        color: white;
+        text-decoration: underline;
+        }
+
+#truthContent h1 {
+        text-transform: uppercase;
+        color: #FFFFFF;
+        }
+
+#truthContent h2 {
+        text-transform: uppercase;
+        color: #ffffff;
+        }
+
+
+#truthContent h3 {
+        text-transform: uppercase;
+        color: #ffffff;
+        }
+
+#introWrapper {
+        width: 560px;
+        }
+
+   /* Holly Hack Targets IE Win only \*/
+    * html #introWrapper {height: 1%;}
+    /* End Holly Hack */
+
+#videoWrapper { 
+        clear: both;
+        height: 150px;
+        margin: 0px;
+        padding-top: 10px;
+        }
+   /* Holly Hack Targets IE Win only \*/
+    * html #videoWrapper {width: 630px;}
+    /* End Holly Hack */
+
+#videoFloat {
+        margin-left: 0px;
+        margin-right: 0px;
+        padding: 0px;
+        width: 210px;
+        float: left;
+        }
+        
+   /* Holly Hack Targets IE Win only \*/
+    * html #videoFloat {height: 1%;}
+    /* End Holly Hack */
+        
+        
+#videoFloat a {
+        color: #ff0000;
+        text-decoration: none;
+        font-size: 8pt; 
+        font-weight: 700;
+        }
+
+#halfWrapper {
+        clear: both;
+        height: auto;
+        margin: 0px;
+        padding-top: 10px;
+        }
+   /* Holly Hack Targets IE Win only \*/
+    * html #halfWrapper {height: 1%;}
+    * html #halfWrapper {width: 660px;}
+    /* End Holly Hack */
+
+
+#truthHalf {
+        padding-right: 10px;
+        width: 320px;
+        float: left;
+        height: auto;
+        margin:0px;
+        }
+
+   /* Holly Hack Targets IE Win only \*/
+    * html #truthHalf {height: 1%;}
+    /* End Holly Hack */
+
+
+#truthHalf:after {
+  content: ".";
+    display: block;
+    height: 0;
+    overflow: hidden;
+    clear: both;
+    visibility: hidden;
+}
+
+#truthHalf p {
+        color: white;
+        font-size: 10pt;
+        font-family: helvetica, sans-serif;
+        }
+
+#truthHalf ul {
+        color: white;
+        font-size: 9pt;
+        font-family: helvetica, sans-serif;
+        }
+
+#truthHalf a {
+        color: white;
+        text-decoration: underline;
+        }
+        
+/* end Truth Happens */ 
+
+/* Virtualization */
+
+#virtIntro p {
+    color: black;
+	font-size: 13px;
+	font-weight: 700;
+	}
+
+#virtWrap {
+    background: url('/images/rh/virt_bg.png') repeat-y left;
+	width: 730px;
+	margin-left: -15px;
+}
+
+#virtWrap:after {
+    content: ".";
+    display: block;
+    height: 0;
+    overflow: hidden;
+    clear: both;
+    visibility: hidden;
+    }
+    
+    /* Holly Hack Targets IE Win only \*/
+    * html virtWrap {height: 1%;}
+    /* End Holly Hack */
+
+
+#virtWrap p {
+    color: black;
+	font-size: 12px;
+	}
+
+
+#virtWrap ul {
+     font-size: 11px;
+     padding-left: 3px;
+     margin-top: -8px;
+}
+
+#virtWrap li {
+     padding-left: 7px;
+     margin-left: -9px;
+}
+	
+#virtWrap a {
+    text-decoration: none;
+	}	
+
+#coltops {
+	background: url('/images/rh/virt_tops.png') no-repeat top;
+	margin: 0;
+	margin-left: 0px;
+	padding: 0;
+	height: 62px;
+	}
+
+#colbots {
+    background: url('/images/rh/virt_bottom.png') no-repeat top;
+    margin-left: 0px;
+    margin: 0px;
+    padding: 0;
+    height: 26px;
+	}
+
+#colvirtgrey1 {
+	float: left;
+	padding-left: 30px;
+	padding-right: 15px;
+	width: 149px;
+	}
+
+#colvirtwhite1 {
+	float: left;
+	padding-left: 15px;
+	padding-right: 15px;
+	width: 167px;
+	}
+	
+#colvirtgrey2 {
+	float: left;
+	padding-left: 15px;
+	padding-right: 15px;
+	width: 158px;
+	}
+
+#colvirtwhite2 {
+	float: left;
+	width: 125px;
+	padding-left: 15px;
+	padding-right: 0px;
+	}
+
+/* End Virtualization */
+
+/* begin styles for Support Definition Tooltips */
+a.toolLink {
+	color: #0066cc;
+	text-decoration:underline;
+	}
+
+.tooltip {
+	position: absolute;
+	width: 240px;
+	background-color: rgb(255, 255, 234);
+	border: 1px solid black;
+	padding: 2px;
+	font-size: 12px;
+	margin: 1em;
+}
+
+.tooltip h3 {
+	height: auto;
+	padding: 2px;
+	margin-top: 0px;
+	margin-left: 0px;
+	background-color: #c00;
+	color: white;
+	font-size: 14px;
+	font-weight: bold;
+	margin: 0;
+}
+
+.tooltip p {
+	float: right;
+	margin-top: 2px;
+	}
+
+.tooltip p a {
+	/* Here for example only. Styles the Close link */
+	color: #fff;
+	font-weight: bold;
+}
+/* end styles for Support Definition Tooltips */
+
+/* hiding silly analytic Javascript */
+
+#oTags {
+display: none;
+visibility: hidden;
+height: 0;
+width: 0;
+}
+
+/* end hiding */
+
+/* RHMagazine widget */
+
+#magWidgetBottom {
+        background: url(/g/magazine/RHMWidgetBottom.png) bottom left no-repeat;
+        height: 38px;
+        width: 132px;
+        }
+
+#magWidget {
+        background: #cc2127 url('/g/magazine/RHMWidgetTop.png') top left no-repeat;
+    width: 132px;
+        margin: 0px;
+        padding: 0px 0px -1px 0px;
+        }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #magWidget {width: 132px;}
+    * html #magWidget {overflow-x: hidden;}
+    * html #magWidget {overflow-y: auto;}
+    * html #magWidget {height: 1%;}
+    /* End Holly Hack */
+
+#magWidgetContent {
+        padding-top: 35px;
+        padding-left: 5px;
+        padding-right: 5px;
+        height: auto;
+        }
+
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #magWidgetContent {height: 1%;}
+    /* End Holly Hack */
+
+#magWidgetContent:after {
+   display: block;
+   height: 0;
+   overflow: hidden;
+    clear: both;
+    visibility: hidden;
+}
+
+
+#magWidgetContent a {
+        color: white;
+        text-decoration: none;
+        font-size: x-small;
+        }
+
+#magWidgetContent ul {
+        list-style: none;
+        padding-left: 0px;
+        margin-left: 2px;
+        }
+
+
+#magWidgetContent ul li{
+        padding-left: 0px;
+        margin: .4em 0;
+        line-height: .9em;
+        }
+
+/* promo jump pages */
+
+h1#jump_head1 {
+	margin: 15px 0;
+	width: 720px;
+	height: 90px;
+	text-indent: -5000px;
+	}
+h1#jump_head1 a {
+	display: block;
+	width: 720px;
+	height: 90px;
+	}
+h2.jump_head2 {
+	color:#666; 
+	text-align:center; 
+	margin-bottom:1em; 
+	font-size:130%;
+	}
+.jump_jboss h1#jump_head1 {
+	background: url(/g/r_header-x.jpg);
+	}
+ul.jump_action {
+	margin-top: 2em;
+	padding: 0;
+	list-style-type: none;
+	text-align: center;
+	}
+ul.jump_action a {
+	font-size: 85%;
+	margin: 0 auto;
+	width: 15em;
+	display: block;
+	padding: .35em 1em;
+	background: #0066cc;
+	color: #fff;
+	text-decoration: none;
+	}
+	
+ul.jump_action a:hover {
+	color: #06c;
+	background: none;
+	}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/global.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/global.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/global.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+
+<html>
+
+<head>
+	<title>404 Not Found</title>
+    <!-- meta refresh that loads the following page from the CMS /errors/404 -->
+    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=/errors/404">
+</head>
+
+<body></body>
+
+</html>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/headings.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/headings.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/headings.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,689 @@
+
+/************************************************************** HEADING STYLES */
+
+h1, h2, h3, h4 {
+	margin-top: 0;
+	
+	padding-bottom: 0;
+	}
+	
+h1 {
+	padding-top: 0;
+	font-size: x-large;
+	}
+	
+h1.loud {
+	color: #666;
+	text-transform: uppercase;
+	font-family: Verdana, sans-serif;
+	font-weight: 900;
+	}
+	
+h2 {
+	font-size: medium;
+	margin: 0;
+	}
+	
+h3, h4 {
+	font-size: small;
+	margin-bottom: 0;
+	}
+	
+h4 {
+	font-size: x-small;
+	}
+	
+/* Red Hat Enterprise Linux headline */
+	
+h1#headrhel {
+	background-image: url(/images/rh/head_rhel.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	border-bottom: 2px solid #e6e6e6;
+	padding-bottom: 10px;
+	height: 63px;
+/* tantek box hack for ie5 win */
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	height: 51px;
+	}
+
+/* for Opera */
+html>body h1#headrhel {
+	height: 51px;
+	}
+	
+h1#headrhel span {
+	display: none;
+	}
+	
+/* Red Hat Network headline */
+	
+h1#headrhn {
+	background: url(/images/rh/head_rhn.png) 0 0 no-repeat;
+	border-bottom: 2px solid #e6e6e6;
+	padding-bottom: 10px;
+	height: 63px;
+/* tantek box hack for ie5 win */
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	height: 51px;
+	}
+
+/* for Opera */
+html>body h1#headrhn {
+	height: 51px;
+	}
+	
+h1#headrhn span {
+	display: none;
+	}
+	
+/* Training (GLS) headline */
+	
+h1#headgls {
+	background: url(/images/rh/head_gls.png) 0 0 no-repeat;
+	border-bottom: 2px solid #e6e6e6;
+	padding-bottom: 10px;
+	height: 63px;
+/* tantek box hack for ie5 win */
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	height: 51px;
+	}
+
+/* for Opera */
+html>body h1#headgls {
+	height: 51px;
+	}
+	
+h1#headgls span {
+	display: none;
+	}
+	
+/* Server Solutions headline */
+	
+h1#headserver {
+	background-image: url(/images/rh/head_serversolutions.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	border-bottom: 2px solid #e6e6e6;
+	padding-bottom: 10px;
+	height: 63px;
+/* tantek box hack for ie5 win */
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	height: 51px;
+	}
+
+/* for Opera */
+html>body h1#headserver {
+	height: 51px;
+	}
+	
+h1#headserver span {
+	display: none;
+	}
+	
+	
+/* Client Solutions headline */
+	
+h1#headclient {
+	background-image: url(/images/rh/head_clientsolutions.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	border-bottom: 2px solid #e6e6e6;
+	padding-bottom: 10px;
+	height: 63px;
+/* tantek box hack for ie5 win */
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	height: 51px;
+	}
+
+/* for Opera */
+html>body h1#headclient {
+	height: 51px;
+	}
+	
+h1#headclient span {
+	display: none;
+	}
+	
+	
+/* Open Source Now headline */
+	
+h1#headosn {
+	background-image: url(/images/rh/head_osn.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	border-bottom: 2px solid #e6e6e6;
+	padding-bottom: 10px;
+	height: 63px;
+/* tantek box hack for ie5 win */
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	height: 51px;
+	}
+
+/* for Opera */
+html>body h1#headosn {
+	height: 51px;
+	}
+	
+h1#headosn span {
+	display: none;
+	}
+	
+/* Fedora headline */
+	
+h1#headfedora {
+	background-image: url(/images/rh/head_fedora.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	border-bottom: 2px solid #e6e6e6;
+	padding-bottom: 10px;
+	height: 63px;
+/* tantek box hack for ie5 win */
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	height: 51px;
+	}
+
+/* for Opera */
+html>body h1#headfedora {
+	height: 51px;
+	}
+	
+h1#headfedora span {
+	display: none;
+	}
+	
+/* Services headline */
+	
+h1#headservices {
+	background-image: url(/images/rh/head_services.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	padding-bottom: 5px;
+	height: 16px;
+	}
+	
+h1#headservices span {
+	display: none;
+	}
+	
+/* Solutions headline */
+	
+h1#headsolutions {
+	background-image: url(/images/rh/head_solutions.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	padding-bottom: 5px;
+	height: 16px;
+	}
+	
+h1#headsolutions span {
+	display: none;
+	}
+
+/* Choice headline */
+
+#headchoice	{
+	padding-bottom: 5px;
+	}
+
+#headchoiceLeft	{
+	float: left;
+	padding-left: 7px;
+	}
+
+#headchoiceRight	{
+	float: right;
+	padding-right: 25px;
+	}
+
+/* Company headline */
+	
+h1#headcompany {
+	background-image: url(/images/rh/head_company.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	padding-bottom: 5px;
+	height: 16px;
+	}
+	
+h1#headcompany span {
+	display: none;
+	}
+	
+/* Support headline */
+	
+h1#headsupport {
+	background-image: url(/images/rh/head_support.png);
+	background-position: 0 0;
+	background-repeat: no-repeat;
+	padding-bottom: 5px;
+	height: 16px;
+	}
+	
+h1#headsupport span {
+	display: none;
+	}
+	
+/* Store headline */
+	
+h1#storeTitle {
+	background-image: url(/images/rh/title_store_home.png);
+	background-repeat: no-repeat;
+	height: 30px;
+	margin: 0;
+	padding: 0;
+	border-bottom: 1px solid #ccc;
+	}
+	
+h1#storeTitle span {
+	display: none;
+	}
+	
+/* Video headlines */
+
+h1#videoTitle span {
+	display: none;
+	}
+
+div#videoHead {
+	background-image: url(/images/rh/head_videos_pri.png);
+	background-repeat: no-repeat;
+	width: 570px;
+	height: 233px;
+	margin: 0 0 15px 0;
+	padding: 0;
+	}
+	
+h1#videoHead2 {
+	background-image: url(/images/rh/head_videos_sec.png);
+	background-repeat: no-repeat;
+	width: 570px;
+	height: 83px;
+	margin: 0 0 15px 0;
+	padding: 0;
+	}
+	
+h1#videoHead2 span {
+	display: none;
+	}
+
+	
+/* series of colored-background, roundy-colored headlines:
+	[Small(165px), no-size(279px), Wide(573px), Med(426px), Full(690px) 720(720)] */
+	
+h2.accentDarkSmall {
+	width: 165px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #b4b19a;
+	background-image: url(/images/rh/corner_headbrownsmall_top.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+	text-transform: uppercase;
+	}
+	
+h2.accentDarkSmall span {
+	display: block;
+	padding: 1px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headbrownsmall_bottom.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+
+h2.accentDark {
+	width: 279px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #b4b19a;
+	background-image: url(/images/rh/corner_headbrown_top.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+		}
+	
+h2.accentDark span {
+	display: block;
+	padding: 1px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headbrown_bottom.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+		
+h2.accentDarkWide {
+	width: 573px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #C8C5AC;
+	background-image: url(/images/rh/corner_headbrownwide_top.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+	text-transform: uppercase;
+	}
+	
+h2.accentDarkWide span {
+	display: block;
+	padding: 1px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headbrownwide_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentDarkMed {
+	width: 426px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #b4b19a;
+	background-image: url(/images/rh/corner_headbrownmedium_top.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+	text-transform: uppercase;
+	}
+	
+h2.accentDarkMed span {
+	display: block;
+	padding: 1px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headbrownmedium_bottom.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentDarkFull {
+	width: 690px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #C8C5AC;
+	background-image: url(/images/rh/corner_headbrownfull_top.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+	text-transform: uppercase;
+	}
+	
+h2.accentDarkFull span {
+	display: block;
+	padding: 1px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headbrownfull_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+
+h2.accentDarkHalfFull {
+        width: 345px;
+        padding: 0;
+        margin: 0;
+        margin-bottom: 15px;
+        background-color: #b4b19a;
+        background-image: url(/images/rh/corner_headbrownhalffull_top.gif);
+        background-position: top left;
+        background-repeat: no-repeat;
+        font-size: small;
+        color: white;
+	text-transform: uppercase;
+        }
+                                                                                                                                                                                      
+                                                                                                                                                                                      
+h2.accentDarkHalfFull span {
+        display: block;
+        padding: 1px 15px 2px 15px;
+        background-image: url(/images/rh/corner_headbrownhalffull_bottom.gif);
+        background-position: bottom right;
+        background-repeat: no-repeat;
+        }
+
+	
+h2.accentLightSmall {
+	width: 165px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #e3dcc0;
+	background-image: url(/images/rh/corner_headhome.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: #000;
+	}
+	
+h2.accentLightSmall span {
+	display: block;
+	padding: 3px 15px 4px 15px;
+	background-image: url(/images/rh/corner_headhome_b.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentLightSmall345 {
+	width: 345px;
+	padding: 0;
+	margin: 0 0 0 15px;
+	margin-bottom: 15px;
+	background-color: #e3dcc0;
+	background-image: url(/images/rh/corner_headhome_345.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: #000;
+	}
+	
+    /* Holly Hack Targets IE Win only \*/
+    * html h2.accentLightSmall345 {margin-left: 30px;}
+    /* End Holly Hack */
+	
+h2.accentLightSmall345 span {
+	display: block;
+	padding: 3px 15px 4px 15px;
+	background-image: url(/images/rh/corner_headhome_345_b.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentLight {
+	width: 279px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #ccc6ac;
+	background-image: url(/images/rh/corner_headcream_top.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: #fff;
+	}
+	
+h2.accentLight span {
+	display: block;
+	padding: 2px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headcream_bottom.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentLightDrkTxt {
+	width: 279px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #ccc6ac;
+	background-image: url(/images/rh/corner_headcream_top.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: x-small;
+	color: #000;
+	}
+	
+h2.accentLightDrkTxt span {
+	display: block;
+	padding: 3px 15px 3px 15px;
+	background-image: url(/images/rh/corner_headcream_bottom.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentLightWide {
+	width: 573px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #DFD8BC;
+	background-image: url(/images/rh/corner_headcreamwide_top.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+	}
+		      
+h2.accentLightWide span {
+	display: block;
+	padding: 1px 10px 2px 15px;
+	background-image: url(/images/rh/corner_headcreamwide_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentLightWideDrkTxt {
+	width: 573px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #DFD8BC;
+	background-image: url(/images/rh/corner_headcreamwide_top.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: x-small;
+	color: black;
+	}
+		      
+h2.accentLightWideDrkTxt span {
+	display: block;
+	padding: 3px 10px 3px 15px;
+	background-image: url(/images/rh/corner_headcreamwide_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentLightMed {
+	width: 426px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #ccc6ac;
+	background-image: url(/images/rh/corner_headcreammedium_top.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+	}
+	
+h2.accentLightMed span {
+	display: block;
+	padding: 1px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headcreammedium_bottom.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentLightFull {
+	width: 690px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #DFD8BC;
+	background-image: url(/images/rh/corner_headcreamfull_top.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+	}
+	
+h2.accentLightFull span {
+	display: block;
+	padding: 1px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headcreamfull_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+h2.accentLight720 {
+	width: 720px;
+	padding: 0;
+	margin: 0;
+	margin-bottom: 15px;
+	background-color: #DFD8BC;
+	background-image: url(/images/rh/corner_headcream720_top.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	font-size: small;
+	color: white;
+	}
+	
+h2.accentLight720 span {
+	display: block;
+	padding: 1px 15px 2px 15px;
+	background-image: url(/images/rh/corner_headcream720_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+
+h2.accentLightFullDkTxt {
+        width: 690px;
+        padding: 0;
+        margin: 0;
+        margin-bottom: 15px;
+        background-color: #DFD8BC;
+        background-image: url(/images/rh/corner_headcreamfull_top.png);
+        background-position: top left;
+        background-repeat: no-repeat;
+        font-size: small;
+        color: #000;
+        }
+                                                                                                                                                                                      
+h2.accentLightFullDkTxt span {
+        display: block;
+        padding: 1px 15px 2px 15px;
+        background-image: url(/images/rh/corner_headcreamfull_bottom.png);
+        background-position: bottom right;
+        background-repeat: no-repeat;
+        }
+
+
+h2.accentLightHalfFull {
+        width: 345px;
+        padding: 0;
+        margin: 0;
+        margin-bottom: 15px;
+        background-color: #DFD8BC;
+        background-image: url(/images/rh/corner_headcreamhalffull_top.gif);
+        background-position: top left;
+        background-repeat: no-repeat;
+        font-size: small;
+        color: white;
+        }
+                                                                                                                                                                                       
+h2.accentLightHalfFull span {
+        display: block;
+        padding: 1px 15px 2px 15px;
+        background-image: url(/images/rh/corner_headcreamhalffull_bottom.gif);
+        background-position: bottom right;
+        background-repeat: no-repeat;
+        }
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/layout.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/layout.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/layout.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+
+<html>
+
+<head>
+	<title>404 Not Found</title>
+    <!-- meta refresh that loads the following page from the CMS /errors/404 -->
+    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=/errors/404">
+</head>
+
+<body></body>
+
+</html>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/navigation.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/navigation.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/navigation.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,505 @@
+/************************************************************** UTILITY LINKS */
+	
+#utilityLinks {
+	float: left;
+	width: 243px;
+	margin-left: 135px;
+	}
+	
+#utilityLinks ul {
+	padding: 0;
+	margin: 0;
+	border: 0;
+	text-align: center;
+	list-style-type: none;
+	}
+	
+#utilityLinks ul li {
+	display: block;
+	float: left;
+	text-align: center;
+	padding: 0;
+	margin: 0;
+	}
+	
+#utilityLinks ul li a {
+	display: block;
+	}
+	
+#utilityLinks ul li a span {
+	display: none;
+	}
+	
+#utilityLinks ul li a#sixth {
+	width: 82px;
+	height: 30px;
+	background-image: url(/images/rh/link_utility_support.gif);
+	background-repeat: no-repeat;
+	background-position: 0 5px;
+	}
+body#mainsix #utilityLinks a#sixth {
+	background-image: url(/images/rh/link_utility_support-on.png);
+	background-repeat: no-repeat;
+	background-position: 0 5px;
+	}
+	
+#utilityLinks ul li a#seventh {
+	width: 70px;
+	height: 30px;
+	background-image: url(/images/rh/link_utility_store.gif);
+	background-repeat: no-repeat;
+	background-position: 0 5px;
+	}
+body#mainseven #utilityLinks a#seventh {
+	background-image: url(/images/rh/link_utility_store-on.gif);
+	background-repeat: no-repeat;
+	background-position: 0 5px;
+	}
+		
+#utilityLinks ul li a#eighth {
+	width: 91px;
+	height: 30px;
+	background-image: url(/images/rh/link_utility_download.gif);
+	background-repeat: no-repeat;
+	background-position: 0 5px;
+	}
+body#maineight #utilityLinks a#eighth {
+	background-image: url(/images/rh/link_utility_download-on.png);
+	background-repeat: no-repeat;
+	background-position: 0 5px;
+	}
+	
+img#banner {
+	margin-bottom: 7px;
+	}
+	
+/************************************************************** MAIN NAVIGATION */
+	
+#mainNavOuter {
+	width: 100%;
+	background-image: url(/images/rh/corner_mainnav_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	background-color: #c00;
+	}
+	
+#mainNav {
+	width: 100%;
+	font-weight: bold;
+	font-family: "Luxi Sans", verdana, helvetica, arial, sans-serif;
+	}
+    
+    
+#mainNavInner {
+	width: 100%;
+	height: 22px;
+	background-image: url(/images/rh/corner_mainnav_top.png);
+	background-position: top right;
+	background-repeat: no-repeat;
+	}
+	
+#mainNav ul {
+	padding: 0;
+	margin: 0;
+	list-style-type: none;
+	background-image: url(/images/rh/corner_mainnav_tl.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	}
+	
+#mainNav ul li {
+	background: #b70000;
+	display: block;
+	float: left;
+	padding: 0;
+	margin: 0;
+	}
+	
+body#mainone #mainNav li#mainFirst,
+body#maintwo #mainNav li#mainSecond,
+body#mainthree #mainNav li#mainThird,
+body#mainfour #mainNav li#mainFourth,
+body#mainfive #mainNav li#mainFifth,
+body#mainend #mainNav li#mainLast {
+	background-color: #800000;
+	}
+	
+#mainNav ul li a#mainFirstLink {
+	background-image: url(/images/rh/corner_mainnav_tl.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	}
+	
+body#mainone #mainNav li a#mainFirstLink {
+	background-image: url(/images/rh/corner_mainnav_tl_hi.png);
+	}
+	
+#mainNav ul li#mainFirst {
+	background-image: url(/images/rh/corner_mainnav_bl.png);
+	background-position: bottom left;
+	background-repeat: no-repeat;
+	}
+	
+body#mainone #mainNav li#mainFirst {
+	background-image: url(/images/rh/corner_mainnav_bl_hi.png);
+	}
+	
+#mainNav ul li a#mainLastLink {
+	background-image: url(/images/rh/corner_mainnav_tr.png);
+	background-position: top right;
+	background-repeat: no-repeat;
+	}
+	
+body#mainend #mainNav li a#mainLastLink {
+	background-image: url(/images/rh/corner_mainnav_tr_hi.png);
+	}
+	
+#mainNav ul li#mainLast {
+	background-image: url(/images/rh/corner_mainnav_br.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+body#mainend #mainNav li#mainLast {
+	background-image: url(/images/rh/corner_mainnav_br_hi.png);
+	}
+	
+#mainNav ul li a {
+	display: block;
+	float: left;
+	text-decoration: none;
+	color: #fff;
+	padding: 4px 15px 3px 15px;
+	font-size: x-small;
+	height: 15px;
+	}
+	
+#worldwide {
+	float: right;
+	margin: 0 15px 0 0;
+	padding: 0;
+	}
+	
+    /* Holly Hack Targets IE Win only \*/
+    * html #worldwide {margin: 0 7px 0 0;} /* have no clue WHY this works */
+    /* End Holly Hack */
+	
+#worldwide ul {
+	margin: 0; 
+	padding: 0;
+	}
+	
+#worldwide ul>a {
+	width: auto;
+	}
+	
+#worldwide ul li {
+	position: relative; 
+	list-style: none; 
+	margin: 0; 
+	background-color: #c00;
+	z-index: 1000;
+	}
+	
+#worldwide ul li a {
+	display: block; 
+  	text-decoration: none;
+  	padding: 5px 0;
+  	}
+  	
+#worldwide ul li a.wwLevelOne {
+	width: 76px;
+	height: 22px;
+	background: url(/images/rh/link_worldwide.png) 50% 50% no-repeat;
+	padding: 0;
+  	}
+  	
+#worldwide ul li a.wwLevelOne span {
+	display: none;
+  	}
+	
+#worldwide ul li:hover ul {
+	display: block;
+	}
+	
+#worldwide ul ul {
+	position: absolute; 
+	top: 22px;
+	left: -19px;
+	display: none;
+	width: 110px;
+	background: url(/images/rh/corner_wwDrop_top.gif) top left no-repeat;
+	padding-top: 10px;
+	}
+	
+#worldwide ul ul li a {
+	width: 90px;
+	padding: 5px 15px 5px 5px;
+	font-weight: normal;
+	text-align: right;
+	height: auto; /* recovers from height of "ul li a" above */
+	background-color: #999;
+	}
+	
+#worldwide ul ul li.wwLast {
+	background: url(/images/rh/corner_wwDrop_bottom.gif) bottom right no-repeat;
+	padding-bottom: 10px;
+	}
+	
+/*
+#worldwide a {
+	display: block;
+	width: 76px;
+	height: 15px;
+	background-image: url(/images/rh/link_worldwide.png);
+	background-repeat: no-repeat;
+	}
+	
+#worldwide a span {
+	display: none;
+	}
+*/
+	
+/************************************************************** SECONDARY NAVIGATION */
+	
+#secNavOuter {
+	width: 100%;
+	background-image: url(/images/rh/corner_secnav_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	background-color: #e6e6e6;
+	}
+	
+#secNav {
+	width: 100%;
+	font-weight: normal;
+	font-family: "Luxi Sans", verdana, helvetica, arial, sans-serif;	
+	font-size: x-small;
+	}
+	
+#secNavOuter:after {
+    content: "."; 
+    display: block; 
+    height: 1px;
+    margin-top: -1px;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html .secNavOuter {height: 1%;}
+    /* End Holly Hack */
+    
+#secNavInner {
+	width: 100%;
+	height: 7px;
+	background-image: url(/images/rh/corner_secnav_top.png);
+	background-position: top right;
+	background-repeat: no-repeat;
+	}
+	
+#secNav ul {
+	padding: 0;
+	margin: 0;
+	list-style-type: none;
+	background-image: url(/images/rh/corner_secnav_tl.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	}
+	
+#secNav ul li {
+	background: #999;
+	display: block;
+	float: left;
+	padding: 0;
+	margin: 0;
+	}
+	
+ul#secone li#secFirst,
+ul#sectwo li#secSecond,
+ul#secthree li#secThird,
+ul#secfour li#secFourth,
+ul#secfive li#secFifth,
+ul#secsix li#secSixth,
+ul#secseven li#secSeventh,
+ul#seceight li#secEighth,
+ul#secend li#secLast {
+	background-color: #565656;
+	}
+	
+#secNav ul li a#secFirstLink {
+	background-image: url(/images/rh/corner_secnav_tl.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	padding-left: 15px;
+	}
+	
+#secNav ul#secone li a#secFirstLink {
+	background-image: url(/images/rh/corner_secnav_tl_hi.png);
+	}
+	
+#secNav ul li#secFirst {
+	background-image: url(/images/rh/corner_secnav_bl.gif);
+	background-position: bottom left;
+	background-repeat: no-repeat;
+	}
+	
+#secNav ul#secone li#secFirst {
+	background-image: url(/images/rh/corner_secnav_bl_hi.png);
+	}
+	
+#secNav ul li a#secLastLink {
+	background-image: url(/images/rh/corner_secnav_tr.gif);
+	background-position: top right;
+	background-repeat: no-repeat;
+	padding-right: 15px;
+	}
+	
+
+#secNav ul#secend li a#secLastLink {
+	background-image: url(/images/rh/corner_secnav_tr_hi.png);
+	}
+	
+#secNav ul li#secLast {
+	background-image: url(/images/rh/corner_secnav_br.gif);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+
+#secNav ul#secend li#secLast {
+	background-image: url(/images/rh/corner_secnav_br_hi.png);
+	}
+	
+#secNav ul li a {
+	display: block;
+	float: left;
+	text-decoration: none;
+	color: #fff;
+	padding: 5px 10px;
+	font-size: 10px;
+	}
+/* hide rule from ie5 mac \*/
+#secNav ul li a {
+	float: none;
+	}
+	
+#mainNav ul li a:hover, #worldwide ul ul li a:hover, #secNav ul li a:hover {
+	color: #000;
+	}
+    
+/************************************************************** SIDE NAVIGATION */
+	
+#sidenav {
+	width: 132px;
+	background-color: #999;
+	background-image: url(/images/rh/corner_sidenav_top.gif);
+	background-position: top right;
+	background-repeat: no-repeat;
+	font-family: "Luxi Sans", verdana, arial, sans-serif;	
+	font-size: x-small;
+	font-weight: bold;
+	}
+	
+#sidenav ul {
+	background-image: url(/images/rh/corner_sidenav_bottom.gif);
+	background-position: bottom left;
+	background-repeat: no-repeat;
+	list-style: none;
+	padding: 10px 0 10px 0;
+	margin: 0;
+	}
+	
+#sidenav ul ul {
+	background: none;
+	background-color: #c1c1c1;
+	margin: 0;
+	padding: 0;
+	}
+	
+#sidenav ul li {
+	border-bottom: 1px solid #a7a7a7;
+	margin: 0;
+	}
+	
+#sidenav ul li:last-child {
+	border-bottom: 1px solid #999;
+	}
+	
+#sidenav ul li.navon {
+	background: #6c6c6c;
+	}
+	
+#sidenav ul li.navon span {
+	display: none;
+	}
+	
+#sidenav ul li a {
+	display: block;
+	color: white;
+	text-decoration: none;
+	padding: 3px 5px 3px 15px;
+	margin: 0;
+	}
+	
+#sidenav ul ul li a.navon {
+	background: #8a8a8a;
+	}
+	
+#sidenav ul ul li:last-child {
+	border-bottom: none;
+	}
+	
+#sidenav ul ul li a {
+	padding-left: 30px;
+	}
+	
+ #sidenav ul li a:hover {
+	color: #333;
+	}
+	
+/************************************************************** RELATED LINKS */
+
+#moreinfo {
+	width: 132px;
+	background: #f5f5f5;
+	background-image: url(/images/rh/corner_moreinfo_top.png);
+	background-repeat: no-repeat;
+	background-position: top right;
+	margin-top: 10px;
+	}
+	
+#moreinfo ul {
+	padding: 5px 5px 10px 10px;
+	list-style: none;
+	margin: 0;
+	background-image: url(/images/rh/corner_moreinfo_bottom.png);
+	background-repeat: no-repeat;
+	background-position: bottom left;
+	}
+	
+#moreinfo ul li {	
+	font-size: x-small;
+	background-image: url(/images/rh/bullet_grayarrow.png);
+	background-repeat: no-repeat;
+	background-position: 0 3px;
+	padding-left: 6px;
+	margin: .33em 0;
+	}
+	
+#moreinfo ul li a {
+	color: #666;
+	text-decoration: none;
+	}
+	
+#moreinfo ul li a:hover {
+	color: #333;
+	}
+	
+#moreinfo h4 {
+	font-size: x-small;
+	color: #666;
+	margin: 0;
+	padding: 10px 0 0 15px;
+	}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/pagelayout.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/pagelayout.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/pagelayout.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,798 @@
+/************************************************************** LOGO HEADER */
+	
+#header {
+	width: 100%;
+	height: 42px;
+	clear: left;
+	}
+	
+#header form {
+	width: 201px;
+	margin-top: 5px;
+	float: right;
+	text-align: right;
+	}
+	
+#header input {
+	background: #eee;
+	}
+	
+#rhLogo {
+	float: left;
+	margin-left: 15px;
+	}
+	
+/************************************************************** WIDGETS */
+
+#widget {
+	width: 132px;
+	padding-bottom: 9px;
+	margin-bottom: 1em;
+	font-size: 10px;
+	background-image: url(/images/rh/corner_widget_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+#widgetRed {
+	width: 132px;
+	padding-bottom: 9px;
+	margin-bottom: 1em;
+	font-size: 10px;
+	background-image: url(/images/rh/corner_widget_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+#widget img {
+	display: block;
+	padding: 0;
+	margin: 0;
+	}
+	
+#widget h3 {
+	font-size: 10px;
+	color: white;
+	background: #b4b4b4;
+	padding: 4px 10px;
+	margin: 0;
+	}
+	
+#widgetRed h3 {
+	font-size: 10px;
+	color: white;
+	background: #900;
+	padding: 4px 10px;
+	margin: 0;
+	}
+	
+#widget h3.noPromo {
+	background-image: url(/images/rh/corner_widget_top.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	padding-top: 5px;
+	padding-bottom: 5px;	
+	}
+	
+#widgetRed h3.noPromoRed {
+	background-image: url(/images/rh/corner_widgetRed_top.gif);
+	background-position: top left;
+	background-repeat: no-repeat;
+	padding-top: 5px;
+	padding-bottom: 5px;	
+	}
+
+#widget .noPromoLtGrey {
+	background-image: url(/images/rh/corner_widget_top_ltgrey.png);
+	background-position: top left;
+        background-repeat: no-repeat;
+	padding-top: 0;
+        padding-bottom: 0;
+	border-bottom: 1px solid #b4b4b4;
+        background-color: #f2f2f2;
+        }
+        
+#widgetCMSTop {
+	 background: url(http://www.redhat.com//images/rh/corner_widget_top_ltgrey.png) 50% 50% no-repeat; 
+	 padding-top: 14px;
+	 }
+
+.widgetBody {
+	width: 132px;
+	padding: 9px;
+	border-left: 1px solid #b4b4b4;
+	border-right: 1px solid #b4b4b4;
+	background-color: #f2f2f2;
+/* tantek box hack for ie5 win */
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	width: 112px;
+	}
+
+/* for Opera */
+html>body .widgetBody {
+	width: 112px;
+	}
+	
+.widgetBody input {
+	font-size: 10px;
+	}
+	
+.widgetBody ul.linkage {
+	list-style: none;
+	padding-left: 0;
+	margin-left: 0;
+	}
+	
+/************************************************************** FOOTER */
+
+p#footer {
+	padding-top: 40px;
+	margin-left: 15px;
+	line-height: 1.5em;
+	color: #999;
+	font-size: xx-small;
+	clear: both;
+	}
+	
+p#footer a {
+	text-decoration: none;
+	}
+	
+/************************************************************** MAIN CONTENT */
+	
+#contentWrap {
+	margin: 25px 0 10px 0;
+	padding: 0;
+	}
+	
+#contentWrap:after {
+    content: "."; 
+    display: block;
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #contentWrap {height: 1%;}
+    /* End Holly Hack */
+    
+#contentWrap1Col {
+	margin: 25px 15px 10px 15px;
+	padding: 0;
+	}
+	
+#contentWrap1Col:after {
+    content: "."; 
+    display: block; 
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #contentWrap1Col {height: 1%;}
+    /* End Holly Hack */
+    
+/**** wrap this around any area with 2 columns except for "compare" */
+    
+.content2Col:after {
+    content: "."; 
+    display: block; 
+    height: 1px;
+    margin-top: -1px
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html .content2Col {height: 1%;}
+    /* End Holly Hack */
+    
+/**** wrap this around any area with 2 columns that are followed by an HR */
+    
+.content2ColHR {
+	padding-bottom: 15px;
+	border-bottom: 1px solid #C8C5AC;
+	margin-bottom: 15px;
+	}
+    
+.content2ColHR:after {
+    content: "."; 
+    display: block; 
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html .content2ColHR {height: 1%;}
+    /* End Holly Hack */
+    
+
+    
+/**** following two styles define LEFT SIDENAV and RIGHT-HAND CONTENT */
+	
+#navCol {
+	float: left;
+	width: 132px;
+	}
+	
+	/* Holly Hack Targets IE Win only \*/
+    * html #navCol {position: static;}
+    /* End Holly Hack */
+	
+#content3ColRight {
+float: left;
+width: 421px;
+margin-right: 15px;
+}
+	
+    
+#contentColRight {
+        margin-left: 147px;
+}    
+
+        /* Holly Hack Targets IE Win only \*/
+    * html #contentColRight {margin-left: 144px;}
+    /* End Holly Hack */
+
+
+/**** following two styles define LEFT-HAND CONTENT and RIGHT-HAND WIDGETS */
+	
+#contentColLeft {
+	float: left;
+	width: 573px;
+	}
+
+#widgetCol {
+	margin-left: 588px;
+	}
+	
+	/* Holly Hack Targets IE Win only \*/
+    * html #widgetCol {margin-left: 583px;}
+    /* End Holly Hack */
+
+#widget3Col {
+float:left;	
+width: 132px;
+	}
+
+
+    
+#widgetFloat {
+	float: right;
+	margin-left: 15px;
+	margin-bottom: 15px;
+	}
+    
+#widgetWrap:after {
+    content: "."; 
+    display: block; 
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html #widgetWrap {height: 1%;}
+    /* End Holly Hack */
+    
+    
+    
+#logoutFloat {
+	float: right;
+	margin: 15px;
+	margin-right: 10px;
+	margin-top: 0px
+	}
+#logoutFloat a {
+	text-decoration: none;
+	color: rgb(153, 0, 0);
+	}
+	
+/**** END basic template styles */
+	
+/**** following styles define HALF-WIDTH CONTENT COLUMNS */
+	
+.halfColLeft {
+	float: left;
+	}
+	
+	/* Holly Hack Targets IE Win only \*/
+    * html .halfColLeft {position: static;}
+    /* End Holly Hack */
+
+
+
+	
+.halfColRight,
+.twothirdColRight{
+	margin-left: 294px;
+	}
+	
+	/* Holly Hack Targets IE Win only \*/
+    * html .halfColRight,
+    * html .twothirdColRight{margin-left: 291px;}
+    /* End Holly Hack */
+    
+.halfColRight,
+.halfColLeft {
+	width: 279px;
+	padding-top: 0;
+	}
+	
+.twothirdColRight {
+	width: 411px;
+	}
+	
+.onethirdColRight {
+	width: 279px;
+	margin-left: 441px;
+	}
+	
+	/* Holly Hack Targets IE Win only \*/
+    * html .onethirdColRight {margin-left: 438px;}
+    /* End Holly Hack */
+	
+.twothirdColLeft {
+	width: 426px;
+	float: left;
+	}
+	
+.halfColRight ul,
+.halfColLeft ul {
+	padding: 0 10px 0 20px;
+	margin: 5px 0 11px 0;
+	}
+	
+.contentIndent {
+	margin-left: 15px;
+	margin-bottom: 15px;
+	}
+	
+.noIndent p	{
+	margin: 0;
+	}
+
+/* HalfFullCols -- right and left 50% cols on a full 720px page, like /choice/ */
+
+.halfFullColLeft {
+        float: left;
+        }
+                                                                                                                                                                                       
+        /* Holly Hack Targets IE Win only \*/
+    * html .halfFullColLeft {position: static;}
+    /* End Holly Hack */
+                                                                                                                                                                                       
+.halfFullColRight {
+        margin-left: 375px;
+        }
+                                                                                                                                                                                       
+        /* Holly Hack Targets IE Win only \*/
+    * html .halfFullColRight {margin-left: 357px;}
+    /* End Holly Hack */
+                                                                                                                                                                                       
+.halfFullColRight,
+.halfFullColLeft {
+        width: 345px;
+        padding-top: 0;
+        }
+
+	
+/**** following styles define INTRO PARAGRAPHS ON MAIN AND SUB SECTION PAGES */
+	
+#intro {
+	color: #b4b19a;
+	margin-bottom: 15px;
+	}
+	
+#intro h1 {
+	color: #333;
+	text-transform: uppercase;
+	}
+	
+#intro h2 {
+	margin-bottom: 0;
+	padding-bottom: 0;
+	font-size: large;
+	}
+	
+#intro p {
+	font-size: medium;
+	line-height: 1.33em;
+	margin: 0;
+	}
+	
+#intro a {
+	text-decoration: none;
+	}
+	
+#introMain {
+	margin-left: 15px;
+	}
+	
+#introSub {
+	padding-bottom: 15px;
+	border-bottom: 2px solid #e6e6e6;
+	}
+	
+/**** following styles define the BUY BUTTONS and surroundings */
+	
+.buyBox {
+	color: #999;
+	margin-bottom: 10px;
+	border-bottom: 2px solid #e6e6e6;
+	}
+	
+.buyWrap {
+	height: 29px;
+	}
+
+.buyWrap:after {
+    content: "."; 
+    display: block; 
+    height: 0;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html .buyWrap {height: 1%;}
+    /* End Holly Hack */
+    
+.buyBox p {
+	margin-top: 5px;
+	padding: 0;
+	}
+    
+button.buyButton {
+	float: left;
+	position: relative;
+	background: url(/images/rh/link_rhelblue.png) no-repeat;
+	text-align: center;
+	color: #fff;
+	font-size: 10px;
+	font-weight: bold;
+	width: 75px;
+	height: 29px;
+	border: 0;
+	padding: 0;
+	margin: 0;
+}
+
+p.buyText {
+	color: #000;
+	width: 200px;
+	margin: 0 0 0 85px;
+}
+
+p.buyTextToo	{
+	color: #000;
+	margin: 0 0 0 85px;
+	}
+	
+/**** following styles define COLUMNS THAT MUST BE ALIGNED AND COMPARE TWO CONCEPTS */
+
+.compare {
+	margin: 0 0 15px 0;
+	padding: 0;
+	}
+	
+.compare:after {
+    content: "."; 
+    display: block; 
+    height: 1px;
+    margin-top: -1px;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html .compare {height: 1%;}
+    /* End Holly Hack */
+	
+.compareColLeft,
+.compareColRight {
+	width: 279px;
+	background-image: url(/images/rh/corner_listbox_cream_bottom.png);
+	background-position: bottom right;
+    	background-repeat: no-repeat;
+	}
+
+.compareColLeftNoBG,
+.compareColRightNoBG  {
+	width: 279px;
+	}
+
+.compareColLeft h2,
+.compareColRight h2,
+.compareColLeftNoBG h2,
+.compareColRightNoBG h2 {
+	margin-bottom: 5px;
+	}
+
+.compareColLeft,
+.compareColLeftNoBG {
+	float: left;
+	}
+	
+.compareColRight,
+.compareColRightNoBG {
+	float: right;
+	}
+
+.compareColLeftClear,
+.compareColRightClear {
+        width: 279px;
+        }
+                                                                                                                             
+.compareColLeftClear h2,
+.compareColRightClear h2 {
+        margin-bottom: 5px;
+        }
+                                                                                                                             
+.compareColLeftClear {
+        float: left
+        }
+                                                                                                                             
+.compareColRightClear {
+        float: right
+        }
+	
+/**** following styles define ROUNDED CORNER LIGHT BACKGROUND LISTS */
+	
+ul.listBoxLeft,
+ul.listBoxRight {
+	width: 249px;
+	background-color: #f7f2d0;
+    	background-image: url(/images/rh/corner_listbox_cream_top.png);
+	background-position: top right;
+	background-repeat: no-repeat;
+	padding: 7px 10px 0 20px;
+	margin: 5px 0 11px 0;
+	}
+	
+ul.listBoxLeft li,
+ul.listBoxRight li {
+	padding: .5em 0 .5em 0;
+	}
+
+	
+.boxCream	{
+	width: 279px;
+	background-color: #f7f2d0;
+        background-image: url(/images/rh/corner_listbox_cream_bottom.png);
+        background-position: bottom right;
+        background-repeat: no-repeat;
+	padding-bottom: 10px;
+	margin-bottom: 15px;
+        }
+
+ul.listBoxCream	{
+	width: 249px;
+	background-color: #f7f2d0;
+        background-image: url(/images/rh/corner_listbox_cream_top.png);
+        background-position: top right;
+        background-repeat: no-repeat;
+        padding: 7px 10px 0 20px;
+        margin: 5px 0 0 0;
+	list-style: none;
+        }
+
+ul.listBoxCream li {
+	font-size: smaller;
+	font-weight: bold;
+	line-height: 1.5em;
+	background-image: url(/images/rh/bullet_bluearrowoncream_dot.png);
+        background-repeat: no-repeat;
+        background-position: 0 3px;
+        padding: 1px 0 1px 18px;
+	}
+	
+/**** following styles define PRODUCT DESCRIPTIONS ON MAIN SECTION PAGES */
+	
+.prod {
+	width: 279px;
+	margin-bottom: 15px;
+	}
+	
+.prod:after {
+    content: "."; 
+    display: block; 
+    height: 1px;
+    margin-top: -1px;
+    overflow: hidden;
+    clear: both; 
+    visibility: hidden;
+    }
+
+    /* Holly Hack Targets IE Win only \*/
+    * html .prod {height: 1%;}
+    /* End Holly Hack */
+	
+.prod h3 {
+	margin: 0 0 0 81px;
+	font-size: x-small;
+	text-transform: uppercase;
+	}
+	
+.prod p {
+	width: 198px;
+	margin: 3px 0 0 81px;
+	}
+	
+.prod img {
+	float: left;
+	margin: 0 0 0 15px;
+	}
+	
+/**** following styles define CAPTIONS FOR /images/rh */
+
+div.imgBox {
+  	background: url(/images/rh/corner_boxcream_br.png) bottom right no-repeat;
+  	background-color: #F7F2D0;
+  	margin-bottom: 15px;
+  	border-bottom: 1px solid white;
+  	}
+  
+div.imgBox img {
+	padding: 0;
+	margin-bottom: -3px;
+  	background-color: #fff;
+	}
+	
+div.caption {
+  	background: url(/images/rh/corner_boxcream_tr.png) top right no-repeat;
+  	font-style: italic;
+  	font-size: x-small;
+ 	}
+  
+div.caption h3 {
+  	background: url(/images/rh/corner_boxcream_tl.png) top left no-repeat;
+  	padding: 8px 0 0 8px;
+  	font-size: x-small;
+  	margin: 0;
+ 	}
+  
+div.caption p {
+  	background: url(/images/rh/corner_boxcream_bl.png) bottom left no-repeat;
+  	margin: 0;
+  	padding: 0 8px 10px 8px;
+  	}
+  
+div#imgClusterSuiteDiag {
+	width: 427px;
+ 	}
+ 	
+ /**** following styles define the CLEAR BOX W/ROUNDED CORNERS */
+ 
+ .clearBox {
+ 	width: 279px;
+ 	background: url(/images/rh/corner_halflinebox_top.png) top right no-repeat;
+ 	}
+ 	
+ .clearBoxWide {
+ 	width: 573px;
+ 	background: url(/images/rh/corner_mediumlinebox_top.png) top right no-repeat;
+ 	}
+ 	
+ .clearBoxFull {
+ 	width: 690px;
+ 	background: url(/images/rh/corner_lineboxfull_top.png) top right no-repeat;
+ 	}
+ 
+ .clearBoxHalfFull	{
+	width: 345px;
+	background: url(/images/rh/corner_lineboxhalffull_top.gif) top right no-repeat;
+        }
+	
+ .clearBoxTop3column	{
+	width: 420px;
+	padding-top: 7px;
+	background: url(/images/rh/corner_linebox420_top.png) top right no-repeat;
+        }
+	
+ .clearBox,
+ .clearBoxWide,
+ .clearBoxFull,
+ .clearBoxHalfFull {
+ 	padding-top: 7px;
+ 	margin-bottom: 15px;
+ 	}
+ 	
+ .clearBoxInner {
+ 	background: url(/images/rh/corner_halflinebox_bottom.png) bottom left no-repeat;
+ 	}
+ 	
+ .clearBoxInnerWide {
+	background: url(/images/rh/corner_mediumlinebox_bottom.png) bottom left no-repeat;
+	}
+ 	
+ .clearBoxInnerFull {
+ 	background: url(/images/rh/corner_lineboxfull_bottom.png) bottom left no-repeat;
+ 	}
+ 	
+ .clearBoxInnerHalfFull {
+        background: url(/images/rh/corner_lineboxhalffull_bottom.gif) bottom left no-repeat;
+        }
+        
+ .clearBoxBottom3column {
+ 	 	padding-bottom: 7px;
+        background: url(/images/rh/corner_linebox420_bottom.png) bottom left no-repeat;
+        }
+
+
+ .clearBoxInner,
+ .clearBoxInnerWide,
+ .clearBoxInnerFull,
+ .clearBoxInnerHalfFull {
+ 	width: 100%;
+ 	padding-bottom: 7px;
+ 	}
+ 	
+ .clearBoxBody {
+ 	padding: 5px 14px;
+ 	border-left: 1px solid #b4b4b4;
+ 	border-right: 1px solid #b4b4b4;
+ 	}
+ 	
+ .clearBoxBody h2 {
+ 	font-size: small;
+ 	}
+	
+.clearBoxWide div.formrow span.formfield {
+	width: 430px;
+	}
+                                                                                                                                                         
+.clearBoxFullQuote {
+	width: 690px;
+	padding-top: 7px;
+	background: url(/images/rh/corner_lineboxfull_top.png) top right no-repeat;
+	margin-bottom: 15px;
+	}
+                                                                                                                                                         
+.clearBoxQuote {
+	width: 573px;
+	padding-top: 7px;
+	background: url(/images/rh/corner_lineboxwide_top.png) top right no-repeat;
+	margin-bottom: 15px;
+	margin-left: 50px;
+	}
+ 	
+ .clearBoxBody3column {
+ 	border-left: 1px solid #b4b4b4;
+ 	border-right: 1px solid #b4b4b4;
+ 	}
+ /**** following styles if you need a HORIZONTAL RULE */
+ 	
+ .HRBox {
+	padding-bottom: 15px;
+	border-bottom: 1px solid #C8C5AC;
+	margin-bottom: 15px;
+	}
+ 	
+ /**** following styles define the an IMAGE ON THE LEFT W/TEXT ON THE RIGHT */
+ 	
+ div.imgLeft {
+ 	margin-bottom: 15px;
+ 	overflow: auto;
+ 	}
+	
+div.imgLeft img {
+ 	float: left;
+ 	margin: 0 30px 15px 0;
+ 	}
+ 
+div.imgLeft img.margin15	{
+	margin-right: 15px;
+	}
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/print.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/print.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/print.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,49 @@
+body { font: 11px Verdana, Helvetica, Arial, sans-serif; }
+
+a:link { text-decoration: underline; }
+a:visited { text-decoration: underline; }
+
+h1 { }
+h2 { }
+h3 { }
+h4 { }
+h5 { }
+
+strong { }
+em { }
+
+p { }
+pre { }
+code { }
+
+hr { }
+
+
+.hide { display: none;}
+
+
+/* hide screen navigation */
+#TopMenu, #ControlMenu, #LeftMenu, #LeftAds, #MemberMenu, #WhosOnline  { display: none; }
+.pn-normal, .quickstart-box { display: none; }
+
+
+/* reformat breadcrumb for reference */
+#Breadcrumb { display: none; /* for now */}
+#Breadcrumb { border-top: 1px solid #6e6e6e; margin-bottom: 30px; padding-top: 10px;}
+#Breadcrumb ul { padding-left: 0px; margin: 0px; display: inline; }
+#Breadcrumb li { list-style: none; color: #333333; font: 11px Verdana, Helvetica, Arial, sans-serif; display: inline; }
+#Breadcrumb li.root { color: #666666; font-weight: bold; }
+#Breadcrumb a { color: #005EB6; text-decoration: none; }
+#Breadcrumb a:hover { text-decoration: underline; }
+#Breadcrumb li:before { content: "\00BB \0020"; }
+#Breadcrumb li.root:before { content: " "; }
+
+
+/* format general text */
+#BodyTable td.topheader { height: 0px; }
+#BodyTable td.leftside { height: 0px; }
+#BodyTable td.bodycell { font: 11px verdana, arial, helvetica; }
+
+
+/* reformat copyright */
+#PageFooter #Copyright { font: 11px Verdana, Helvetica, Arial, sans-serif; margin-top: 30px; opacity: .5}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,249 @@
+/* Setup defaults since variable in browsers
+----------------------------------------------- */
+body, div, dd, dt, dl, img, ul, ol, li, p, h1, h2, h3, h4, h5, form, hr, fieldset {
+	margin: 0;
+	padding: 0;
+}
+/* Element Defaults
+----------------------------------------------- */
+html {
+	height: 100%;
+}
+img {
+	border: 0;
+}
+body {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: small;
+	line-height: 1.25em;
+	color: #362F2D;
+	position: relative;
+	height: 100%;
+	margin-left: auto;
+	margin-right: auto;
+}
+label {
+	font-weight: bold;
+	color: #5E5147;
+}
+pre.preform-output {
+	overflow: scroll; 
+	border: 2px inset #ECE9D8;
+	width: 100%; 
+	height: 200px
+}
+input {
+	border: 1px solid #C3BBB6;
+	padding: 4px;
+	margin: 5px 0;
+	background: #fff url(../img/input.bg.gif) 0 0 repeat-x;
+}
+.indent {
+	margin-left: 20px;
+}
+ol, ul {
+	margin: 10px 0px 10px 6px;
+}
+li {
+	margin: 10px 12px;
+}
+fieldset {
+	border: 0;
+}
+/* Layout
+----------------------------------------------- */
+#document {
+	padding: 0 1px;
+	float: left;
+}
+#header {
+	float: left;
+	width: 758px;
+	height: 46px;
+}
+#container {
+	float: left;
+	width: 578px;
+}
+#sidebar {
+	float: left;
+	width: 190px;
+	margin-top: 96px;
+	padding: 20px 10px 0 10px;
+}
+#content {
+	float: left;
+	width: 358px;
+	margin-top: 75px;
+	padding-top: 5px;
+}
+#footer {
+	clear: both;
+	margin-top: 40px;
+	float: left;
+	padding: 20px;
+	border-top: 1px solid #C3BBB6;
+	background-color: #fff;
+	width: 578px;
+	text-align: right;
+}
+/* General
+----------------------------------------------- */
+.button {
+	font-weight: bold;
+	color: #fff;
+	border: 1px solid #5D1414;
+	height: 26px;
+	background: #fff url(../img/btn.bg.gif) 0 0 repeat-x;
+	border-style: none;
+}
+.center {
+	text-align: center;
+}
+.entry {
+	clear: both;
+	padding-top: 10px;
+}
+.entry .label {
+	float: left;
+	padding-top: 10px;
+	padding-right: 5px;
+	font-weight: bold;
+	width: 150px;
+	text-align: right;
+}
+.entry .output {
+	float: left;
+	width: 250px;
+	padding-top: 10px;
+	padding-left: 15px;
+	text-align: left;
+}
+.entry .input {
+	float: left;
+	width: 250px;
+	text-align: left;
+}
+/* Sidebar
+----------------------------------------------- */
+.notes {
+	text-align: center;
+	font-size: x-small;
+}
+.errors {
+	font-size: small;
+	font-weight: bold;
+	text-align: center;
+	color: #600;
+}
+.errors ul {
+	list-style: none;
+}
+.buttonBox {
+	text-align: center;
+	padding: 5px 0;
+}
+#sidebar p {
+	font-size: x-small;
+	color: #8B7869;
+	line-height: 150%;
+	padding-bottom: 10px;
+}
+#sidebar li {
+	font-size: x-small;
+	color: #8B7869;
+}
+#sidebar h1 {
+	line-height: normal;
+	font-weight: bold;
+	font-size: x-small;
+}
+#sidebar p:hover {
+	color: #362F2D;
+}
+/* Content
+----------------------------------------------- */
+#content .section {
+	float: left;
+	width: 578px;
+	padding: 15px 15px 0 15px;
+}
+#content .section h1 {
+	font-family: "Trebuchet MS", Arial, sans-serif;
+	line-height: normal;
+	font-weight: normal;
+	font-size: large;
+}
+#content .section p {
+	line-height: 150%;
+	padding: 10px 0;
+	font-size: small;
+}
+#content table {
+	width: 100%;
+	border: 1px solid #D2C9C4;
+	border-collapse: collapse;
+}
+#content table caption {
+	padding-bottom: 6px;
+	text-align: left;
+	font-weight: bold;
+}
+#content table thead th {
+	border-left: 1px solid #D2C9C4;
+	background: #fff url(../img/th.bg.gif) 0 100% repeat-x;	
+	border-bottom: 1px solid #D2C9C4;
+	padding: 6px;
+	text-align: left;
+	font-size: small;
+}
+#content table tbody td {
+	border-left: 1px solid #E4DBD5;
+	padding: 4px;
+	border-bottom: 1px solid #D2C9C4;
+	font-size: small;
+}
+#content dt {
+	font-weight: bold;
+	float: left;
+	width: 33%;
+}
+#content dd {
+	padding-left: 10px;
+	float: left;
+	width: 66%;
+}
+/* Header
+----------------------------------------------- */
+#title {
+	float: left;
+	padding: 1px 0 6px 15px;
+}
+#status {
+	color: #C7B299;
+	float: right;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-weight: bold;
+	font-size: x-small;
+	text-align: right;
+	padding-top: 14px;
+	padding-right: 15px;
+}
+#status a {
+	color: #C7B299;
+	text-decoration: none;
+}
+/* Homepage Modifications
+----------------------------------------------- */
+#pgHome #container {
+	background: url(../img/hdr.ad.jpg) 0 0 repeat-x;
+}
+#pgHome #sidebar {
+	margin-top: 207px;
+}
+#pgHome #content {
+	margin-top: 183px;
+}
+#pgHome .button {
+	height: 30px;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen_001.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen_001.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen_001.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,245 @@
+body { background-color: white; margin: 0px; padding: 0px; }
+
+a:link { text-decoration: none; }
+a:active { text-decoration: none; }
+a:visited { text-decoration: underline; }
+a:hover { text-decoration: underline; }
+
+h1 { }
+h2 { }
+h3 { }
+h4 { }
+h5 { }
+
+strong { }
+em { }
+
+p { }
+pre { }
+code { }
+
+hr { }
+
+
+/* TOP MENU -------------------------------------------- */
+#TopLogo { position: absolute; left: 0px; top: 0px; z-index: 5; }
+#TopMenu { position: absolute; right: 0px; top: 0px; z-index: 5; }
+#TopMenu td { height:22px; width: 120px; text-align: center; font: bold 9pt Verdana, Helvetica, Arial, sans-serif; }
+#TopMenu a { display: block; width: 120px; height:20px; padding-top: 2px; color: white; text-decoration: none; }
+#TopMenu td.menu_JBnetwork { background: url(../img/bg_topmenu_red_round.gif); }
+#TopMenu td.menu_JBcom { background: #b70000 ; }
+#TopMenu td.menu_JBorg { background: #b70000 ; }
+#TopMenu td.menu_RH { background: #b70000 ; }
+#TopMenu td.menu_JBnetwork a:hover { background: url(../img/bg_topmenu_red_round_over.gif); }
+#TopMenu td.menu_JBcom a:hover { background: #800000 ; }
+#TopMenu td.menu_JBorg a:hover { background: #800000 ; }
+#TopMenu td.menu_RH a:hover { background: #800000 ; }
+
+
+/* CONTROL MENU ----------------------------------------*/
+#ControlMenu { position: absolute; top: 30px; right: 10px; z-index: 5; text-align: right; }
+#ControlMenu ul { padding-left: 0px; margin: 0px; display: inline; }
+#ControlMenu li { list-style: none; color: #d8d8d8; font: 11px Verdana, Helvetica, Arial, sans-serif; display: inline; }
+#ControlMenu a { color: #666666; text-decoration: none; margin-left: 5px; margin-right: 5px; }
+#ControlMenu a:hover { text-decoration: underline; }
+#ControlMenu form { margin: 0px; padding: 0px; }
+#ControlMenu input.searchbutton { height: 21px; width: 24px; border: none; }
+
+
+/* BREADCRUMB ------------------------------------------*/
+#Breadcrumb { display: none; }
+#Breadcrumb { position: absolute; min-width: 600px; top: 60px; right: 10px; left: 275px; border: 1px solid #6e6e6e; z-index: 5; padding-top: 5px;}
+#Breadcrumb ul { padding-left: 0px; margin: 0px; display: inline; }
+#Breadcrumb li { list-style: none; color: #333333; font: 11px Verdana, Helvetica, Arial, sans-serif; display: inline; }
+#Breadcrumb li.root { color: #666666; font-weight: bold; }
+#Breadcrumb a { color: #005EB6; text-decoration: none; }
+#Breadcrumb a:hover { text-decoration: underline; }
+#Breadcrumb li:before { content: "\00BB \0020"; }
+#Breadcrumb li.root:before { content: " "; }
+
+
+/* BODY ------------------------------------------------*/
+#BodyTable { width: 100%; }
+#BodyTable td { vertical-align: top; }
+#BodyTable td.topheader { height: 102px; }
+#BodyTable td.leftside { width: 219px; padding-bottom: 119px; }
+#BodyTable td.bodycell { font: 11px Verdana, Helvetica, Arial, sans-serif; padding: 0px 30px 119px 0px; }
+#ContentContainer { }
+#ContentContainer h1:first-child { margin-top: 5px; }
+
+
+/* LEFT MENU -------------------------------------------*/
+/*1  10/179/0, 20/166/3, +45 = 226 */
+/*2  8/167/0, 18/154/3, +44 = 219 */
+/* deprecated
+#LeftMenu { margin-right: 44px; border-right: solid 1px white; padding-bottom: 13px; }
+#LeftMenu ul { padding: 0px; margin: 0px; }
+#LeftMenu li { list-style: none; }
+#LeftMenu ul li a { width: 167px; font-weight: bold; padding: 4px 0px 4px 8px; border-top: solid 1px white; }
+#LeftMenu ul ul li a { width: 154px; font-weight: normal; padding: 3px 3px 3px 18px; border-top: none;}
+#LeftMenu ul ul { padding-bottom: 8px; }
+#LeftMenu a { display: block; font: 11px Verdana, Helvetica, Arial, sans-serif; text-decoration: none; }
+#LeftMenu a:link, #LeftMenu a:visited { color: #ffffff; }
+#LeftMenu a:hover { background-color: #cccccc; color: #000000; }
+*/
+/* core */
+#LeftMenu { margin-right: 44px; padding-bottom: 13px; }
+#LeftMenu li { list-style: none; font: 11px Verdana, Helvetica, Arial, sans-serif; }
+#LeftMenu a { display: block; text-decoration: none; color: #ffffff;}
+
+
+/* 1st level */
+#LeftMenu ul {
+  padding: 0px;
+  margin: 0px; 
+}
+#LeftMenu ul li {
+  border-top: solid 1px white;
+}
+#LeftMenu ul li a {
+  width: 167px;
+  padding: 4px 0px 4px 8px;
+  /* 0 + 8 + 167 = 175px */
+  font-weight: bold;
+}
+#LeftMenu ul li a:hover {
+  background-color: #cccccc;
+  color: black;
+}
+
+#LeftMenu ul li.jbworld {
+  background-color: #b86905;
+}
+
+#LeftMenu ul li.jbworld a {
+  color: white;
+}
+
+#LeftMenu ul li.jbworld a:hover {
+  background-color: #c29470;
+}
+
+#LeftMenu ul li.current {
+  background-color: #cccccc;
+}
+#LeftMenu ul li.current a {
+  color: black;
+}
+#LeftMenu ul li.current a:hover {
+  background-color: #F0F0F0;
+}
+
+
+/* 2nd level */
+#LeftMenu ul li ul {
+  padding: 0px 0px 8px 0px;
+  margin: 0px; 
+}
+#LeftMenu ul li ul li {
+  border-top: none;
+}
+#LeftMenu ul li ul li a {
+  width: 154px;
+  padding: 3px 3px 3px 18px;
+  /* 3 + 18 + 154 = 175px */
+  color: white;
+  font-weight: normal;
+}
+#LeftMenu ul li ul li a:hover {
+  background-color: #cccccc;
+}
+#LeftMenu ul li.current ul li a:hover {
+  background-color: #F0F0F0;
+}
+#LeftMenu ul li.current ul li.current {
+  margin: 3px 10px 3px 10px;
+  background-color: #F0F0F0;
+}
+#LeftMenu ul li.current ul li.current a {
+ padding: 5px 3px 2px 8px; 
+  width: 144px;
+  /* 3 + 8 + 144 + 10 + 10 = 175px */
+  color: black;
+  font-weight: bold;
+  font-size: 10px;
+}
+#LeftMenu ul li ul li.current a:hover {
+  text-decoration: underline;
+}
+
+/* 3rd level */
+#LeftMenu ul li.current ul li.current ul {
+  padding: 5px;
+  margin-left: 20px;
+}
+#LeftMenu ul li.current ul li.current ul li {
+  border-top: none;
+  list-style: square;
+}
+#LeftMenu ul li.current ul li.current ul li a {
+  padding: 3px 3px 3px 3px;
+  width: 119px;
+  /* 3 + 3 + 5 + 25 + 10 + 10 = 56 - 175px = 119 */
+  color: black;
+  font-weight: normal;
+  font-size: 10px;
+}
+#LeftMenu ul li.current ul li.current ul li a:hover {
+  text-decoration: underline;
+}
+
+
+
+/* ADS ------------------------------------------------*/
+#LeftAds {}
+#LeftAds .item { margin-top: 10px; margin-bottom: 10px; }
+
+/* FOOTER ---------------------------------------------*/
+
+#footer {
+	position:absolute;
+	font-size:10px;
+	font-family:Verdana, Arial, Helvetica, sans-serif;
+        text-align:center;
+        width: 100%;
+}
+	
+
+ 
+#footer .leftcurve {
+	position: absolute;
+	float: left;
+	width: 123px; 
+	background: transparent url(../img/bg_bottom_red.gif) bottom left no-repeat; 
+	top: -1px;
+	height: 104px;
+	left: 0px;
+ }
+
+
+/* -------------------------------------------------------------------------
+		BRANDING
+	------------------------------------------------------------------------- */
+div.brand_NETWORK #BodyTable { background: transparent url(../img/bg_top_red.gif) top left no-repeat; }
+div.brand_NETWORK #LeftMenu { background: #777777 url(../img/bg_side_btm_red.gif) bottom right no-repeat; }
+div.brand_NETWORK #TopSearch input.searchbutton { background: #ffffff url(../img/btn_go_red.gif) right no-repeat; } 
+div.brand_JEMS #BodyTable { background: transparent url(../img/bg_top_red.gif) top left no-repeat; }
+div.brand_JEMS #LeftMenu { background: #777777 url(../img/bg_side_btm_red.gif) bottom right no-repeat; }
+div.brand_JEMS #TopSearch input.searchbutton { background: #ffffff url(../img/btn_go_red.gif) right no-repeat; } 
+div.brand_DOTCOM #BodyTable { background: transparent url(../img/bg_top_red.gif) top left no-repeat; }
+div.brand_DOTCOM #LeftMenu { background: #777777 url(../img/bg_side_btm_red.gif) bottom right no-repeat; }
+div.brand_DOTCOM #TopSearch input.searchbutton { background: #ffffff url(../img/btn_go_red.gif) right no-repeat; } 
+div.brand_FED #BodyTable { background: transparent url(../img/bg_top_red.gif) top left no-repeat; }
+div.brand_FED #LeftMenu { background: #777777 url(../img/bg_side_btm_red.gif) bottom right no-repeat; }
+div.brand_FED #TopSearch input.searchbutton { background: #ffffff url(../img/btn_go_red.gif) right no-repeat; } 
+
+
+
+/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+	 fancy positioning for footer - DO NOT change unless you know what you're doing
+	 */
+html, body { height: 100%; }
+#container { position: relative; min-height: 100%; height: 100%;}
+html>body #container { height: auto; }
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen_002.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen_002.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/screen_002.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,241 @@
+/* Setup defaults since variable in browsers
+----------------------------------------------- */
+body, div, dd, dt, dl, img, ul, ol, li, p, h1, h2, h3, h4, h5, form, hr, fieldset {
+	margin: 0;
+	padding: 0;
+}
+/* Element Defaults
+----------------------------------------------- */
+html {
+	height: 100%;
+	background-color: #DBD4C6;
+}
+img {
+	border: 0;
+}
+body {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: small;
+	line-height: 1.25em;
+	color: #362F2D;
+	position: relative;
+	height: 100%;
+	margin-left: auto;
+	margin-right: auto;
+}
+label {
+	font-weight: bold;
+	color: #5E5147;
+}
+input {
+	border: 1px solid #C3BBB6;
+	padding: 4px;
+	margin: 5px 0;
+	background: #fff url(../img/input.bg.gif) 0 0 repeat-x;
+}
+ol, ul {
+	margin: 10px 0px 10px 6px;
+}
+li {
+	margin: 10px 12px;
+}
+fieldset {
+	border: 0;
+}
+/* Layout
+----------------------------------------------- */
+#document {
+	padding: 0 1px;
+	float: left;
+	border-bottom: 1px solid #C3BBB6;
+}
+#header {
+	float: left;
+	width: 758px;
+	height: 46px;
+}
+#container {
+	float: left;
+	width: 758px;
+}
+#sidebar {
+	float: left;
+	width: 190px;
+	margin-top: 96px;
+	padding: 20px 10px 0 10px;
+}
+#content {
+	float: left;
+	width: 548px;
+	margin-top: 75px;
+	padding-top: 5px;
+}
+#footer {
+	clear: both;
+	margin-top: 40px;
+	float: left;
+	padding: 20px;
+	border-top: 1px solid #C3BBB6;
+	background-color: #fff;
+	width: 718px;
+	text-align: right;
+}
+/* General
+----------------------------------------------- */
+.button {
+	font-weight: bold;
+	color: #fff;
+	border: 1px solid #5D1414;
+	height: 26px;
+	background: #fff url(../img/btn.bg.gif) 0 0 repeat-x;
+	border-style: none;
+}
+.center {
+	text-align: center;
+}
+.entry {
+	clear: both;
+	padding-top: 10px;
+}
+.entry .label {
+	float: left;
+	padding-top: 10px;
+	padding-right: 5px;
+	font-weight: bold;
+	width: 150px;
+	text-align: right;
+}
+.entry .output {
+	float: left;
+	width: 250px;
+	padding-top: 10px;
+	text-align: left;
+}
+.entry .input {
+	float: left;
+	width: 250px;
+	text-align: left;
+}
+/* Sidebar
+----------------------------------------------- */
+.notes {
+	text-align: center;
+	font-size: x-small;
+}
+.errors {
+	font-size: small;
+	font-weight: bold;
+	text-align: center;
+	color: #600;
+}
+.errors ul {
+	list-style: none;
+}
+.buttonBox {
+	text-align: center;
+	padding: 5px 0;
+}
+#sidebar p {
+	font-size: x-small;
+	color: #8B7869;
+	line-height: 150%;
+	padding-bottom: 10px;
+}
+#sidebar li {
+	font-size: x-small;
+	color: #8B7869;
+}
+#sidebar h1 {
+	line-height: normal;
+	font-weight: bold;
+	font-size: x-small;
+}
+#sidebar p:hover {
+	color: #362F2D;
+}
+/* Content
+----------------------------------------------- */
+#content .section {
+	float: left;
+	width: 518px;
+	padding: 15px 15px 0 15px;
+}
+#content .section h1 {
+	font-family: "Trebuchet MS", Arial, sans-serif;
+	line-height: normal;
+	font-weight: normal;
+	font-size: large;
+}
+#content .section p {
+	line-height: 150%;
+	padding: 10px 0;
+	font-size: small;
+}
+#content table {
+	width: 100%;
+	border: 1px solid #D2C9C4;
+	border-collapse: collapse;
+}
+#content table caption {
+	padding-bottom: 6px;
+	text-align: left;
+	font-weight: bold;
+}
+#content table thead th {
+	border-left: 1px solid #D2C9C4;
+	background: #fff url(../img/th.bg.gif) 0 100% repeat-x;	
+	border-bottom: 1px solid #D2C9C4;
+	padding: 6px;
+	text-align: left;
+	font-size: small;
+}
+#content table tbody td {
+	border-left: 1px solid #E4DBD5;
+	padding: 4px;
+	border-bottom: 1px solid #D2C9C4;
+	font-size: small;
+}
+#content dt {
+	font-weight: bold;
+	float: left;
+	width: 33%;
+}
+#content dd {
+	padding-left: 10px;
+	float: left;
+	width: 66%;
+}
+/* Header
+----------------------------------------------- */
+#title {
+	float: left;
+	padding: 1px 0 6px 15px;
+}
+#status {
+	color: #C7B299;
+	float: right;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-weight: bold;
+	font-size: x-small;
+	text-align: right;
+	padding-top: 14px;
+	padding-right: 15px;
+}
+#status a {
+	color: #C7B299;
+	text-decoration: none;
+}
+/* Homepage Modifications
+----------------------------------------------- */
+#pgHome #container {
+	background: url(../img/hdr.ad.jpg) 0 0 repeat-x;
+}
+#pgHome #sidebar {
+	margin-top: 207px;
+}
+#pgHome #content {
+	margin-top: 183px;
+}
+#pgHome .button {
+	height: 30px;
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/tables.css
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/tables.css	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/css/tables.css	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,526 @@
+/************************************************************** TABLE STYLES */
+
+table caption {
+	font-size: 1.5em;
+	text-align: left;
+	font-weight: bold;
+	padding-bottom: .25em;
+	}
+
+table.creamHalf {
+	width: 279px;
+	background-color: #f7f2d0;
+	background-image: url(/images/rh/corner_table_halfcream_top.png);
+	background-position: top left;
+	background-repeat: no-repeat;
+	}
+	
+table.creamHalf th,
+table.creamHalf td {
+	padding: 3px 8px;
+	border-bottom: 1px solid #fdfbf2;
+	font-weight: normal;
+	}
+	
+table.creamHalf td {
+	text-align: center;
+	}
+	
+table.creamHalf tr.first th {
+	text-align: center;
+	font-weight: bold;
+	padding-top: 12px;
+	}
+	
+table.creamHalf tr th.lastLeft, td.lastLeft {
+	background-image: url(/images/rh/corner_table_halfcream_bottom.png);
+	background-position: bottom left;
+	background-repeat: no-repeat;
+	}
+	
+table.creamHalf tr th.lastRight, td.lastRight {
+	background-image: url(/images/rh/corner_table_halfcream_bottom.png);
+	background-position: bottom right;
+	background-repeat: no-repeat;
+	}
+	
+table.creamHalf tr.last td {
+	padding-bottom: 12px;
+	}
+	
+/* BASIC TABLE 											*/
+/* cols  : class  : colstyles							*/
+/* ----    -----    ---------							*/
+/* 4-col : basic4 : 1-2-3-4								*/
+/* 5-col : basic5 : 1-2-3-4-5							*/
+/* 6-col : basic3 : 1-1-2-2-3-3							*/
+/* 7-col : basic4 : 1-2-2-3-3-4-4						*/
+/* 8-col : basic4 : 1-1-2-2-3-3-4-4						*/
+/* 9-col : basic5 : 1-2-2-3-3-4-4-5-5					*/
+
+div.tableBasic h2 {
+	margin: 25px 0 .5em 0;
+	}
+	
+div.tableBasic p.footnote {
+	margin-top: 0;
+	}
+	
+div.tableBasic table {
+	background: #f7f2d0 url(/images/rh/corner_table_basic_tl.png) top left no-repeat;
+	margin-bottom: 15px;
+	}
+	
+    /* Holly Hack Targets IE Win only \*/
+    * html div.tableBasic table td, th {background: none;}
+    /* End Holly Hack */
+	
+div.tableBasic table th {
+	padding-top: 20px;
+	border-bottom: 2px solid #faf7e5;
+	vertical-align: bottom;
+	}
+	
+div.tableBasic table td {
+	border-bottom: 1px solid #faf7e5;
+	}
+	
+div.tableBasic table th,
+div.tableBasic table td {
+	padding: 8px 11px;
+	}
+	
+div.tableBasic table tr.lastrow td {
+	border-bottom: none;
+	padding-bottom: 20px;
+	}
+	
+div.tableBasic table tr.lastrow td.col1 {
+	background: url(/images/rh/corner_table_basic_bl.png) bottom left no-repeat;
+	}
+	
+div.tableBasic table td div.yes {
+	background: url(/images/rh/table_yesmark.png) 50% no-repeat;
+	height: 10px;
+	width: 100%;
+	}
+	
+div.tableBasic table td div.yes span {
+	display: none;
+	}
+	
+div.tableBasic table td div.no span {
+	display: none;
+	}
+	
+/* types of tables based on how many columns and cell alignment */
+
+div.tableBasic table.basic2 th.col2,
+div.tableBasic table.basic2 th.col2c,
+div.tableBasic table.basic2 th.col2r {
+	background: #ede8c8 url(/images/rh/corner_table_basic2_tr.gif) top right no-repeat;
+	}
+	
+div.tableBasic table.basic2 tr.lastrow td.col2,
+div.tableBasic table.basic2 tr.lastrow td.col2c,
+div.tableBasic table.basic2 tr.lastrow td.col2r {
+	background: #ede8c8 url(/images/rh/corner_table_basic2_br.gif) bottom right no-repeat;
+	}
+
+div.tableBasic table.basic3 th.col3,
+div.tableBasic table.basic3 th.col3c,
+div.tableBasic table.basic3 th.col3r {
+	background: #e2ddbd url(/images/rh/corner_table_basic3_tr.gif) top right no-repeat;
+	}
+	
+div.tableBasic table.basic3 tr.lastrow td.col3,
+div.tableBasic table.basic3 tr.lastrow td.col3c,
+div.tableBasic table.basic3 tr.lastrow td.col3r {
+	background: #e2ddbd url(/images/rh/corner_table_basic3_br.gif) bottom right no-repeat;
+	}
+	
+div.tableBasic table.basic4 th.col4,
+div.tableBasic table.basic4 th.col4c,
+div.tableBasic table.basic4 th.col4r {
+	background: #d9d5b5 url(/images/rh/corner_table_basic4_tr.png) top right no-repeat;
+	}
+	
+div.tableBasic table.basic4 tr.lastrow td.col4,
+div.tableBasic table.basic4 tr.lastrow td.col4c,
+div.tableBasic table.basic4 tr.lastrow td.col4r {
+	background: #d9d5b5 url(/images/rh/corner_table_basic4_br.png) bottom right no-repeat;
+	}
+	
+div.tableBasic table.basic5 th.col5,
+div.tableBasic table.basic5 th.col5c,
+div.tableBasic table.basic5 th.col5r {
+	background: #c6c2a6 url(/images/rh/corner_table_basic5_tr.png) top right no-repeat;
+	}
+	
+div.tableBasic table.basic5 tr.lastrow td.col5,
+div.tableBasic table.basic5 tr.lastrow td.col5c,
+div.tableBasic table.basic5 tr.lastrow td.col5r {
+	background: #c6c2a6 url(/images/rh/corner_table_basic5_br.png) bottom right no-repeat;
+	}
+	
+/* left-align and background colors */
+	
+div.tableBasic table th.col2,
+div.tableBasic table td.col2,
+div.tableBasic table th.col2c,
+div.tableBasic table td.col2c,
+div.tableBasic table th.col2r,
+div.tableBasic table td.col2r {
+	background-color: #ede8c8;
+	}
+	
+div.tableBasic table th.col3,
+div.tableBasic table td.col3,
+div.tableBasic table th.col3c,
+div.tableBasic table td.col3c,
+div.tableBasic table th.col3r,
+div.tableBasic table td.col3r {
+	background-color: #e2ddbd;
+	}
+	
+div.tableBasic table th.col4,
+div.tableBasic table td.col4,
+div.tableBasic table th.col4c,
+div.tableBasic table td.col4c,
+div.tableBasic table th.col4r,
+div.tableBasic table td.col4r {
+	background-color: #d9d5b5;
+	}
+	
+div.tableBasic table th.col5,
+div.tableBasic table td.col5,
+div.tableBasic table th.col5c,
+div.tableBasic table td.col5c,
+div.tableBasic table th.col5r,
+div.tableBasic table td.col5r {
+	background-color: #c6c2a6;
+	}
+	
+/* center-align */
+	
+div.tableBasic table th.col2c,
+div.tableBasic table td.col2c,
+div.tableBasic table th.col3c,
+div.tableBasic table td.col3c,
+div.tableBasic table th.col4c,
+div.tableBasic table td.col4c,
+div.tableBasic table th.col5c,
+div.tableBasic table td.col5c {
+	text-align: center;
+	}
+	
+/* right-align */
+	
+div.tableBasic table th.col2r,
+div.tableBasic table td.col2r,
+div.tableBasic table th.col3r,
+div.tableBasic table td.col3r,
+div.tableBasic table th.col4r,
+div.tableBasic table td.col4r,
+div.tableBasic table th.col5r,
+div.tableBasic table td.col5r {
+	text-align: right;
+	}
+
+/* special lastrow for /software/rhel/comparison */
+
+div.tableBasic table tr.lastrowSpecial td.col5f {
+	background: #c6c2a6 url(/images/rh/corner_table_basic5_bl.png) bottom left no-repeat;
+	}
+	
+div.tableBasic table.basic5 td.col5f {
+	background-color: #c6c2a6;
+	}
+	
+table.errata-timeline {
+	width: 550px;
+	border: 1px solid #333;
+	margin-bottom: 20px;
+	border-collapse: collapse;
+	}
+	
+table.errata-timeline td.full,
+table.errata-timeline td.deploy {
+	border-right: 1px solid #333;
+	}
+	
+table.errata-timeline td.full {
+	background-color: #eee;
+	width: 160px;
+	}
+	
+table.errata-timeline td.deploy {
+	background-color: #ccc;
+	width: 35px;
+	}
+	
+table.errata-timeline td.maintain {
+	background-color: #999;
+	border-left: 1px solid #333;
+	width: 350;
+	}
+	
+table.errata-timeline th {
+	border-top: 2px solid #000;
+	border-right: 1px solid #333;
+	text-align: right;
+	}
+
+/* rhn-like tables for direct renewals */
+
+table.contracts {
+	font-size: 10px;
+	background-color: #fff;
+	border-top: 2px solid #c6c2a6;
+	border-bottom: 0px;
+	padding: 0px;
+	margin: 0px 0px 25px 1px;
+	border-collapse: collapse;
+	width: 689px;
+	border-left: 1px solid #b4b19a;
+	border-right: 1px solid #b4b19a;
+}
+
+/* Holly Hack Targets IE Win only \*/
+    * html table.contracts {background-image: none;}
+    /* End Holly Hack */
+
+table.contracts tr.contractRowHeader	{
+	font-style: italic;
+	font-size: smaller;
+	background-color: #b4b19a;
+	border-bottom: 2px solid #c6c2a6;
+	}
+
+table.contracts tr.contractName {
+	background-color: #b4b19a;
+	font-weight: bold;
+	}
+
+table.contracts td.contractNo	{
+	padding-left: 7px;
+	font-size: small;
+	}
+
+table.contracts tr.contractEvenRow	{
+	background-color: #e2ddbd;
+	}
+
+table.contracts td.contractSubFirst	{
+	padding-left: 15px;
+	}
+
+table.contracts td.contractSubLast    {
+        text-align: right;
+	padding-right: 7px;
+        }
+
+table.contracts td.contractSubLast a	{
+	vertical-align: top;
+	}
+
+table.contracts tr.contractRenew	{
+	background-color: #b4b19a;
+	border-top: 2px solid #c6c2a6;
+	}
+
+table.contracts tr.contractRenew td	{
+	text-align: right;
+	padding-right: 7px;
+	}
+
+table.contracts tr.contractRenewNo        {
+        background-color: #b4b19a;
+        border-top: 2px solid #c6c2a6;
+        }
+
+table.contracts-pagination {
+	font-size: smaller;
+}
+
+.contracts-checkbox {
+	text-align: center;
+	border-left: 1px solid #b4b19a;
+}
+
+.contracts-checkbox-header {
+	text-align: center;
+}
+
+.contracts th a {
+	display: inline;
+	}
+
+.contracts a:hover {
+	text-decoration: underline;
+}
+
+/* contracts row classes */
+.contracts-row-even td{
+	background-color: #F1EBDC;
+}
+.contracts-row-odd td {
+        background-color: #ffffff;
+}
+.contracts-row-summary {
+	text-align: right;
+	font-weight: bold;
+	border: 1px solid #ccc;
+	background-color: #eee;
+}
+.contracts-row-even td, .contracts-row-odd td, .contracts-row-summary td {
+	padding: 4px 8px;
+}
+
+.contracts-horiz-separator hr {
+	border: 0;
+	border-bottom: 1px solid #ccc;
+	padding: 0px;
+}
+
+
+/* default class def for row color toggling */
+.contracts-row-even-selected {
+        background-color: #dde5ff;
+}
+.contracts-row-odd-selected {
+        background-color: #dde5ff;
+}
+
+.contracts-row-odd-selected td, .list-row-even-selected td {
+	border-bottom: 1px solid #ccc;
+	padding: 4px 8px;
+}
+
+/* store tables */
+
+
+table.store	{
+	width:100%;
+	margin: 0;
+	padding: 0;
+	border-collapse: collapse;
+	border-top: 1px solid #B5B5B5;
+	}
+	
+tr.storeRowHeader td {
+	background: #DDD;
+	font-weight:bold;
+	padding: 5px 0px 3px 0px;
+	margin: 0;
+	}
+	
+td.cartPrice { text-align: right; }
+	
+table.store td, table.checkout, #storeTotal td, .checkout { font-size: 11px; padding: 4px 0; }
+
+
+table.store tr.storeRowAddTo	{
+	border-bottom: 2px solid #b4b19a;
+	}
+
+table.store td.storeBold	{
+	font-weight: bold;
+	}
+
+tr.storeRowAddTo td	{
+	padding: 10px 0px 10px 5px;
+        margin: 0;
+        }
+
+table.store td.lastRowTotal {
+	text-align: right;
+	padding-right: 5px;
+	}
+	
+table.checkout	{
+	width: 100%;
+	margin: 0;
+	padding: 0;
+	border-collapse: collapse;
+	font-size: 12px;
+	}
+	
+.checkoutInfo {
+	margin-left: 30px;
+	font-size: 12px; 
+	}
+	
+#storeTotal {
+	width: 100%; 
+	}
+	
+#storeTotal td {
+	border-top: 10px solid #EEE;
+	border-bottom: 2px solid #ccc;
+	padding: 10px 0;
+	font-size: 12px; 
+	}
+	
+#storeAgreement {
+	width: 100%;
+	border-top: 1px solid #CCC;
+	border-bottom: 1px solid #CCC;
+	padding: 1px 0;
+	margin-bottom: 10px;
+	margin-top: 15px; 
+	}
+	
+#storeAgreement td {
+	font-size: larger;
+	padding: 5px 25px 7px;
+	background: #EEE;
+	vertical-align: middle; 
+	}
+	
+#storeButtons {
+	width: 100%;
+	margin: 20px 0 0 0;
+	padding: 0;
+	border-collapse: collapse; }
+	
+#storeButtons td, .store td { 
+	margin: 0; 
+	padding: 0; 
+	}
+
+table.checkout .asterisk {
+	font-size: 12px;	
+	color: #c00;
+	font-weight: bold;
+	}
+
+table.checkout tr.checkoutRowHeader td {
+	font-size: 14px;
+	font-weight: bold;
+	padding-bottom: 7px;
+	}
+
+table.checkout tr.checkoutRowHeader td.alignRight {
+	text-align: right;
+	}
+
+td.checkoutError {
+	color: #c00;
+	font-weight: bold;
+	padding-top: 7px;
+	padding-bottom: 5px;
+	}
+
+table.checkout tr.contractRowHeader    {
+        font-style: italic;
+        font-size: smaller;
+        border-bottom: 2px solid #c6c2a6;
+        }
+table.checkout tr.contractLastRow	{
+	border-top: 2px solid #c6c2a6;
+	}
+table.checkout td.alignRight {
+	text-align: right;
+        }
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/error.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/error.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/error.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,27 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<h1>Error</h1>
+	
+	<div class="section">
+		An error occured during the last operation.  Please check the Tomcat Console.
+	</div>
+
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<h1>Select Configuration Wizard</h1>
+	<p>
+	Select the ESB Configuration Wizard appropriate to your current task.	
+	</p>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/features.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/features.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/features.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+		<h2 id="features">JBoss ESB Transformation Features</h2>
+		The features of JBoss ESB Transformation are based largely on those of <a href="http://milyn.codehaus.org/Smooks">Milyn Smooks</a>.
+		From a JBoss ESB perspective, these can be summarised as follows:
+		<div class="indent">		
+			<ul>
+				<li><b>Profile based XML/non-XML Processing</b>. In situations where there are many different messages to be Analysed 
+						and/or Transformed, it is often the case that a lot of logic and configuration becomes duplicated where the same
+						or similar operations need to be performed on more than one message. Through its use of 
+						<a href="http://milyn.codehaus.org/Smooks">Milyn Smooks</a>, JBoss ESB supports the notion of Message Profiles based on the
+						properties of a <a href="about.xhtml#message-exchange">Message Exchange</a>.  This allows transformation configurations to be
+						shared across <a href="about.xhtml#message-exchange">Message Exchanges</a> e.g. you can target transformation resources at all messages
+						produced by "X", irrespective of who is consuming that message.</li>
+				<li><b>Fragment based XML/non-XML Processing</b>. Target data Analysis or Transformation resources
+						down to the fragment level of a message. This gives more fine-grained control. For example, you don't
+						need to define a message transformation as a single monolithic operation. Instead, you can define 
+						multiple smaller (more reusable) transformations and target them at message fragments on a message exchange/profile basis.</li>
+				<li><b>Mix and Match</b> different tools and languages in the process of transforming a single message e.g. it may be
+						easier to transform one part of the document using pure Java and another part using XSLT.</li>
+				<li><b>Simplify your XSLT and StringTemplate Templates</b> by combining the power of XSLT/StringTemplate with that of Java in
+						a clean way using the Smooks <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Javabean</a> and 
+						<a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Templating</a> Cartiridges. This allows you to get that 
+						tricky/ugly string data manipulation code out of your templates and into Java (Javabeans), where it can be manipulated more easily. 
+						The populated Javabeans are automatically made available to your XSLT or StringTemplate templates through 
+						<a href="http://www.ognl.org/">OGNL</a>.</li>
+				<li><b>Analyse/Read</b> XML and non-XML data into named Javabeans using the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks Javabean</a>
+						Cartiridge. The message data doesn't need to follow any prescribed format e.g. populate the same "Order" Javabean from 2 "Order" messages that comply with different schemas.</li>
+				<li><b>Non-XML Message Processing</b>. JBoss ESB supports processing of non-XML character based data by allowing you "target" SAX Parsers on a 
+						message-by-message basis (using Message Exchange properties). For example, the <a href="http://milyn.codehaus.org/Smooks#Smooks-smookscartridges">Smooks CSV</a> Cartiridge 
+						provides support for processing of Comma Separated Value (CSV) data streams.</li>
+			</ul>
+		</div>		
+	</div>
+		
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><h:commandButton value="Home" action="/home.xhtml" /></h:form></b>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-01.html
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-01.html	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-01.html	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<!-- saved from url=(0014)about:internet -->
+<HTML>
+<BODY>
+<center>
+<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="1227" HEIGHT="982" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0">
+<PARAM NAME=movie VALUE="console-demo-01.swf">
+<PARAM NAME=play VALUE=true>
+<PARAM NAME=loop VALUE=false>
+<PARAM NAME=quality VALUE=low>
+<EMBED SRC="console-demo-01.swf" WIDTH=1227 HEIGHT=982 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
+</EMBED>
+</OBJECT>
+</center>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-01.swf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-01.swf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-02.html
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-02.html	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-02.html	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<!-- saved from url=(0014)about:internet -->
+<HTML>
+<BODY>
+<center>
+<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="1262" HEIGHT="1000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0">
+<PARAM NAME=movie VALUE="console-demo-02.swf">
+<PARAM NAME=play VALUE=true>
+<PARAM NAME=loop VALUE=false>
+<PARAM NAME=quality VALUE=low>
+<EMBED SRC="console-demo-02.swf" WIDTH=1262 HEIGHT=1000 quality=low loop=false TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
+</EMBED>
+</OBJECT>
+</center>
+</BODY>
+</HTML>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-02.swf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/flash/console-demo-02.swf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/home.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/home.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/home.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<h1>ESB Administration Console</h1>
+	
+	<div class="section">
+		<div class="section">
+			<h2>Message Transformation/Analysis Management:</h2>
+		</div>
+		<h:form>
+			<div class="section">
+				<ul>
+					<li><h:commandLink action="/about.xhtml" value="About JBoss ESB Message Transformation &amp; Analysis"><s:conversationPropagation type="end"/></h:commandLink></li>
+				</ul>
+			</div>
+			<div class="section">
+				<ul>
+					<li><h:commandLink action="#{manageParticipants.show}" value="Manage Message Exchange Participants"><s:conversationPropagation type="end"/></h:commandLink></li>
+					<li><h:commandLink action="#{newContract.showForm}" value="Configure New Message Contract"><s:conversationPropagation type="end"/></h:commandLink></li>
+					<li><h:commandLink action="#{manageContracts.list}" value="Manage Message Contracts"><s:conversationPropagation type="end"/></h:commandLink></li>
+				</ul>
+			</div>
+			<div class="section">
+				<ul>
+					<li><h:commandLink action="#{newResource.selectResourceSpec}" value="Configure New Resource"><s:conversationPropagation type="end"/></h:commandLink></li>
+					<li><h:commandLink action="#{manageResources.list}" value="View Configurations"><s:conversationPropagation type="end"/></h:commandLink></li>
+					<li><h:commandLink action="#{testTransformation.show}" value="Test Transformation"><s:conversationPropagation type="end"/></h:commandLink></li>
+					<li><h:commandLink action="#{resourceImportExport.show}" value="Import/Export Configurations"><s:conversationPropagation type="end"/></h:commandLink></li>
+					<li><h:commandLink action="#{updateNotifier.sendNotification}" value="Notify ESB Subscribers"><s:conversationPropagation type="end"/></h:commandLink></li>
+				</ul>
+			</div>
+			<div class="section">
+				<ul>
+					<li><h:commandLink action="#{newResourceSpec.captureResourceDetailsConfiguration}" value="Configure New Template"><s:conversationPropagation type="end"/></h:commandLink></li>
+					<li><h:commandLink action="#{manageResourceSpecs.list}" value="Manage Templates"><s:conversationPropagation type="end"/></h:commandLink></li>
+				</ul>
+			</div>
+		</h:form>
+	</div>
+
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<h1>Select Configuration Wizard</h1>
+	<p>
+	Select the ESB Configuration Wizard appropriate to your current task.	
+	</p>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_bottom_red.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_bottom_red.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_side_btm_red.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_side_btm_red.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_top_red.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_top_red.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_topmenu_red_round.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/bg_topmenu_red_round.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/btn.bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/btn.bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/cnt.bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/cnt.bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_blue.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_blue.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_green.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_green.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_red.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_red.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_yellow.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/crn_left_bot_yellow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/gradient_news_bkgd_650.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/gradient_news_bkgd_650.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/hdr.bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/hdr.bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/input.bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/input.bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/logo.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/points.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/points.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/table_corner_tl.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/table_corner_tl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/table_corner_tr.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/rh/table_corner_tr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/sdb.bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/sdb.bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/table_corner_tl.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/table_corner_tl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/table_corner_tr.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/table_corner_tr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/th.bg.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/img/th.bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/index.html
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/index.html	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/index.html	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=home.seam">
+</head>
+</html>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/index.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/index.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/index.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,32 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+		<h2>What is a Message Transformation Participant?</h2>
+	</div>
+	<div class="section">
+		Within the context of JBoss ESB, a message transformation is performed in order to make a messages "produced" by one entity "<i>A</i>",
+		"consumable" by another entity "<i>B</i>".  Within JBoss ESB, we refer to these entities as Transformation "Participants".
+		We specifically do not use the name "Service" or "Endpoint" simply because we acknowledge the fact that transformations often need to 
+		happen in all sorts of scenarios and between all sorts of "participants".
+		<p/>
+		All JBoss ESB Transformations are defined with respect to 2 Participants:
+		<ol>
+			<li>The Message <b>Producer</b>, and</li>
+			<li>The Message <b>Consumer</b></li>
+		</ol>
+	</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/manage-participants.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/manage-participants.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/manage-participants.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+		<h2>Manage Message Exchange Participants</h2>
+	</div>
+	<div class="section">
+		This form allows you to manage "<a href="../about.seam#message-exchange-participant">Message Exchange Participants</a>".
+	</div>
+	<h:form>			
+		<s:validateAll>
+			<div class="section">
+			<h3>Add Message Exchange Participant</h3>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Participant">Participant Name:</h:outputLabel></div>
+					<div class="input">
+						<h:inputText id="Participant" value="#{newParticipant.name}" size="50" required="true" />
+						<br/><span class="errors"><h:message for="Participant" /></span>
+					</div>
+				</div>
+
+				<div class="entry errors"><h:messages globalOnly="true"/></div>
+				
+				<div class="entry">
+					<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+					<div class="input">
+						<h:commandButton value="Add" action="#{manageParticipants.addParticipant}" />
+					</div>
+				</div>
+			</div>
+		</s:validateAll>
+	</h:form>
+	<h:form>
+		<div class="section">
+		    <h:outputText value="There are no Message Exchange Participants configured!" rendered="#{participants != null and participants.rowCount==0}"/>
+		    <h:dataTable value="#{participants}" var="participantSelection" rendered="#{participants.rowCount>0}">
+		        <h:column>
+		            <f:facet name="header">Participant Name</f:facet>
+				    #{participantSelection.name}
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">Manage</f:facet>
+				    <s:link action="#{manageParticipants.deleteParticipant}" value="Delete" />
+		        </h:column>
+		    </h:dataTable>
+		</div>
+	</h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{manageParticipants.home}" /></h:form></b>
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/template.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/template.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/participant/template.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:f="http://java.sun.com/jsf/core"
+	  xmlns:h="http://java.sun.com/jsf/html">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>JBoss ESB: Administration Console</title>
+	<link href="../css/screen.css" rel="stylesheet" type="text/css" />
+	<link rel="stylesheet" href="../css/custom.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/global.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/headings.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/layout.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/navigation.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/pagelayout.css" type="text/css" media="all"/>
+	<link rel="stylesheet" href="../css/tables.css" type="text/css" media="all" />
+	
+	<link rel="stylesheet" href="../css/screen_001.css" type="text/css" media="screen" />
+	<link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+	<link rel="stylesheet" href="../css/common.css" type="text/css" media="all" />
+</head>
+<body>
+
+<div id="document">
+	<div id="header">
+		<div>
+		  <a href="http://www.jboss.com"><img src="../img/logo.gif" alt="JBoss - The Professional Open Source Company" border="0" /></a>
+		</div>
+		
+		<div id="TopMenu">
+		  <table cellpadding="0" cellspacing="0">
+		  <tr>
+		    <td class="menu_JBnetwork"><a href="http://network.jboss.com/">subscription</a></td>
+		    <td class="menu_JBcom"><a href="http://www.jboss.com/">jboss.com</a></td>
+		
+		    <td class="menu_JBorg"><a href="http://labs.jboss.com">jboss.org</a></td>
+		    <td class="menu_RH"><a href="http://www.redhat.com">redhat.com</a></td>
+		  </tr>
+		  </table>
+		</div>	
+	</div>
+	<div id="container">
+		<div id="sidebar">
+			<ui:insert name="sidebar"/>
+		</div>
+		<div id="content">
+			<ui:insert name="content"/>
+		</div>
+	</div>
+</div>
+<ui:debug hotkey="D"/>
+</body>
+</html>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/template.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/template.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/template.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:f="http://java.sun.com/jsf/core"
+	  xmlns:h="http://java.sun.com/jsf/html">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>JBoss ESB: Administration Console</title>
+	<link href="css/screen.css" rel="stylesheet" type="text/css" />
+	<link rel="stylesheet" href="css/custom.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="css/global.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="css/headings.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="css/layout.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="css/navigation.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="css/pagelayout.css" type="text/css" media="all"/>
+	<link rel="stylesheet" href="css/tables.css" type="text/css" media="all" />
+	
+	<link rel="stylesheet" href="css/screen_001.css" type="text/css" media="screen" />
+	<link rel="stylesheet" href="css/print.css" type="text/css" media="print" />
+	<link rel="stylesheet" href="css/common.css" type="text/css" media="all" />
+</head>
+<body>
+
+<div id="document">
+	<div id="header">
+		<div>
+		  <a href="http://www.jboss.com"><img src="img/logo.gif" alt="JBoss - The Professional Open Source Company" border="0" /></a>
+		</div>
+		
+		<div id="TopMenu">
+		  <table cellpadding="0" cellspacing="0">
+		  <tr>
+		    <td class="menu_JBnetwork"><a href="http://network.jboss.com/">subscription</a></td>
+		    <td class="menu_JBcom"><a href="http://www.jboss.com/">jboss.com</a></td>
+		
+		    <td class="menu_JBorg"><a href="http://labs.jboss.com">jboss.org</a></td>
+		    <td class="menu_RH"><a href="http://www.redhat.com">redhat.com</a></td>
+		  </tr>
+		  </table>
+		</div>	
+	</div>
+	<div id="container">
+		<div id="sidebar">
+			<ui:insert name="sidebar"/>
+		</div>
+		<div id="content">
+			<ui:insert name="content"/>
+		</div>
+	</div>
+</div>
+<ui:debug hotkey="D"/>
+</body>
+</html>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/add-resource-parameter-spec.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/add-resource-parameter-spec.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/add-resource-parameter-spec.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,82 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+		xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<h:form>			
+		<s:validateAll>
+			<div class="section">
+				<h2>Add Resource Execution Parameter Spec</h2>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Name">Name:</h:outputLabel></div>
+					<div class="input">
+						<h:inputText id="Name" value="#{transResourceParameterSpec.name}" required="true" />
+						<br/><span class="errors"><h:message for="Name" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Description">Description:</h:outputLabel></div>
+					<div class="input">
+						<h:inputTextarea id="Description" value="#{transResourceParameterSpec.descriptionAsString}" cols="70" rows="5" required="true" />
+						<br/><span class="errors"><h:message for="Description" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Required">Required:</h:outputLabel></div>
+					<div id="radio" class="input">
+					   <h:selectOneRadio id="Required" value="#{transResourceParameterSpec.required}" layout="vertical" required="true" >
+					      <f:selectItem itemLabel="Yes" itemValue="true"/>
+					      <f:selectItem itemLabel="No" itemValue="false"/>
+		               </h:selectOneRadio>
+					   <br/>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Type">Type:</h:outputLabel></div>
+					<div class="input">
+						<h:inputText id="Type" value="#{transResourceParameterSpec.type}" />
+						<br/><span class="errors"><h:message for="Type" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Value">Value:</h:outputLabel></div>
+					<div class="input">
+						<h:inputTextarea id="Value" value="#{transResourceParameterSpec.valueAsString}" cols="70" rows="20" />
+						<br/><span class="errors"><h:message for="Value" /></span>
+					</div>
+				</div>
+				<div class="entry errors"><h:messages globalOnly="true"/></div>
+				
+				<div class="entry">
+					<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+					<div class="input">
+						<h:commandButton value="Add" action="#{newResourceSpec.addParameter}" />
+					</div>
+				</div>
+			</div>
+		</s:validateAll>
+	</h:form>
+	<h:form>
+		<div class="section">
+			<div class="entry">
+				<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+				<div class="input">
+					<h:commandButton value="Cancel" action="#{newResourceSpec.cancelAddParameter}" />
+				</div>
+			</div>		
+		</div>
+	</h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{newResourceSpec.home}" /></h:form></b>
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/add-resource-parameter.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/add-resource-parameter.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/add-resource-parameter.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,69 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+		xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<h:form>			
+		<s:validateAll>
+			<div class="section">
+				<h2>Add Resource Parameter</h2>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Name">Name:</h:outputLabel></div>
+					<div class="input">
+						<h:inputText id="Name" value="#{transResourceParameter.name}" disabled="#{transResourceParameter.name!=null}" />
+						<br/><span class="errors"><h:message for="Name" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label">Description:</div>
+					<div class="output">
+						<h:outputText escape="false" value="#{transResourceParameterSpec.descriptionAsString}" />
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Value">Value:</h:outputLabel></div>
+					<div class="input">
+						<h:inputTextarea id="Value" value="#{transResourceParameter.valueAsString}" cols="70" rows="20" required="true" />
+						<br/><span class="errors"><h:message for="Value" /></span>
+					</div>
+				</div>
+				<div class="entry errors"><h:messages globalOnly="true"/></div>
+				
+				<div class="entry">
+					<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+					<div class="input">
+						<h:commandButton value="Add" action="#{newResource.addParameter}" />
+					</div>
+				</div>
+			</div>
+		</s:validateAll>
+	</h:form>
+	<h:form>
+		<div class="section">
+			<div class="entry">
+				<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+				<div class="input">
+					<h:commandButton value="Cancel" action="#{newResource.cancelAddParameter}" />
+				</div>
+			</div>		
+		</div>
+	</h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{newResourceSpec.home}" /></h:form></b>
+	<p/>
+	<b><h:form><h:commandButton value="Reset Message Exchange" action="#{messageExchangeSelect.showFrom}" /></h:form></b>
+	<p/>
+	<h1>Create Transformation/Analysis Configuration</h1>
+	Create a message transformation/analysis configuration for the chosen Message Exchange.
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/import-export-resources.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/import-export-resources.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/import-export-resources.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,51 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+		<h2>Import/Export Transformation/Analysis Resources</h2>
+		
+        <h:form id="import-form" enctype="multipart/form-data" rendered="#{resourceImportExport.exportData == null}">
+            <s:validateAll>
+				<p/>
+	            <div class="entry">
+	                <h:outputLabel for="Import" >Import:&nbsp;</h:outputLabel>
+	                <s:fileUpload id="Import" data="#{resourceImportExport.importData}" />
+					<p/>
+					<span class="errors"><h:message for="Import" /></span>
+	            </div>               
+            </s:validateAll>
+            
+            <div class="entry">
+				<h:commandButton value="Import" action="#{resourceImportExport.importResources}"/>
+            </div>               
+			<p/>
+			Resources can also be exported from the console.  To export, simply press the "Export" button presented here.
+            <div class="entry">
+				<h:commandButton value="Export" action="#{resourceImportExport.exportResources}" />
+            </div>               
+        </h:form>
+
+        <h:form id="export-view" rendered="#{resourceImportExport.exportData != null}">
+			<p/>
+			<pre class="preform-output"><h:outputText value="#{resourceImportExport.exportData}" escape="true" /></pre>
+        </h:form>
+
+		<div class="entry errors"><h:messages globalOnly="true"/></div>
+		
+	</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{resourceImportExport.home}" /></h:form></b>
+	<p/>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/list-resource-specs.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/list-resource-specs.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/list-resource-specs.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+	<fieldset>
+		<h:form>			
+			<h2>Manage Transformation/Analysis Templates</h2>
+			<div class="section">
+		    <h:outputText value="There are no Resource Configuration Specifications!" rendered="#{configurationSpecs != null and configurationSpecs.rowCount==0}"/>
+		    <h:dataTable value="#{configurationSpecs}" var="configSelection" rendered="#{configurationSpecs.rowCount>0}">
+		        <h:column>
+		            <f:facet name="header">Name</f:facet>
+				    #{configSelection.name}
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">Description</f:facet>
+				    <h:outputText escape="false" value="#{configSelection.descriptionAsString}" />
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">Reference Data</f:facet>
+		            <h:outputLink value="#{configSelection.reference}" rendered="#{configSelection.reference != null}">Reference...</h:outputLink>
+		        </h:column>
+		        <h:column>
+		            <f:facet name="header">Manage</f:facet>
+				    <h:commandLink action="#{manageResourceSpecs.deleteConfiguration}">Delete</h:commandLink>
+		        </h:column>
+		    </h:dataTable>
+			</div>
+		</h:form>
+		<h:form>			
+			<div class="section">
+				<s:button action="#{manageResourceSpecs.home}" value="Done" />
+			</div>	
+		</h:form>
+	</fieldset>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{manageResourceSpecs.home}" /></h:form></b>
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/list-resources.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/list-resources.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/list-resources.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,87 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+	<fieldset>
+		<h:form>			
+			<h2>Manage Resource Configuration</h2>
+			<div class="section">
+				This wizard lists all message Transformation/Analysis resource configurations targeted at the currently selected message exchange.
+			</div>
+			<div class="section">			
+				<div class="entry">
+					<b>Selected Message Exchange:</b><br/>
+					<div class="section">			
+						<table>
+							<tr><td><b>from</b>:</td><td><u>#{messageExchange.from}</u></td></tr>
+							<tr><td><b>from-type</b>:</td><td><u>#{messageExchange.fromMessageType}</u></td></tr>
+							<tr><td><b>to</b>:</td><td><u>#{messageExchange.to}</u></td></tr>
+							<tr><td><b>to-type</b>:</td><td><u>#{messageExchange.toMessageType}</u></td></tr>
+						</table>
+					</div>
+				</div>
+			</div>
+			<p/>
+			<div class="section">
+			    <h:commandLink action="#{manageResources.toggleShowAll}">
+				    <h:outputText value="Show All" rendered="#{!showAll.on}"/>
+				    <h:outputText value="Narrow List" rendered="#{showAll.on}"/>
+			    </h:commandLink>
+				<br/>
+			    <h:outputText value='There are no Resource Configurations targeted directly at the current Message Exchange.  Click "Show All" to see resources that are targeted indirectly.' rendered="#{messageExchangeConfigs != null and messageExchangeConfigs.rowCount==0}"/>
+			    <h:dataTable value="#{messageExchangeConfigs}" var="configSelection" rendered="#{messageExchangeConfigs.rowCount>0}">
+			        <h:column>
+			            <f:facet name="header">Execution Selector</f:facet>
+					    #{configSelection.selector}
+			        </h:column>
+			        <h:column>
+			            <f:facet name="header">Applied Resource</f:facet>
+					    #{configSelection.name}
+			        </h:column>
+			        <h:column>
+			            <f:facet name="header">Manage</f:facet>
+					    <h:commandLink action="#{manageResources.viewConfiguration}">View</h:commandLink>
+					    <f:verbatim>|</f:verbatim>
+					    <h:commandLink action="#{manageResources.deleteConfiguration}">Delete</h:commandLink>
+			        </h:column>
+			    </h:dataTable>
+			</div>
+		</h:form>
+		<h:form>			
+			<div class="section">
+				<s:button action="#{manageResources.home}" value="Done" />
+			</div>	
+		</h:form>
+	</fieldset>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{manageResources.home}" /></h:form></b>
+	<b><h:form><h:commandButton value="Configure New Resource" action="#{newResource.selectResourceSpec}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<b><h:form><h:commandButton value="Test Transformation" action="#{testTransformation.show}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<b><h:form><h:commandButton value="Reset Message Exchange" action="#{messageExchangeSelect.showFrom}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-create.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-create.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-create.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,103 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+	<fieldset>
+		<h:form>			
+			<s:validateAll>
+				<h2>Configure New Resource</h2>
+				<div class="section">
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Name">Resource Name:</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Name" value="#{transResource.name}" size="50" disabled="true" />
+							<br/><span class="errors"><h:message for="Name" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Resource">Applied Resource:</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Resource" value="#{transResource.path}" size="70" disabled="#{transResource.path != null}" required="true" />
+							<br/><span class="errors"><h:message for="Resource" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label">Set Execution Patameters:</div>
+						<div class="output">
+						    <h:outputText value="No Parameters" rendered="#{selectedSpecParams != null and selectedSpecParams.rowCount==0}"/>
+						    <h:dataTable value="#{selectedSpecParams}" var="parameterSpecSelection" rendered="#{selectedSpecParams.rowCount>0}">
+						        <h:column>
+								    #{parameterSpecSelection.name}
+						        </h:column>
+						        <h:column>
+						    		<h:outputText value="required" rendered="#{parameterSpecSelection.required}"/>
+						    		<f:verbatim rendered="#{!parameterSpecSelection.required}">&#160;</f:verbatim>
+						        </h:column>
+						        <h:column>
+								    <h:commandLink action="#{newResource.selectParameterSpec}" rendered="#{!parameterSpecSelection.preset}">Set</h:commandLink>
+						    		<h:outputText value="Preset (see below)" rendered="#{parameterSpecSelection.preset}"/>
+						        </h:column>
+						    </h:dataTable>
+						</div>
+					</div>
+				</div>
+				<div class="section">
+				    <h:dataTable value="#{parameterList}" var="parameterSelection" rendered="#{parameterList.rowCount>0}">
+				        <h:column>
+				            <f:facet name="header">Parameter Name</f:facet>
+						    #{parameterSelection.name}
+				        </h:column>
+				        <h:column>
+				            <f:facet name="header">Parameter Value</f:facet>
+						    <pre>#{parameterSelection.valueAsString}</pre>
+				        </h:column>
+				    </h:dataTable>
+				</div>
+
+				<div class="section">
+					<div class="entry errors"><h:messages globalOnly="true"/></div>
+					
+					<div class="entry">
+						<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+						<div class="input">
+							<h:commandButton value="Target Configuration..." action="#{newResource.targetConfig}" />
+						</div>
+					</div>
+				</div>		
+			</s:validateAll>
+		</h:form>
+	</fieldset>
+	<h:form>
+		<div class="section">
+			<div class="entry">
+				<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+				<div class="input">
+					<h:commandButton value="Cancel" action="#{newResource.home}" />
+				</div>
+			</div>		
+		</div>
+	</h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{newResource.home}" /></h:form></b>
+	<b><h:form><h:commandButton value="Reset Message Exchange" action="#{messageExchangeSelect.showFrom}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<h1>Create Transformation/Analysis Configuration</h1>
+	Create a message transformation/analysis configuration for the chosen Message Exchange.
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-select-spec.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-select-spec.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-select-spec.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+	<fieldset>
+		<h:form>			
+			<h2>Select Message Transformation/Analysis Template</h2>
+			<div class="section">
+				Select the Transformation/Analysis Template upon which you would like the new Transformation/Analysis Resource
+				Configuration to be based.
+			</div>
+			<div class="section">
+			    <h:outputText value="There are no Resource Configuration Templates" rendered="#{configurationSpecs != null and configurationSpecs.rowCount==0}"/>
+			    <h:dataTable value="#{configurationSpecs}" var="configSelection" rendered="#{configurationSpecs.rowCount>0}">
+			        <h:column>
+			            <f:facet name="header"><f:verbatim>&#160;</f:verbatim></f:facet>
+					    <h:commandLink action="#{newResource.captureResourceDetailsConfiguration}">Select</h:commandLink>
+			        </h:column>
+			        <h:column>
+			            <f:facet name="header">Name</f:facet>
+					    #{configSelection.name}
+			        </h:column>
+			        <h:column>
+			            <f:facet name="header">Description</f:facet>
+					    <h:outputText escape="false" value="#{configSelection.descriptionAsString}" />
+			        </h:column>
+			        <h:column>
+			            <f:facet name="header">Reference Data</f:facet>
+			            <h:outputLink value="#{configSelection.reference}" rendered="#{configSelection.reference != null}">Reference...</h:outputLink>
+			        </h:column>
+			    </h:dataTable>
+			</div>
+		</h:form>
+		<h:form>			
+			<div class="section">
+				<s:button action="#{manageResourceSpecs.home}" value="Done" />
+			</div>	
+		</h:form>
+	</fieldset>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{manageResourceSpecs.home}" /></h:form></b>
+	<b><h:form><h:commandButton value="Reset Message Exchange" action="#{messageExchangeSelect.showFrom}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<h1>Create Transformation/Analysis Configuration</h1>
+	Create a message transformation/analysis configuration for the chosen Message Exchange.
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-spec-create.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-spec-create.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-spec-create.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,127 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+	<h:form>
+	<fieldset>
+		<h:form>			
+			<s:validateAll>
+				<h2>Configure New Message Transformation/Analysis Template</h2>
+				<div class="section">
+					Define a new Template by specifying details about the Transformation/Analysis Resource, as well
+					as details about its execution Parameter Set.  Resource Configuration Specifications are used to template and validate
+					new message targeted Transformation/Analysis resources.
+					<p/>
+					The Resource can be a Java class for performing DOM based transformation/analysis 
+					(see <a href="http://milyn.codehaus.org/javadoc/smooks">ElementVisitor</a>), an XSL Transformation template (XSLT) defined 
+					in a .xsl file, or any other supported transformation technology (see <a href="http://milyn.codehaus.org/javadoc/smooks">ContentDeliveryUnitCreator</a>).
+					All XML based transformation/analysis resources are targeted at message fragments, giving more fine grained control.
+				</div>
+				<div class="section">
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Name">Name:</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Name" value="#{transResourceSpec.name}" size="50" required="true" />
+							<br/><span class="errors"><h:message for="Name" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Description">Description:</h:outputLabel></div>
+						<div class="input">
+							<h:inputTextarea id="Description" value="#{transResourceSpec.descriptionAsString}" cols="70" rows="5" required="true" />
+							<br/><span class="errors"><h:message for="Description" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Resource">Applied Resource (e.g. class, xsl):</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Resource" value="#{transResourceSpec.path}" size="70" />
+							<br/><span class="errors"><h:message for="Resource" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Reference">Resource Reference (e.g. docs web link):</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Reference" value="#{transResourceSpec.reference}" size="70" />
+							<br/><span class="errors"><h:message for="Reference" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Selector">Execution Selector:</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Selector" value="#{transResourceSpec.selector}" size="50" />
+							<br/><span class="errors"><h:message for="Selector" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Selector-Namespace">Execution Selector Namespace:</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Selector-Namespace" value="#{transResourceSpec.namespace}" size="50" />
+							<br/><span class="errors"><h:message for="Selector-Namespace" /></span>
+						</div>
+					</div>
+				</div>
+
+				<div class="section">
+				    <h:dataTable value="#{parameterList}" var="parameterSelection" rendered="#{parameterList.rowCount>0}">
+				        <h:column>
+				            <f:facet name="header">Parameter Name</f:facet>
+						    #{parameterSelection.name}
+				        </h:column>
+				        <h:column>
+				            <f:facet name="header">Parameter Description</f:facet>
+						    <h:outputText escape="false" value="#{parameterSelection.descriptionAsString}" />
+				        </h:column>
+				        <h:column>
+				            <f:facet name="header">Required</f:facet>
+						    #{parameterSelection.required}
+				        </h:column>
+				    </h:dataTable>
+				</div>
+
+				<div class="section">
+					<div class="entry errors"><h:messages globalOnly="true"/></div>
+					
+					<div class="entry">
+						<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+						<div class="input">
+							<h:commandButton value="Add Resource Parameter Spec..." action="/transform/add-resource-parameter-spec.xhtml" />
+						</div>
+					</div>
+				</div>
+			</s:validateAll>
+		</h:form>
+	</fieldset>
+	</h:form>
+	<h:form>
+		<div class="section">
+			<div class="entry">
+				<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+				<div class="input">
+					<h:commandButton value="Save" action="#{newResourceSpec.save}" />
+				</div>
+			</div>
+			<div class="entry">
+				<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+				<div class="input">
+					<h:commandButton value="Cancel" action="#{newResourceSpec.home}" />
+				</div>
+			</div>		
+		</div>
+	</h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{newResourceSpec.home}" /></h:form></b>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-target.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-target.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/new-trans-resource-target.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,84 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<div class="section">
+	<fieldset>
+		<h:form>			
+			<s:validateAll>
+				<h2>Target New Resource Configuration</h2>
+				<div class="section">
+					The new Transformation/Analysis configuration needs to be targeted at a specific "Message Exchange" and execution "Selector" combination.  The Message Exchange
+					has already been selected for the session but can be manually modified to widen or narrow the selection.  Defining the execution "Selector" depends on the actual 
+					transformation/analysis resource type.  If the resource is a unit of Java/XSLT/etc logic for performing an XML transformation on an XML Fragment, 
+					the "Selector" will be the XML element name (possibly contextual).  See <a href="http://milyn.codehaus.org/javadoc/smooks">SmooksResourceConfiguration</a>.
+				</div>
+				<div class="section">
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Exchange">Message Exchange Targeting Expression:</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Exchange" value="#{transResource.useragent}" size="70" required="true" />
+							<br/><span class="errors"><h:message for="Exchange" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Selector">Execution Selector (e.g. XML Fragment):</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Selector" value="#{transResource.selector}" required="true" size="70" disabled="#{transResource.selector}"/>
+							<br/><span class="errors"><h:message for="Selector" /></span>
+						</div>
+					</div>
+					<div class="entry">
+						<div class="label"><h:outputLabel for="Selector-Namespace">Execution Selector-Namespace:</h:outputLabel></div>
+						<div class="input">
+							<h:inputText id="Selector-Namespace" value="#{transResource.namespace}" required="false" size="70" disabled="#{transResource.namespace}" />
+							<br/><span class="errors"><h:message for="Selector-Namespace" /></span>
+						</div>
+					</div>
+	
+					<div class="entry errors"><h:messages globalOnly="true"/></div>
+					
+					<div class="entry">
+						<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+						<div class="input">
+							<h:commandButton value="Save Configuration" action="#{newResource.save}" />
+						</div>
+					</div>		
+				</div>
+			</s:validateAll>
+		</h:form>
+	</fieldset>
+	<h:form>
+		<div class="section">
+			<div class="entry">
+				<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+				<div class="input">
+					<h:commandButton value="Cancel" action="#{newResource.home}" />
+				</div>
+			</div>		
+		</div>
+	</h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{newResource.home}" /></h:form></b>
+	<b><h:form><h:commandButton value="Reset Message Exchange" action="#{messageExchangeSelect.showFrom}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<p/>
+	<h1>Create Transformation/Analysis Configuration</h1>
+	Create a message transformation/analysis configuration for the chosen Message Exchange.
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/select-message-exchange-finish.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/select-message-exchange-finish.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/select-message-exchange-finish.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<h:form>
+		<h2>Select Message Exchange : <i>Finished...</i></h2>
+		
+		<div class="section">
+			An "active" <a href="../about.jsf#message-exchange">Message Exchange</a> is now selected.  Check the selected exchange and
+			press "Continue..." to continue making transformation configurations.
+		</div>
+		<div class="section">
+			<b>Selected Message Exchange:</b><br/>
+			<div class="section">
+				<table>
+					<tr><td><b>from</b>:</td><td><u>#{messageExchange.from}</u></td></tr>
+					<tr><td><b>from-type</b>:</td><td><u>#{messageExchange.fromMessageType}</u></td></tr>
+					<tr><td><b>to</b>:</td><td><u>#{messageExchange.to}</u></td></tr>
+					<tr><td><b>to-type</b>:</td><td><u>#{messageExchange.toMessageType}</u></td></tr>
+				</table>
+			</div>
+		</div>
+
+		<div class="section">
+			<s:button action="#{messageExchangeSelect.finish}" value="Continue..." />
+		</div>
+
+	</h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<h1>Select Message Exchange</h1>
+	<p/>
+		Select the message exchange on which you would like to perform message transformation configurations.
+	<p/>
+	<b><h:form><s:button value="Home" action="#{messageExchangeSelect.home}" /></h:form></b>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/select-message-exchange-from.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/select-message-exchange-from.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/select-message-exchange-from.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,126 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+
+	<script type="text/javascript" src="../seam/remoting/resource/remote.js"></script>
+	<script type="text/javascript" src="../seam/remoting/interface.js?messageExchangeSelect"></script> 
+	
+	<script type="text/javascript">
+	    //<![CDATA[
+	    
+	    var messageExchangeSelect = Seam.Component.getInstance("messageExchangeSelect");
+	
+	    function selectFrom(selectionId) {
+			messageExchangeSelect.selectFrom(selectionId, populateFromContracts);
+	    }
+	
+	    function selectFromContract(selectionId) {
+			messageExchangeSelect.selectFromContract(selectionId);
+	    }
+	
+	    function selectTo(selectionId) {
+			messageExchangeSelect.selectTo(selectionId, populateToContracts);
+	    }
+	
+	    function selectToContract(selectionId) {
+			messageExchangeSelect.selectToContract(selectionId);
+	    }
+
+	    function populateFromContracts(contracts) {
+			var fromMessageTypes = getObject("fromMessageTypes");
+			populateContracts(fromMessageTypes, contracts);
+			assertHasContracts(contracts, 'The selected Message Exchange Participant does not define any "PRODUCES" Message Contracts.');
+		}
+
+	    function populateToContracts(contracts) {
+			var toMessageTypes = getObject("toMessageTypes");
+			populateContracts(toMessageTypes, contracts);
+			assertHasContracts(contracts, 'The selected Message Exchange Participant does not define any "CONSUMES" Message Contracts.');
+		}
+
+	    function populateContracts(list, contracts) {
+			list.length = contracts.length;
+			for (var i = 0; i < list.length; i++) {
+			    list.options[i].value = contracts[i].getId();
+			    list.options[i].text = contracts[i].getDisplayName();
+			}
+	    }
+	    
+	    function assertHasContracts(contracts, errorMessage) {
+			if(contracts.length == 0) {
+				alert(errorMessage);
+			}
+	    }
+	    
+		// Returns a reference to an object by its id
+		function getObject(objectId) {
+		  if (document.getElementById && document.getElementById(objectId))
+		    return document.getElementById(objectId);
+		  else if (document.all && document.all(objectId))
+		    return document.all(objectId);
+		  else if (document.layers && document.layers[objectId])
+		    return document.layers[objectId];
+		  else
+		    return false;
+		}
+	
+	    // ]]>
+	</script>
+
+	<form action="select-message-exchange-finish.seam">
+		<h2>Select Message Exchange:</h2>
+		<div class="section">
+			An "active" <a href="../about.seam#message-exchange">Message Exchange</a> must be selected before making any JBoss ESB Transformation configurations.
+			This wizard allows you select and activate a message exchange, storing your selection in the browser session.  You can reset the active message exchange at any 
+			time by pressing the "Reset Message Exchange" button on the left toolbar.
+			<p/>
+			If you wish to cover all message exchanges (i.e. browse all configurations -OR - create a configuration targeted at all message flows), simply 
+			click through the selection screens without selecting any message exchange properties.
+		</div>
+
+		<div class="section">
+			<div class="entry">
+				<b>From Message (Producer &amp; Type):</b><br/>
+                <h:selectOneListbox value="All" size="5" onchange="javascript:selectFrom(this.options[this.selectedIndex].value)">
+                    <f:selectItems value="#{messageExchangeSelect.participantListItems}"/>
+                </h:selectOneListbox>
+                <h:selectOneListbox id="fromMessageTypes" size="5"  onchange="javascript:selectFromContract(this.options[this.selectedIndex].value)" />
+			</div>
+		</div>
+
+		<div class="section">
+			<div class="entry">
+				<b>To Message (Consumer &amp; Type):</b><br/>
+                <h:selectOneListbox value="All" size="5" onchange="javascript:selectTo(this.options[this.selectedIndex].value)">
+                    <f:selectItems value="#{messageExchangeSelect.participantListItems}"/>
+                </h:selectOneListbox>
+                <h:selectOneListbox id="toMessageTypes" size="5"  onchange="javascript:selectToContract(this.options[this.selectedIndex].value)" />
+			</div>
+		</div>
+
+		<div class="section">
+			<input value="Continue..." type="submit"/>
+		</div>
+	</form>
+	<div class="section">
+		<h:form><h:commandButton value="Cancel" action="#{messageExchangeSelect.home}" /></h:form>
+	</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<h1>Select Message Exchange</h1>
+	<p/>
+		Select the message exchange on which you would like to perform message transformation configurations.
+	<p/>
+	<b><h:form><s:button value="Home" action="#{messageExchangeSelect.home}" /></h:form></b>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/smooks-config.jsp
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/smooks-config.jsp	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/smooks-config.jsp	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<%=org.jboss.soa.esb.admin.console.transform.SmooksResourceList.getList()%>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/template.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/template.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/template.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:s="http://jboss.com/products/seam/taglib"
+      xmlns:f="http://java.sun.com/jsf/core"
+	  xmlns:h="http://java.sun.com/jsf/html">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>JBoss ESB: Administration Console</title>
+	<link href="../css/screen.css" rel="stylesheet" type="text/css" />
+	<link rel="stylesheet" href="../css/custom.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/global.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/headings.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/layout.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/navigation.css" type="text/css" media="all" />
+	<link rel="stylesheet" href="../css/pagelayout.css" type="text/css" media="all"/>
+	<link rel="stylesheet" href="../css/tables.css" type="text/css" media="all" />
+	
+	<link rel="stylesheet" href="../css/screen_001.css" type="text/css" media="screen" />
+	<link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+	<link rel="stylesheet" href="../css/common.css" type="text/css" media="all" />
+</head>
+<body>
+
+<div id="document">
+	<div id="header">
+		<div>
+		  <a href="http://www.jboss.com"><img src="../img/logo.gif" alt="JBoss - The Professional Open Source Company" border="0" /></a>
+		</div>
+		
+		<div id="TopMenu">
+		  <table cellpadding="0" cellspacing="0">
+		  <tr>
+		    <td class="menu_JBnetwork"><a href="http://network.jboss.com/">subscription</a></td>
+		    <td class="menu_JBcom"><a href="http://www.jboss.com/">jboss.com</a></td>
+		
+		    <td class="menu_JBorg"><a href="http://labs.jboss.com">jboss.org</a></td>
+		    <td class="menu_RH"><a href="http://www.redhat.com">redhat.com</a></td>
+		  </tr>
+		  </table>
+		</div>	
+	</div>
+	<div id="container">
+		<div id="sidebar">
+			<ui:insert name="sidebar"/>
+		</div>
+		<div id="content">
+			<ui:insert name="content"/>
+		</div>
+	</div>
+</div>
+<ui:debug hotkey="D"/>
+</body>
+</html>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/test-transformation.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/test-transformation.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/test-transformation.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,79 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+		xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<h:form enctype="multipart/form-data">			
+		<div class="section">
+			<h2>Test Transformation</h2>
+			<table>
+				<tr><td><b>from</b>:</td><td><u>#{messageExchange.from}</u></td></tr>
+				<tr><td><b>from-type</b>:</td><td><u>#{messageExchange.fromMessageType}</u></td></tr>
+				<tr><td><b>to</b>:</td><td><u>#{messageExchange.to}</u></td></tr>
+				<tr><td><b>to-type</b>:</td><td><u>#{messageExchange.toMessageType}</u></td></tr>
+			</table>
+			<div class="entry">
+				<b>Input Message:</b>
+				<br/>
+				<h:inputTextarea id="InputMessage" value="#{testView.input}" cols="70" rows="10" />
+				<br/><span class="errors"><h:message for="InputMessage" /></span>
+				<s:fileUpload data="#{testTransformation.testData}" />
+				<h:commandButton value="Load Test Data File" action="#{testTransformation.loadTestData}"/>
+			</div>
+			<div class="entry errors"><h:messages globalOnly="true"/></div>
+			<div class="entry">
+				<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+				<div class="input">
+					<h:commandButton value="Transform Message" action="#{testTransformation.applyResources}" />
+				</div>
+			</div>
+			<div class="entry">
+				<b>Output Message:</b>
+				<pre class="preform-output"><h:outputText id="OutputMessage" value="#{testView.output}" escape="true" /></pre>
+			</div>
+			<div class="entry">
+				<b>Action Configuration:</b>
+				<br/>
+<pre>
+&lt;action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer"&gt;
+    &lt;property name="from" value="#{messageExchange.from}" /&gt;
+    &lt;property name="from-type" value="#{messageExchange.fromMessageType}" /&gt;
+    &lt;property name="to" value="#{messageExchange.to}" /&gt;
+    &lt;property name="to-type" value="#{messageExchange.toMessageType}" /&gt;
+&lt;/action&gt;
+</pre>
+			</div>
+		</div>
+	</h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{manageResources.home}" /></h:form></b>
+	<b><h:form><h:commandButton value="Configure New Resource" action="#{newResource.selectResourceSpec}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<b><h:form><h:commandButton value="View Configurations" action="#{manageResources.list}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<b><h:form><h:commandButton value="Reset Message Exchange" action="#{messageExchangeSelect.showFrom}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<p/>
+	<h1>Test Transformation/Analysis Configuration</h1>
+	Test the application of the Transformation/Analysis Resources targeted at the current Message Exchange using a sample input message.
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/update-resource-parameter.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/update-resource-parameter.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/update-resource-parameter.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+		xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+	<h:form>			
+		<s:validateAll>
+			<div class="section">
+				<h2>Update Resource Parameter</h2>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Name">Name:</h:outputLabel></div>
+					<div class="input">
+						<h:inputText id="Name" value="#{selectedConfigParam.name}" disabled="true" />
+						<br/><span class="errors"><h:message for="Name" /></span>
+					</div>
+				</div>
+				<div class="entry">
+					<div class="label"><h:outputLabel for="Value">Value:</h:outputLabel></div>
+					<div class="input">
+						<h:inputTextarea id="Value" value="#{selectedConfigParam.valueAsString}" cols="70" rows="20" required="true" />
+						<br/><span class="errors"><h:message for="Value" /></span>
+					</div>
+				</div>
+				<div class="entry errors"><h:messages globalOnly="true"/></div>
+				
+				<div class="entry">
+					<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+					<div class="input">
+						<h:commandButton value="Update" action="#{manageResources.updateParameter}" class="button"/>
+					</div>
+				</div>
+			</div>
+		</s:validateAll>
+	</h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{manageResources.home}" /></h:form></b>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/view-resource.xhtml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/view-resource.xhtml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/console/view/transform/view-resource.xhtml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,79 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+                xmlns:ui="http://java.sun.com/jsf/facelets"
+                xmlns:h="http://java.sun.com/jsf/html"
+                xmlns:f="http://java.sun.com/jsf/core"
+				xmlns:s="http://jboss.com/products/seam/taglib"
+                template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+
+	<h2>Resource Configuration View</h2>
+	<div class="section">
+		<div class="entry">
+			<div class="label"><h:outputLabel for="Resource">Applied Resource:</h:outputLabel></div>
+			<div class="output">
+				<f:verbatim id="Resource">#{selectedConfig.name} (#{selectedConfig.path})</f:verbatim>
+			</div>
+		</div>
+		<div class="entry">
+			<div class="label"><h:outputLabel for="Selector">Execution Selector:</h:outputLabel></div>
+			<div class="output">
+				<f:verbatim id="Selector">#{selectedConfig.selector}</f:verbatim>
+			</div>
+		</div>
+		<div class="entry">
+			<div class="label"><h:outputLabel for="SelectorNamespace">Execution Selector Namespace:</h:outputLabel></div>
+			<div class="output">
+				<f:verbatim id="SelectorNamespace">#{selectedConfig.namespace}</f:verbatim>
+			</div>
+		</div>
+		<div class="entry">
+			<div class="label"><h:outputLabel for="MessageUseragent">Target Message Useragent Expression:</h:outputLabel></div>
+			<div class="output">
+				<f:verbatim id="MessageUseragent">#{selectedConfig.useragent}</f:verbatim>
+			</div>
+		</div>
+	</div>
+
+	<div class="section">
+	    <h:dataTable value="#{selectedConfigParams}" var="parameterSelection" rendered="#{selectedConfigParams.rowCount>0}">
+	        <h:column>
+	            <f:facet name="header">Parameter Name</f:facet>
+			    #{parameterSelection.name}
+	        </h:column>
+	        <h:column>
+	            <f:facet name="header">Parameter Value</f:facet>
+			    <pre>#{parameterSelection.valueAsString}</pre>
+	        </h:column>
+	        <h:column>
+	            <f:facet name="header">Manage</f:facet>
+			    <h:form><h:commandLink action="#{manageResources.selectUpdateParameter}">Update</h:commandLink></h:form>
+	        </h:column>
+	    </h:dataTable>
+	</div>
+
+	<div class="section">
+		<div class="entry">
+			<div class="label"><f:verbatim>&#160;</f:verbatim></div>
+			<div class="input">
+				<s:button action="#{manageResources.list}" value="Back" />
+			</div>
+		</div>		
+	</div>
+	
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+	<b><h:form><s:button value="Home" action="#{manageResources.home}" /></h:form></b>
+	<b><h:form><h:commandButton value="Reset Message Exchange" action="#{messageExchangeSelect.showFrom}">
+			<s:conversationPropagation type="end"/>
+			</h:commandButton>
+	   </h:form>
+	</b>
+	<p/>
+</ui:define>
+
+</ui:composition>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/ant.bat
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/ant.bat	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/ant.bat	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+ at echo off
+set ANT_CMD_LINE_ARGS=%1
+if ""%1""=="""" goto doneStart
+shift
+:setupArgs
+if ""%1""=="""" goto doneStart
+set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1
+shift
+goto setupArgs
+:doneStart
+%ANT_HOME%\bin\ant %ANT_CMD_LINE_ARGS%
+


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/ant.bat
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+    <!-- =================================================================== -->
+    <!-- build.xml  -   Builds all subprojects in child directories          -->
+    <!-- =================================================================== -->
+
+<project name="JbossEsb" default="org.jboss.esb.core.compile" basedir=".">
+
+    <property name="org.jboss.esb.core.name.jar" value="name.jar-NOT_SET.jar"/>
+    <property environment="env"/>
+
+    <!-- =================================================================== -->
+    <!-- Initialize                                                          -->
+    <!-- =================================================================== -->
+    <target name="org.jboss.esb.core.init">
+	<tstamp>
+	    <format property="TODAY" pattern="dd-MM-yy"/>
+	</tstamp>
+    </target>
+
+	<path id="emma.libs">
+		<fileset dir="../lib/ext" includes="emma*.jar"/>
+	</path>
+	<taskdef resource="emma_ant.properties" classpathref="emma.libs" />
+	
+    <!-- =================================================================== -->
+    <!-- Prepares the directory structure                                    -->
+    <!-- =================================================================== -->
+    <target name="org.jboss.esb.core.prepare" depends="org.jboss.esb.core.init">
+	<mkdir dir="${org.jboss.esb.internal.dest}/jbossesb"/>
+	<mkdir dir="${org.jboss.esb.internal.dest}/jbossesb/lib"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Compiles all the classes                                            -->
+    <!-- =================================================================== -->
+    <target name="org.jboss.esb.core.compile" depends="org.jboss.esb.core.prepare" description="Compile subprojects">
+    		<echo message="Compiling submodules"/>
+    		<ant dir="rosetta"/>
+    		<ant dir="services"/>
+    		<ant dir="listeners"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Test all the classes excluding integration test                     -->
+    <!-- =================================================================== -->
+    <target name="org.jboss.esb.core.test" depends="org.jboss.esb.core.compile" description="Test subprojects">
+        <echo message="Testing submodules"/>
+        <ant dir="rosetta" target="org.jboss.esb.rosetta.test"/>
+        <ant dir="services" target="org.jboss.esb.services.test"/>
+        <ant dir="listeners" target="org.jboss.esb.listeners.test"/>
+    </target>
+	
+	<!-- =================================================================== -->
+	<!-- Run unit, functional and integration tests                          -->
+	<!-- =================================================================== -->
+	    <target name="org.jboss.esb.core.integration.test" depends="org.jboss.esb.core.compile" description="Integration test subprojects">
+	        <echo message="Testing submodule integration tests"/>
+	        <ant dir="rosetta" target="org.jboss.esb.rosetta.integration.test"/>
+	        <ant dir="services" target="org.jboss.esb.services.integration.test"/>
+	        <ant dir="listeners" target="org.jboss.esb.listeners.integration.test"/>
+	    </target>
+	
+    <!-- =================================================================== -->
+    <!-- Assemble  jars                                                      -->
+    <!-- =================================================================== -->
+    <target name="jar" description="Build jar files">
+    		<echo message="Building jar"/>
+    		<ant dir="rosetta" target="jar"/>
+    		<ant dir="services" target="jar"/>
+            <ant dir="listeners" target="jar"/>
+    </target>
+
+	<property name="classes.dir" location="${org.jboss.esb.internal.dest}/classes"/>
+    <property name="coverage.dir" location="${org.jboss.esb.internal.dest}/tests/coverage"/>
+
+	<target name="instr-report">
+	    <emma>
+			<report sort="+block,+name,+method,+class" metrics="method:70,block:80,line:80,class:100">
+		        <fileset dir="${coverage.dir}" >
+					<include name="*/*.emma" />
+		        </fileset>
+				<sourcepath><dirset dir="./" includes="rosetta/src,listeners/src,services/src" /></sourcepath>					
+		        <txt outfile="${coverage.dir}/coverage.txt"/>
+			</report>
+	    </emma>
+	</target>
+	
+    <!-- =================================================================== -->
+    <!-- Clean  all                                                          -->
+    <!-- =================================================================== -->
+    <target name="clean" description="Clean dist directory and cleans subprojects">
+        <delete dir="${org.jboss.esb.internal.dest}/classes"/>
+ 
+            <ant dir="rosetta" target="clean"/>
+    	    <ant dir="listeners" target="clean"/>
+    	    <ant dir="services" target="clean"/>
+
+        <delete dir="${org.jboss.esb.internal.dest}/jbossesb"/>
+	</target>
+
+    <!-- =================================================================== -->
+    <!-- Rebuild everything from scratch                                     -->
+    <!-- =================================================================== -->
+    <target name="all" depends="clean,jar" />
+    <target name="recompile" depends="clean,org.jboss.esb.core.compile" />
+
+</project>


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/build.xml
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<project name="BuildJbossEsbListeners" default="org.jboss.esb.listeners.compile" basedir=".">
+
+	<property name="org.jboss.esb.listeners.jar.name" value="jbossesb-listeners"/>
+	<property name="org.jboss.esb.dependencies.jar.name" value="jbossesb-dependencies"/>
+	<property name="org.jboss.esb.listeners.distrib.dir" location="${org.jboss.esb.internal.dest}/jbossesb"/>
+	<property name="org.jboss.esb.listeners.classes.dir" location="${org.jboss.esb.internal.dest}/classes/listeners"/>
+    <property name="org.jboss.esb.listeners.src.dir" location="src"/>
+	<property name="org.jboss.esb.root.dir" location="../.."/>
+	<property name="gendir" location="${org.jboss.esb.internal.dest}/schema-model" />
+    <property environment="env"/>
+
+	<property name="org.jboss.esb.ext.lib.dir" location="${org.jboss.esb.root.dir}/lib/ext"/>
+	<condition property="org.jboss.esb.ext.lib.dir" value="${org.jboss.esb.jboss.home}/client">
+		<equals arg1="${org.jboss.esb.frominstall}" arg2="yes"/>
+	</condition>
+	
+	<path id="org.jboss.esb.listeners.base.classpath">
+        <fileset dir="${org.jboss.esb.ext.lib.dir}" includes="stax-api-1.0.1.jar,xalan.jar,xbean.jar"/>
+		<fileset dir="${org.jboss.esb.ext.lib.dir}" includes="*.jar"/>
+    </path>
+
+	<path id="org.jboss.esb.listeners.default.classpath">
+        <path refid="org.jboss.esb.listeners.base.classpath"/>
+		<pathelement location="${gendir}/classes"/>
+		<pathelement location="${org.jboss.esb.classes.dir}"/>
+		<pathelement location="${org.jboss.esb.internal.dest}/classes/rosetta"/>
+		<pathelement location="${org.jboss.esb.internal.dest}/classes/services"/>
+    </path>
+
+    <target name="org.jboss.esb.listeners.init">
+        <tstamp>
+            <format property="TODAY" pattern="dd-MM-yy"/>
+        </tstamp>
+    </target>
+
+    <target name="org.jboss.esb.listeners.prepare" depends="org.jboss.esb.listeners.init">
+        <mkdir dir="${org.jboss.esb.listeners.classes.dir}"/>
+        <mkdir dir="${org.jboss.esb.listeners.distrib.dir}"/>
+        <mkdir dir="${org.jboss.esb.listeners.distrib.dir}/lib"/>
+    </target>
+
+    <target name="clean" description="Remove classes directory">
+		<ant dir="tests" target="clean"/>
+		<delete dir="${org.jboss.esb.listeners.classes.dir}"/>
+    </target>
+	
+	<target name="generate-config-model-1.0" depends="org.jboss.esb.listeners.prepare">
+			<taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpathref="xbeans-classpath" />
+			<delete dir="${gendir}" /><mkdir dir="${gendir}" />
+			
+			<xmlbean
+				classgendir="${gendir}/classes" 
+				javasource="1.5"
+				srcgendir="${gendir}/src"
+				destfile="${org.jboss.esb.listeners.distrib.dir}/lib/jbossesb-config-model-1.0.jar" 
+				classpathref="xbeans-classpath">
+				<fileset dir="${org.jboss.esb.root.dir}/etc/schemas/xml/" includes="jbossesb-1.0.xsd,jbossesb-1.0.xsdconfig"/>
+			</xmlbean>
+		    <!-- now add the xsd to it -->
+		    <jar destfile="${org.jboss.esb.listeners.distrib.dir}/lib/jbossesb-config-model-1.0.jar" update="true"
+				basedir="${org.jboss.esb.root.dir}/etc/schemas/xml/"
+				includes="jbossesb-1.0.xsd"/>
+		</target>
+
+		<path id="xbeans-classpath">
+			<fileset dir="${org.jboss.esb.ext.lib.dir}" includes="*.jar"/>
+		</path>
+		
+
+    <target name="org.jboss.esb.listeners.compile">
+        <!-- Compile listeners -->
+    	<echo>internal listener compile</echo>
+        <antcall target="org.jboss.esb.listeners.internal.compile"/>
+        <!-- Compile listener tests -->
+        <ant inheritAll="true" dir="tests" target="org.jboss.esb.listeners.tests.compile"/>
+    </target>
+	
+    <target name="org.jboss.esb.listeners.internal.compile" depends="generate-config-model-1.0"
+        description="Compile all classes">
+
+        <javac
+            destdir="${org.jboss.esb.listeners.classes.dir}"
+            classpathref="org.jboss.esb.listeners.default.classpath"
+            debug="${org.jboss.esb.debug}"
+            optimize="${org.jboss.esb.optimize}"
+            >
+            <src path="${org.jboss.esb.listeners.src.dir}"/>
+        </javac>
+
+    </target>
+
+	<target name="recompile" depends="clean,org.jboss.esb.listeners.compile"
+        description="Clean and compile"/>
+
+    <target name="jar" depends="org.jboss.esb.listeners.compile" description="Assemble jar files">
+    	<delete file="${org.jboss.esb.listeners.distrib.dir}/lib/${org.jboss.esb.listeners.jar.name}.jar" />
+        <jar    destfile="${org.jboss.esb.listeners.distrib.dir}/lib/${org.jboss.esb.listeners.jar.name}.jar" 
+                basedir="${org.jboss.esb.listeners.classes.dir}" 
+                includes="**/*.class"
+		        excludes="test/**,**/dependencies/*.class"
+                />
+    	
+    	<jar    destfile="${org.jboss.esb.listeners.distrib.dir}/lib/${org.jboss.esb.dependencies.jar.name}.jar" 
+    	                basedir="${org.jboss.esb.listeners.classes.dir}" 
+    	                includes="**/dependencies/*.class"
+    			        excludes="test/**"
+    	                />
+    </target>
+	
+    <target name="org.jboss.esb.listeners.test" description="Run tests for this module">
+        <!-- Compile listener tests -->
+        <ant dir="tests" target="org.jboss.esb.listeners.internal.test"/>
+    </target>
+	
+	<target name="org.jboss.esb.listeners.integration.test" description="Run integration tests for this module">
+        <!-- Compile listener integration tests -->
+        <ant dir="tests" target="org.jboss.esb.listeners.internal.integration.test"/>
+    </target>
+    
+    <target name="all" depends="recompile,jar" />
+
+</project>


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/build.xml
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/log4j.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/log4j.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/log4j.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+### direct log messages to stdout ###
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
+### set log levels - for more verbose logging change 'info' to 'debug' ###
+log4j.rootLogger=info, stdout
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JBossESBDependenciesService.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JBossESBDependenciesService.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JBossESBDependenciesService.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,49 @@
+/*
+ * 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.dependencies;
+
+import org.apache.log4j.Logger;
+import org.jboss.system.ServiceMBeanSupport;
+/**
+ * An 'empty' service to 
+ * 
+ * @author Kurt Stam
+ *
+ */
+public class JBossESBDependenciesService extends ServiceMBeanSupport implements JBossESBDependenciesServiceMBean
+{
+	private Logger log = Logger.getLogger(this.getClass());
+	/**
+	 * Let's the jbossesb classloader know that the de
+	 */
+	protected void startService() throws Exception 
+	{
+		log.info("The JBossESB dependencies are deployed.");
+	}
+	/**
+	 * Stops the gateways.
+	 */
+	protected void stopService() throws Exception 
+	{
+        log.info("Undeploying the JBossESB dependencies..");
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JBossESBDependenciesServiceMBean.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JBossESBDependenciesServiceMBean.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JBossESBDependenciesServiceMBean.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,32 @@
+/*
+ * 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.dependencies;
+
+import org.jboss.system.ServiceMBean;
+/**
+ * 
+ * @author Kurt Stam
+ *
+ */
+public interface JBossESBDependenciesServiceMBean extends ServiceMBean
+{
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIService.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIService.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIService.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,33 @@
+package org.jboss.internal.soa.esb.dependencies;
+
+import java.io.File;
+import java.net.URI;
+
+import javax.naming.InitialContext;
+
+import org.apache.juddi.registry.rmi.JNDIRegistration;
+import org.apache.log4j.Logger;
+import org.jboss.system.ServiceMBeanSupport;
+
+public class JuddiRMIService extends ServiceMBeanSupport implements JuddiRMIServiceMBean
+{
+	private Logger logger = Logger.getLogger(this.getClass());
+	
+	protected void startService() throws Exception 
+	{
+		logger.info("starting juddi RMI service");
+		final String confURL = System.getProperty("jboss.server.config.url") ;
+		final URI confDirURI = new URI(confURL) ;
+		final File confDir = new File(confDirURI) ;
+		System.setProperty("juddi.propertiesFile", confDir + "/juddi.properties");
+		JNDIRegistration.register();
+	}
+
+	protected void stopService() throws Exception 
+	{
+		logger.info("Unbinding juddi services");
+		final InitialContext ic = new InitialContext() ;
+		ic.unbind(JNDIRegistration.INQUIRY_SERVICE) ;
+		ic.unbind(JNDIRegistration.PUBLISH_SERVICE) ;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIServiceMBean.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIServiceMBean.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/internal/soa/esb/dependencies/JuddiRMIServiceMBean.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,8 @@
+package org.jboss.internal.soa.esb.dependencies;
+
+import org.jboss.system.ServiceMBean;
+
+public interface JuddiRMIServiceMBean extends ServiceMBean
+{
+  
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionProcessingException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionProcessingException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionProcessingException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,61 @@
+/*
+ * 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;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * Exception while processing message payload processing action.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ActionProcessingException extends BaseException {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Public constructor.
+     * @param message Exception message.
+     */
+    public ActionProcessingException(String message) {
+        super(message);
+    }
+
+    /**
+     * Public constructor.
+     * @param message Exception message.
+     * @param cause Exception cause.
+     */
+    public ActionProcessingException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    /**
+     * Public constructor.
+     * @param cause Exception cause.
+     */
+    public ActionProcessingException(Throwable cause) {
+        super(cause);
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionProcessor.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionProcessor.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionProcessor.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+/*
+ * 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;
+
+import java.io.Serializable;
+
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Action Processor Interface Definition.
+ * <p/>
+ * An "Action Processor" performs a processing action on a message payload and returns the processing
+ * result.
+ * <p/>
+ * Implementations are constructed based on the following public constructor order precedence:
+ * <ol>
+ *  <li><b>(String actionName, List&lt;{@link org.jboss.soa.esb.helpers.KeyValuePair}&gt; properties)</b></li>
+ *  <li><b>default constructor</b>.</li>
+ * </ol>
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public interface ActionProcessor {
+    
+	
+    /**
+     * Perform the processing action on the message
+     * @param message The message to be processed.
+     * @return Message - result of process
+     * @throws ActionProcessingException Exception during payload processing.
+     */
+    public Message process(Message message) throws ActionProcessingException;
+
+    /**
+     * Get the "OK" notification message for this processor.
+     * @param message The message Object.
+     * @return The OK message.
+     */
+    public abstract Serializable getOkNotification(Message message);
+
+    /**
+     * Get the "Error" notification message for this processor.
+     * @param message The message Object.
+     * @return The Error message.
+     */
+    public abstract Serializable getErrorNotification(Message message);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.notification.NotificationList;
+
+/**
+ * Contains utility methods for actions 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ */
+public class ActionUtils 
+{
+	public  static final String BEFORE_ACTION="org.jboss.soa.esb.actions.current.before";
+	private static final String CURRENT_OBJECT="org.jboss.soa.esb.actions.current.after";
+
+    /**
+     * Obtain the current object from standard spot within message 
+     * @param message - from where to obtain the 'current object'
+     * @return Object stored in Body with key ActionProcessor.CURRENT_OBJECT
+     */
+    public static Object getTaskObject(Message message)
+    {
+    	Object payload = (null==message)? null : message.getBody().get(CURRENT_OBJECT);
+    	
+    	if(payload == null) {
+    		payload = message.getBody().getContents();
+    	}
+    	
+    	return payload;
+    }
+    /**
+     * Obtain previous 'current object' from standard spot within message 
+     * @param message - from where to obtain the value
+     * @return Object stored in Body with key ActionProcessor.BEFORE_ACTION
+     */
+    public static Object getTaskBeforeObject(Message message)
+    {
+    	return (null==message)? null : message.getBody().get(BEFORE_ACTION);
+    }
+    /**
+     * Copy 'current object' to a temporary holder within message 
+     * @param message 
+     */
+    public static void copyCurrentToPrevious(Message message)
+    {
+    	Body body = message.getBody();
+    	body.remove(BEFORE_ACTION);
+    	Object obj = body.get(CURRENT_OBJECT);
+    	if (null != obj)
+    		body.add(BEFORE_ACTION,obj);
+    }
+    /**
+     * Put current object in standard spot within message
+     * <br/>NULL values are not stored 
+     * @param message - to operate on
+     * @param obj - Object to store - Won't be stored if &lt;null&gt;
+     * @return Object previous 'current object'
+     */
+    public static Object setTaskObject(Message message, Object obj)
+    {
+    	Object oRet = message.getBody().remove(CURRENT_OBJECT);
+    	
+    	if (null!=obj) {
+    		message.getBody().add(CURRENT_OBJECT,obj);
+    	}
+    	if(obj instanceof byte[]) {
+    		message.getBody().setContents((byte[])obj);
+    	}
+    	
+    	return oRet;
+    }	
+
+    public static NotificationList getNotifyList(ConfigTree tree, String type)
+    {
+    	ConfigTree[] array = tree.getChildren("NotificationList");
+    	for (ConfigTree curr : array)
+    	{
+    		String sType = curr.getAttribute(NotificationList.TYPE);
+    		if (null==sType)
+    			continue;
+    		if (type.toLowerCase().startsWith(sType.toLowerCase()))
+    			return new NotificationList(curr);
+    	}
+    	return null;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Aggregator.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,267 @@
+/*
+ * 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.
+ */
+
+/**
+ * Routes the Message argument to a fixed list of services ([category,name]) 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ */
+package org.jboss.soa.esb.actions;
+
+import java.text.DateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+import org.jboss.soa.esb.services.routing.MessageRouter;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+
+/**
+ * Simple Aggregator. The aggregator relies on 'aggregatorTags'. To puzzle the individual
+ * back together. The aggregatorTag is set in the MessageRouter.deliver() method. The aggregator
+ * adds a collected message in the series as attachements to a new message. When all
+ * messages are received or if we are timeout an aggregated message is returned. 
+ * In all other cases null is returned.
+ * 
+ * Future enhancement should be 
+ *  - all sort of waitfor/timout algorithms.
+ *  - persisting the map so no messages get lost.
+ *  - make the map managable.
+ * 
+ * @author kurt.stam at redhat.com
+ *
+ */
+public class Aggregator
+{
+	public static ConcurrentHashMap<String,ConcurrentHashMap< String, Message > > _aggregatedMessageMap
+        = new ConcurrentHashMap< String, ConcurrentHashMap< String, Message > >();
+    private static TimeoutChecker _timeoutChecker=null;
+    private static ArrayList<String> _notified = new ArrayList<String>();
+    
+    protected ConfigTree config;
+    private Logger logger = Logger.getLogger(Aggregator.class);
+    private Long timeoutInMillies=null;
+    private String serviceName;
+    private String serviceCategoryName;
+    private Registry registry;
+    
+	private Aggregator(){}
+
+	public Aggregator(ConfigTree config) throws ConfigurationException, RegistryException
+	{
+        if (_timeoutChecker==null) {
+        // On startup we should re-populate the _aggregatedMessageMap from permanent storage
+            _timeoutChecker = new TimeoutChecker();
+            _timeoutChecker.start();
+        }
+        
+        this.config = config;
+		checkMyParms();
+        registry = RegistryFactory.getRegistry();
+    }
+    /**
+     * Processes an incoming message, aggregates messages in a set and returns a aggregated message
+     * when isComplete() is satisfied. The aggregated messages are set as attachments to this message.
+     * Next the message can be send to a transformer to do the second part of the aggregation which is 
+     * to convert the attachement messages into to one message.
+     * 
+     * @param message
+     * @return a aggregated message, or null if the aggregation has not been completed.
+     * @throws MessageRouterException
+     */
+	public Message process(Message message) throws MessageRouterException
+	{
+		String aggregatorTag = (String) message.getProperties().getProperty(MessageRouter.AGGEGRATOR_TAG);
+        if (aggregatorTag!=null) {
+            String[] tag = aggregatorTag.split(":");
+            String uuId = tag[0];
+            String messageNumber = tag[1];
+            int totalNumberOfMessages = Integer.valueOf(tag[2]).intValue();
+             
+            if (isTimedOut(message)) {
+                if (_aggregatedMessageMap.containsKey(uuId)) {
+                    ConcurrentHashMap<String, Message> messageMap = _aggregatedMessageMap.get(uuId);
+                    //add the message in if we don't already have it
+                    if (!messageMap.containsKey(uuId)) {
+                         messageMap.put(messageNumber, message);
+                    }
+                    //Just going to send out what we have this far, which will remove this key
+                    //so subsequent messages with this uuId will be ignored
+                    message = createAggregateMessage(uuId, _aggregatedMessageMap.get(uuId));
+                } else {
+                    logger.debug("Ignoring this message since we are already timedout on this message.");
+                    //ignoring this message
+                    message = null;
+                }
+            } else {
+                ConcurrentHashMap<String, Message> messageMap=null;
+                //Get the messageMap with this uuId, or create it if not found
+                if (_aggregatedMessageMap.containsKey(uuId)) {
+                    messageMap = _aggregatedMessageMap.get(uuId);
+                } else {
+                    messageMap = new ConcurrentHashMap<String, Message>();
+                }
+                if (messageMap.containsKey(messageNumber)) {
+                    logger.warn("Received duplicate message, ignoring it but this should not happen.");
+                } else {
+                    messageMap.put(messageNumber, message);
+                    _aggregatedMessageMap.put(uuId, messageMap);
+                } 
+                if (messageMap.size()==totalNumberOfMessages) {
+                    message = createAggregateMessage(uuId, messageMap);
+                } else {
+                    message = null;
+                }
+            }
+        } else {
+            throw new MessageRouterException("Could not find an aggregator tag, so this message can not be aggregated.");
+        }
+		return message;
+	}
+	/**
+     * Obtains the timeoutInMillies to a number
+     * 
+     * @throws ConfigurationException
+	 */
+	private void checkMyParms() throws ConfigurationException 
+    {
+        timeoutInMillies     = Long.valueOf(config.getAttribute("timeoutInMillies"));
+        logger.debug("Aggregator config:  timeoutInMillies=" + timeoutInMillies);
+        serviceName          = config.getAttribute(ListenerTagNames.SERVICE_NAME_TAG);
+        serviceCategoryName  = config.getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG);
+    }
+    /**
+     * Aggregates the messages into 1 new message with an attachment for each message.
+     * 
+     * @param uuId
+     * @param messageMap
+     * @return the aggregated message
+     */
+    private Message createAggregateMessage(String uuId, ConcurrentHashMap<String, Message> messageMap) 
+    {
+        //Create an aggregated message
+        Message aggregatedMessage = MessageFactory.getInstance().getMessage();
+        for (Message oneMessage : messageMap.values()) {
+            //Add the individual messages as attachments
+                aggregatedMessage.getAttachment().addItem(oneMessage);
+        }
+        _aggregatedMessageMap.remove(uuId);
+        //TODO remove messageMap from permanent storage, or do that per message in the loop above using value of the aggregatorTag
+        //remove from the notificationMap if it is in there.
+        _notified.remove(uuId);
+        
+        return aggregatedMessage;
+    }
+    /**
+     * If the aggregation process is complete then return true. This depends on the configuration. 
+     * 
+     * @param totalNumberOfMessages
+     * @param splitterTimeStamp
+     * @param messageMap
+     * @return
+     */
+    private boolean isTimedOut(Message message) 
+    {
+        long splitterTimeStamp = (Long) message.getProperties().getProperty(MessageRouter.SPLITTER_TIME_STAMP);
+        if (timeoutInMillies!=null) {
+            long now = new Date().getTime();
+            long expiration = splitterTimeStamp + Long.valueOf(timeoutInMillies);
+            if (logger.isDebugEnabled()) {
+                DateFormat dateFormat = DateFormat.getTimeInstance();
+                logger.debug("Current time=" + dateFormat.format(new Date(now)) 
+                    + " message expiration=" + dateFormat.format(new Date(expiration)));
+            }
+            if ( now > expiration) {
+                logger.debug("message expired.");
+                return true;
+            } else {
+                logger.debug("message is alive.");
+            }
+        }
+        return false;
+    }
+    /**
+     * Checks for message that are timed out. If we find that one we notify ourselves about it by resending the message.
+     * 
+     * @author kstam
+     *
+     */
+    class TimeoutChecker extends Thread {
+        public void run() {
+            while(true) {
+                //no need to check if no timeout is set
+                if (timeoutInMillies!=null) {
+                    for (ConcurrentHashMap< String, Message > messageMap : _aggregatedMessageMap.values()) {
+                        //Check the first message, they all have the same time stamp
+                        Message message = messageMap.values().iterator().next();
+                        if (isTimedOut(message)) {
+                            //We found a timed-out message. Let's go notify ourselves about by resending a message,
+                            //it if we haven't done so already
+                            String aggregatorTag = (String) message.getProperties().getProperty(MessageRouter.AGGEGRATOR_TAG);
+                            String[] tag = aggregatorTag.split(":");
+                            String uuId = tag[0];
+                            if (!_notified.contains(uuId)) {
+                                _notified.add(uuId);
+                                logger.debug("Found timeout message.");
+                                try {
+                                    EPR epr = registry.findEPR(serviceCategoryName, serviceName);
+                                    Courier courier = CourierFactory.getCourier(epr);
+                                    try
+                                    {
+                                        courier.deliver(message);
+                                    }
+                                    finally
+                                    {
+                                        CourierUtil.cleanCourier(courier) ;
+                                    }
+                                } catch (Exception e) {
+                                    logger.error(e.getMessage(), e);
+                                    //If we can't notify then drop this data
+                                    logger.debug("Deleting data for message series with uuId=" + uuId);
+                                    _notified.remove(uuId);
+                                    _aggregatedMessageMap.remove(uuId);
+                                }
+                            }
+                        }
+                    }
+                }
+                try {
+                    Thread.sleep(500);
+                } catch (Exception e){}
+            }
+        }
+    }
+ 
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ContentBasedRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ContentBasedRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ContentBasedRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,173 @@
+/*
+ * 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.
+ */
+
+/**
+ * Routes the Message argument to a fixed list of services ([category,name]) 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ */
+package org.jboss.soa.esb.actions;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+import org.jboss.soa.esb.services.routing.MessageRouter;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+import org.jboss.soa.esb.services.routing.cbr.ContentBasedRouterFactory;
+
+public class ContentBasedRouter
+{
+	public static final String ROUTE_TO_TAG = "route-to";
+	private Logger log = Logger.getLogger(this.getClass());
+    
+	private ContentBasedRouter()
+	{
+	}
+
+	public ContentBasedRouter(ConfigTree config) throws ConfigurationException, RegistryException, MessageRouterException
+	{
+		_config = config;
+		checkMyParms();
+		_registry = RegistryFactory.getRegistry();
+        _cbr = ContentBasedRouterFactory.getRouter();
+	} // ________________________________
+
+	public Message process(Message message) throws MalformedEPRException, RegistryException, CourierException, MessageRouterException
+	{
+		//Call call = message.getHeader().getCall();
+		//if (null == call || null == call.getMessageID())
+		//	throw new IllegalArgumentException("Null message ID");
+
+        List<String> destinations = _cbr.route(_ruleSet, _ruleLanguage, _ruleReload, message);
+        Collection<String[]> outgoingDestinations = new ArrayList<String[]>();
+		for (String destination : destinations) {
+            if (_destinations.containsKey(destination)) {
+                outgoingDestinations.add(_destinations.get(destination));
+            }
+		}
+        if (outgoingDestinations.size()>0) {
+            MessageRouter.deliverMessages(outgoingDestinations, message, false); 
+        } else if (destinations.size() > 0) {
+            log.error("The rule destination(s) " + destinations 
+                    + " are  not in found in the destination names in the configuration "
+                    + _destinations.keySet() + ". Please fix your configuration."); 
+        }
+        
+		return message;
+	} // ________________________________
+    
+    public Message split(Message message) throws MalformedEPRException, RegistryException, CourierException, MessageRouterException
+    {
+        //Call call = message.getHeader().getCall();
+        //if (null == call || null == call.getMessageID())
+        //  throw new IllegalArgumentException("Null message ID");
+
+        List<String> destinations = _cbr.route(_ruleSet, _ruleLanguage, _ruleReload, message);
+        Collection<String[]> outgoingDestinations = new ArrayList<String[]>();
+        for (String destination : destinations) {
+            if (_destinations.containsKey(destination)) {
+                outgoingDestinations.add(_destinations.get(destination));
+            }
+        }
+        if (outgoingDestinations.size()>0) {
+            MessageRouter.deliverMessages(outgoingDestinations, message, true); 
+        } else if (destinations.size() > 0) {
+            log.error("The rule destination(s) " + destinations 
+                    + " are  not in found in the destination names in the configuration "
+                    + _destinations.keySet() + ". Please fix your configuration."); 
+        }
+        
+        return message;
+    } // ________________________________
+
+	protected void checkMyParms() throws ConfigurationException
+	{
+        if (_config.getAttribute(ListenerTagNames.RULE_SET_TAG)==null) {
+            _logger.error("Required attribute " + ListenerTagNames.RULE_SET_TAG + " not found in " + _config.getName() + ".");
+            throw new ConfigurationException("Required attribute" + ListenerTagNames.RULE_SET_TAG + " not found.");
+        } else {
+            _ruleSet =_config.getAttribute(ListenerTagNames.RULE_SET_TAG);
+            if (_ruleSet==null) {
+                throw new ConfigurationException("Required attribute " + ListenerTagNames.RULE_SET_TAG + " not found.");
+            }
+            _ruleLanguage =_config.getAttribute(ListenerTagNames.RULE_LANGUAGE_TAG);
+            String ruleReload = _config.getAttribute(ListenerTagNames.RULE_RELOAD_TAG);
+            if (ruleReload!=null && "true".equals(ruleReload)) {
+                _ruleReload = true;
+            }
+        }
+		_destinations = new HashMap<String, String[]>();
+		ConfigTree[] destList = _config.getChildren(ROUTE_TO_TAG);
+        
+		if (null == destList || destList.length < 1)
+		{
+			_logger
+					.warn("Missing or empty destination list - This action class won't have any effect");
+			return;
+		}
+		for (ConfigTree curr : destList) {
+			try
+			{
+                String key = curr.getRequiredAttribute(ListenerTagNames.DESTINATION_NAME_TAG);
+				String category = curr.getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, "");
+				String name = curr.getRequiredAttribute(ListenerTagNames.SERVICE_NAME_TAG);
+				_destinations.put(key, new String[] { category, name });
+			}
+			catch (Exception e)
+			{
+				throw new ConfigurationException(
+						"Problems with destination list", e);
+			}
+        }
+        
+	} // ________________________________
+
+	protected ConfigTree _config;
+
+	protected Map<String, String[]> _destinations;
+    
+    private String _ruleSet;
+    
+    private String _ruleLanguage;
+    
+    private boolean _ruleReload;
+
+	protected Registry _registry;
+    
+    private org.jboss.soa.esb.services.routing.cbr.ContentBasedRouter _cbr;
+
+	protected static Logger _logger = Logger.getLogger(ContentBasedRouter.class);
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Notifier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Notifier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/Notifier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,103 @@
+/*
+ * 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;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.notification.NotificationList;
+
+/**
+ * Stand alone action class that replaces the NotificationHandler EJB (beta 1) 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ */
+public class Notifier 
+{
+	public Notifier(ConfigTree config)
+	{
+		_config = config;
+		if (null==_config)
+		{
+			_notifyOK = _notifyError = new ConfigTree[]{};
+		}
+		else
+		{
+			_notifyOK 	= getNotificationList("ok");
+			_notifyError= getNotificationList("err");
+		}
+	} //________________________________
+	
+	/**
+	 * This is equivalent to a No Operation
+	 * @param message
+	 * @return - this method will always return arg0 unchanged
+	 */
+	public Message process 	(Message message) 
+	{
+		return message;
+	} //________________________________
+	
+	public void notifyOK 	(Message message) 
+	{
+		NotificationList.notifyAll(_notifyOK, messageAsString(message)); 
+	} //________________________________
+	public void notifyError (Message message) 
+	{ 
+		NotificationList.notifyAll(_notifyError, messageAsString(message)); 
+	} //________________________________
+	
+	public String messageAsString (Message message) 
+	{ 
+		byte[] ba = null;
+		return (null==message) ? "<null message>"
+			:(null==(ba=message.getBody().getContents())) ? "<null body content>"
+			: new String(ba); 
+	} //________________________________
+	
+	private ConfigTree[] getNotificationList(String type)
+	{
+		List<ConfigTree> list = new ArrayList<ConfigTree>();
+		if (null!=type)
+			type = type.toLowerCase();
+		
+		for (ConfigTree tree : _config.getChildren(NotificationList.ELEMENT))
+		{
+			String sType = tree.getAttribute(NotificationList.TYPE);
+			if (null==sType)
+				continue;
+			if (null==type || sType.toLowerCase().equals(type))
+				list.add(tree);
+		}
+		
+		ConfigTree[] array = new ConfigTree[list.size()];
+		return list.toArray(array);
+	} //________________________________
+	
+	protected ConfigTree 	_config;
+	protected ConfigTree[]	_notifyOK	,_notifyError;
+	protected static Logger	_logger = Logger.getLogger(Notifier.class);
+} //____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/StaticRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/StaticRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/StaticRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ */
+
+/**
+ * Routes the Message argument to a fixed list of services ([category,name]) 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ */
+package org.jboss.soa.esb.actions;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.routing.MessageRouter;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+
+public class StaticRouter
+{
+	public static final String ROUTE_TO_TAG = "route-to";
+
+	private StaticRouter()
+	{
+	}
+
+	public StaticRouter(ConfigTree config) throws ConfigurationException, RegistryException
+	{
+		_config = config;
+		checkMyParms();
+	} // ________________________________
+
+	public Message process(Message message) throws MalformedEPRException, RegistryException, CourierException
+	{
+		try
+		{
+		//	Call call = message.getHeader().getCall();
+		//	if (null == call || null == call.getMessageID())
+		//		throw new IllegalArgumentException("Null message ID");
+	
+			MessageRouter.deliverMessages(_destinations, message, false);
+			return message;
+		}
+		catch (MessageRouterException ex)
+		{
+			throw new MalformedEPRException(ex);
+        }
+	} // ________________________________
+
+	protected void checkMyParms() throws ConfigurationException
+	{
+		_destinations = new ArrayList<String[]>();
+		ConfigTree[] destList = _config.getChildren(ROUTE_TO_TAG);
+		if (null == destList || destList.length < 1)
+		{
+			_logger.warn("Missing or empty destination list - This action class won't have any effect");
+			return;
+		}
+		for (ConfigTree curr : destList)
+			try
+			{
+				String category = curr.getAttribute(
+						ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, "");
+				String name = curr.getRequiredAttribute(
+						ListenerTagNames.SERVICE_NAME_TAG);
+				_destinations.add(new String[]
+				{ category, name});
+			}
+			catch (Exception e)
+			{
+				throw new ConfigurationException(
+						"Problems with destination list", e);
+			}
+	} // ________________________________
+    
+    public Message split(Message message) throws MalformedEPRException, RegistryException, CourierException
+    {
+        try
+        {
+        //  Call call = message.getHeader().getCall();
+        //  if (null == call || null == call.getMessageID())
+        //      throw new IllegalArgumentException("Null message ID");
+    
+            MessageRouter.deliverMessages(_destinations, message, true);
+            return message;
+        }
+        catch (MessageRouterException ex)
+        {
+            throw new MalformedEPRException(ex);
+        }
+    } // ________________________________
+
+	protected ConfigTree _config;
+
+	protected List<String[]> _destinations;
+
+	protected static Logger _logger = Logger.getLogger(StaticRouter.class);
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/SystemPrintln.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/SystemPrintln.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/SystemPrintln.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,112 @@
+/*
+ * 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.actions;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.Serializable;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Simple action that prints out the message contents using System.println.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SystemPrintln implements ActionProcessor {
+
+	private String printlnMessage;
+	
+	/**
+	 * Public constructor.
+	 * @param config Configuration.
+	 */
+	public SystemPrintln(ConfigTree config) {
+		printlnMessage = config.getAttribute("message", "** 'message' attribute not set **");
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#process(org.jboss.soa.esb.message.Message)
+	 */
+	public Message process(Message message) throws ActionProcessingException {
+		Object messageObject = ActionUtils.getTaskObject(message);
+		
+		if(messageObject instanceof byte[]) {
+			System.out.println(printlnMessage + ": \n[" + format(new String((byte[])messageObject)) + "].");
+		} else {
+			if (messageObject!=null) System.out.println(printlnMessage + ": \n[" + format(messageObject.toString()) + "].");
+            for (int i=0; i<message.getAttachment().getUnnamedCount(); i++) {
+                Message attachedMessage = (Message) message.getAttachment().itemAt(i);
+                System.out.println("attachment " + i + ": [" + new String(attachedMessage.getBody().getContents()) + "].");
+            }
+		}
+		
+		return message;
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	private static TransformerFactory factory = TransformerFactory.newInstance();
+
+	/**
+	 * Attempt to format the output.
+	 * @param output Output to be formatted.
+	 * @return Output.
+	 */
+	private String format(String output) {
+		StreamSource source = new StreamSource(new ByteArrayInputStream(output.getBytes()));
+		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+		
+		try {
+			Transformer transformer;
+			
+			// There's a bug in Java 5 re this code (formatting).
+			// See http://forum.java.sun.com/thread.jspa?threadID=562510&start=0 and it explains the
+			// whys of the following code.
+			transformer = factory.newTransformer();
+			transformer.setOutputProperty(OutputKeys.INDENT, "yes");			
+			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "4");
+			transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+			transformer.transform(source, new StreamResult(outStream));
+			
+			return outStream.toString();
+		} catch (Exception e) {
+			return output;
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/AbstractObjectXStream.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/AbstractObjectXStream.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/AbstractObjectXStream.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,98 @@
+package org.jboss.soa.esb.actions.converters;
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Abstract object and xstream action processor for common functionality. 
+ * 
+ * 
+ * @author danielmarchant
+ *
+ */
+public abstract class AbstractObjectXStream implements ActionProcessor {
+	
+	
+	 protected String classAlias;
+	    protected boolean excludePackage = true;
+	    protected String classMethod;
+	    protected Class processorClass;
+		protected String classProcessor;
+		 private String name;
+		 
+	    
+	    /**
+	     * Public constructor.
+	     * @param properties Action Properties.
+	     * @throws ConfigurationException Action not properly configured.
+	     */
+	    public AbstractObjectXStream(ConfigTree properties) {
+	    	this( properties.getName(), properties.attributesAsList());
+	    }
+	    
+	    /**
+	     * Public constructor.
+	     * @param actionName Action name.
+	     * @param properties Action Properties.
+	     * @throws ConfigurationException Action not properly configured.
+	     */
+	    public AbstractObjectXStream(String actionName, List<KeyValuePair> properties) {
+	    	name = actionName;
+	    	classAlias = KeyValuePair.getValue("class-alias", properties, null);
+	        excludePackage = KeyValuePair.getBooleanValue("exclude-package", properties, true);
+	    }
+	
+	   
+	
+
+	public Serializable getErrorNotification(Message message) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public Serializable getOkNotification(Message message) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public abstract Message process(Message message) throws ActionProcessingException ;
+	
+	
+	
+	
+	
+	
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+
+	/**
+	 * Gets the alias to use with classes.
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	protected String getAlias(Object obj) {
+		if(classAlias == null) {
+            if(excludePackage) {
+                return (obj instanceof Class) ? ((Class)obj).getSimpleName() : obj.getClass().getSimpleName();
+            } else {
+               return (obj instanceof Class) ? ((Class)obj).getName() : obj.getClass().getName();
+            }
+        } 
+		return classAlias;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ByteArrayToString.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ByteArrayToString.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ByteArrayToString.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,105 @@
+/*
+ * 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.converters;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Byte Array to String processor.
+ * <p/>
+ * Sample Action Configuration:
+ * <pre>
+ * &lt;Action name="Bytes-To-UTF-8-String" processor="ByteArrayToString"&gt;
+ *     &lt;property name="encoding" value="UTF-8" /&gt; &lt;!-- Default of "UTF-8". --&gt;
+ * &lt;/Action&gt;
+ * </pre>
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ByteArrayToString implements ActionProcessor {
+    
+    private String encoding;
+    
+    /**
+     * Public constructor.
+     * @param properties Action properties.
+     */
+    public ByteArrayToString(ConfigTree properties) {
+    	this("ByteArrayToString", properties.attributesAsList());
+    }
+    
+    /**
+     * Public constructor.
+     * @param actionName Processing action name.
+     * @param properties Action properties.
+     */
+    public ByteArrayToString(String actionName, List<KeyValuePair> properties) {
+        encoding = KeyValuePair.getValue("encoding", properties, "UTF-8");
+    }
+    
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+     */
+    public Message process(Message message) throws ActionProcessingException {
+        byte[] bytes;
+        
+        try {
+            bytes = (byte[])ActionUtils.getTaskObject(message);
+        } catch(ClassCastException e) {
+            throw new ActionProcessingException("Message must be an array of bytes. Is " + message.getClass().getName());
+        }
+        
+        try {
+        	ActionUtils.setTaskObject(message,new String(bytes, encoding));
+        	return message;
+        } catch (UnsupportedEncodingException e) {
+            throw new ActionProcessingException("Unable to decode byte[] to String. Unsupported character encoding configuration: " + encoding, e);
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(Message)
+     */
+    public Serializable getOkNotification(Message message) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(Message)
+     */
+    public Serializable getErrorNotification(Message message) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectInvoke.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectInvoke.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectInvoke.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,210 @@
+/*
+ * 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.actions.converters;
+
+
+import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+
+import com.thoughtworks.xstream.XStream;
+
+
+/**
+ * Object to processor.
+ * <p/>
+ * Uses the <a href="http://xstream.codehaus.org/">XStream</a> processor to generate an XML message String from the supplied object.
+ * <p/>
+ * Sample Action Configuration:
+ * <pre>
+ * &lt;Action name="doCustomer" processor="ObjectInvoke"&gt;
+ *     &lt;property name="class-processor" value="CustomerProcessor" /&gt; &lt;!-- Required. Class processor used to process the message . --&gt;
+ *     &lt;property name="class-method" value="fooMethodName" /&gt; &lt;!-- Optional. Default to name of action. --&gt;
+ * 
+ * &lt;/Action&gt;
+ * </pre>
+ * <p/>
+ * 
+ * This can be used with ObjectToXStream and XStreamToObject
+ * 
+ * @author danielmarchant
+ * @since Version 4.0
+ */
+public class ObjectInvoke  implements ActionProcessor {
+
+	private static Logger logger = Logger.getLogger(ObjectInvoke.class);
+	
+	private String classProcessor;
+    
+    // class related variables
+    private Class processorClass;
+    private Method method;
+    private String classMethod;
+    
+    // action related variables
+    private String name;
+    
+    /**
+     * Public constructor.
+     * @param properties Action Properties.
+     * @throws ConfigurationException Action not properly configured.
+     */
+    public ObjectInvoke(ConfigTree properties) {
+    	this(properties.getName(), properties.attributesAsList());
+    	
+    }
+    
+    
+    
+    
+    /**
+     * Public constructor.
+     * @param actionName Action name.
+     * @param properties Action Properties.
+     * @throws ConfigurationException Action not properly configured.
+     */
+    public ObjectInvoke(String actionName, List<KeyValuePair> properties) {
+    	
+    	name = actionName;
+        classProcessor = KeyValuePair.getValue("class-processor", properties);
+        classMethod = KeyValuePair.getValue("class-method", properties);
+        if((classMethod == null) || (classMethod.length() == 0) ) {
+        	classMethod = actionName;
+        }
+        
+        if(classProcessor == null) {
+        	return;
+        }
+        
+        try {
+			processorClass = Class.forName(classProcessor);
+			
+			this.setUpMethod(processorClass);
+			
+		} catch (ClassNotFoundException e) {
+			logger.error("Not able to find class: " + classProcessor, e);
+		}
+    }
+	
+	
+	
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	
+	/**
+	 * Processes the message by using the giving class-processor.
+	 *  
+	 */
+	public Message process(Message message) throws ActionProcessingException {
+		Object object = ActionUtils.getTaskObject(message);
+
+		Object processor = getObjectToInvoke();
+		Method m = this.setUpMethod(processor);
+		
+		Object result;
+		try {
+			result = m.invoke(processor, new Object[] { object });
+		} catch (IllegalArgumentException e) {
+			throw new ActionProcessingException("Invalid arguments for class-processor [ " + this.classProcessor + "] for Action Processor: " + name, e );
+			
+		} catch (IllegalAccessException e) {
+			throw new ActionProcessingException("No access for class-processor [ " + this.classProcessor + "] for Action Processor: " + name, e );
+			
+		} catch (InvocationTargetException e) {
+			throw new ActionProcessingException("Invocation problem with class-processor [ " + this.classProcessor + "] for Action Processor: " + name, e );
+			
+		}
+		
+		ActionUtils.setTaskObject(message,result);
+		return message;
+	}
+
+	
+	/**
+	 * Gets the object that will process the message.
+	 * Classes can extend this to provide the object in the way they want.
+	 * 
+	 * 
+	 * @return
+	 * @throws ActionProcessingException
+	 */
+	protected Object getObjectToInvoke()  throws ActionProcessingException {
+		Object processor = null;
+		try {
+			processor = processorClass.newInstance();
+		} catch (InstantiationException e) {
+			throw new ActionProcessingException("Could not invoke class-processor [ " + this.classProcessor + "] for Action Processor: " + name, e );
+		} catch (IllegalAccessException e) {
+			throw new ActionProcessingException("Could not access class-processor [ " + this.classProcessor + "] for Action Processor: " + name, e );
+		}
+		return processor;
+	}
+	
+	
+	/**
+	 * Gets the method to invoke on object.
+	 * 
+	 * @param obj
+	 * @return
+	 */
+	protected Method setUpMethod(Object obj) {
+		if(method != null) 
+		{
+			return method;
+		}
+		
+		if(obj instanceof Class) {
+			processorClass = (Class)obj;
+		} else {
+			processorClass = obj.getClass();
+		}
+
+		Method[] methods = processorClass.getMethods();
+		for(int i=0; i<methods.length; i++) {
+			Method m = methods[i];
+			if(m.getName().equals(classMethod)) {
+				this.method = m;
+				break;
+			}
+		}
+		
+		return method;
+	}
+
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectToCSVString.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectToCSVString.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectToCSVString.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,168 @@
+/*
+ * 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.converters;
+
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Object to CSV String processor.
+ * <p/>
+ * Returns a CSV string based on the supplied message object and a comma-separated "bean-properties"
+ * action property that specifies a list of bean property names.
+ * <p/>
+ * Sample Action Configuration:
+ * <pre>
+ * &lt;Action name="Customer-To-CSV" processor="ObjectToCSVString"&gt;
+ *     &lt;property name="bean-properties" value="name,address1,address2,phone" /&gt;
+ *     &lt;property name="fail-on-missing-property" value="true" /&gt; &lt;!-- (Optional) Default of false. --&gt;
+ * &lt;/Action&gt;
+ * </pre>
+ * <p/>
+ * TODO: Add support for arrays ala producing the contents of a CSV file.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ObjectToCSVString implements ActionProcessor {
+
+	public static final String BEAN_PROPERTIES_PROP = "bean-properties";
+	public static final String FAIL_ON_MISSING_PROPERTY = "fail-on-missing-property";
+    private static Logger logger = Logger.getLogger(ObjectToCSVString.class);
+    private List<String> propertyMethodNames = new ArrayList<String>();
+	private boolean failOnMissingProperty;
+    
+    /**
+     * Public constructor.
+     * @param properties Action Properties.
+     * @throws ConfigurationException Action not properly configured.
+     */
+    public ObjectToCSVString(ConfigTree properties) throws ConfigurationException {
+    	this("ObjectToCSVString", properties.attributesAsList());
+    }
+    
+    /**
+     * Public constructor.
+     * @param actionName Action name.
+     * @param properties Action Properties.
+     * @throws ConfigurationException Action not properly configured.
+     */
+    public ObjectToCSVString(String actionName, List<KeyValuePair> properties) throws ConfigurationException {
+        String objectProps = KeyValuePair.getValue(BEAN_PROPERTIES_PROP, properties);
+        
+        if(objectProps == null || objectProps.trim().equals("")) {
+            throw new ConfigurationException("Action [" + actionName + "] must specify a comma seperated object bean property list via a '" + BEAN_PROPERTIES_PROP + "' property setting.");
+        }
+        
+        // Construct a bean method name list from the configured property name list...
+        String[] propertyNames = objectProps.split(",");
+        StringBuffer methodNameConstructionBuffer = new StringBuffer();
+        for(String propertyName : propertyNames) {
+            propertyName = propertyName.trim();
+            
+            if(propertyName.equals("")) {
+                continue;
+            }
+            
+            methodNameConstructionBuffer.setLength(0);
+            methodNameConstructionBuffer.append("get");
+            methodNameConstructionBuffer.append(propertyName);
+            
+            // Capitalise the 4th char to make it a proper bean method....
+            methodNameConstructionBuffer.setCharAt(3, Character.toUpperCase(methodNameConstructionBuffer.charAt(3)));
+
+            // Add to the set...
+            propertyMethodNames.add(methodNameConstructionBuffer.toString());
+        }
+        
+        failOnMissingProperty = KeyValuePair.getBooleanValue(FAIL_ON_MISSING_PROPERTY, properties, false);
+    }
+    
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+     */
+    public Message process(Message message) throws ActionProcessingException {
+    	
+    	Object oCurr = ActionUtils.getTaskObject(message);
+    	Class oCurrClass = (null==oCurr) ? null : oCurr.getClass(); 
+        StringBuffer csv = new StringBuffer();
+        boolean hasAppendStarted = false; // Have we appended a value yet?
+        
+        for(String methodName : propertyMethodNames) {
+            Method method;
+
+            if(hasAppendStarted) {
+                csv.append(",");
+            }
+            hasAppendStarted = true;
+
+            // Get the bean method....
+            try {
+                method = oCurrClass.getMethod(methodName, new Class[] {});
+            } catch (Exception e) {
+            	String exceptionMessage = "Bean method: " + methodName + " not found/accessible on message object " + oCurr.getClass().getName();
+                logger.error(exceptionMessage, e);
+                if(failOnMissingProperty) {
+                	throw new ActionProcessingException(exceptionMessage, e);
+                }
+                csv.append("<no-such-property>");
+                continue;
+            }
+
+            // Call the bean method and add the toString of the return to the CSV string....
+            try {
+                Object value = method.invoke(oCurr, new Object[] {});
+                // TODO: Some sort of encoding is required here to make a proper CSV string...
+                csv.append(value != null?value.toString():"");
+            } catch (Exception e) {
+                logger.error("Exception calling bean method: " + methodName, e);
+            }
+        }
+        ActionUtils.setTaskObject(message,csv.toString());
+        return message;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+     */
+    public Serializable getOkNotification(Message message) {
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+     */
+    public Serializable getErrorNotification(Message message) {
+        return null;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,117 @@
+/*
+ * 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.converters;
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ * Object to XML processor.
+ * <p/>
+ * Uses the <a href="http://xstream.codehaus.org/">XStream</a> processor to generate an XML message String from the supplied object.
+ * <p/>
+ * Sample Action Configuration:
+ * <pre>
+ * &lt;Action name="Customer-To-XML" processor="ObjectToXStream"&gt;
+ *     &lt;property name="class-alias" value="Customer" /&gt; &lt;!-- Class alias used in call to <a href="http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html">XStream.alias(String, Class)</a> prior to serialisation. --&gt;
+ *     &lt;property name="exclude-package" value="false" /&gt; &lt;!-- Default "true".  Not applicable if a "class-alias" is specified. --&gt;
+ * &lt;/Action&gt;
+ * </pre>
+ * <p/>
+ * The XML root element is either set from the "class-alias" property or the classes full name.  In the later case, the class package is
+ * excluded unless "exclude-package" is set to "false"/"no". 
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ObjectToXStream implements ActionProcessor {
+    
+    private String classAlias;
+    private boolean excludePackage;
+    
+    /**
+     * Public constructor.
+     * @param properties Action Properties.
+     * @throws ConfigurationException Action not properly configured.
+     */
+    public ObjectToXStream(ConfigTree properties) {
+    	this("ObjectToXStream", properties.attributesAsList());
+    }
+    
+    /**
+     * Public constructor.
+     * @param actionName Action name.
+     * @param properties Action Properties.
+     * @throws ConfigurationException Action not properly configured.
+     */
+    public ObjectToXStream(String actionName, List<KeyValuePair> properties) {
+        classAlias = KeyValuePair.getValue("class-alias", properties);
+        excludePackage = KeyValuePair.getBooleanValue("exclude-package", properties, true);
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+     */
+    public Message process(Message message) throws ActionProcessingException {
+    	
+    	Object object = ActionUtils.getTaskObject(message);
+        XStream xstream = new XStream();
+        
+        if(classAlias == null) {
+            if(excludePackage) {
+                xstream.alias(object.getClass().getSimpleName(), object.getClass());
+            } else {
+                xstream.alias(object.getClass().getName(), object.getClass());
+            }
+        } else {
+            xstream.alias(classAlias, object.getClass());
+        }
+        
+        ActionUtils.setTaskObject(message,xstream.toXML(object));
+        return message;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+     */
+    public Serializable getOkNotification(Message message) {
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+     */
+    public Serializable getErrorNotification(Message message) {
+        return null;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/SmooksTransformer.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/SmooksTransformer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/SmooksTransformer.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,643 @@
+/*
+ * 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.converters;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.CharArrayWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.jms.JMSException;
+import javax.jms.MessageListener;
+import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
+import javax.jms.TopicSession;
+import javax.jms.TopicSubscriber;
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.transform.TransformationException;
+import org.jboss.soa.esb.services.transform.TransformationService;
+import org.milyn.SmooksStandalone;
+import org.milyn.container.standalone.StandaloneContainerRequest;
+import org.milyn.device.ident.UnknownDeviceException;
+import org.milyn.javabean.BeanAccessor;
+import org.milyn.resource.URIResourceLocator;
+import org.w3c.dom.Node;
+
+/**
+ * Smooks Transformer.
+ * <p/>
+ * This processor hooks the <a href="http://milyn.codehaus.org/Smooks">Milyn Smooks</a>
+ * XML Transformation/Processing Engine into a message processing pipeline to support
+ * non binary message transformations.
+ * 
+ * <h3>Action Configuration</h3>
+ * This action is configured as follows:
+ * <pre>
+ * &lt;action name="transformAB" class="<b>org.jboss.soa.esb.actions.converters.SmooksTransformer</b>"&gt;
+ * 	&lt;property name="<b>from</b>" value="A" /&gt;
+ * 	&lt;property name="<b>from-type</b>" value="text/xml:messageAtA" /&gt;
+ * 	&lt;property name="<b>to</b>" value="B" /&gt;
+ * 	&lt;property name="<b>to-type</b>" value="text/xml:messageAtB" /&gt;
+ * &lt;/action&gt;
+ * </pre>
+ * 
+ * <h3>Configuartion Loading &amp; Administration Console Integration</h3>
+ * This class picks up its list of transformation resource configurations from a list file
+ * specified in the "configuration.list.file.uri" parameter of the "transformation" 
+ * section of the ESB configuration file.  This configuration
+ * should specify a URI to this list file and is loaded using the {@link URIResourceLocator}.
+ * The default list file is "classpath:/smooks-cdr.lst" (note classpath based URIs are supported).
+ * <p/>  
+ * This file contains a list of URIs that reference
+ * <a href="http://milyn.codehaus.org/Smooks">Smooks</a> resource configurations files.
+ * Again, {@link URIResourceLocator} is used to load these configurations.  "classpath:/"
+ * is the default if no scheme is specified.  This is also where the Administration Console
+ * is integrated with this class.  The list file needs to specify the following a HTTP based 
+ * URI for accessing the configurations under management by the Administration console:
+ * <pre>
+ * 	http://localhost:8080/jboss-esb-console/transform/smooks-config.jsp
+ * </pre>
+ * ... where the host and port values need to be modified appropriately.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+
+public class SmooksTransformer implements TransformationService, ActionProcessor {
+
+	/**
+	 * Configuration section key.
+	 */
+	public static final String CONFIGURATION_SECTION = "transformation";
+	/**
+	 * Key for storing/accessing any potential message Body bean HashMaps as populated
+	 * by the Smooks Javabean Cartridge.
+	 */
+	public static final String EXTRACTED_BEANS_HASH = "EXTRACTED_BEANS_HASH";
+	/**
+	 * Config property key for setting a true/false flag to indicate whether or not
+	 * a bean hashs should be set as the message payload before exiting the process method.
+	 */
+	public static final String SET_BEANHASH_TO_PAYLOAD = "set-beanhash-to-payload";
+		
+	public static final String FROM = "from";
+	public static final String FROM_TYPE = "from-type";
+	public static final String TO = "to";
+	public static final String TO_TYPE = "to-type";
+	
+    private static Logger logger = Logger.getLogger(SmooksTransformer.class);
+    private static volatile SmooksStandalone smooks;
+    @SuppressWarnings("unused")
+	private static ConfigurationUpdateListener updateListener = new ConfigurationUpdateListener();
+    private String defaultMessageFromType;
+    private String defaultMessageFrom;
+    private String defaultMessageToType;
+    private String defaultMessageTo;
+    private boolean setPayloadToBeanHash = false;
+    
+    /**
+     * Public constructor.
+     * @param actionName Action name.
+     * @param propertiesTree Action Properties.
+     * @throws ConfigurationException 
+     * @throws ConfigurationException Action not properly configured.
+     */
+	public SmooksTransformer(String name, ConfigTree propertiesTree) throws ConfigurationException {
+		this(propertiesTree);
+	}
+    
+    /**
+     * Public constructor.
+     * @param propertiesTree Action Properties.
+     * @throws ConfigurationException 
+     * @throws ConfigurationException Action not properly configured.
+     */
+	public SmooksTransformer(ConfigTree propertiesTree) throws ConfigurationException {
+		List<KeyValuePair> properties = propertiesTree.attributesAsList();
+
+		// Get the message flow properties...
+		defaultMessageFromType = KeyValuePair.getValue(FROM_TYPE, properties);
+		if(defaultMessageFromType != null && defaultMessageFromType.trim().equals("")) {
+			throw new ConfigurationException("Empty '" + FROM_TYPE + "' config attribute supplied.");
+		}
+		defaultMessageToType = KeyValuePair.getValue(TO_TYPE, properties);
+		if(defaultMessageToType != null && defaultMessageToType.trim().equals("")) {
+			throw new ConfigurationException("Empty '" + TO_TYPE + "' config attribute supplied.");
+		}
+		defaultMessageFrom = KeyValuePair.getValue(FROM, properties);
+		if(defaultMessageFrom != null && defaultMessageFrom.trim().equals("")) {
+			throw new ConfigurationException("Empty '" + FROM + "' config attribute supplied.");
+		}
+		defaultMessageTo = KeyValuePair.getValue(TO, properties);
+		if(defaultMessageTo != null && defaultMessageTo.trim().equals("")) {
+			throw new ConfigurationException("Empty '" + TO + "' config attribute supplied.");
+		}
+		
+		// Get the set-beanhash-to-payload property...
+		setPayloadToBeanHash = KeyValuePair.getBooleanValue(SET_BEANHASH_TO_PAYLOAD, properties, false);
+        
+        if(smooks == null) {
+        	initSmooks(properties);
+        }
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.services.transform.TransformationService#transform(org.jboss.soa.esb.message.Message)
+	 */
+	public Message transform(Message message) throws TransformationException {
+		try {
+			return process(message);
+		} catch (ActionProcessingException e) {
+			throw new TransformationException(e);
+		}
+	}
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+     */
+    public Message process(Message message) throws ActionProcessingException {
+    	Object payload = ActionUtils.getTaskObject(message);
+    	
+    	try {
+        	if(payload instanceof byte[]) {
+        		payload = new String((byte[])payload, "UTF-8");
+        	}
+        	
+        	if(payload instanceof String) {
+	            byte[] messageBytes = null;
+	            String transformedMessage;
+	        	String messageUseragent;
+	            
+	            // Register the message useragent with Smooks (if not already registered)...
+	        	messageUseragent = registerMessageUseragent(message);
+	            
+                messageBytes = ((String)payload).getBytes("UTF-8");
+	
+	            long start = System.currentTimeMillis();
+	            StandaloneContainerRequest request;
+	            Node filterResult;
+	            CharArrayWriter serializeBuffer = new CharArrayWriter(((String)payload).length());
+	            
+	            // Filter and Serialise...
+	            request = smooks.createRequest(messageUseragent, null);
+	            filterResult = smooks.filter(request, new ByteArrayInputStream(messageBytes));
+	            smooks.serialize(request, filterResult, serializeBuffer);
+	            
+	            transformedMessage = serializeBuffer.toString();
+	            
+	            // Javabean cartridge resources may have extract data from the message and populated some beans.
+	            // Get them and stick them on the message - so they can be accessed by downstream actions...
+	            HashMap beanHash = BeanAccessor.getBeans(request);
+	            if(beanHash != null) {
+	            	message.getBody().add(EXTRACTED_BEANS_HASH, beanHash);
+	            }
+	            
+	            if(logger.isDebugEnabled()) {
+	            	long timeTaken = System.currentTimeMillis() - start;
+	            	logger.debug("Transformed message for useragent [" + messageUseragent + "]. Time taken: " 
+	            			+ timeTaken + ".  Message in:\n[" + payload.toString()+ "].  \nMessage out:\n[" + transformedMessage + "].");
+	            }
+	            
+	            if(beanHash != null && setPayloadToBeanHash) {
+	            	ActionUtils.setTaskObject(message, beanHash);
+	            } else {
+	            	ActionUtils.setTaskObject(message, transformedMessage);
+	            	message.getBody().setContents(transformedMessage.getBytes("UTF-8"));
+	            }
+	        } else {
+	        	String sClass = (null==payload) ? "<null>" : payload.getClass().getName();
+	            logger.warn("String message types only supported.  Input message was [" 
+	            		+ sClass + "].  Returning message untransformed.");
+	        }
+    	} catch(Throwable thrown) {
+    		throw new ActionProcessingException("Message transformation failed.", thrown);
+    	}
+        
+        // TODO: Cater for more message input types e.g. InputStream, DOM Document...
+        // TODO: Cater for more message output types e.g. InputStream, DOM Document...
+    	
+    	return message;
+    }
+
+	/**
+	 * Register the Message Exchange as a useragent within Smooks.
+	 * @param message The message.
+	 * @return The Smooks "usragent" string that uniquely identifies the message flow associated
+	 * with the message.
+	 * @throws ActionProcessingException Failed to register the message flow for the message.
+	 */
+	private String registerMessageUseragent(Message message) throws ActionProcessingException {
+		String messageUseragent;
+    	String messageFromType;
+        String messageFrom;
+        String messageToType;
+        String messageTo;
+
+        // Get the routing info from the message...
+        messageFrom = (String)message.getProperties().getProperty(FROM, defaultMessageFrom);
+        messageTo = (String)message.getProperties().getProperty(TO, defaultMessageTo);
+        
+        // Get the message typing info from the message...
+		messageFromType = (String)message.getProperties().getProperty(FROM_TYPE, defaultMessageFromType);
+		messageToType = (String)message.getProperties().getProperty(TO_TYPE, defaultMessageToType);
+		
+		// Construct the message useragent string for use with Smooks.  This is basically the 
+		// name of the Message Exchange on which transformations are to be performed...
+        messageUseragent = getMessageUseragentString(messageFromType, messageFrom, messageToType, messageTo);
+        
+        // Register this message flow if it isn't already registered...
+        try {
+        	smooks.getSession(messageUseragent);
+        } catch(UnknownDeviceException e) {
+        	String[] profiles = getMessageUseragentProfiles(messageFromType, messageFrom, messageToType, messageTo);
+        	
+            synchronized (SmooksTransformer.class) {
+		        // Register the message flow within the Smooks context....
+	        	logger.info("Registering JBoss ESB Message-Exchange as Smooks Useragent: [" + messageUseragent + "].  Profiles: [" + Arrays.asList(profiles) + "]");
+		        smooks.registerUseragent(messageUseragent, profiles);
+            }
+        }
+        
+		return messageUseragent;
+	}
+
+    /**
+     * Get the profile list based on the supplied message flow properties.
+	 * @param messageFromType The type string for the message source.
+	 * @param messageFrom The Message Exchange Participant name for the message source.
+	 * @param messageToType The type string for the message target.
+	 * @param messageTo The Message Exchange Participant name for the message target.
+	 * @return The list of profiles.
+	 */
+	protected static String[] getMessageUseragentProfiles(String messageFromType, String messageFrom, String messageToType, String messageTo) {
+		List<String> profiles = new ArrayList<String>();
+		String[] profileArray;
+		
+		if(messageFromType != null) {
+			profiles.add(FROM_TYPE + ":" + messageFromType);
+		}
+		if(messageFrom != null) {
+			profiles.add(FROM + ":" + messageFrom);
+		}
+		if(messageToType != null) {
+			profiles.add(TO_TYPE + ":" + messageToType);
+		}
+		if(messageTo != null) {
+			profiles.add(TO + ":" + messageTo);
+		}
+		
+		profileArray = new String[profiles.size()];
+		profiles.toArray(profileArray);
+
+		return profileArray;
+	}
+
+	/**
+	 * Construct the Smooks useragent string based on the supplied message flow properties.
+	 * @param messageFromType The type string for the message source.
+	 * @param messageFrom The EPR string for the message source.
+	 * @param messageToType The type string for the message target.
+	 * @param messageTo The EPR srting for the message target.
+	 * @return Smooks useragent string for the message flow.
+	 */
+	protected static String getMessageUseragentString(String messageFromType, String messageFrom, String messageToType, String messageTo) {
+		StringBuffer string = new StringBuffer();
+		
+		if(messageFromType != null) {
+			string.append(FROM_TYPE + ":" + messageFromType);
+			string.append((messageFrom!=null || messageToType!=null || messageTo!=null?":":""));
+		}
+		if(messageFrom != null) {
+			string.append(FROM + ":" + messageFrom);
+			string.append((messageToType!=null || messageTo!=null?":":""));
+		}
+		if(messageToType != null) {
+			string.append(TO_TYPE + ":" + messageToType);
+			string.append((messageTo!=null?":":""));
+		}
+		if(messageTo != null) {
+			string.append(TO + ":" + messageTo);
+		}
+		
+		return string.toString();
+	}
+
+	/* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+     */
+    public Serializable getOkNotification(Message message) {
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+     */
+    public Serializable getErrorNotification(Message message) {
+        return null;
+    }
+
+    /**
+     * Initialise the static SmooksStandalone instance.
+     * <p/>
+     * We may need to write a Smooks Container implementation specifically for JBossESB's needs.  SmooksStandalone is
+     * fine for a start though.
+     * @param properties Action configuration properties.
+     * @throws ConfigurationException Failed to load Smooks configurations.
+     */
+    protected void initSmooks(List<KeyValuePair> properties) throws ConfigurationException {
+        synchronized (SmooksTransformer.class) {
+            if(smooks == null) {
+                String smooksCdrlFile;
+                SmooksStandalone localSmooksRef;
+                InputStream configListStream;
+
+                // Get the configuration list file - can be overridden through a system property...
+                smooksCdrlFile = ModulePropertyManager.getPropertyManager(CONFIGURATION_SECTION).getProperty("configuration.list.file.uri", "classpath:/smooks-cdr.lst");
+                try {
+					configListStream = (new URIResourceLocator()).getResource(smooksCdrlFile);
+				} catch (IOException e) {
+                    throw new ConfigurationException("Failed to locate Tranformation configuration list file [" + smooksCdrlFile + "].  This resource must be made available at the specified URI.", e);
+				}
+                if(configListStream == null) {
+                    throw new ConfigurationException("Failed to locate Tranformation configuration list file [" + smooksCdrlFile + "].  This resource must be made available at the specified URI.");
+                }
+           
+                // Initialise the local SmooksStandalone instance.  This "local" reference is
+                // used because we are using on the "global" smooks variable reference to controll
+                // access to this synchronisation block ...
+                localSmooksRef = new SmooksStandalone("UTF-8");
+                
+                try {
+                    BufferedReader configReader = new BufferedReader(new InputStreamReader(configListStream));
+                    localSmooksRef.getContext().getStore().load(configReader);
+                } catch (Exception e) {
+                	localSmooksRef = null;
+                    throw new ConfigurationException("Smooks configuration load failed.", e);
+                } finally {
+                	try {
+						configListStream.close();
+					} catch (IOException e) {
+						logger.error("Error while closing transformation list config stream [" + smooksCdrlFile + "].", e);
+					}
+                }
+                
+                logger.info("All Smooks configurations are now loaded.");
+                
+                // Purposely not initialising the "smooks" static member until the very end.  This will stop other threads
+                // falling through this classes constructor while the Smooks configurations are still being
+                // loaded.  See the constructor.
+                smooks = localSmooksRef;
+            }
+        }
+    }
+    
+    /**
+     * Reset the transformer.
+     * <p/>
+     * Clears the internal static smooks instance.
+     */
+    public static void reset() {
+    	SmooksStandalone instance = smooks;
+    	
+        synchronized (SmooksTransformer.class) {
+        	if(smooks == instance) {
+        		smooks = null;
+        	}
+        }
+    }
+    
+    /**
+     * JMS Listener for receiving configuration update notifications.
+     * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+     */
+    private static class ConfigurationUpdateListener implements MessageListener {
+    	
+    	private TopicConnection conn = null;
+    	private TopicSession session = null;
+    	private Topic topic = null;
+
+    	/**
+    	 * Private constructor.
+    	 * <p/>
+    	 * Connects the listener to the topic.
+    	 */
+    	private ConfigurationUpdateListener() {
+    		try {
+    			connect();
+    		} catch(Throwable t) {
+				logger.error("Unexpected error while attempting to connect Transformation configuration Update Listener.  Update listener not enabled!", t);
+				close();
+				return;
+    		}
+    	}
+
+		/**
+    	 * Receive a notification message.
+    	 */
+		public void onMessage(javax.jms.Message message) {
+			// Reset the transformer instance so as to force a config reload.
+			logger.info("Transformation configuration update notification received.  Resetting SmooksTransformer in order to force a configuration re-read.");
+			SmooksTransformer.reset();
+		}    	
+
+		/**
+		 * Connect to the configured topic.
+		 */
+    	private boolean connect() {
+    		TopicConnectionFactory connectionFactory = null;
+
+			logger.info("Attempting to connect Transformation configuration Update Listener to update notification topic.");
+    		
+    		// Get the Topic ConnectionFactory...
+    		try {
+				connectionFactory = (TopicConnectionFactory) Configuration.getJmsConnectionFactory(CONFIGURATION_SECTION);
+			} catch (ConfigurationException e) {
+				logger.error("Lookup of the JMS ConnectionFactory failed for the Transformation configuration Update Listener. Update listener not enabled!", e);
+				return false;
+			} catch (ClassCastException e) {
+				logger.error("Invalid JMS ConnectionFactory config for the Transformation configuration Update Listener.  ConnectionFactory doesn't implement " + TopicConnectionFactory.class.getName() + ". Update listener not enabled!", e);
+				return false;
+			}
+			
+			// Create the topic connection...
+			try {
+				conn = connectionFactory.createTopicConnection();
+			} catch (JMSException e) {
+				logger.error("Failed to open JMS TopicConnection for the Transformation configuration Update Listener. Update listener not enabled!", e);
+				return false;
+			}
+			
+			// Lookup the topic...
+    		String notificationTopic = ModulePropertyManager.getPropertyManager(CONFIGURATION_SECTION).getProperty("update.notification.topic", "topic/org.jboss.soa.esb.transformation.Update");
+			try {
+				Context context = Configuration.getNamingContext(CONFIGURATION_SECTION);
+				topic = (Topic) context.lookup(notificationTopic);
+			} catch (ConfigurationException e) {
+				logger.error("Topic lookup failed for the Transformation configuration Update Listener.  Topic name '" + notificationTopic + "'.  \n\t\tThis JMS Topic may not be deployed, or this ESB instance may not be looking at the correct JMS provider (check configuration '" + Context.PROVIDER_URL + "' in config module/section '" + CONFIGURATION_SECTION + "').  \n\t\tUpdate listener not enabled!", e);
+				close();
+				return false;
+			} catch (NamingException e) {
+				logger.warn("Topic lookup failed for the Transformation configuration Update Listener.  Topic name '" + notificationTopic + "'.  \n\tThis JMS Topic may not be deployed, or this ESB instance may not be looking at the correct JMS provider (check configuration '" + Context.PROVIDER_URL + "' in config module/section '" + CONFIGURATION_SECTION + "').  \n\tUpdate listener not enabled!");
+				close();
+				return false;
+			}
+			
+			// Create the TopicSession...
+			try {
+				session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
+			} catch (JMSException e) {
+				logger.error("TopicSession creation failed for the Transformation configuration Update Listener.  Update listener not enabled!", e);
+				close();
+				return false;
+			}
+			
+			// Start the connection...
+			try {
+				conn.start();
+			} catch (JMSException e) {
+				logger.error("Failed to start JMS TopicConnection for the Transformation configuration Update Listener.  Update listener not enabled!", e);
+				close();
+				return false;
+			}
+			
+			// Bind "this" listener to the topic...
+			try {
+				TopicSubscriber topicSubscriber = session.createSubscriber(topic);
+				topicSubscriber.setMessageListener(this);
+			} catch (JMSException e) {
+				logger.error("Failed to start JMS TopicConnection for the Transformation configuration Update Listener.  Update listener not enabled!", e);
+				close();
+				return false;
+			}
+
+			// Listen for exceptions on the connection...
+			try {
+				conn.setExceptionListener(new ExceptionListener());
+			} catch (JMSException e) {
+				logger.error("Failed to attach an ExceptionListener for the Transformation configuration Update Listener.  Update listener not enabled!", e);
+				close();
+				return false;
+			}
+
+			logger.info("Transformation Configuration Update Listener started!");
+
+			return true;
+    	}
+    	
+    	@Override
+		protected void finalize() throws Throwable {
+    		close();
+			super.finalize();
+		}
+
+		/**
+    	 * Close out the listener and all it's resources.
+    	 */
+		private void close() {
+			try {
+				if(conn != null) {
+					conn.stop();
+					logger.info("Update Listener JMS TopicConnection stopped.");
+				}
+			} catch (Throwable e) {
+				logger.error("Failed to stop Update Listener JMS connection.", e);
+				conn = null;
+			}
+			try {
+				if(session != null) {
+					session.close();
+					logger.info("Update Listener JMS TopicSession closed.");
+				}
+			} catch (Throwable e) {
+				logger.error("Failed to close Update Listener JMS session.", e);
+			} finally {
+				session = null;
+			}
+			try {
+				if(conn != null) {
+					conn.close();
+					logger.info("Update Listener JMS TopicConnection closed.");
+				}
+			} catch (Throwable e) {
+				logger.error("Failed to close Update Listener JMS connection.", e);
+			} finally {
+				conn = null;
+			}
+			topic = null;
+		}
+
+		/**
+		 * Exception Listener.
+		 * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+		 */
+		private class ExceptionListener implements javax.jms.ExceptionListener {
+
+			/**
+			 * We want this listener to handle only one exception.
+			 * It will close all existing resources and create a new instance
+			 * once it successfully reconnects.
+			 */
+			private boolean hasHandledOneException = false;
+			
+			/* (non-Javadoc)
+			 * @see javax.jms.ExceptionListener#onException(javax.jms.JMSException)
+			 */
+			public void onException(JMSException e) {
+				synchronized (ExceptionListener.class) {
+					if(!hasHandledOneException) {
+						logger.error("JMS Exception on Transformation Configuration Update Listener.", e);
+						close();
+						while(!connect()) {
+							try {
+								Thread.sleep(5000);
+							} catch (InterruptedException e1) {
+								logger.error("Interrupted during reconnect attempt.  Aborting reconnect!  Will need restart to reconnect.", e);
+							}
+						}
+						hasHandledOneException = true;
+					}
+				}
+			}
+		}
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/XStreamToObject.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/XStreamToObject.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/converters/XStreamToObject.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,125 @@
+package org.jboss.soa.esb.actions.converters;
+
+import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+
+/**
+ * Object to processor.
+ * <p/>
+ * Uses the <a href="http://xstream.codehaus.org/">XStream</a> processor to generate an XML message String from the supplied object.
+ * <p/>
+ * Sample Action Configuration:
+ * <pre>
+ * &lt;Action name="doCustomer" processor="XStreamObject"&gt;
+ *     &lt;property name="class-alias" value="Customer" /&gt; &lt;!-- Optional. Class alias used in call to <a href="http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html">XStream.alias(String, Class)</a> prior to deserialisation. --&gt;
+ *     &lt;property name="incoming-type" value="CustomerProcessor" /&gt; &lt;!-- Required. Class for incoming type used to process the message after  deserialisation. --&gt;
+ *     &lt;property name="exclude-package" value="false" /&gt; &lt;!-- Optional. Default "true".  Not applicable if a "class-alias" is specified. --&gt;
+ * &lt;/Action&gt;
+ * </pre>
+ * <p/>
+ * The XML root element is either set from the "class-alias" property or the classes full name.  In the later case, the class package is
+ * excluded unless "exclude-package" is set to "false"/"no". 
+ * 
+ * This can be used with ObjectToXStream
+ * 
+ * @author danielmarchant
+ * @since Version 4.0
+ */
+public class XStreamToObject  extends AbstractObjectXStream implements ActionProcessor {
+
+	private static Logger logger = Logger.getLogger(XStreamToObject.class);
+	
+    // class related variables
+    private Class incomingType;
+    
+    // action related variables
+   
+    
+
+
+
+
+	/**
+     * Public constructor.
+     * @param properties Action Properties.
+     * @throws ConfigurationException Action not properly configured.
+     */
+    public XStreamToObject(ConfigTree properties) {
+    	this(properties.getName(), properties.attributesAsList());
+    }
+    
+    
+    
+    
+    /**
+     * Public constructor.
+     * @param actionName Action name.
+     * @param properties Action Properties.
+     * @throws ConfigurationException Action not properly configured.
+     */
+    public XStreamToObject(String actionName, List<KeyValuePair> properties) {
+    	super(actionName,properties);
+    	String incomingTypeStr = KeyValuePair.getValue("incoming-type", properties);
+    	try {
+			incomingType = Class.forName(incomingTypeStr);
+		} catch (ClassNotFoundException e) {
+			logger.error("Could not find : " + incomingTypeStr,e);
+		}
+    }
+	
+	
+	
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	
+	
+	/**
+	 * Processes the message by using the giving class-processor.
+	 *  
+	 */
+	public Message process(Message message) throws ActionProcessingException {
+		Object object = ActionUtils.getTaskObject(message);
+		
+		String xml = object.toString();
+
+		XStream xstream = new XStream(new DomDriver());
+		
+        xstream.alias(getAlias(incomingType), incomingType);
+        
+        Object arg;
+		try {
+			arg = incomingType.newInstance();
+			arg = xstream.fromXML(xml, arg);
+   		 	ActionUtils.setTaskObject(message,arg);
+		} catch (InstantiationException e) {
+			throw new ActionProcessingException("Could not invoke for Arg: " + getName(),e );
+		} catch (IllegalAccessException e) {
+			throw new ActionProcessingException("Could not access for Arg: " + getName(),e );
+		} 
+		
+		return message;
+	}
+
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/BaseActionHandler.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/BaseActionHandler.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/BaseActionHandler.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,108 @@
+/*
+ * 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.jbpm;
+
+import java.net.URI;
+import java.util.UUID;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.jbpm.CommandVehicle;
+import org.jbpm.graph.def.ActionHandler;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ExecutionContext;
+import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.graph.exe.Token;
+
+/**
+ * 
+ * Use to send messages to ESB services from jBPM applications.
+ * <p/>Assumptions:
+ * <br/> Message payload is in the context instance in a context variable.
+ * <br/>Context variables "esbCategoryName" and "esbServiceName" will be supplied at runtime.
+ * 
+ * <p/> The name of the context variable that contains the user object to include in the
+ * message payload is rendered by the getContentVariableName() method
+ * so it can be changed just by extending this class and overriding that method.
+ * 
+ * <br/> This action handler will by default (whenever possible) include the process name
+ * , version, processInstance id and token ID
+ * 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a> 
+ *
+ */
+
+public class BaseActionHandler implements ActionHandler 
+{
+	
+	private static final long serialVersionUID = 1L;
+	
+	public String getContentVariableName() { return "esbUserObjectVariable"; }
+	
+	public String 		esbCategoryName;
+	public String 		esbServiceName;
+	
+	public void execute(ExecutionContext context) throws Exception 
+	{
+		if (null==esbCategoryName)
+			throw new ConfigurationException("Service category (esbCategoryName element) must not be null");
+		if (null==esbServiceName)
+			throw new ConfigurationException("Service name (esbServiceName element) must not be null");
+		
+		Object userObject	= context.getContextInstance().getVariable(getContentVariableName());
+		if (null==userObject)
+			throw new IllegalArgumentException("User object to be sent to ESB (variable="
+					+getContentVariableName()+") is <null>");
+		
+		CommandVehicle command = new CommandVehicle(CommandVehicle.Operation.sendMessageToEsb);
+		
+		ProcessDefinition process	= context.getProcessDefinition();
+		if (null!=process)
+		{
+			command.setProcessDefinitionName(process.getName());
+			command.setProcessVersion		(process.getVersion());
+		}
+		
+		ProcessInstance instance = context.getProcessInstance();
+		if (null!=instance)
+		{
+			command.setInstanceId			(context.getProcessInstance().getId());
+		}
+		Token token	= context.getToken();
+		
+		if (null!=token)
+		{
+			command.setTokenId				(token.getId());
+		}
+		
+		command.setUserObject(userObject);
+	
+		Message message	= command.toCommandMessage();
+		Call call = message.getHeader().getCall();
+		call.setMessageID(new URI(UUID.randomUUID().toString()));
+		
+		ListenerUtil.tryToDeliver(message, esbCategoryName, esbServiceName);
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/CommandInterpreter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/CommandInterpreter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/jbpm/CommandInterpreter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,418 @@
+/*
+ * 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.jbpm;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.jbpm.CommandVehicle;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.graph.exe.Token;
+
+/**
+ * 
+ * jBPM command interpreter.
+ * 
+ * <p/>This class is tightly coupled with JbpmCommmandVehicle.
+ * <br/>It should be able to interpret all commands in the 'Operation' enum in JbpmCommandVehicle.
+ * <br/>If new operations are added there, the process() method in this class should be changed accordingly. 
+ * 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a> 
+ *
+ */
+public class CommandInterpreter
+{
+	private CommandInterpreter() {}
+	public CommandInterpreter(ConfigTree config) throws ConfigurationException
+	{
+		_config = config;
+		checkMyParms();
+	} // ________________________________
+
+	/**
+	 * If configuration of current action speficied "okMethod=defaultReply" in the <action> element,
+	 * then the ActionProcessingPipeline will invoke this method upon normal return from invocation to
+	 * the process method.
+	 * <br/>Typically you would configure as follows:
+	 *   <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+	 *   &lt;action class=org.jboss.soa.esb.actions.jbpm.CommandInterpreter okMethod=defaultReply /&gt;
+	 * @param message - Containing payload and replyToEpr where to send the reply.
+	 * @throws Exception
+	 */
+	protected Message defaultReply(Message message)
+		throws MalformedEPRException,CourierException
+	{
+		EPR reply = message.getHeader().getCall().getReplyTo();
+		if (null==reply)
+			_logger.error("Null replyToEPR in message - response will not be sent to invoker");
+		else
+		{
+			Courier courier = CourierFactory.getCourier(reply);
+			courier.deliver(message);
+		}
+		return message;
+	} // ________________________________
+
+	public Message process(Message message)
+		throws MalformedEPRException, CourierException
+	{
+		_command = new CommandVehicle(message);
+		Enum operator = _command.getOperator();
+		
+		
+		if 		(operator.equals(CommandVehicle.Operation.signalToken))			
+			signalToken();
+		else if (operator.equals(CommandVehicle.Operation.signalProcess))		
+			signalProcess();
+		else if (operator.equals(CommandVehicle.Operation.hasInstanceEnded))		
+			checkInstanceEnded();
+		else if (operator.equals(CommandVehicle.Operation.getProcessInstanceVariables))
+			getProcessInstanceVariabes();
+		else if (operator.equals(CommandVehicle.Operation.setProcessInstanceVariables))
+			setProcessInstanceVariables();
+		else if (operator.equals(CommandVehicle.Operation.getTokenVariables))	
+			getTokenVariabes();
+		else if (operator.equals(CommandVehicle.Operation.setTokenVariables))	
+			setTokenVariables();
+		else if (operator.equals(CommandVehicle.Operation.newProcessInstance))	
+			newProcessInstance();
+		else if (operator.equals(CommandVehicle.Operation.deployProcessDefinition))
+			deployProcessDefinition();
+		else
+		{
+			_logger.error("Unknown operator: "+operator.toString()+" - Returning message unchanged");
+			_command.setReturnCode(CommandVehicle.RETCODE_INVALID_OPCODE);
+		}
+		
+		Message retMsg = _command.toCommandMessage();
+		retMsg.getHeader().getCall().setTo		(message.getHeader().getCall().getTo());
+		EPR replyTo	= message.getHeader().getCall().getReplyTo();
+		retMsg.getHeader().getCall().setReplyTo	(replyTo);
+		retMsg.getHeader().getCall().setFaultTo	(message.getHeader().getCall().getFaultTo());
+		return (null==replyTo)? retMsg : defaultReply(retMsg);
+	} // ________________________________
+	
+	public void deployProcessDefinition()
+	{
+		try
+		{
+			prepareJbpm();
+			ProcessDefinition def = _command.getProcessDefinition();
+			_jbpmCtx.deployProcessDefinition(def);
+			_command.setProcessDefinitionName	(def.getName());
+			_command.setProcessVersion			(def.getVersion());
+			_command.setReturnCode(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+	public void newProcessInstance()
+	{
+		try
+		{
+			prepareJbpm();
+			_processInstance = _jbpmCtx.newProcessInstance(_command.getProcessDefinitionName());
+			_jbpmCtx.save(_processInstance);
+			
+			_command.setProcessVersion(_processInstance.getProcessDefinition().getVersion());
+			_command.setInstanceId	(_processInstance.getId());
+			_command.setTokenId		(_processInstance.getRootToken().getId());
+			_command.setCurrentNodeName(_processInstance.getRootToken().getNode().getName());
+			_command.setReturnCode(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+
+	public void signalProcess()
+	{
+		try
+		{
+			long id	= _command.getInstanceId();
+			prepareJbpm();
+			_processInstance = _jbpmCtx.loadProcessInstanceForUpdate(id);
+			_processInstance.signal();
+			_jbpmCtx.save(_processInstance);
+
+			_command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+			_command.setProcessVersion	(_processInstance.getProcessDefinition().getVersion());
+			_command.setTokenId			(_processInstance.getRootToken().getId());
+			_command.setCurrentNodeName	(_processInstance.getRootToken().getNode().getName());
+			_command.setUserObject		(_processInstance.hasEnded());
+			_command.setReturnCode		(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+
+	public void signalToken()
+	{
+		try
+		{
+			long id	= _command.getTokenId();
+			prepareJbpm();
+			_token	= _jbpmCtx.loadTokenForUpdate(id);
+			_token.signal();
+			_jbpmCtx.save(_token);
+
+			_processInstance	= _token.getProcessInstance();
+			_command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+			_command.setProcessVersion	(_processInstance.getProcessDefinition().getVersion());
+			_command.setInstanceId		(_processInstance.getId());
+			_command.setCurrentNodeName	(_token.getNode().getName());
+			_command.setUserObject		(_processInstance.hasEnded());
+			_command.setReturnCode		(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+
+	public void getProcessInstanceVariabes()
+	{
+		try
+		{
+			long id	= _command.getInstanceId();
+			prepareJbpm();
+			_processInstance = _jbpmCtx.loadProcessInstance(id);
+			Map allVars	= _processInstance.getContextInstance().getVariables();
+			_command.setVariableValues	(pickVarsFromMap(allVars));
+
+			_command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+			_command.setProcessVersion	(_processInstance.getProcessDefinition().getVersion());
+			_command.setTokenId			(_processInstance.getRootToken().getId());
+			_command.setCurrentNodeName	(_processInstance.getRootToken().getNode().getName());
+			_command.setReturnCode		(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+
+	public void checkInstanceEnded()
+	{
+		try
+		{
+			long id	= _command.getInstanceId();
+			prepareJbpm();
+			_processInstance = _jbpmCtx.loadProcessInstance(id);
+			_command.setUserObject(_processInstance.hasEnded());
+
+			_command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+			_command.setProcessVersion	(_processInstance.getProcessDefinition().getVersion());
+			_command.setTokenId			(_processInstance.getRootToken().getId());
+			_command.setCurrentNodeName	(_processInstance.getRootToken().getNode().getName());
+			_command.setReturnCode		(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+
+	public void setProcessInstanceVariables()
+	{
+		try
+		{
+			Map<String,Object>newVals = _command.getVariableValues();
+			if (null==newVals || newVals.size()<1)
+			{
+				_command.setReturnCode(CommandVehicle.RETCODE_ERROR);
+				_command.setErrorMessage("Null or empty variable Map");
+				return;
+			}
+			long id	= _command.getInstanceId();
+			prepareJbpm();
+			_processInstance = _jbpmCtx.loadProcessInstanceForUpdate(id);
+			_processInstance.getContextInstance().addVariables(newVals);
+			_jbpmCtx.save(_processInstance);
+
+			_command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+			_command.setProcessVersion	(_processInstance.getProcessDefinition().getVersion());
+			_command.setInstanceId		(_processInstance.getId());
+			_command.setTokenId			(_processInstance.getRootToken().getId());
+			_command.setCurrentNodeName	(_processInstance.getRootToken().getNode().getName());
+			_command.setReturnCode		(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+
+	public void getTokenVariabes()
+	{
+		try
+		{
+			long id	= _command.getTokenId();
+			prepareJbpm();
+			_token = _jbpmCtx.loadToken(id);
+			Map allVars	= _token.getProcessInstance().getContextInstance().getVariables(_token);
+			_command.setVariableValues(pickVarsFromMap(allVars));
+
+			_processInstance	= _token.getProcessInstance();
+			_command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+			_command.setProcessVersion	(_processInstance.getProcessDefinition().getVersion());
+			_command.setInstanceId		(_processInstance.getId());
+			_command.setCurrentNodeName	(_token.getNode().getName());
+			_command.setReturnCode		(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+
+	public void setTokenVariables()
+	{
+		try
+		{
+			Map<String,Object>newVals = _command.getVariableValues();
+			if (null==newVals || newVals.size()<1)
+			{
+				_command.setReturnCode(CommandVehicle.RETCODE_ERROR);
+				_command.setErrorMessage("Null or empty variable Map");
+				return;
+			}
+			long id	= _command.getTokenId();
+			prepareJbpm();
+			_token = _jbpmCtx.loadToken(id);
+			_token.getProcessInstance().getContextInstance().addVariables(newVals,_token);
+			_jbpmCtx.save(_token);
+
+			_command.setProcessDefinitionName (_processInstance.getProcessDefinition().getName());
+			_command.setProcessVersion	(_processInstance.getProcessDefinition().getVersion());
+			_command.setInstanceId		(_processInstance.getId());
+			_command.setTokenId			(_processInstance.getRootToken().getId());
+			_command.setCurrentNodeName	(_processInstance.getRootToken().getNode().getName());
+			_command.setReturnCode		(CommandVehicle.RETCODE_OK);
+		}
+		catch (Exception e)
+		{
+			_command.setReturnCode(CommandVehicle.RETCODE_EXCEPTION);
+			_command.setException(e);
+		}
+		finally	{ cleanupJbpm(); } 
+	} //________________________________
+	
+	/**
+	 * Get list of variables requested in command, from map in arg0.
+	 * <br/>List of requested variables is obtained from command invoking the getVariableNames() method.
+	 * <br/>If the list of variable names is NULL, all variables in the map will be returned.
+	 * <br/>If it's an empty List, an empty map will be returned (why would anybody ask for an empty list of vars ?)
+	 * @param variables
+	 * @return
+	 */
+	@SuppressWarnings("unchecked")
+	protected Map<String,Object>pickVarsFromMap(Map variables)
+	{
+		Set<String>names = _command.getVariableNames();
+		if (null==names)
+			return variables;
+		
+		Map<String,Object>retMap = new HashMap<String, Object>();
+		for(String curr : names)
+			retMap.put(curr, variables.get(curr));
+		
+		return retMap;
+	} //________________________________
+	
+	/**
+	 * Should this class need any extra configuration, this is the placeholder where to check
+	 * if configuration is OK.
+	 * @throws ConfigurationException
+	 */
+	protected void checkMyParms() throws ConfigurationException
+	{
+	} // _______________________________
+    
+	protected void prepareJbpm()
+	{
+		_jbpmCtx	= null;
+		_jbpmCtx 	= getJbpmConfig().createJbpmContext();
+	} //________________________________
+	protected void cleanupJbpm()
+	{
+		if (null!=_jbpmCtx) 	_jbpmCtx.close();
+		_jbpmCtx		= null;
+		_processInstance= null;
+		_token			= null;
+	} //________________________________
+	
+	protected static JbpmConfiguration getJbpmConfig()
+	{
+		if (null== s_jbpmConfig)
+			synchronized (s_oSynch)
+			{
+				if (null==s_jbpmConfig)
+					s_jbpmConfig = JbpmConfiguration.getInstance();
+			}
+		return s_jbpmConfig;
+	} //________________________________
+	
+	protected ConfigTree 		_config;
+	protected CommandVehicle 	_command;
+	private static final Object			s_oSynch = new Integer(0);
+	private static JbpmConfiguration	s_jbpmConfig;
+	protected JbpmContext 		_jbpmCtx;
+	protected ProcessInstance	_processInstance;
+	protected Token				_token;
+	
+	protected static Logger _logger = Logger.getLogger(CommandInterpreter.class);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/AbstractRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/AbstractRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/AbstractRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,84 @@
+/*
+ * 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.actions.routing;
+
+import java.util.List;
+
+import javax.jms.JMSException;
+import javax.naming.NamingException;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Abstract router.
+ * <p/>
+ * Handles unwrapping of the message payload (if required) before routing.  To turn on
+ * unwrapping, supply an "unwrap" property with a value of "true" (default "false").
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class AbstractRouter implements ActionProcessor {
+
+	/**
+	 * Unwrap the message payload before routing. 
+	 */
+	public boolean unwrap = false;
+	
+    /**
+     * Public constructor.
+     * @param actionName Action name.
+     * @param properties Action properties.
+     * @throws ConfigurationException Queue name not configured.
+     * @throws JMSException Unable to configure JMS destination.
+     * @throws NamingException Unable to configure JMS destination.
+     */
+    public AbstractRouter(String actionName, List<KeyValuePair> properties) throws ConfigurationException {
+    	unwrap = KeyValuePair.getBooleanValue("unwrap", properties, false); 
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+     */
+    public final Message process(Message message) throws ActionProcessingException {
+    	if(unwrap) {
+    		route(ActionUtils.getTaskObject(message));
+    	} else {
+    		route(message);
+    	}
+    	
+    	return message;
+    }
+    
+    /**
+     * Route the message or message payload.
+     * <p/>
+     * If the message is to be unwrapped, it will have been unwrapped at this stage.
+     * @param object The object to route.
+     * @throws ActionProcessingException Exception during routing operation.
+     */
+    public abstract void route(Object object) throws ActionProcessingException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/EchoRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/EchoRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/EchoRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,89 @@
+/*
+ * 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;
+
+import java.io.Serializable;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * Echo Action Processor. 
+ * 
+ * <p/> Sample Action Configuration:
+ * 
+ * <pre>
+ *   &lt;Action class=&quot;org.jboss.soa.esb.actions.routing.EchoRouter&quot;&gt;&lt;/Action&gt;
+ * </pre>
+ * 
+ * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
+ */
+public class EchoRouter implements ActionProcessor {
+
+	/* The logger for this class */
+	private static Logger logger = Logger.getLogger(EchoRouter.class);
+	
+	public EchoRouter (ConfigTree configTree){		
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+	 */
+	public org.jboss.soa.esb.message.Message process(
+			org.jboss.soa.esb.message.Message message)
+			throws ActionProcessingException {
+
+		if (logger.isInfoEnabled()) {
+			logger.info("EchoRouter currently routing message " + message + " with payload <<" + ActionUtils.getTaskObject(message) + ">>");
+		}
+
+		return message;
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+	 */
+	public Serializable getOkNotification(
+			org.jboss.soa.esb.message.Message message) {
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+	 */
+	public Serializable getErrorNotification(
+			org.jboss.soa.esb.message.Message message) {
+		return null;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/HttpRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/HttpRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/HttpRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,152 @@
+/*
+ * 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;
+
+import java.io.Serializable;
+
+import org.apache.log4j.Logger;
+import org.jboss.remoting.Client;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+
+/**
+ * HttpRouter Action Processor. This ActionProcessor will forward the message to an url for further processing.
+ * If the routeUrl property is not set a default url will be used.
+ * 
+ * <p/> Sample Action Configuration:
+ * 
+ * <pre>
+ *    &lt;Action class=&quot;org.jboss.soa.esb.actions.routing.HttpRouter&quot;&gt;
+ *    	&lt;property name=&quot;routeUrl&quot; value=&quot;http://localhost:8888&quot;&lt;/property&gt;
+ *    &lt;/Action&gt;
+ * </pre>
+ *
+ * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
+ */
+public class HttpRouter implements ActionProcessor {
+
+	/* The logger for this class */
+	private static Logger logger = Logger.getLogger(HttpRouter.class);
+
+	/* The configuration for this ActionProcessor */
+	private ConfigTree configTree = null;
+
+	/* The url to route the message to */
+	private String urlToRouteTo = null;
+
+	/*
+	 * The url to route the message to if the url was not set in the
+	 * configuration
+	 */
+	private static final String DEFAULT_URL_TO_ROUTE_TO = "http://localhost:5400";
+
+	/**
+	 * Constructing a HttpRouter instance
+	 * 
+	 * @param configTree
+	 *            the configuration to use in this HttpRouter instance
+	 */
+	public HttpRouter(ConfigTree configTree) {
+		this.configTree = configTree;
+		this.urlToRouteTo = this
+				.obtainAttribute(ListenerTagNames.HTTP_ROUTER_ROUTE_URL,
+						DEFAULT_URL_TO_ROUTE_TO);
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+	 */
+	public org.jboss.soa.esb.message.Message process(
+			org.jboss.soa.esb.message.Message message)
+			throws ActionProcessingException {
+
+		Object oCurr = ActionUtils.getTaskObject(message);
+
+		if (logger.isInfoEnabled()) {
+			logger
+					.info("HttpRouter currently routing message " + message
+							+ " with payload <<" + oCurr + ">> to "
+							+ this.urlToRouteTo);
+		}
+
+		try {
+			InvokerLocator locator = new InvokerLocator(this.urlToRouteTo);
+
+			Client remotingClient = new Client(locator);
+			remotingClient.connect();
+
+			remotingClient.invoke(oCurr, null);
+			return message;
+		} catch (Throwable e) {
+			String errorMessage = "Exception while sending message [" + oCurr
+					+ "] to destination [" + this.urlToRouteTo + "].";
+			logger.error(errorMessage, e);
+			throw new ActionProcessingException(errorMessage, e);
+		}
+	}
+
+	/**
+	 * Method obtaining an attribute from the configuration tree
+	 * 
+	 * @param tree
+	 *            the configuration to use
+	 * @param p_sAtt
+	 *            the name of the attribute to get
+	 * @param p_sDefault
+	 *            the default value for the attribute if not set
+	 * @return the value of the attribute or the default one is not set in
+	 *         configuration tree
+	 */
+	private String obtainAttribute(String p_sAtt, String p_sDefault) {
+		String sVal = this.configTree.getAttribute(p_sAtt);
+		return (null != sVal) ? sVal : p_sDefault;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+	 */
+	public Serializable getOkNotification(
+			org.jboss.soa.esb.message.Message message) {
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+	 */
+	public Serializable getErrorNotification(
+			org.jboss.soa.esb.message.Message message) {
+		return null;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/JMSRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/JMSRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/routing/JMSRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,239 @@
+/*
+ * 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;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.jms.BytesMessage;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.helpers.NamingContext;
+import org.jboss.soa.esb.util.Util;
+
+/**
+ * JSM Routing Action Processor.
+ * <p/>
+ * Sample Action Configuration:
+ * <pre>
+ * &lt;action class="org.jboss.soa.esb.actions.routing.JMSRouter"&gt;
+ *     jndiName="queue/A"
+ *     message-prop-<i>&gt;prop-name&lt;</i>="<i>&gt;prop-value&lt;</i>" &gt;!-- (Optional)--&lt; 
+ *     unwrap="true/false" &gt;!-- (Optional - default false)--&lt;
+ * /&gt;
+ * </pre>
+ * Note how properties to be set on the message are prefixed with "message-prop-".
+ * <p/>
+ * To unwrap the message payload from the message before routing, set the "unwrap" property to "true".
+ * TODO: Add support for JMS Topic destinations.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class JMSRouter extends AbstractRouter {
+    /**
+     * Logger.
+     */
+    private static Logger logger = Logger.getLogger(JMSRouter.class);
+    /**
+     * Routing properties.
+     */
+    private List<KeyValuePair> properties;
+    /**
+     * JMS Queue setup.
+     */
+    private JMSSendQueueSetup queueSetup;
+    
+    /**
+     * Public constructor.
+     * @param propertiesTree Action properties.
+     * @throws ConfigurationException Queue name not configured.
+     * @throws JMSException Unable to configure JMS destination.
+     * @throws NamingException Unable to configure JMS destination.
+     */
+    public JMSRouter(ConfigTree propertiesTree) throws ConfigurationException, NamingException, JMSException {
+    	this("JMSRouter", propertiesTree.attributesAsList());
+    }
+
+    /**
+     * Public constructor.
+     * @param actionName Action name.
+     * @param properties Action properties.
+     * @throws ConfigurationException Queue name not configured.
+     * @throws JMSException Unable to configure JMS destination.
+     * @throws NamingException Unable to configure JMS destination.
+     */
+    public JMSRouter(String actionName, List<KeyValuePair> properties) throws ConfigurationException {
+    	super(actionName, properties);
+    	
+        this.properties = properties;
+        
+        String queueName = KeyValuePair.getValue("jndiName", properties);
+        if(queueName == null) {
+            throw new ConfigurationException("JMSRouter must specify a 'jndiName' property.");
+        }
+        try {
+			queueSetup = new JMSSendQueueSetup(queueName);
+		} catch (Throwable t) {
+			new ConfigurationException("Failed to configure JMS Queue for routing.", t);
+		}
+        this.properties = properties;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.routing.AbstractRouter#route(java.lang.Object)
+     */
+    public void route(Object message) throws ActionProcessingException {
+    	
+        if(!(message instanceof Serializable) && !(message instanceof org.jboss.soa.esb.message.Message)) {
+            throw new ActionProcessingException("Cannot send Object [" + message.getClass().getName() + "] to destination [" + queueSetup.queueName + "]. Object must be serializable.");
+        }
+        
+        try {
+        	Message jmsMessage = null;
+        	
+            // Send the message to the queue...
+            if (message instanceof org.jboss.soa.esb.message.Message) {
+            	message = Util.serialize((org.jboss.soa.esb.message.Message)message);
+            	jmsMessage = createObjectMessage(message);
+            } else if(message instanceof String) {
+            	jmsMessage = queueSetup.jmsSession.createTextMessage();
+    
+                if(logger.isDebugEnabled()) {
+                    logger.debug("Sending Text message: [" + message + "] to destination [" + queueSetup.queueName + "].");
+                }
+                ((TextMessage)jmsMessage).setText((String)message);
+            } else if(message instanceof byte[]) {
+            	jmsMessage = queueSetup.jmsSession.createBytesMessage();
+                
+                if(logger.isDebugEnabled()) {
+                    logger.debug("Sending byte[] message: [" + message + "] to destination [" + queueSetup.queueName + "].");
+                }
+                ((BytesMessage)jmsMessage).writeBytes((byte[])message);
+            } else {
+            	jmsMessage = createObjectMessage(message);
+            }
+            setStringProperties(jmsMessage);
+            queueSetup.jmsProducer.send(jmsMessage);
+        } catch(Exception e) {
+            String errorMessage = "Exception while sending message [" + message + "] to destination [" + queueSetup.queueName + "].";
+            logger.error(errorMessage, e);
+            throw new ActionProcessingException(errorMessage, e);
+        }
+    }
+
+	private Message createObjectMessage(Object message) throws JMSException {
+		Message jmsMessage;
+		jmsMessage = queueSetup.jmsSession.createObjectMessage();
+		
+		if(logger.isDebugEnabled()) {
+		    logger.debug("Sending Object message: [" + message + "] to destination [" + queueSetup.queueName + "].");
+		}
+		((ObjectMessage)jmsMessage).setObject((Serializable) message);
+		return jmsMessage;
+	}
+
+    private void setStringProperties(Message msg) throws JMSException {
+        String messagePropPrefix = "message-prop-";
+
+        for(KeyValuePair property : properties) {
+            String key = property.getKey();
+            
+            if(key.startsWith(messagePropPrefix) && key.length() > messagePropPrefix.length()) {
+                msg.setStringProperty(key.substring(messagePropPrefix.length()), property.getValue());
+            }
+        }
+    }
+    
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+     */
+    public Serializable getOkNotification(org.jboss.soa.esb.message.Message message) {
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+     */
+    public Serializable getErrorNotification(org.jboss.soa.esb.message.Message message) {
+        return null;
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+        queueSetup.close();
+        super.finalize();
+    }
+    
+    private static class JMSSendQueueSetup {
+        QueueSession jmsSession;
+        Queue jmsQueue;
+        MessageProducer jmsProducer;
+        String queueName;
+        
+        // TODO: Modify to support topic destinations too
+
+        private JMSSendQueueSetup(String queueName) throws NamingException, JMSException  {
+            Context m_oCtx = NamingContext.getServerContext(
+                    Configuration.getJndiServerURL(),
+                    Configuration.getJndiServerContextFactory(), 
+                    Configuration.getJndiServerPkgPrefix());           
+            QueueConnectionFactory qcf = (QueueConnectionFactory) m_oCtx.lookup("ConnectionFactory");
+            QueueConnection oQconn = qcf.createQueueConnection();
+
+            this.queueName = queueName;
+            jmsSession = oQconn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+            try {
+            	jmsQueue = (Queue) m_oCtx.lookup(queueName);
+            } catch (NamingException ne) {
+            	jmsQueue = jmsSession.createQueue(queueName);
+            }           
+            jmsProducer = jmsSession.createSender(jmsQueue);            
+        }
+        
+        private void close() {
+            try {
+                jmsProducer.close();
+                jmsSession.close();
+            } catch (Exception e) {
+                logger.error("Unable to close JMS Queue Setup.", e);
+            }
+        }
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/MockAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/MockAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/MockAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+/*
+ * 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.templates;
+
+import java.text.SimpleDateFormat;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Util;
+
+
+/**
+ * Use this class to tune your XML configurations <p/>Once your config works
+ * with this dummy class, you can switch to your own action class <p/>You will
+ * have to implement these three methods in your own action class
+ * 
+ * @author Esteban
+ * 
+ */
+public class MockAction 
+{
+    /**
+     * Class Logger.
+     */
+    private static Logger logger = Logger.getLogger(MockAction.class);
+
+    public Message process(Message message) 
+    {
+    	Object oCurr = null;
+    	if (null==message)
+    		oCurr = "null";
+    	else
+	    	try { oCurr = Util.serialize(message); }
+	    	catch (Exception e) 
+	    		{ oCurr = message.toString();}
+        logger.info(getStamp() + " process was called with <<" + oCurr.toString() + ">>");
+        return message;
+    } // ________________________________
+
+    private SimpleDateFormat s_oTS = new SimpleDateFormat(
+            "yyyy/MM/dd hh:mm:ss.SSS");
+
+    private String getStamp() {
+        return s_oTS.format(new java.util.Date(System.currentTimeMillis()));
+    }
+
+} // ____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/MockComposer.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/MockComposer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/templates/MockComposer.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,62 @@
+/*
+ * 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.templates;
+
+import java.text.SimpleDateFormat;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
+import org.jboss.soa.esb.message.Message;
+
+
+/**
+ * Use this class to tune your XML configurations <p/>Once your config works
+ * with this dummy class, you can switch to your own action class 
+ * 
+ * @author Esteban
+ * 
+ */
+public class MockComposer
+{
+    private static Logger _logger = Logger.getLogger(MockComposer.class);
+
+    public Message composeEmptyMessage(Object obj) 
+    {
+        _logger.info(getLogMessage("process was called with <<" + obj.toString() + ">>"));
+        MessageImpl message = new MessageImpl();
+        return message;
+    } // ________________________________
+
+    private SimpleDateFormat s_oTS = new SimpleDateFormat(
+            "yyyy/MM/dd hh:mm:ss.SSS");
+
+    private String getLogMessage(String text)
+    {
+    	return new StringBuilder()
+    	.append(s_oTS.format(new java.util.Date(System.currentTimeMillis())))
+    	.append(" ").append(text)
+    	.toString()
+    	;
+    }
+
+} // ____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/LifecycleUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/LifecycleUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/LifecycleUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,213 @@
+/*
+ * 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;
+
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.List;
+
+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.soa.esb.parameters.ParamRepositoryException;
+import org.jboss.soa.esb.parameters.ParamRepositoryFactory;
+import org.xml.sax.SAXException;
+
+/**
+ * Lifecycle helper methods
+ * @author kevin
+ */
+public class LifecycleUtil
+{
+    /**
+     * Default constructor.
+     */
+    private LifecycleUtil()
+    {
+    }
+    
+    /**
+     * Get the managed listeners from the specified parameter entry in the repository.
+     * @param param The listener parameter.
+     * @return The managed listeners.
+     * 
+     * @throws ParamRepositoryException For errors associated with accessing the parameter repository.
+     * @throws SAXException For errors associated with parsing the configuration.
+     * @throws ManagedLifecycleException For errors associated with the managed instance.
+     */
+    public static List<ManagedLifecycle> getListeners(final String param)
+        throws ParamRepositoryException, SAXException, ManagedLifecycleException
+    {
+        return getListeners(getConfigTree(param)) ;
+    }
+    
+    /**
+     * Get the managed listeners from the specified config tree.
+     * @param tree The config tree.
+     * @return The managed listeners.
+     * 
+     * @throws ManagedLifecycleException For errors associated with the managed instance.
+     */
+    public static List<ManagedLifecycle> getListeners(final ConfigTree tree)
+        throws ManagedLifecycleException
+    {
+        return getManagedInstances(tree, ListenerTagNames.LISTENER_CLASS_TAG) ;
+    }
+    
+    /**
+     * Get the managed gateways from the specified parameter entry in the repository.
+     * @param param The gateway parameter.
+     * @return The managed gateways.
+     * 
+     * @throws ParamRepositoryException For errors associated with accessing the parameter repository.
+     * @throws SAXException For errors associated with parsing the configuration.
+     * @throws ManagedLifecycleException For errors associated with the managed instance.
+     */
+    public static List<ManagedLifecycle> getGateways(final String param)
+        throws ParamRepositoryException, SAXException, ManagedLifecycleException
+    {
+        return getGateways(getConfigTree(param)) ;
+    }
+    
+    /**
+     * Get the managed gateways from the specified config tree.
+     * @param tree The config tree.
+     * @return The managed gateways.
+     * 
+     * @throws ManagedLifecycleException For errors associated with the managed instance.
+     */
+    public static List<ManagedLifecycle> getGateways(final ConfigTree tree)
+        throws ManagedLifecycleException
+    {
+        return getManagedInstances(tree, ListenerTagNames.GATEWAY_CLASS_TAG) ;
+    }
+    
+    /**
+     * Get the managed instances from the specified config tree.
+     * @param tree The config tree.
+     * @return The managed instances.
+     * 
+     * @throws ParamRepositoryException For errors associated with accessing the parameter repository.
+     * @throws SAXException For errors associated with parsing the configuration.
+     * @throws ManagedLifecycleException For errors associated with the managed instance.
+     */
+    private static List<ManagedLifecycle> getManagedInstances(final ConfigTree tree, final String classTag)
+        throws ManagedLifecycleException
+    {
+        final ArrayList<ManagedLifecycle> instances = new ArrayList<ManagedLifecycle>() ;
+        
+        for(ConfigTree child : tree.getAllChildren())
+        {
+            final String classname = child.getAttribute(classTag) ;
+            if (classname != null)
+            {
+                final Class instanceClass ;
+                try
+                {
+                    instanceClass = loadClass(classname) ;
+                }
+                catch (final ClassNotFoundException cnfe)
+                {
+                    throw new ManagedLifecycleException("Could not locate managed instance " + classname) ;
+                }
+                
+                if (!ManagedLifecycle.class.isAssignableFrom(instanceClass))
+                {
+                    throw new ManagedLifecycleException("Managed instance " + classname + " does not implement ManagedLifecycle") ;
+                }
+                
+                final Constructor constructor ;
+                try
+                {
+                    constructor = instanceClass.getConstructor(new Class[] {ConfigTree.class}) ;
+                }
+                catch (final NoSuchMethodException nsme)
+                {
+                    throw new ManagedLifecycleException("Managed instance " + classname + " does not have correct constructor") ;
+                }
+                final ManagedLifecycle instance ;
+                try
+                {
+                    instance = (ManagedLifecycle)constructor.newInstance(child) ;
+                }
+                catch (final Exception ex)
+                {
+                    throw new ManagedLifecycleException("Unexpected exception while instantiating managed instance", ex) ;
+                }
+                instances.add(instance) ;
+            }
+        }
+        
+        return instances ;
+    }
+    
+    /**
+     * Get the config tree from the specified parameter entry in the repository.
+     * @param param The parameter.
+     * @return The config tree.
+     * 
+     * @throws ParamRepositoryException For errors associated with accessing the parameter repository.
+     * @throws SAXException For errors associated with parsing the configuration.
+     */
+    public static ConfigTree getConfigTree(final String param)
+        throws ParamRepositoryException, SAXException
+    {
+        final String xml = ParamRepositoryFactory.getInstance().get(param) ;
+        final ConfigTree tree = ConfigTree.fromXml(xml) ;
+        
+        tree.setAttribute("configSource", "param-repository:" + param) ;
+        return tree ;
+    }
+    
+    /**
+     * Load the specified class.
+     * @param classname The name of the class to load.
+     * @return The specified class.
+     * @throws ClassNotFoundException If the class cannot be found.
+     */
+    private static Class loadClass(final String classname)
+        throws ClassNotFoundException
+    {
+        final ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader() ;
+        if (threadClassLoader != null)
+        {
+            try
+            {
+                return threadClassLoader.loadClass(classname) ;
+            }
+            catch (final ClassNotFoundException cnfe) {} // ignore
+        }
+        
+        final ClassLoader classLoader = LifecycleUtil.class.getClassLoader() ;
+        if (classLoader != null)
+        {
+            try
+            {
+                return classLoader.loadClass(classname) ;
+            }
+            catch (final ClassNotFoundException cnfe) {} // ignore
+        }
+        
+        return Class.forName(classname, true, ClassLoader.getSystemClassLoader()) ;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerInitializationException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerInitializationException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerInitializationException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+package org.jboss.soa.esb.listeners;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
+ */
+public class ListenerInitializationException extends BaseException{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -6872003497155955428L;
+	
+	/**
+	 * Public Default Constructor.
+	 */
+	public ListenerInitializationException() {
+		super();
+	}
+
+	/**
+	 * Public Constructor.
+	 * @param message Exception message.
+	 */
+	public ListenerInitializationException(String message) {
+		super(message);
+	}
+
+	/**
+	 * Public Constructor.
+	 * @param message Exception message.
+	 * @param cause Exception cause.
+	 */
+	public ListenerInitializationException(String message, Throwable cause) {
+		super(message, cause);
+	}
+
+	/**
+	 * Public Constructor.
+	 * @param cause Exception cause.
+	 */
+	public ListenerInitializationException(Throwable cause) {
+		super(cause);
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerTagNames.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerTagNames.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerTagNames.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,106 @@
+/*
+ * 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.
+ */
+/**
+ * Contains tag names as they can be used in the configuration.
+ * 
+ */
+package org.jboss.soa.esb.listeners;
+
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+
+public class ListenerTagNames 
+{
+	/** EPRs */
+	public static final String EPR_TAG						= "EPR";
+	public static final String REPLY_TO_EPR_TAG				= "replyToEPR";
+	public static final String URL_TAG						= JDBCEpr.URL_TAG; // change only in one place // TODO huh?!
+	public static final String PROTOCOL_TAG					= "protocol";
+
+	/** Threading */
+	public static final String MAX_THREADS_TAG				= "maxThreads";
+
+        /* Reloading */
+        public static final String RELOAD_SECONDS_TAG = "parameterReloadSecs";
+        public static final String END_TIME_TAG = "endTime";
+
+	/** Registry */
+    public static final String SERVICE_CATEGORY_NAME_TAG    = "service-category";
+	public static final String SERVICE_NAME_TAG			    = "service-name";
+	public static final String SERVICE_DESCRIPTION_TAG      = "service-description";
+	public static final String EPR_DESCRIPTION_TAG          = "epr-description";
+
+	/**  Gateways  */
+    public static final String TARGET_SERVICE_CATEGORY_TAG	= "target-service-category";
+	public static final String TARGET_SERVICE_NAME_TAG	    = "target-service-name";
+	public static final String GATEWAY_CLASS_TAG            = "gatewayClass";
+	
+	/** Listeners */
+	public static final String LISTENER_CLASS_TAG            = "listenerClass";
+    
+	/** ActionProcessingPipeline */
+    public static final String ACTION_ELEMENT_TAG		    = "action";
+    public static final String ACTION_CLASS_TAG			    = "class";
+    public static final String PROCESS_METHOD_TAG		    = "process";
+    public static final String ACTION_PROPERTY_TAG   	    = "property";
+    public static final String NORMAL_COMPLETION_METHOD_TAG = "okMethod";
+    public static final String EXCEPTION_METHOD_TAG		    = "exceptionMethod";
+    public static final String HTTP_ROUTER_ROUTE_URL        = "routeUrl";
+    
+    /** Gateway Composer */
+    public static final String GATEWAY_COMPOSER_CLASS_TAG   = "composer-class";
+    public static final String GATEWAY_COMPOSER_METHOD_TAG  = "composer-process";
+    /** Routing */
+    public static final String DESTINATION_NAME_TAG         = "destination-name";
+    /** Content Based Routing */
+    /** RuleSet reference (Filename) */
+    public static final String RULE_SET_TAG                 = "ruleSet";
+    public static final String RULE_LANGUAGE_TAG            = "ruleLanguage";
+    public static final String RULE_RELOAD_TAG              = "ruleReload";
+
+    /** Poller tagnames   */
+    public static final String POLL_LATENCY_SECS_TAG		= "pollLatencySeconds";
+    
+    /** File Actions  */
+    public static final String FILE_INPUT_DIR_TAG			= "inputDir";
+    public static final String FILE_INPUT_SFX_TAG			= "inputSuffix";
+    public static final String FILE_WORK_SFX_TAG			= "workSuffix";
+    public static final String FILE_ERROR_DIR_TAG			= "errorDir";
+    public static final String FILE_ERROR_SFX_TAG			= "errorSuffix";
+    public static final String FILE_POST_DIR_TAG			= "postDir";
+    public static final String FILE_POST_SFX_TAG			= "postSuffix";
+    public static final String FILE_POST_DEL_TAG			= "postDelete";
+    
+    /** SQL related  */
+    public static final String SQL_ROW_DATA_TAG				= "sqlRowData";
+
+    public static final String SQL_TABLE_NAME_TAG			= "tableName";
+    public static final String SQL_SELECT_FIELDS_TAG		= "selectFields";
+    public static final String SQL_KEY_FIELDS_TAG			= "keyFields";
+    public static final String SQL_IN_PROCESS_FIELD_TAG		= "inProcessField";
+    public static final String SQL_IN_PROCESS_VALUES_TAG	= "inProcessValues";
+    public static final String SQL_WHERE_CONDITION_TAG		= "whereCondition";
+    public static final String SQL_ORDER_BY_TAG				= "orderBy";
+    public static final String SQL_POST_DEL_TAG				= "postDelete";
+
+    /** Reply Listener */
+    public static final String REPLY_LISTENER_TIMEOUT_TAG   = "replyListenerTimeout";
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/ListenerUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,363 @@
+/*
+ * 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;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Collection;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.NamingContext;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+import org.jboss.soa.esb.util.Util;
+
+public class ListenerUtil
+{
+
+	private ListenerUtil()
+	{
+	}
+
+	public static EPR tryToDeliver(Message message, String category, String name)
+			throws CourierException, RegistryException, MalformedEPRException
+	{
+		Courier courier = null;
+		Registry reg = RegistryFactory.getRegistry();
+		Collection<EPR> all = reg.findEPRs(category, name);
+		if (null != all)
+			for (EPR epr : all)
+			{
+				try
+				{
+					courier = CourierFactory.getCourier(epr);
+					if (!courier.deliver(message))
+						continue;
+					return epr;
+				}
+				finally
+				{
+					CourierUtil.cleanCourier(courier);
+				}
+			}
+		String service = "[" + category + "," + name + "]";
+		String txt = (null == all || all.size() < 1) ? "No EPRs registered for "
+				+ service
+				: "Unable to deliver message to registered EPRs for " + service;
+		throw new CourierException(txt);
+	} // ________________________________
+
+	public static EPR assembleEpr(ConfigTree tree)
+			throws ConfigurationException
+	{
+		String urlString = tree.getAttribute(ListenerTagNames.URL_TAG);
+		String protocol = (null == urlString) ? tree
+				.getAttribute(ListenerTagNames.PROTOCOL_TAG) : urlString
+				.split(":")[0];
+
+		try
+		{
+			if ("jms".equals(protocol))
+				return jmsEprFromElement(tree);
+			if ("file".equals(protocol))
+				return fileEprFromElement(tree);
+			if ("ftp".equals(protocol))
+				return fileEprFromElement(tree);
+			if ("jdbc".equals(protocol))
+				return jdbcEprFromElement(tree);
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+			
+			_logger.error("Problem", e);
+			throw new ConfigurationException("xx", e);
+		}
+
+		throw new ConfigurationException("Unknown protocol <" + protocol + ">");
+
+	} // ________________________________
+
+	public static JMSEpr jmsEprFromElement(ConfigTree tree)
+			throws ConfigurationException
+	{
+		try
+		{
+
+			String name = tree.getRequiredAttribute(JMSEpr.DESTINATION_NAME_TAG);
+
+			String type = getAttrAndWarn(tree, JMSEpr.DESTINATION_TYPE_TAG,
+					"queue");
+			String jndiURL = getAttrAndWarn(tree, JMSEpr.JNDI_URL_TAG,
+					"localhost");
+			String jndiContextFactory = getAttrAndWarn(tree,
+					JMSEpr.JNDI_CONTEXT_FACTORY_TAG,
+					NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY);
+			String jndiPkgPrefix = getAttrAndWarn(tree,
+					JMSEpr.JNDI_PKG_PREFIX_TAG,
+					NamingContext.JBOSS_URL_PKG_PREFIX);
+			String jmsFactoryClass = getAttrAndWarn(tree,
+					JMSEpr.CONNECTION_FACTORY_TAG, "ConnectionFactory");
+
+			String selector = tree.getAttribute(JMSEpr.MESSAGE_SELECTOR_TAG);
+			if (Util.isNullString(selector))
+				_logger.debug("No value specified for "
+						+ JMSEpr.MESSAGE_SELECTOR_TAG + " attribute"
+						+ " -  All messages in queue <" + name
+						+ "> will be picked up by listener");
+
+			JMSEpr epr = new JMSEpr(type, name, jmsFactoryClass, jndiURL,
+					jndiContextFactory, jndiPkgPrefix, selector);
+
+			return epr;
+		}
+		catch (Exception e)
+		{
+			throw new ConfigurationException(e);
+		}
+	} // ________________________________
+
+	public static FileEpr fileEprFromElement(ConfigTree tree) throws ConfigurationException
+	{
+		try
+		{
+			URL url = new URL(tree.getRequiredAttribute(ListenerTagNames.URL_TAG));
+			String protocol = url.getProtocol();
+	
+			if ("file".equals(protocol))
+			{
+				if (!new File(url.getFile()).isDirectory())
+					throw new ConfigurationException("Attribute "
+							+ ListenerTagNames.URL_TAG
+							+ " must reference a directory");
+			}
+	
+			FileEpr epr = ("file".equals(protocol)) ? new FileEpr(url) : ("ftp"
+					.equals(protocol)) ? new FTPEpr(url) : null;
+			if (null == epr)
+				throw new ConfigurationException("Unsupported file protocol : "
+						+ protocol);
+	
+			String inputSuffix = tree.getAttribute(FileEpr.INPUT_SUFFIX_TAG);
+	
+			if (!Util.isNullString(inputSuffix))
+				epr.setInputSuffix(inputSuffix);
+	
+			boolean bErrorDel = Boolean.parseBoolean(getAttrAndWarn(tree,
+					FileEpr.ERROR_DEL_TAG, "true"));
+			String errorDir = tree.getAttribute(FileEpr.ERROR_DIR_TAG);
+			String errorSuffix = tree.getAttribute(FileEpr.ERROR_SUFFIX_TAG);
+			
+			if (bErrorDel)
+			{
+				if (null != errorDir || null != errorSuffix)
+					_logger
+							.warn("If you don't specify "
+									+ FileEpr.ERROR_DEL_TAG
+									+ "'false' ,"
+									+ FileEpr.ERROR_DIR_TAG
+									+ " and "
+									+ FileEpr.ERROR_SUFFIX_TAG
+									+ " will have no effect because files in error will be deleted");
+			}
+			if (null == errorDir)
+			{
+				errorDir = url.getFile();
+				warnDefault(FileEpr.ERROR_DIR_TAG, errorDir);
+			}
+			if (null == errorSuffix)
+			{
+				errorSuffix = ".esbERROR";
+				warnDefault(FileEpr.ERROR_SUFFIX_TAG, errorSuffix);
+			}
+			epr.setErrorDelete(bErrorDel);
+			epr.setErrorDirectory(errorDir);
+			epr.setErrorSuffix(errorSuffix);
+	
+			boolean bPostDel = Boolean.parseBoolean(getAttrAndWarn(tree,
+					FileEpr.POST_DEL_TAG, "true"));
+	
+			String postDir = tree.getAttribute(FileEpr.POST_DIR_TAG);
+			String postSuffix = tree.getAttribute(FileEpr.POST_SUFFIX_TAG);
+			if (bPostDel)
+			{
+				if (null != postDir || null != postSuffix)
+					_logger
+							.warn("If you don't specify "
+									+ FileEpr.POST_DEL_TAG
+									+ "'false' ,"
+									+ FileEpr.POST_DIR_TAG
+									+ " and "
+									+ FileEpr.POST_SUFFIX_TAG
+									+ " will have no effect because processed input messages will be deleted");
+			}
+			if (null == postDir)
+			{
+				postDir = url.getFile();
+				warnDefault(FileEpr.POST_DIR_TAG, postDir);
+			}
+			if (null == postSuffix)
+			{
+				postSuffix = ".esbDONE";
+				warnDefault(FileEpr.POST_SUFFIX_TAG, postSuffix);
+			}
+			epr.setPostDelete(bPostDel);
+			epr.setPostDirectory(postDir);
+			epr.setPostSuffix(postSuffix);
+	
+			if (epr instanceof FTPEpr)
+			{
+				FTPEpr ftp = (FTPEpr) epr;
+				ftp.setPassive(Boolean.valueOf(getAttrAndWarn(tree,
+						FTPEpr.PASSIVE_TAG, "false")));
+			}
+			return epr;
+		}
+		catch (URISyntaxException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		catch (MalformedURLException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	} // ________________________________
+
+	public static JDBCEpr jdbcEprFromElement(ConfigTree tree) throws ConfigurationException
+	{
+		String url = tree.getRequiredAttribute(JDBCEpr.URL_TAG);
+		if (!url.toLowerCase().startsWith("jdbc"))
+			throw new ConfigurationException("URL in "
+					+ ListenerTagNames.URL_TAG + " must be a jdbc URL");
+
+		try
+		{
+			boolean bPostDel = Boolean.valueOf(tree.getAttribute(
+					JDBCEpr.POST_DEL_TAG, "true"));
+			boolean bErrorDel = Boolean.valueOf(tree.getAttribute(
+					JDBCEpr.ERROR_DEL_TAG, "true"));
+			JDBCEpr epr = new JDBCEpr(url, bPostDel, bErrorDel);
+			epr.setDriver(tree.getRequiredAttribute(JDBCEpr.DRIVER_TAG));
+			epr.setUserName(getAttrAndWarn(tree, JDBCEpr.USERNAME_TAG, ""));
+			epr.setPassword(getAttrAndWarn(tree, JDBCEpr.PASSWORD_TAG, ""));
+			epr.setTableName(tree.getRequiredAttribute(JDBCEpr.TABLE_NAME_TAG));
+			epr.setMessageIdColumn(getColName(tree, JDBCEpr.MESSAGE_ID_COLUMN_TAG));
+			epr.setStatusColumn(getColName(tree, JDBCEpr.STATUS_COLUMN_TAG));
+			epr.setDataColumn(getColName(tree, JDBCEpr.DATA_COLUMN_TAG));
+			epr.setTimestampColumn(getColName(tree, JDBCEpr.TIMESTAMP_COLUMN_TAG));
+	
+			return epr;
+		}
+		catch (URISyntaxException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	} // ________________________________
+
+	private static final String s_Sfx = "_column";
+
+	private static String getColName(ConfigTree tree, String tag)
+			throws ConfigurationException
+	{
+		String defaultColname = (tag.endsWith(s_Sfx) ? tag.substring(0, tag
+				.length()
+				- s_Sfx.length()) : null);
+		return getAttrAndWarn(tree, tag, defaultColname);
+	} // ________________________________
+
+	public static String getAttrAndWarn(ConfigTree tree, String tag,
+			String defaultValue) throws ConfigurationException
+	{
+		String value = null;
+		try
+		{
+			value = tree.getAttribute(tag);
+			if (null == value)
+				if (null == defaultValue)
+					throw new ConfigurationException("Missing or invalid "
+							+ tag + " attribute");
+				else
+				{
+					warnDefault(tag, defaultValue);
+					value = defaultValue;
+				}
+			return value;
+		}
+		catch (Exception e)
+		{
+			throw new ConfigurationException(e);
+		}
+	} // ________________________________
+
+        /**
+         * Find an attribute in the tree (arg 0) or assign default value (arg 2)
+         * 
+         * @param p_oP
+         *            ConfigTree - look for attributes in this Element only
+         * @param p_sAtt
+         *            String - Name of attribute to find
+         * @param p_sDefault
+         *            String -default value if requested attribute is not there
+         * @return String - value of attribute, or default value (if null)
+         * @throws ConfigurationException -
+         *             If requested attribute not found and no default value
+         *             supplied by invoker
+         */
+        public static String obtainAtt (ConfigTree p_oP, String p_sAtt, String p_sDefault)
+                        throws ConfigurationException
+        {
+                String sVal = p_oP.getAttribute(p_sAtt);
+                if ((null == sVal) && (null == p_sDefault))
+                        throw new ConfigurationException(
+                                        "Missing or invalid <" + p_sAtt + "> attribute");
+
+                return (null != sVal) ? sVal : p_sDefault;
+        } // ________________________________
+
+	private static final boolean LOGWARN = true;
+
+	private static void warnDefault(String tag, String defaultValue)
+	{
+		if (LOGWARN)
+			_logger.debug("No value specified for " + tag + " attribute"
+					+ " -  Using default value: '" + defaultValue + "'");
+	} // ________________________________
+
+	private static final Logger _logger = Logger.getLogger(ListenerUtil.class);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/RegistryUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/RegistryUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/RegistryUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,230 @@
+/*
+ * 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;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.util.EPRManager;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+
+import com.arjuna.common.util.propertyservice.PropertyManager;
+
+/**
+ * Extraction of common registry utility methods.
+ * @author kevin
+ */
+public class RegistryUtil
+{
+    /**
+     * The logger for this class.
+     */
+    private static final Logger logger = Logger.getLogger(RegistryUtil.class) ;
+
+    /**
+     * The lock for the registry.
+     */
+    private static final Lock registryLock = new ReentrantLock() ;
+    
+    /**
+     * Get the EPR manager.
+     * @return The EPR manager.
+     */
+    public static EPRManager getEprManager()
+    {
+        final PropertyManager manager = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE) ;
+        final String dir = manager.getProperty(Environment.REGISTRY_FILE_HELPER_DIR, ".") ;
+        return EPRManager.getInstance(dir) ;
+    }
+
+    /**
+     * Register a service with the EPR manager.
+     * @param name The service name
+     * @param address The service address
+     * @throws RegistryException for registration errors.
+     */
+    private static void register(final String name, final EPR address)
+        throws RegistryException
+    {
+        try
+        {
+            getEprManager().saveEPR(name, address) ;
+        }
+        catch (final IOException ioe)
+        {
+            logger.error("Cannot register service", ioe) ;
+            throw new RegistryException("Cannot register service", ioe) ;
+        }
+    }
+
+    /**
+     * Unregister a service with the EPR manager.
+     * @param name The service name
+     */
+    private static void unregister(final String name)
+    {
+        try
+        {
+            getEprManager().removeEPR(name) ;
+        }
+        catch (final IOException ioe)
+        {
+            logger.warn("Failed to unregister service", ioe) ;
+        }
+    }
+
+    /**
+     * Register an EPR in the registry.
+     * 
+     * @param config a config tree containing the deployment-configuration of the service.
+     * @param epr the epr (EndPoint Reference) of the service.
+     * 
+     * @throws RegistryException for registration errors.
+     */
+    public static void register(final ConfigTree config, final EPR epr)
+        throws RegistryException
+    {
+        final String category = config.getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG) ;
+        final String name = config.getAttribute(ListenerTagNames.SERVICE_NAME_TAG) ;
+
+        if ("eprManager".equalsIgnoreCase(category))
+        {
+            register(name, epr) ;
+        }
+        else
+        {
+            final String serviceDescription = config.getAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG) ;
+            final String eprDescription = config.getAttribute(ListenerTagNames.EPR_DESCRIPTION_TAG) ;
+            final Registry registry = RegistryFactory.getRegistry() ;
+
+            if (logger.isDebugEnabled())
+            {
+                logger.debug("Registering < " + name + ", " + epr + " >") ;
+            }
+
+            registryLock.lock();
+            try
+            {
+                registry.registerEPR(category, name,
+                    serviceDescription, epr, eprDescription) ;
+            }
+            finally
+            {
+                registryLock.unlock() ;
+            }
+        }
+    }
+
+    /**
+     * Unregister the EPR from the registry.
+     * 
+     * @param category The category name of the service
+     * @param name The name of the service
+     * @param epr The service EPR.
+     */
+    public static void unregister(final String category, final String name, final EPR epr)
+    {
+        if ("eprManager".equalsIgnoreCase(category))
+        {
+            unregister(name) ;
+        }
+        else
+        {
+            registryLock.lock() ;
+            try
+            {
+                final Registry registry = RegistryFactory.getRegistry() ;
+                registry.unRegisterEPR(category, name, epr) ;
+            }
+            catch (final RegistryException re)
+            {
+                logger.warn("Failed to unregister service", re) ;
+            }
+            finally
+            {
+                registryLock.unlock() ;
+            }
+        }
+    }
+
+    /**
+     * Get the EPRs associated with the specified service.
+     * @param category The category name of the service
+     * @param name The name of the service
+     * @return The collection of EPRs associated with the specified service.
+     * 
+     * @throws RegistryException for registration errors.
+     */
+    public static Collection<EPR> getEprs(final String category, final String name)
+            throws RegistryException
+    {
+        if ("eprManager".equalsIgnoreCase(category))
+        {
+            final EPR epr ;
+            try
+            {
+                epr = getEprManager().loadEPR(name) ;
+            }
+            catch (final IOException ioe)
+            {
+                throw new RegistryException("No EPRs found for <" + category
+                    + "><" + name + ">") ;
+            }
+            return Arrays.asList(new EPR[] {epr}) ;
+        }
+
+        final Registry reg = RegistryFactory.getRegistry() ;
+        RegistryException eReg = null ;
+        for (int count = 0; count < 5; count++)
+        {
+            try
+            {
+                return reg.findEPRs(category, name) ;
+            }
+            catch (final RegistryException re)
+            {
+                if (null == eReg)
+                    eReg = re ;
+                try
+                {
+                    Thread.sleep(500) ;
+                }
+                catch (final InterruptedException ie)
+                {
+                    break ;
+                }
+            }
+        }
+        throw eReg ;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/StandAloneBootStrapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/StandAloneBootStrapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/StandAloneBootStrapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,202 @@
+/*
+ * 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;
+
+import java.io.File;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.listeners.config.ConfigurationController;
+
+public class StandAloneBootStrapper
+{
+	private ConfigurationController _confController;
+
+	private static Logger _logger = Logger
+			.getLogger(StandAloneBootStrapper.class);
+
+	public static void main (String[] args) throws Exception
+	{
+        System.out.println("+----------------------------------------------------------+");
+        System.out.println("|                                                          |");
+        System.out.println("|     Starting JBossESB...                                 |");
+        System.out.println("|                                                          |");
+        System.out.println("+----------------------------------------------------------+");
+        
+		Exception eT = null;
+		if (args.length < 1)
+		{
+			eT = new Exception(
+					"No configuration file specified - Ending immediately");
+			_logger.fatal(eT);
+			throw eT;
+		}
+		StandAloneBootStrapper boot = null;
+
+		String configName = args[0];
+        File configFile = new File(configName);
+        if (configFile.exists()) {
+           System.out.println("Reading config from " + configFile.getAbsolutePath());
+            String loggerConfig = configFile.getParent() + "/log4j.xml";
+            DOMConfigurator.configure(loggerConfig);
+        } else {
+            
+        }
+        
+		long lSecondsToRun = 365 * 24 * 3600; // run for 1 year (is it enough
+												// ?)
+		if (args.length > 1) try
+		{
+			lSecondsToRun = Long.parseLong(args[1]);
+		}
+		catch (Exception e)
+		{
+			_logger.fatal(e);
+			throw e;
+		}
+		try
+		{
+			boot = new StandAloneBootStrapper(configName);
+			if (lSecondsToRun < 5) lSecondsToRun = 5;
+			long lRunTo = System.currentTimeMillis() + 1000 * lSecondsToRun;
+
+			while (System.currentTimeMillis() < lRunTo)
+			{
+				try
+				{
+					Thread.sleep(1000);
+				}
+				catch (InterruptedException e)
+				{
+					break;
+				}
+			}
+		} finally
+		{
+			if (null != boot) boot.requestEnd();
+		}
+	}
+
+	public StandAloneBootStrapper (String configName) throws ConfigurationException
+	{
+		this(configName, null);
+	}
+
+	public StandAloneBootStrapper (String configName, String validationFileName)
+			throws ConfigurationException
+	{
+		runBefore();
+
+		// TODO hardwired names?
+
+		String listenerConfig = "jbossesb-listener.xml";
+		String gatewayConfig = "jbossesb-gateway.xml";
+
+		try
+		{
+			File configFile = new File(configName);
+			String sParent = configFile.getParent();
+			if (null == sParent) sParent = new File("").getAbsolutePath();
+			else
+				if (sParent.endsWith("/.") || sParent.endsWith("\\."))
+					sParent = sParent.substring(0, -2 + sParent.length());
+			configFile = new File(sParent, configFile.getName());
+
+			_confController = initiateController(configFile.getAbsolutePath(),
+					validationFileName, gatewayConfig, listenerConfig);
+
+                        _logger.info("Listeners Ready");
+		}
+		catch (ConfigurationException ex)
+		{
+			requestEnd();
+			
+			throw ex;
+		}
+		catch (Exception ex)
+		{
+			requestEnd();
+			
+			throw new ConfigurationException("Cannot instantiate "+this.getClass().getSimpleName(),ex);
+		}
+
+	} // ________________________________
+
+	public void requestEnd ()
+	{
+		if (_confController != null)
+                {
+                    _confController.requestEnd();
+                    _confController.waitUntilEnded() ;
+                }
+		runAfter();
+	} // ________________________________
+
+	protected void runBefore ()
+	{
+	} // placeholder for classes that extend this bootstrapper
+
+	protected void runAfter ()
+	{
+	} // placeholder for classes that extend this bootstrapper
+
+	public ConfigurationController initiateController (String configName,
+			String validationName, String gwConf, String esbConf)
+			throws ConfigurationException
+	{
+		if (null == configName)
+			throw new IllegalArgumentException(
+					"Null configuration file specified");
+
+		File configFile = new File(configName);
+		if (!configFile.exists())
+			throw new IllegalArgumentException(
+					"Missing esb configuration file: " + configFile);
+
+		// Remove the listener and gateway configuration files if the exist
+		File configDir = configFile.getParentFile();
+		if (null == configDir) configDir = new File("");
+		File listenerFile = new File(configDir, esbConf);
+		if (listenerFile.exists())
+		{
+			listenerFile.delete();
+		}
+		File gatewayFile = new File(configDir, gwConf);
+		if (gatewayFile.exists())
+		{
+			gatewayFile.delete();
+		}
+
+		ConfigurationController conf = new ConfigurationController(configFile
+				.toString(), validationName);
+		if (listenerFile.exists() && gatewayFile.exists())
+		{
+                    new Thread(conf).start() ;
+                    return conf;
+		}
+
+		throw new ConfigurationException(
+				"Unable to generate gateway and listener configurations");
+	} // ________________________________
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/State.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/State.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/State.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,39 @@
+/*
+ * 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;
+
+/**
+ * ESB listener component state. 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public enum State {
+	Uninitialised, Loading_parameters, Running, Ready, Shutting_down, Done_OK, Exception_thrown;
+	
+	/**
+	 * Is this state instance in one of the states leading up to (but not including) the "Ready" state.
+	 * @return True if this state instance in one of the states leading up to (but not including)
+	 *  the "Ready" state, otherwise false.
+	 */
+	public boolean isGettingReady() {
+		return (this.ordinal() < Ready.ordinal());
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationController.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationController.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationController.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,387 @@
+/*
+ * 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.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.listeners.LifecycleUtil;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.soa.esb.parameters.ParamRepositoryFactory;
+import org.xml.sax.InputSource;
+/**
+ * The controller monitors changes in the jbossesb configuration file call jbossesb.xml. When
+ * changes are detected it validates the XML, and when it passes validation it goes on and
+ * generates the jbossesb-listener.xml and jbossesb-gateway.xml.
+ * 
+ * @author kstam
+ *
+ */
+public class ConfigurationController implements Runnable
+{
+	private static final int SLEEP_MILLIS       = 1000; // default interval between parameter reloads
+        private static final int ENDED_MILLIS       = 20000; // default interval between parameter reloads
+	private static final String JBOSSESB_XSD = "/jbossesb-1.0.xsd";
+	private final Logger mLogger = Logger.getLogger(this.getClass());
+        private final Lock endedLock = new ReentrantLock() ;
+        private final Condition endedChanged = endedLock.newCondition() ;
+        private final Condition endRequested = endedLock.newCondition() ;
+	private final String mConfigFileName;
+	private final String mValidationFileName;
+	private final File mConfigDirectory;
+        private final String mListenerConfigFile;
+        private final String mGatewayConfigFile;
+	private long mPreviousFileTimestamp;
+	private boolean mIsEndRequested;
+	private boolean ended;
+        private ManagedLifecycleController controller ;
+	
+	/**
+	 * Start the Controller externally.
+	 * @param args - arg[0] - the parameter file name
+	 */
+	
+	public static void main(String[] args)
+	{
+		ConfigurationController configurationController = new ConfigurationController(args[0],null);
+		configurationController.run();
+	}
+	/**
+	 * Construct a Configuration Manager from the named repository based
+	 * configuration. The default jbossesb-1.0.xsd will be used for validation.
+	 * 
+	 * @param configFileName - Name of the configuration repository.
+	 *   
+	 */
+	public ConfigurationController(String configFileName)
+	{
+		this(configFileName, null);
+	}
+	/**
+	 * Construct a Configuration Manager from the named repository based
+	 * configuration.
+	 * 
+	 * @param configFileName - Name of the configuration repository.
+	 * @param validationFileName - Name of the file name used for validation (xsd or dtd).
+	 *   
+	 */
+	public ConfigurationController(String configFileName, String validationFileName)
+	{
+		mConfigFileName = configFileName;
+		File configFile = new File(configFileName);
+		File parent = configFile.getParentFile();
+		mConfigDirectory = (null!=parent) ? parent : new File("");
+                final File listenerConfigFile = new File(mConfigDirectory, Generator.ESB_CONFIG_XML_FILE) ;
+                mListenerConfigFile = listenerConfigFile.getAbsolutePath() ;
+                final File gatewayConfigFile = new File(mConfigDirectory, Generator.ESB_CONFIG_GATEWAY_XML_FILE) ;
+                mGatewayConfigFile = gatewayConfigFile.getAbsolutePath() ;
+		//Try to obtain a handle to the validation file (xsd)
+		if (validationFileName==null) {
+			mValidationFileName=JBOSSESB_XSD;
+		} else {
+			mValidationFileName = validationFileName;
+		}
+		
+		processConfiguration() ;
+	}
+    /**
+     * Thread that observes the configuration (file). If the configuration is updated it is
+     * validated and new set jbossesb-listener.xml and jbossesb-gateway.xml is created for the
+     * current server.
+     */
+ 	public void run() 
+	{
+		mLogger.info("Configuration Controller instance started.");
+		try {
+			if (mConfigFileName!=null) {
+                                do {
+					processConfiguration() ;
+				} while(!waitForRequestedEnd(SLEEP_MILLIS)) ;
+                                stopController() ;
+			} else {
+				mLogger.fatal("The name of the configuran file was null: " + mConfigFileName);
+			}
+		} finally {
+			mLogger.info("Exiting Config Controller...");
+			setEnded(true) ;
+		}
+	}
+
+	/**
+	 * Has the controller instance ended.
+	 * @return True if this controller instance has ended, otherwise false..
+	 */
+	public boolean hasEnded() {
+            endedLock.lock() ;
+            try
+            {
+		return ended ;
+            }
+            finally
+            {
+                endedLock.unlock() ;
+            }
+	}
+        
+        /**
+         * Set the ended flag.
+         * @param ended The value of the ended flag.
+         */
+        private void setEnded(final boolean ended)
+        {
+            endedLock.lock() ;
+            try
+            {
+                this.ended = ended ;
+                endedChanged.signalAll() ;
+            }
+            finally
+            {
+                endedLock.unlock() ;
+            }
+        }
+        
+        /**
+         * Wait until the ended flag has been set.
+         * @return true if the ended flag has been set, false otherwise
+         */
+        public boolean waitUntilEnded()
+        {
+            return waitUntilEnded(ENDED_MILLIS) ;
+        }
+        
+        /**
+         * Wait until the ended flag has been set.
+         * @param maxDelay The maximum time to wait for the flag to be set.
+         * @return true if the ended flag has been set, false otherwise
+         */
+        public boolean waitUntilEnded(final long maxDelay)
+        {
+            final long endTime = System.currentTimeMillis() + maxDelay ;
+            endedLock.lock() ;
+            try
+            {
+                try
+                {
+                    while (!ended)
+                    {
+                        final long delay = endTime - System.currentTimeMillis() ;
+                        if ((delay <= 0) || !endedChanged.await(delay, TimeUnit.MILLISECONDS))
+                        {
+                            break ;
+                        }
+                    }
+                }
+                catch (final InterruptedException ie) {} // ignore
+                
+                return ended ;
+            }
+            finally
+            {
+                endedLock.unlock() ;
+            }
+        }
+        
+        /**
+         * Wait for a request to end.
+         * @param maxDelay The maximum time to wait in milliseconds.
+         */
+        public boolean waitForRequestedEnd(final long maxDelay)
+        {
+            final long endTime = System.currentTimeMillis() + maxDelay ;
+            endedLock.lock() ;
+            try
+            {
+                try
+                {
+                    while (!mIsEndRequested)
+                    {
+                        final long delay = endTime - System.currentTimeMillis() ;
+                        if ((delay <= 0) || !endRequested.await(delay, TimeUnit.MILLISECONDS))
+                        {
+                            break ;
+                        }
+                    }
+                }
+                catch (final InterruptedException ie) {} // ignore
+                
+                return mIsEndRequested ;
+            }
+            finally
+            {
+                endedLock.unlock() ;
+            }
+        }
+	
+	/**
+	 * To request the end of processing.
+	 */
+	public void requestEnd()
+        {
+            endedLock.lock() ;
+            try
+            {
+		mIsEndRequested = true;
+                endRequested.signalAll() ;
+            }
+            finally
+            {
+                endedLock.unlock() ;
+            }
+	}
+	
+	/**
+	 * Process the configuration.
+	 */
+	private void processConfiguration()
+	{
+		if (isReloadNeeded()) { 
+			try {
+				StreamSource validationInputSource=null;
+				InputStream validationInputStream = this.getClass().getResourceAsStream(mValidationFileName);
+				//if this fails try using the 
+				if (validationInputStream==null) {
+					File validationFile = new File(mValidationFileName);
+					mLogger.debug("Validation file " + mValidationFileName + " exists?:" + validationFile.exists());
+					try {
+						validationInputStream = new FileInputStream(validationFile);
+					} catch (FileNotFoundException e) {
+						mLogger.error(e.getMessage(),e);
+						throw new IllegalStateException("ESB validation file [" + (new File(mValidationFileName)).getAbsolutePath() + "] not found.", e);
+					}
+				}
+				if (validationInputStream==null) {
+					mLogger.warn("Could not obtain validation file " + mValidationFileName);
+				} else {
+					mLogger.debug("Reading validation info from " + mValidationFileName);
+					validationInputSource = new StreamSource(validationInputStream);
+				}
+				
+				mLogger.info("loading configuration..");
+				String configXml = ParamRepositoryFactory.getInstance().get(mConfigFileName);
+				mLogger.debug("Start validation on configXml=" + configXml);
+				InputSource xmlInputSource = new InputSource(new StringReader(configXml));
+				XmlValidator validator = new XmlValidatorImpl();
+				if (validator.validate(xmlInputSource, validationInputSource)) {
+					mLogger.debug("Configuration file " + mConfigFileName + " passed validation. Starting " +
+							" the generation process of the jbossesb-listener.xml and the jbossesb-gateway.xml.");
+					Generator generator = new Generator(new ByteArrayInputStream(configXml.getBytes()));
+					generator.generate(mConfigDirectory);
+					mLogger.info("Parameter reload completed.");
+                                        stopController() ;
+                                        
+                                        final List<ManagedLifecycle> instances = LifecycleUtil.getListeners(mListenerConfigFile) ;
+                                        instances.addAll(LifecycleUtil.getGateways(mGatewayConfigFile)) ;
+                                        
+                                        controller = new ManagedLifecycleController(instances) ;
+                                        try
+                                        {
+                                            controller.start() ;
+                                        }
+                                        catch (final ManagedLifecycleException mle)
+                                        {
+                                            controller = null ;
+                                            mLogger.error("Unexpected exception starting controller", mle) ;
+                                        }
+				} else {
+					StringBuffer buffer = new StringBuffer("The configuration file "
+							+ mConfigFileName + "\n did not pass validation for the following reasons: \n");
+					int i=0;
+				    for (String error: validator.getValidationResults())
+					{
+						buffer.append("** " + ++i + ". "+ error + "\n");
+					}
+				    System.out.println(buffer);
+				    mLogger.error(buffer);
+					mLogger.info("The current configuration is kept in place until "
+							+ " validation passes.");
+				}
+			} catch (Exception e) {
+				mLogger.error("The current versions of the jbossesb-listener.xml and/or"
+						    + " jbossesb-gateway.xml are kept in place until the error is resolved: "
+						    +  e.getMessage(), e);
+			    System.out.println(e.getMessage());
+			} 
+		}
+	}
+	
+	/**
+	 * Check the file timestamp and return true when it changes. In other
+	 * words this only works for files for now.
+	 * 
+	 * @return true if the file timestamp changed.
+	 */
+	private boolean isReloadNeeded() 
+	{
+		File configFile = new File(mConfigFileName);
+		if (configFile.exists()) {
+			long currentFileTimestamp = configFile.lastModified();
+			if (mPreviousFileTimestamp==0 || currentFileTimestamp > mPreviousFileTimestamp) {
+				if (mLogger.isDebugEnabled()) {
+					mLogger.debug("The previous timestamp on the file was: " + new Date(mPreviousFileTimestamp)
+						+ " the new timestamp on the file is: " + new Date(currentFileTimestamp));
+				}
+				mPreviousFileTimestamp = currentFileTimestamp;
+				return true;
+			}
+		} else {
+			mLogger.error("The configuration file " + configFile + " could not be found.");
+		}
+		return false;
+	}
+        
+        /**
+         * Stop the controller if it is active.
+         */
+        private void stopController()
+        {
+            if (controller != null)
+            {
+                try
+                {
+                    controller.stop();
+                }
+                catch (final ManagedLifecycleException mle)
+                {
+                    mLogger.error("Unexpected exception stopping controller", mle) ;
+                    System.out.println(mle.getMessage()) ;
+                }
+                controller = null ;
+            }
+        }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerService.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerService.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerService.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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.net.URI;
+
+import org.apache.log4j.Logger;
+import org.jboss.system.ServiceMBeanSupport;
+/**
+ * Service to manage the configurationController when deployed to the appserver.
+ * 
+ * @author Kurt Stam
+ *
+ */
+public class ConfigurationControllerService extends ServiceMBeanSupport implements ConfigurationControllerServiceMBean
+{
+	private ConfigurationController	configurationController;
+	private Logger logger = Logger.getLogger(this.getClass());
+	private String configurationFile="jbossesb.xml";
+	/**
+	 * Starts the gateways.
+	 */
+	protected void startService() throws Exception 
+	{
+		logger.info("starting message configuration controller with config file " + configurationFile);
+		String confDir = System.getProperty("jboss.server.config.url");
+		URI uri = new URI(confDir);
+		confDir = uri.getPath();
+		String configFile = confDir + configurationFile;
+		configurationController = new ConfigurationController(configFile,null);
+//		 TODO tidy up		
+		new Thread(configurationController).start();
+	}
+	/**
+	 * Stops the gateways.
+	 */
+	protected void stopService() throws Exception 
+	{
+		logger.info("shutting down message aware listener...");
+		configurationController.requestEnd();
+                configurationController.waitUntilEnded() ;
+	}
+	/**
+	 * Gets the config file. The name of the file can be set in the jboss-service.xml.
+	 */
+	public String getConfigurationFile() {
+		return configurationFile;
+	}
+	/**
+	 * Sets the config file.
+	 */
+	public void setConfigurationFile(String configurationFile) {
+		this.configurationFile = configurationFile;
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerServiceMBean.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerServiceMBean.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ConfigurationControllerServiceMBean.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,35 @@
+/*
+ * 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 org.jboss.system.ServiceMBean;
+/**
+ * 
+ * @author Kurt Stam
+ *
+ */
+public interface ConfigurationControllerServiceMBean extends ServiceMBean
+{
+   // Configure getters and setters for the configFile attribute
+   String getConfigurationFile();
+   void setConfigurationFile(String ConfigurationFile);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config;
+
+import java.util.List;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.FsListenerDocument.FsListener;
+import org.jboss.soa.esb.listeners.config.FtpListenerDocument.FtpListener;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
+import org.jboss.soa.esb.listeners.config.SqlListenerDocument.SqlListener;
+import org.jboss.soa.esb.listeners.config.mappers.ActionMapper;
+import org.jboss.soa.esb.listeners.config.mappers.FsListenerMapper;
+import org.jboss.soa.esb.listeners.config.mappers.FtpListenerMapper;
+import org.jboss.soa.esb.listeners.config.mappers.JmsListenerMapper;
+import org.jboss.soa.esb.listeners.config.mappers.NotificationMapper;
+import org.jboss.soa.esb.listeners.config.mappers.SqlListenerMapper;
+import org.jboss.soa.esb.listeners.config.mappers.UntypedListenerMapper;
+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>
+ */
+class ESBAwareGenerator {
+
+	/**
+	 * XMLBeans based configuration model instance.
+	 */
+	@SuppressWarnings("unused")
+	private XMLBeansModel model;
+	
+	/**
+	 * Public constructor.
+	 * @param model XMLBeans based configuration model instance.
+	 */
+	protected ESBAwareGenerator(XMLBeansModel model) {
+		this.model = model;
+	}
+
+	/**
+	 * Generate the configuration DOM for the target Server.
+	 * @return The configuration DOM.
+	 * @throws ConfigurationException Error creating configuration. 
+	 */
+	protected 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());
+		
+		// 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;
+	}
+
+	/**
+	 * 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 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 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 {
+			listenerConfigTree = UntypedListenerMapper.map(root, 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);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,107 @@
+/*
+ * 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;
+
+import java.util.List;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.FsListenerDocument.FsListener;
+import org.jboss.soa.esb.listeners.config.FtpListenerDocument.FtpListener;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.SqlListenerDocument.SqlListener;
+import org.jboss.soa.esb.listeners.config.mappers.FsListenerMapper;
+import org.jboss.soa.esb.listeners.config.mappers.FtpListenerMapper;
+import org.jboss.soa.esb.listeners.config.mappers.JmsListenerMapper;
+import org.jboss.soa.esb.listeners.config.mappers.SqlListenerMapper;
+import org.jboss.soa.esb.listeners.config.mappers.UntypedListenerMapper;
+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>
+ */
+class GatewayGenerator {
+
+	/**
+	 * XMLBeans based configuration model instance.
+	 */
+	@SuppressWarnings("unused")
+	private XMLBeansModel model;
+	
+	/**
+	 * Public constructor.
+	 * @param model XMLBeans based configuration model instance.
+	 */
+	protected GatewayGenerator(XMLBeansModel model) {
+		this.model = model;
+	}
+
+	/**
+	 * Generate the configuration DOM for the target Server.
+	 * @return The configuration DOM.
+	 * @throws ConfigurationException Error creating configuration. 
+	 */
+	protected 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());
+		
+		
+		// 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 ConfigurationException Invalid listener configuration.
+	 */
+	private void addGatewayConfig(Element root, Listener gateway) throws ConfigurationException {
+		// Of course we could do the following reflectively if we really want to - TODO perhaps!!
+		if(gateway instanceof JmsListener) {
+			JmsListenerMapper.map(root, (JmsListener)gateway, model);
+		} else if (gateway instanceof FsListener){
+			FsListenerMapper.map(root, (FsListener)gateway, model);
+		} else if (gateway instanceof FtpListener) {
+			FtpListenerMapper.map(root, (FtpListener)gateway, model);
+		} else if (gateway instanceof SqlListener) {
+			SqlListenerMapper.map(root, (SqlListener)gateway, model);
+		} else {
+			UntypedListenerMapper.map(root, gateway, model);
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/Generator.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/Generator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/Generator.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,264 @@
+/*
+ * 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;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.apache.xmlbeans.XmlException;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.JbossesbDocument.Jbossesb;
+import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
+import org.w3c.dom.Document;
+
+/**
+ * ESB Configuration Generator.
+ * <p/>
+ * Generates a legacy/deprecated configuration fileset in accordance with the
+ * {@link org.jboss.soa.esb.helpers.ConfigTree} approach to ESB configuration.  The
+ * generator input should be a configuration that has been validated against the
+ * JBoss ESB configuration schema (XMLSchema).
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Generator {
+	
+	private static Logger logger = Logger.getLogger(Generator.class);
+	
+	/**
+	 * Gateway Listeners config file.
+	 */
+	public static final String ESB_CONFIG_GATEWAY_XML_FILE = "jbossesb-gateway.xml";
+	/**
+	 * ESB Aware Listeners config file.
+	 */
+	public static final String ESB_CONFIG_XML_FILE = "jbossesb-listener.xml";
+	/**
+	 * Configuration model.
+	 */
+	private XMLBeansModel model;
+	
+	/**
+	 * Public constructor.
+	 * @param config The input configuration stream.
+	 * @throws ConfigurationException Bad listener ESB configuration. 
+	 * @throws IOException Unable to read the ESB listener configuration.
+	 */
+	public Generator(InputStream config) throws ConfigurationException, IOException {
+		if(config == null) {
+			throw new IllegalArgumentException("null 'config' arg in constructor call.");
+		}
+		
+		// Parse the config into our internal model instance...
+		try {
+			JbossesbDocument doc = JbossesbDocument.Factory.parse(config);
+			
+			// TODO: Get validation working from here - would save
+			// doc.validate();
+			
+			model = new XMLBeansModel(doc);
+		} catch (XmlException e) {
+			throw new ConfigurationException("Error while processing ESB Listener configuration stream.", e);
+		}
+	}
+	
+	/**
+	 * Generate the configuration set in the supplied output directory.
+	 * <p/>
+	 * The names of the generated files will be esb-config.xml (ESB Aware Listeners configuration)
+	 * and esb-config-gateway.xml (Gateway Listeners configuration).
+	 * 
+	 * @param outdir The output directory to where the configuration set is to be generated.
+	 * The directory will be created if it doesn't already exist.
+	 * @throws ConfigurationException Failed to generate configuration set.
+	 */
+	public void generate(File outdir) throws ConfigurationException {
+		if(outdir == null) {
+			throw new IllegalArgumentException("null 'outdir' arg in method call.");
+		}
+		if(!outdir.exists()) {
+			outdir.mkdirs();
+			if(!outdir.exists()) {
+				throw new IllegalArgumentException("Failed to create 'outdir' [" + outdir.getAbsolutePath() + "].");
+			}
+		}
+		if(!outdir.isDirectory()) {
+			throw new IllegalArgumentException("'outdir' exists, but is not a directory.");
+		}
+
+		// Generate and serialise the configuration for the ESB Aware listeners...
+		ESBAwareGenerator awareGenerator = new ESBAwareGenerator(model);
+		Document awareConfig = awareGenerator.generate();
+
+		logger.info("Serializing ESB Aware Listener 'ConfigTree' configuration to [" + (new File(outdir, ESB_CONFIG_XML_FILE)).getAbsolutePath() + "].");
+		YADOMUtil.serialize(awareConfig, outdir, ESB_CONFIG_XML_FILE);
+
+		// Generate and serialise the configuration for the Gateway listeners...
+		GatewayGenerator gatewayGenerator = new GatewayGenerator(model);
+		Document gatewayConfig = gatewayGenerator.generate();
+		
+		logger.info("Serializing ESB Gateway 'ConfigTree' configuration to [" + (new File(outdir, ESB_CONFIG_GATEWAY_XML_FILE)).getAbsolutePath() + "].");
+		YADOMUtil.serialize(gatewayConfig, outdir, ESB_CONFIG_GATEWAY_XML_FILE);
+	}
+
+	/**
+	 * Get the model instance associate with the configuration used to create this Generator instance. 
+	 * @return Returns the model.
+	 */
+	protected XMLBeansModel getModel() {
+		return model;
+	}
+	
+	/**
+	 * 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.
+		 */
+		@SuppressWarnings("unused")
+		private Jbossesb jbossesb;
+		
+		/**
+		 * Constructor.
+		 * @param jbossesb XMLBeans config model.
+		 */
+		private XMLBeansModel(JbossesbDocument xmlBeansDoc) {
+			this.jbossesb = xmlBeansDoc.getJbossesb();
+		}
+
+		/**
+		 * Get the list of ESB Gateway Listeners from the configuration.
+		 * @return The list of ESB Gateway Listeners from the configuration.
+		 */
+		public List<Listener> getGatewayListeners() {
+			return getListeners(true);
+		}
+
+		/**
+		 * Get the list of ESB Aware Listeners from the configuration.
+		 * @return The list of ESB Aware Listeners from the configuration.
+		 */
+		public List<Listener> getESBAwareListeners() {
+			return getListeners(false);
+		}
+
+		/**
+		 * Get the Service to which the supplied {@link 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<ServiceDocument.Service> services = jbossesb.getServices().getServiceList();
+			
+			for(Service service : services) {
+				for(Listener serviceListener : service.getListeners().getListenerList()) {
+					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 &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 ConfigurationException Unknown busid reference value.
+		 */
+		public Bus getBus(String busid) throws ConfigurationException {
+			List<Provider> providers = jbossesb.getProviders().getProviderList();
+			
+			for(Provider provider : providers) {
+				List<Bus> buses = provider.getBusList();
+				
+				for(Bus bus : buses) {
+					if(bus.getBusid().equals(busid)) {
+						return bus;
+					}
+				}
+			}
+			
+			throw new ConfigurationException("Invalid ESB Configuration: No <bus> configuration matching busid reference value [" + busid + "].");
+		}
+
+		/**
+		 * 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) {
+			List<Provider> providers = jbossesb.getProviders().getProviderList();
+			
+			for(Provider provider : providers) {
+				List<Bus> buses = 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 list of ESB Listeners based on their Gateway flag.
+		 * @return The list of ESB Aware or Gateway Listeners from the configuration.
+		 */
+		private List<Listener> getListeners(boolean isGateway) {
+			List<Listener> gateways = new ArrayList<Listener>();
+			if (jbossesb.getServices() != null) {
+				List<Service> services = jbossesb.getServices().getServiceList();
+			
+				for(Service service : services) {
+					for(Listener listener : service.getListeners().getListenerList()) {
+						if(listener.getIsGateway() == isGateway) {
+							gateways.add(listener);
+						}
+					}
+				}
+			}
+			
+			return gateways;
+		}
+		/**
+		 * Gets the setting for the number of seconds between reloads.
+		 * 
+		 * @return
+		 */
+		public String getParameterReloadSecs() {
+			return jbossesb.getParameterReloadSecs().getStringValue();
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/MockXmlValidatorImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/MockXmlValidatorImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/MockXmlValidatorImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,33 @@
+package org.jboss.soa.esb.listeners.config;
+
+import java.util.Collection;
+
+import javax.xml.transform.stream.StreamSource;
+
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+
+public class MockXmlValidatorImpl implements XmlValidator
+{
+
+	public Collection<String> getValidationResults() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public Document getXMLDocument() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public boolean validate(InputSource xmlInputSource) throws XmlValidatorException {
+		// TODO Auto-generated method stub
+		return true;
+	}
+
+	public boolean validate(InputSource xmlInputSource, StreamSource validationSource) throws XmlValidatorException {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidator.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidator.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,68 @@
+/*
+ * 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.util.Collection;
+
+import javax.xml.transform.stream.StreamSource;
+
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+/**
+ * Interface for validating an xml given it's xsd or dtd.
+ * 
+ * @author kstam
+ * @author ddegroff
+ *
+ */
+public interface XmlValidator 
+{
+	/**
+	 * Validates an xml for it's wellformedness.
+	 * 
+	 * @param xmlInputSource of the xml that needs to be validated.
+	 * @return boolean, true if  it passed validation, false if it failed.
+	 * @throws XmlValidatorException
+	 */
+	public boolean validate(InputSource xmlInputSource) throws XmlValidatorException;
+	/**
+	 * Validates an xml using the xsd or dtd given in the second argument.
+	 * 
+	 * @param xmlInputSource of the xml that needs to be validated.
+	 * @param validationSource to the xsd or dtd.
+	 * @return boolean, true if  it passed validation, false if it failed.
+	 * @throws XmlValidatorException
+	 */
+	public boolean validate(InputSource xmlInputSource, StreamSource validationSource) throws XmlValidatorException;
+	/**
+	 * If the validation fails, more details can be obtained about the reasons why.
+	 * 
+	 * @return Collection Strings
+	 */
+	public Collection<String> getValidationResults();
+	/**
+	 * After validation the parsed document can be obtained for further processing.
+	 * 
+	 * @return Document, the parsed XML Document.
+	 */
+	public Document getXMLDocument();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,42 @@
+/*
+ * 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;
+
+/**
+ * @author Kurt Stam
+ *
+ */
+public class XmlValidatorException extends Exception {
+    private static final long serialVersionUID = 1L;
+    
+    public XmlValidatorException(){
+        super();
+    }
+    
+    public XmlValidatorException (String msg){
+        super(msg);
+    }
+    
+    public XmlValidatorException (String msg, Throwable cause){
+        super (msg, cause);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,228 @@
+/*
+ * 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.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.HashSet;
+
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+
+import org.apache.log4j.Logger;
+import org.w3c.dom.Document;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+/**
+ * A Helper classes used to validate xml files against supplied schemas.
+ * 
+ * @author $Revision$ $Id$
+ */
+ at SuppressWarnings("unchecked")
+public class XmlValidatorImpl implements XmlValidator {
+
+	/**
+	 * Our Logger
+	 */
+	private Logger log = Logger.getLogger(this.getClass());
+
+	@SuppressWarnings("unused")
+	private InputSource xmlSource, validationSource;
+
+	private String defaultSchema = "etc/schemas/xml/jbossesb-1.0.xsd";
+	/**
+	 * The path separator
+	 */
+	@SuppressWarnings("unused")
+	private static String SEP = System.getProperty("file.separator");
+
+	private boolean isValid = true;
+
+	private Collection<String> validationResults = new HashSet();
+
+	private Document xmlDocument;
+
+	public XmlValidatorImpl() {
+		File defaultSchemaFile = new File (defaultSchema);
+		if (defaultSchemaFile.exists()) {
+			log.debug("defaultSchema "+defaultSchema+" exists");
+		}
+	}
+
+	public XmlValidatorImpl(InputSource xmlSource) {
+		setXMLDocument(xmlSource);		
+
+		File defaultSchemaFile = new File (defaultSchema);
+		if (defaultSchemaFile.exists()) {
+			log.debug("defaultSchema "+defaultSchema+" exists");
+		}
+	}
+
+	/**
+	 * Validation method used to validate an xml file against a default xsd
+	 * (jbossesb-1.0.xsd).
+	 * 
+	 * @param xmlSource
+	 *            The xml input source to be validated.
+	 * @return Boolean true/false indicating successful validation.
+	 * @throws XmlValidatorException
+	 *             Failure during validation.
+	 */
+	public boolean validate(InputSource xmlSource) throws XmlValidatorException {
+		StreamSource validationInputSource = null;
+
+		InputStream validationInputStream = this.getClass().getResourceAsStream(defaultSchema);
+		// if this fails try using the
+		if (validationInputStream==null) {
+			File validationFile = new File(defaultSchema);
+			log.debug("Validation file " + defaultSchema + " exists?:" + validationFile.exists());
+			try {
+				validationInputStream = new FileInputStream(validationFile);
+			} catch (FileNotFoundException e) {
+				log.error(e.getMessage(),e);
+			}
+		}
+		if (validationInputStream==null) {
+			log.warn("Could not obtain validation file " + defaultSchema);
+		} else {
+			log.debug("Reading validation info from " + defaultSchema);
+			validationInputSource = new StreamSource(validationInputStream);
+		}
+		return validate(xmlSource,validationInputSource);
+	}
+
+	/**
+	 * Validation method used to validate an xml input source against an xsd
+	 * input source.
+	 * 
+	 * @param xmlSource
+	 *            The xml input source to be validated.
+	 * @param validationSource
+	 *            The schema input source to validate against.
+	 * @return Boolean true/false indicating successful validation.
+	 * @throws XmlValidationException
+	 *             Failure during validation.
+	 */
+	public boolean validate(InputSource xmlSource, StreamSource validationSource) throws XmlValidatorException 
+	{
+		try {
+			Schema schema = null;
+			SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+			if (validationSource == null) {
+				Source schemaFile = new StreamSource(defaultSchema);
+				try {
+					schema = factory.newSchema(schemaFile);
+				} catch (SAXException e) {
+					System.out.println("Failed to validate xml");
+					isValid = false;
+				}
+			}
+			else {
+				schema = factory.newSchema(validationSource);
+			}
+			DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
+			builderFactory.setNamespaceAware(true);
+			builderFactory.setSchema(schema);
+			DocumentBuilder parser = null;
+			try {
+				parser = builderFactory.newDocumentBuilder();
+				parser.setErrorHandler(new XmlErrorHandler());
+			} catch (ParserConfigurationException e) {
+				log.error("ParserConfigurationException occurred: " + e.getMessage(),e); 
+				isValid = false;
+			}
+			try {
+				xmlDocument = parser.parse(xmlSource); 
+			} catch (IOException e) {
+				log.error("parser.parse(): IOException occurred: " + e.getMessage(),e); 
+				isValid = false;
+			}      
+		} catch (SAXException e) {
+			log.error("SAXException occurred: " + e.getMessage());
+			isValid = false;
+		}
+		return isValid;
+	}
+
+	class XmlErrorHandler implements ErrorHandler 
+	{
+		public void warning(SAXParseException exception) throws SAXException {
+			// Bring things to a crashing halt
+			validationResults.add("WARNING-"+exception.getSystemId()+"-"+exception.getLineNumber()+":"+exception.getMessage());        
+			log.warn("WARNING-"+exception.getSystemId()+"-"+exception.getLineNumber()+":"+exception.getMessage());        
+		}
+
+		public void error(SAXParseException exception) throws SAXException {
+			// Bring things to a crashing halt
+			validationResults.add("ERROR-"+exception.getSystemId()+"-"+exception.getLineNumber()+":"+exception.getMessage());        
+			log.error(validationResults.size()+"-ERROR-"+exception.getSystemId()+"-"+exception.getLineNumber()+":"+exception.getMessage());        
+			isValid = false;
+		}
+
+		public void fatalError(SAXParseException exception) throws SAXException {
+			// Bring things to a crashing halt
+			validationResults.add("FATAL-"+exception.getSystemId()+"-"+exception.getLineNumber()+":"+exception.getMessage());        
+			log.fatal("FATAL-"+exception.getSystemId()+"-"+exception.getLineNumber()+":"+exception.getMessage());        
+			isValid = false;
+		}
+	}
+
+	public Collection<String> getValidationResults() 
+	{
+		return validationResults;
+	}
+
+	public void setXMLDocument(InputSource xmlSource) 
+	{
+		try {       
+			DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
+			DocumentBuilder parser = builderFactory.newDocumentBuilder();
+
+			xmlDocument = parser.parse(xmlSource); 
+			log.info(xmlDocument.toString());
+		} catch (SAXException e) {
+			System.err.println(e); 
+		} catch (ParserConfigurationException e) {
+			System.err.println(e); 
+		} catch (IOException e) {
+			System.err.println(e); 
+		}      
+	}
+
+	public Document getXMLDocument() {
+		return xmlDocument;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,91 @@
+/*
+ * 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.mappers;
+
+import java.util.List;
+
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.ActionDocument.Action;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.PropertyDocument.Property;
+import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
+import org.milyn.xml.DomUtils;
+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 {
+
+	/**
+	 * Perform the mapping.
+	 * @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.
+	 */
+	public static void map(Element listenerConfigTree, Service listenerService, XMLBeansModel model) {
+		if (listenerService.getActions()!=null) {
+			List<Action> actions = listenerService.getActions().getActionList();
+			
+			for(Action action : actions) {
+				mapAction(listenerConfigTree, action);
+			}
+		}
+	}
+
+	/**
+	 * 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 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()) {
+				DomUtils.copyChildNodes(propertyElement, actionConfigTree);
+			} else {
+				actionConfigTree.setAttribute(property.getName(), property.getValue());
+			}
+		}
+		
+		// Remove any empty attributes set on the action config...
+		YADOMUtil.removeEmptyAttributes(actionConfigTree);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FsListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FsListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FsListenerMapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ */
+
+package org.jboss.soa.esb.listeners.config.mappers;
+
+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.FsBusDocument.FsBus;
+import org.jboss.soa.esb.listeners.config.FsListenerDocument.FsListener;
+import org.jboss.soa.esb.listeners.config.FsMessageFilterDocument.FsMessageFilter;
+import org.jboss.soa.esb.listeners.config.FsProviderDocument.FsProvider;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+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 ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, FsListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+		FsBus bus;
+		FsProvider provider;
+		
+		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() + "].");
+			}
+		}
+		listenerNode.setAttribute("pollLatencySeconds", String.valueOf(listener.getPollFrequencySeconds()));
+		// 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()));
+		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());
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,123 @@
+/*
+ * 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.mappers;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+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.FtpBusDocument.FtpBus;
+import org.jboss.soa.esb.listeners.config.FtpListenerDocument.FtpListener;
+import org.jboss.soa.esb.listeners.config.FtpMessageFilterDocument.FtpMessageFilter;
+import org.jboss.soa.esb.listeners.config.FtpProviderDocument.FtpProvider;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+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 ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, FtpListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+		FtpBus bus;
+		FtpProvider provider;
+		
+		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() + "].");
+			}
+		}
+		listenerNode.setAttribute("pollLatencySeconds", String.valueOf(listener.getPollFrequencySeconds()));
+		// 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", 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;
+	}
+
+	private static void mapFtpEprProperties(Element toElement, FtpProvider provider, FtpMessageFilter messageFilter) 
+	{
+		toElement.setAttribute(ListenerTagNames.URL_TAG, messageFilter.getProtocol() + "://" + messageFilter.getUsername() + ":" 
+				+ messageFilter.getPassword() + "@" + provider.getHostname() + ":" + messageFilter.getDirectory());
+		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()));
+		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 ("sftp".equals(messageFilter.getProtocol()) || "ftps".equals(messageFilter.getProtocol())) {
+			toElement.setAttribute(SFTPEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,112 @@
+/*
+ * 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.mappers;
+
+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.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.JmsBusDocument.JmsBus;
+import org.jboss.soa.esb.listeners.config.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.JmsMessageFilterDocument.JmsMessageFilter;
+import org.jboss.soa.esb.listeners.config.JmsProviderDocument.JmsProvider;
+import org.jboss.soa.esb.listeners.gateway.JmsGatewayListener;
+import org.w3c.dom.Element;
+
+/**
+ * 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 {
+
+	/**
+	 * 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 ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, JmsListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+		JmsBus bus;
+		JmsProvider provider;
+		
+		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 = (JmsProvider) 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() + "].");
+			}
+		}
+		
+		// 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", JmsGatewayListener.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...
+			mapJmsEprProperties(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...
+			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, JmsProvider provider, JmsMessageFilter messageFilter) {
+		toElement.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, messageFilter.getDestType().toString().toLowerCase());
+		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());
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,155 @@
+/*
+ * 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.mappers;
+
+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.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.Bus;
+import org.jboss.soa.esb.listeners.config.Listener;
+import org.jboss.soa.esb.listeners.config.Provider;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.PropertyDocument.Property;
+import org.jboss.soa.esb.listeners.config.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>
+ */
+abstract class MapperUtil {
+
+	/**
+	 * Map all default listener attributes onto the target listener ConfigTree.
+	 * @param listener The listener configuration instance.
+	 * @param target The target DOM ConfigTree listener element.
+	 * @param model The model.
+	 */
+	protected static void mapDefaultAttributes(Listener listener, Element target, XMLBeansModel model) {
+		Service service = model.getService(listener);
+		
+		// Map maxThreads - appears to be a JMS only attrib...
+		target.setAttribute(ListenerTagNames.MAX_THREADS_TAG, String.valueOf(listener.getMaxThreads()));
+		target.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());	
+		if(listener.getIsGateway()) {
+			target.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());			
+			target.setAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG, service.getName());			
+		} else {
+            target.setAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, service.getCategory());         
+            target.setAttribute(ListenerTagNames.SERVICE_NAME_TAG, service.getName());          
+			target.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.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 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.
+	 */
+	protected static void mapProperties(List<Property> properties, Element target) {
+		// Map the property elements to actions attributes...
+		for(Property property : properties) {
+			target.setAttribute(property.getName(), property.getValue());
+		}
+	}
+
+	/**
+	 * Serialise the supplied {@link 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;
+			}
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/NotificationMapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/NotificationMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/NotificationMapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,44 @@
+/*
+ * 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.mappers;
+
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.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
+		
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/SqlListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/SqlListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/SqlListenerMapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,115 @@
+/*
+ * 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.mappers;
+
+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.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.SqlBusDocument.SqlBus;
+import org.jboss.soa.esb.listeners.config.SqlListenerDocument.SqlListener;
+import org.jboss.soa.esb.listeners.config.SqlMessageFilterDocument.SqlMessageFilter;
+import org.jboss.soa.esb.listeners.config.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 ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, SqlListener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+		SqlBus bus;
+		SqlProvider provider;
+		
+		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!");
+		}
+		
+		SqlMessageFilter messageFilter = listener.getSqlMessageFilter();
+		if(messageFilter == null) {
+			messageFilter = bus.getSqlMessageFilter();
+			if(messageFilter == null) {
+				throw new ConfigurationException("No <sql-detination> defined on either <sql-listener> [" + listener.getName() + "] or <sql-bus> [" + bus.getBusid() + "].");
+			}
+		}
+		listenerNode.setAttribute("pollLatencySeconds", String.valueOf(listener.getPollFrequencySeconds()));
+		// 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());
+			// 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.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.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()));
+		
+		
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,106 @@
+/*
+ * 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.mappers;
+
+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.Bus;
+import org.jboss.soa.esb.listeners.config.Listener;
+import org.jboss.soa.esb.listeners.config.Provider;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.impl.BusImpl;
+import org.jboss.soa.esb.listeners.config.impl.ListenerImpl;
+import org.jboss.soa.esb.listeners.config.impl.ProviderImpl;
+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 ConfigurationException Invalid listener configuration.
+	 */
+	public static Element map(Element root, Listener listener, XMLBeansModel model) throws ConfigurationException {
+		Element listenerNode = YADOMUtil.addElement(root, 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(listener.getIsGateway()) {
+			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 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() != ProviderImpl.class) {
+			throw new ConfigurationException("A base Bus config type (<bus>) must be contained within a base Provider type (<provider>).");
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,525 @@
+/*
+ * 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.gateway;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.util.Collection;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.listeners.RegistryUtil;
+import org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleThreadState;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.util.Util;
+
+/**
+ * Base class for all file gateways: local filesystem, ftp, sftp and ftps.
+ * <p/>Implementations for file manipulation (getFileList, getFileContents,
+ * renameFile and deleteFile) must be provided by factory
+ * 
+ * @author <a
+ *         href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ * 
+ */
+public abstract class AbstractFileGateway extends AbstractThreadedManagedLifecycle
+{
+	abstract File[] getFileList(String suffix) throws GatewayException;
+
+	abstract byte[] getFileContents(File file) throws GatewayException;
+
+	abstract boolean renameFile(File from, File to) throws GatewayException;
+
+	abstract boolean deleteFile(File file) throws GatewayException;
+
+	abstract void seeIfOkToWorkOnDir(File p_oDir) throws GatewayException;
+
+	abstract void getDefaultComposer() throws GatewayException;
+
+	protected AbstractFileGateway(ConfigTree config) throws ConfigurationException, RegistryException, GatewayException
+	{
+            super(config) ;
+            _config = config;
+            _sleepBetweenPolls = 10000; // milliseconds
+            checkMyParms();
+	} // __________________________________
+        
+        /**
+         * Handle the initialisation of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while initialisation.
+         */
+        protected void doInitialise()
+            throws ManagedLifecycleException
+        {
+            try
+            {
+                _targetEprs = RegistryUtil.getEprs(_targetServiceCategory,_targetServiceName);
+                if (null == _targetEprs || _targetEprs.size() < 1)
+                    throw new ManagedLifecycleException("EPR <" + _targetServiceName + "> not found in registry") ;
+            }
+            catch (final RegistryException re)
+            {
+                throw new ManagedLifecycleException("Unexpected registry exception", re) ;
+            }
+        }
+
+        /**
+         * Execute on the thread.
+         */
+        protected void doRun()
+        {
+                if (_logger.isDebugEnabled())
+                {
+        		_logger.debug("run() method of " + this.getClass().getSimpleName()
+    				+ " started on thread " + Thread.currentThread().getName());
+                }
+
+                do
+		{
+			File[] fileList;
+			try
+			{
+				fileList = getFileList(_inputSuffix);
+			}
+			catch (GatewayException e)
+			{
+				_logger.error("Can't retrieve file list", e);
+				continue;
+			}
+
+			for (File fileIn : fileList)
+			{
+				// Try to rename - if unsuccessful, somebody else got it first
+				File fileWork = new File(fileIn.toString() + _workingSuffix);
+				try
+				{
+					if (!renameFile(fileIn, fileWork))
+						continue;
+				}
+				catch (GatewayException e)
+				{
+					_logger.error("Problems renaming file " + fileIn + " to "
+							+ fileWork);
+					continue;
+				}
+
+				Throwable thrown = null;
+				String text = null;
+				try
+				{
+					Object obj = _processMethod.invoke(_composer, new Object[]
+					{ fileWork });
+					if (null == obj)
+					{
+						_logger.warn("Action class method <"
+								+ _processMethod.getName()
+								+ "> returned a null object");
+						continue;
+					}
+					boolean bSent = false;
+					for (EPR current : _targetEprs)
+					{
+						if (current instanceof FileEpr)
+						{
+							try
+							{
+								FileEpr fpr = (FileEpr) current;
+								FileEpr newEpr = new FileEpr(fpr.getURL());
+								newEpr.setPostDelete(false);
+								newEpr.setPostDirectory(fpr.getURL().getFile());
+								newEpr.setPostSuffix(fpr.getInputSuffix());
+								current = newEpr;
+							}
+							catch (Exception e)
+							{
+								_logger.error("Problems with file EPR", e);							}
+						}
+						_courier = CourierFactory.getCourier(current);
+                                                try
+                                                {
+                                                    if (_courier
+                                                    		.deliver((org.jboss.soa.esb.message.Message) obj))
+                                                    {
+                                                    	bSent = true;
+                                                    	break;
+                                                    }
+                                                }
+                                                finally
+                                                {
+                                                    CourierUtil.cleanCourier(_courier) ;
+                                                }
+                                                
+					}
+					if (!bSent)
+					{
+						text = "Target service <" + _targetServiceCategory
+								+ "," + _targetServiceName
+								+ "> is not registered";
+						thrown = new Exception(text);
+					}
+				}
+				catch (InvocationTargetException e)
+				{
+					thrown = e;
+					text = "Problems invoking method <"
+							+ _processMethod.getName() + ">";
+
+				}
+				catch (IllegalAccessException e)
+				{
+					thrown = e;
+					text = "Problems invoking method <"
+							+ _processMethod.getName() + ">";
+				}
+				catch (ClassCastException e)
+				{
+					thrown = e;
+					text = "Action class method <" + _processMethod.getName()
+							+ "> returned a non Message object";
+				}
+				catch (CourierException e)
+				{
+					thrown = e;
+					if (null != _courier)
+						text = "Courier <" + _courier.getClass().getName()
+								+ ".deliver(Message) FAILED";
+					else
+						text = "NULL courier can't deliver Message";
+				}
+				catch (MalformedEPRException e)
+				{
+					thrown = e;
+					if (null != _courier)
+						text = "Courier <" + _courier.getClass().getName()
+								+ ".deliver(Message) FAILED with malformed EPR.";
+					else
+						text = "NULL courier can't deliver Message";
+				}
+
+				if (null == thrown)
+				{
+					File fileOK = new File(_postProcessDirectory, fileIn
+							.getName()
+							+ _postProcessSuffix);
+					if (_deleteAfterOK)
+					{
+						try
+						{
+							deleteFile(fileWork);
+						}
+						catch (GatewayException e)
+						{
+							_logger
+									.error(
+											"File "
+													+ fileIn
+													+ " has been processed and renamed to "
+													+ fileWork
+													+ ", but there were problems deleting it from the input directory ",
+											e);
+						}
+					}
+					else
+					{
+						try
+						{
+							renameFile(fileWork, fileOK);
+						}
+						catch (GatewayException e)
+						{
+							_logger
+									.error(
+											"File "
+													+ fileIn
+													+ " has been processed and renamed to "
+													+ fileWork
+													+ ", but there were problems renaming it to "
+													+ fileOK, e);
+						}
+					}
+				}
+				else
+				{
+					thrown.printStackTrace();
+					_logger.error(text, thrown);
+					File fileError = new File(_errorDirectory, fileIn.getName()
+							+ _errorSuffix);
+					try
+					{
+						deleteFile(fileError);
+						renameFile(fileWork, fileError);
+					}
+					catch (GatewayException e)
+					{
+						_logger.error("Problems renaming file " + fileWork
+								+ " to " + fileError, e);
+					}
+				}
+			}
+		}
+                while (!waitForRunningStateChange(ManagedLifecycleThreadState.STOPPING, _sleepBetweenPolls)) ;
+
+                if (_logger.isDebugEnabled())
+                {
+                    _logger.debug("run() method of " + this.getClass().getSimpleName()
+				+ " finished on thread " + Thread.currentThread().getName());
+                }
+	} // ________________________________
+        
+        /**
+         * Handle the destroy of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while destroying.
+         */
+        protected void doDestroy()
+            throws ManagedLifecycleException
+        {
+        }
+
+	/**
+	 * Check for mandatory and optional attributes in parameter tree
+	 * 
+	 * @throws ConfigurationException -
+	 *             if mandatory atts are not right or actionClass not in
+	 *             classpath
+	 */
+	private void checkMyParms() throws ConfigurationException, RegistryException, GatewayException
+	{
+		// Third arg is null - Exception will be thrown if attribute is not
+		// found
+		_targetServiceCategory = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, null);
+		_targetServiceName = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.TARGET_SERVICE_NAME_TAG, null);
+
+		// Polling interval
+		String sAux = _config
+				.getAttribute(ListenerTagNames.POLL_LATENCY_SECS_TAG);
+		
+		if (!Util.isNullString(sAux))
+		{
+			try
+			{
+				_sleepBetweenPolls = 1000 * Long.parseLong(sAux);
+			}
+			catch (NumberFormatException e)
+			{
+				_logger.warn("Invalid poll latency - keeping default of "
+						+ (_sleepBetweenPolls / 1000));
+			}
+		}
+		else
+		{
+			_logger.warn("No value specified for: "
+					+ ListenerTagNames.POLL_LATENCY_SECS_TAG
+					+ " -  Using default of " + (_sleepBetweenPolls / 1000));
+		}
+
+		resolveComposerClass();
+
+		try
+		{
+			// INPUT directory and suffix (used for FileFilter)
+			String url = _config.getAttribute(ListenerTagNames.URL_TAG);
+			String sInpDir = (null != url) ? new URL(url).getFile() :
+                            ListenerUtil.obtainAtt(_config, ListenerTagNames.FILE_INPUT_DIR_TAG, null);
+			_inputDirectory = fileFromString(sInpDir);
+			seeIfOkToWorkOnDir(_inputDirectory);
+	
+			_inputSuffix = ListenerUtil.obtainAtt(_config,
+					ListenerTagNames.FILE_INPUT_SFX_TAG, null);
+			_inputSuffix = _inputSuffix.trim();
+			if (_inputSuffix.length() < 1)
+				throw new ConfigurationException("Invalid "
+						+ ListenerTagNames.FILE_INPUT_SFX_TAG + " attribute");
+	
+			// WORK suffix (will rename in input directory)
+			_workingSuffix = ListenerUtil.obtainAtt(_config,
+					ListenerTagNames.FILE_WORK_SFX_TAG, ".esbWork").trim();
+			if (_workingSuffix.length() < 1)
+				throw new ConfigurationException("Invalid " + ListenerTagNames.FILE_WORK_SFX_TAG
+						+ " attribute");
+			if (_inputSuffix.equals(_workingSuffix))
+				throw new ConfigurationException("Work suffix must differ from input suffix <"
+						+ _workingSuffix + ">");
+	
+			// ERROR directory and suffix (defaults to input dir and ".esbError"
+			// suffix)
+			String sErrDir = ListenerUtil.obtainAtt(_config,
+					ListenerTagNames.FILE_ERROR_DIR_TAG, sInpDir);
+			_errorDirectory = fileFromString(sErrDir);
+			seeIfOkToWorkOnDir(_errorDirectory);
+	
+			_errorSuffix = ListenerUtil.obtainAtt(_config,
+					ListenerTagNames.FILE_ERROR_SFX_TAG, ".esbError").trim();
+			if (_errorSuffix.length() < 1)
+				throw new ConfigurationException("Invalid "
+						+ ListenerTagNames.FILE_ERROR_SFX_TAG + " attribute");
+			if (_errorDirectory.equals(_inputDirectory)
+					&& _inputSuffix.equals(_errorSuffix))
+				throw new ConfigurationException("Error suffix must differ from input suffix <"
+						+ _errorSuffix + ">");
+	
+			// Do users wish to delete files that were processed OK ?
+			String sPostDel = ListenerUtil.obtainAtt(_config,
+					ListenerTagNames.FILE_POST_DEL_TAG, "false").trim();
+			_deleteAfterOK = Boolean.parseBoolean(sPostDel);
+			if (_deleteAfterOK)
+				return;
+	
+			// POST (done) directory and suffix (defaults to input dir and
+			// ".esbDone" suffix)
+			String sPostDir = ListenerUtil.obtainAtt(_config,
+					ListenerTagNames.FILE_POST_DIR_TAG, sInpDir);
+			_postProcessDirectory = fileFromString(sPostDir);
+			seeIfOkToWorkOnDir(_postProcessDirectory);
+			_postProcessSuffix = ListenerUtil.obtainAtt(_config,
+					ListenerTagNames.FILE_POST_SFX_TAG, ".esbDone").trim();
+			if (_postProcessDirectory.equals(_inputDirectory))
+			{
+				if (_postProcessSuffix.length() < 1)
+					throw new ConfigurationException("Invalid "
+							+ ListenerTagNames.FILE_POST_SFX_TAG + " attribute");
+				if (_postProcessSuffix.equals(_inputSuffix))
+					throw new ConfigurationException(
+							"Post process suffix must differ from input suffix <"
+									+ _postProcessSuffix + ">");
+			}
+		}
+		catch (GatewayException ex)
+		{
+			throw ex;
+		}
+		catch (MalformedURLException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	} // ________________________________
+
+	protected void resolveComposerClass() throws ConfigurationException, GatewayException
+	{
+		try
+		{
+			String sProcessMethod = null;
+            _composerName = _config.getAttribute(ListenerTagNames.GATEWAY_COMPOSER_CLASS_TAG);
+			if (null != _composerName)
+			{ // class attribute
+				_composerClass = Class.forName(_composerName);
+				Constructor oConst = _composerClass.getConstructor(new Class[]
+				{ ConfigTree.class });
+				_composer = oConst.newInstance(_config);
+				sProcessMethod = _config.getAttribute(ListenerTagNames.GATEWAY_COMPOSER_METHOD_TAG, "process");
+			}
+			else
+			{
+				getDefaultComposer();
+				sProcessMethod = "process";
+			}
+	
+			_processMethod = _composerClass.getMethod(sProcessMethod, new Class[]
+			{ Object.class });
+		}
+		catch (InvocationTargetException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		catch (IllegalAccessException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		catch (InstantiationException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		catch (NoSuchMethodException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		catch (ClassNotFoundException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	} // ________________________________
+
+	private File fileFromString(String file)
+	{
+		try
+		{
+			return new File(new URI(file));
+		}
+		catch (Exception e)
+		{
+			return new File(file);
+		}
+	} // ________________________________
+
+	protected final static Logger _logger = Logger
+			.getLogger(AbstractFileGateway.class);
+
+	protected ConfigTree _config;
+
+	protected long _sleepBetweenPolls; // milliseconds
+
+	protected String _targetServiceCategory, _targetServiceName;
+
+	protected Collection<EPR> _targetEprs;
+
+	protected String _composerName;
+
+	protected Class _composerClass;
+
+	protected Object _composer;
+
+	protected Method _processMethod;
+
+	protected Courier _courier;
+
+	protected boolean _deleteAfterOK;
+
+	protected File _inputDirectory, _errorDirectory, _postProcessDirectory;
+
+	protected String _inputSuffix, _postProcessSuffix, _workingSuffix,
+			_errorSuffix;
+
+	protected FileFilter _fileFilter;
+} // ____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListener.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/FileGatewayListener.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,252 @@
+/*
+ * 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.gateway;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+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.util.Util;
+
+public class FileGatewayListener extends AbstractFileGateway
+{
+    /**
+     * serial version uid for this class
+     */
+    private static final long serialVersionUID = 8457176329093772449L;
+
+    public FileGatewayListener(ConfigTree config) throws ConfigurationException, RegistryException, GatewayException
+	{
+		super(config);
+		_fileFilter = new FileEndsWith(_inputSuffix);
+	}
+
+	@Override
+	protected void seeIfOkToWorkOnDir(File p_oDir) throws GatewayException
+	{
+		if (!p_oDir.exists())
+			throw new GatewayException("Directory " + p_oDir.toString()
+					+ " not found");
+		if (!p_oDir.isDirectory())
+			throw new GatewayException(p_oDir.toString()
+					+ " is not a directory");
+		if (!p_oDir.canRead())
+			throw new GatewayException("Can't read directory "
+					+ p_oDir.toString());
+		if (!p_oDir.canWrite())
+			throw new GatewayException("Can't write/rename in directory "
+					+ p_oDir.toString());
+	} // ________________________________
+
+	@Override
+	boolean deleteFile(File file) throws GatewayException
+	{
+		return file.delete();
+	}
+
+	@Override
+	byte[] getFileContents(File file) throws GatewayException
+	{
+		try
+		{
+			ByteArrayOutputStream out = new ByteArrayOutputStream();
+			byte[] ba = new byte[1000];  // TODO magic number
+			int iQread;
+			FileInputStream inp = new FileInputStream(file);
+			while (-1 != (iQread = inp.read(ba)))
+				if (iQread > 0)
+					out.write(ba, 0, iQread);
+			inp.close();
+			out.close();
+			return out.toByteArray();
+		}
+		catch (IOException e)
+		{
+			throw new GatewayException(e);
+		}
+	}
+
+	@Override
+	File[] getFileList(String suffix) throws GatewayException
+	{
+		return _inputDirectory.listFiles(_fileFilter);
+	}
+
+	@Override
+	boolean renameFile(File from, File to) throws GatewayException
+	{
+		if (to.exists() && !to.delete())
+		{
+			throw new GatewayException("Cannot delete target file: "
+					+ to.getAbsolutePath());
+		}
+
+		if (!from.renameTo(to))
+		{
+			copyFile(from, to);
+			from.delete();
+		}
+		return true;
+	}
+
+	@Override
+	void getDefaultComposer() throws GatewayException
+	{
+		_composerName = PackageFileContents.class.getName();
+		_composerClass = PackageFileContents.class;
+		_composer = new PackageFileContents();
+		_logger.debug("No <" + ListenerTagNames.ACTION_ELEMENT_TAG
+				+ "> element found in gateway configuration"
+				+ " -  Using default composer class : " + _composerName);
+	}
+
+	protected void copyFile(final File from, final File to)
+			throws GatewayException
+	{
+		final FileInputStream fis;
+		try
+		{
+			fis = new FileInputStream(from);
+		}
+		catch (final IOException ioe)
+		{
+			throw new GatewayException("Could not open input file for reading",
+					ioe);
+		}
+		try
+		{
+			final FileOutputStream fos;
+			try
+			{
+				fos = new FileOutputStream(to);
+			}
+			catch (final IOException ioe)
+			{
+				throw new GatewayException(
+						"Could not open output file for writing", ioe);
+			}
+
+			try
+			{
+				final long filesize = from.length();
+				final byte[] buffer = (filesize > 256 ? new byte[256]
+						: new byte[(int) filesize]);
+				while (true)
+				{
+					final int count = fis.read(buffer);
+					if (count < 0)
+					{
+						break;
+					}
+					fos.write(buffer, 0, count);
+				}
+			}
+			catch (final IOException ioe)
+			{
+				throw new GatewayException("Error copying file", ioe);
+			}
+			finally
+			{
+				try
+				{
+					fos.close();
+				}
+				catch (final IOException ioe)
+				{
+				} // ignore
+			}
+		}
+		finally
+		{
+			try
+			{
+				fis.close();
+			}
+			catch (final IOException ioe)
+			{
+			} // ignore
+		}
+	}
+
+	// ______________________________________________________________________________
+	/**
+	 * Default gateway action for files <p/>It will just drop the file contents
+	 * into a Message
+	 * 
+	 * @author <a
+	 *         href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+	 * @since Version 4.0
+	 * 
+	 */
+	public class PackageFileContents
+	{
+		public Message process(Object obj) throws ConfigurationException, GatewayException
+		{
+			if (!(obj instanceof File))
+				throw new ConfigurationException("Object must be instance of File");
+
+			Message message = MessageFactory.getInstance().getMessage();
+			message.getBody().setContents(getFileContent((File) obj));
+			return message;
+		}
+
+		private byte[] getFileContent(File file) throws ConfigurationException, GatewayException
+		{
+			return getFileContents(file);
+		}
+	} // ____________________________________________________
+
+	/**
+	 * Simple file filter for local filesystem Will accept only files that end
+	 * with the String supplied at constructor time
+	 * 
+	 */
+	private class FileEndsWith implements FileFilter
+	{
+		String m_sSuffix;
+
+		FileEndsWith(String p_sEnd) throws ConfigurationException
+		{
+			m_sSuffix = p_sEnd;
+			if (Util.isNullString(m_sSuffix))
+				throw new ConfigurationException("Must specify file extension");
+		} // ______________________________
+
+		public boolean accept(File p_f)
+		{
+			return (p_f.isFile()) ? p_f.toString().endsWith(m_sSuffix) : false;
+		} // ______________________________
+	} // ____________________________________________________
+
+	private FileFilter _fileFilter;
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,54 @@
+/*
+ * 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.gateway;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * Gateway Exception.
+ * @author b_georges
+ * @since Version 4.0
+ */
+public class GatewayException extends BaseException {
+    
+    private static final long serialVersionUID = 1L;
+    
+    /**
+     * Construct an exception instance.
+     * @param message Exception message.
+     */
+    public GatewayException(String message) { super(message); }
+    
+    /**
+     * Construct an exception instance.
+     * @param message Exception message.
+     * @param cause Exception cause.
+     */
+    public GatewayException(String message, Throwable cause) { super(message, cause); }
+    
+    /**
+     * Construct an exception instance.
+     * @param cause Exception cause.
+     */
+    public GatewayException(Throwable cause) { super(cause); }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerServiceMBean.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerServiceMBean.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerServiceMBean.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,35 @@
+/*
+ * 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.gateway;
+
+import org.jboss.system.ServiceMBean;
+/**
+ * 
+ * @author Kurt Stam
+ *
+ */
+public interface GatewayListenerControllerServiceMBean extends ServiceMBean
+{
+   // Configure getters and setters for the configFile attribute
+   String getGatewayConfigFile();
+   void setGatewayConfigFile(String messageAwareConfigFile);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,527 @@
+/*
+ * 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.gateway;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Collection;
+import java.util.Enumeration;
+
+import javax.jms.BytesMessage;
+import javax.jms.JMSException;
+import javax.jms.MessageConsumer;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.NamingContext;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.listeners.RegistryUtil;
+import org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleThreadState;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.services.registry.RegistryException;
+
+public class JmsGatewayListener extends AbstractThreadedManagedLifecycle
+{
+
+        /**
+         * serial version uid for this class
+         */
+        private static final long serialVersionUID = 5070422864110923930L;
+    
+        public JmsGatewayListener (ConfigTree listenerConfig) throws ConfigurationException
+	{
+            super(listenerConfig) ;
+            _config = listenerConfig;
+            _sleepForRetries = 3000; // milliseconds TODO magic number
+            checkMyParms();
+	} // __________________________________
+
+        
+        /**
+         * Handle the initialisation of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while initialisation.
+         */
+        protected void doInitialise()
+            throws ManagedLifecycleException
+        {
+            try
+            {
+                _targetEprs = RegistryUtil.getEprs(_targetServiceCategory,_targetServiceName);
+                if (null == _targetEprs || _targetEprs.size() < 1)
+                    throw new ManagedLifecycleException("EPR <" + _targetServiceName + "> not found in registry") ;
+            }
+            catch (final RegistryException re)
+            {
+                throw new ManagedLifecycleException("Unexpected registry exception", re) ;
+            }
+            
+            if (_serviceName != null)
+            {
+                try
+                {
+                    RegistryUtil.register(_config, _myEpr);
+                }
+                catch (final RegistryException re)
+                {
+                    throw new ManagedLifecycleException("Unexpected error during registration for epr " + _myEpr, re);
+                }
+            }
+            
+            try
+            {
+                prepareMessageReceiver();
+            }
+            catch (final JMSException jmse)
+            {
+                if (_serviceName != null)
+                {
+                    RegistryUtil.unregister(_serviceCategory, _serviceName, _myEpr) ;
+                }
+                throw new ManagedLifecycleException("Unexpected JMS error from prepareMessageReceiver", jmse);
+            }
+            catch (final ConfigurationException ce)
+            {
+                if (_serviceName != null)
+                {
+                    RegistryUtil.unregister(_serviceCategory, _serviceName, _myEpr) ;
+                }
+                throw new ManagedLifecycleException("Unexpected configuration exception from prepareMessageReceiver", ce);
+            }
+        }
+        
+        /**
+         * Execute on the thread.
+         */
+        protected void doRun()
+        {
+                if (_logger.isDebugEnabled())
+                {
+                    _logger.debug("run() method of " + this.getClass().getSimpleName() +
+                        " started on thread " + Thread.currentThread().getName());
+                }
+
+		while (isRunning())
+		{
+			javax.jms.Message msgIn = receiveOne();
+			if (null != msgIn)
+				try
+				{
+					Object obj = _processMethod.invoke(_composer,
+							new Object[] { msgIn });
+					if (null == obj)
+					{
+						_logger.warn("Action class method <" + _processMethod
+								.getName() + "> returned a null object");
+						continue;
+					}
+					// try to deliver the composed message, using the
+					// appropriate courier
+					// to the target service
+					try
+					{
+						boolean bSent = false;
+						for (EPR current : _targetEprs)
+						{
+							_courier = CourierFactory.getCourier(current);
+                                                        try
+                                                        {
+                                                            if (_courier
+                                                            		.deliver((org.jboss.soa.esb.message.Message) obj))
+                                                            {
+                                                            	bSent = true;
+                                                            	break;
+                                                            }
+                                                        }
+                                                        finally
+                                                        {
+                                                            CourierUtil.cleanCourier(_courier) ;
+                                                        }
+						}
+						if (!bSent)
+						{
+							String text = "Target service <" + _targetServiceCategory + "," + _targetServiceName + "> is not registered";
+							throw new Exception(text);
+						}
+					}
+					catch (ClassCastException e)
+					{
+						_logger.error("Action class method <" + _processMethod
+								.getName() + "> returned a non Message object",
+								e);
+						continue;
+					}
+					catch (CourierException e)
+					{
+						String text = (null != _courier) ? "Courier <" + _courier
+								.getClass().getName() + ".deliver(Message) FAILED" : "NULL courier can't deliver Message";
+						_logger.error(text, e);
+						continue;
+					}
+					continue;
+				}
+				catch (InvocationTargetException e)
+				{
+					_logger.error("Problems invoking method <" + _processMethod
+							.getName() + ">", e);
+				}
+				catch (IllegalAccessException e)
+				{
+					_logger.error("Problems invoking method <" + _processMethod
+							.getName() + ">", e);
+				}
+				catch (Exception e)
+				{
+					_logger.error("Unexpected problem", e);
+				}
+		}
+
+		_logger
+				.debug("run() method of " + this.getClass().getSimpleName() + " finished on thread " + Thread
+						.currentThread().getName());
+	} // ________________________________
+
+        /**
+         * Handle the destroy of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while destroying.
+         */
+        protected void doDestroy()
+            throws ManagedLifecycleException
+        {
+            if (_messageReceiver != null)
+            {
+                try
+                {
+                    _messageReceiver.close();
+                }
+                catch (final JMSException jmse) {} // ignore
+            }
+            
+            if (_queueSession != null)
+            {
+                try
+                {
+                    _queueSession.close();
+                }
+                catch (final JMSException jmse) {} // ignore
+            }
+            
+            if (_queueConnection != null)
+            {
+                try
+                {
+                    _queueConnection.close();
+                }
+                catch (final JMSException jmse) {} // ignore
+            }
+            
+            if (_serviceName != null)
+            {
+                RegistryUtil.unregister(_serviceCategory, _serviceName, _myEpr) ;
+            }
+        }
+
+	/**
+	 * Check for mandatory and optional attributes in parameter tree
+	 * 
+	 * @throws ConfigurationException -
+	 *             if mandatory atts are not right or actionClass not in
+	 *             classpath
+	 */
+	protected void checkMyParms () throws ConfigurationException
+	{
+		// Third arg is null - Exception will be thrown if attribute is not
+		// found
+		_targetServiceCategory = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, null);
+		_targetServiceName = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.TARGET_SERVICE_NAME_TAG, null);
+
+		_queueName = ListenerUtil.obtainAtt(_config,
+				JMSEpr.DESTINATION_NAME_TAG, null);
+
+		resolveComposerClass();
+
+		// No problem if selector is null - everything in queue will be returned
+		_messageSelector = _config.getAttribute(JMSEpr.MESSAGE_SELECTOR_TAG);
+		_logger
+				.debug("No value specified for: " + JMSEpr.MESSAGE_SELECTOR_TAG + " - All messages in queue will be received by this listener");
+	} // ________________________________
+
+	protected void resolveComposerClass () throws ConfigurationException
+	{
+		try
+		{
+            String sProcessMethod = null;
+            _composerName = _config.getAttribute(ListenerTagNames.GATEWAY_COMPOSER_CLASS_TAG);
+            if (null != _composerName)
+            { // class attribute
+                _composerClass = Class.forName(_composerName);
+                Constructor oConst = _composerClass.getConstructor(new Class[]
+                { ConfigTree.class });
+                _composer = oConst.newInstance(_config);
+                sProcessMethod = _config.getAttribute(ListenerTagNames.GATEWAY_COMPOSER_METHOD_TAG, "process");
+            }
+			else
+			{
+				_composerName = PackageJmsMessageContents.class.getName();
+				_composerClass = PackageJmsMessageContents.class;
+				_composer = new PackageJmsMessageContents();
+				sProcessMethod = "process";
+				_logger
+						.debug("No <" + ListenerTagNames.ACTION_ELEMENT_TAG + "> element found in configuration" + " -  Using default composer class : " + _composerName);
+			}
+	
+			_processMethod = _composerClass.getMethod(sProcessMethod,
+					new Class[] { Object.class });
+		}
+		catch (Exception ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	} // ________________________________
+
+	private void prepareMessageReceiver () throws ConfigurationException, JMSException
+	{
+		_queueConnection = null;
+		_queueSession = null;
+		_queue = null;
+
+		String sJndiURL = ListenerUtil.obtainAtt(_config, JMSEpr.JNDI_URL_TAG,
+				NamingContext.JBOSS_PROVIDER_URL);
+		if (null == _config.getAttribute(JMSEpr.JNDI_URL_TAG))
+			_logger
+					.debug("No value specified for " + JMSEpr.JNDI_URL_TAG + " attribute" + " -  Using default of: '" + sJndiURL + "'");
+		String sJndiContextFactory = ListenerUtil.obtainAtt(_config,
+				JMSEpr.JNDI_CONTEXT_FACTORY_TAG,
+				NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY);
+		if (null == _config.getAttribute(JMSEpr.JNDI_CONTEXT_FACTORY_TAG))
+			_logger
+					.debug("No value specified for " + JMSEpr.JNDI_CONTEXT_FACTORY_TAG + " attribute" + " -  Using default of: '" + sJndiContextFactory + "'");
+		String sJndiPkgPrefix = ListenerUtil.obtainAtt(_config,
+				JMSEpr.JNDI_PKG_PREFIX_TAG, NamingContext.JBOSS_PROVIDER_URL);
+		if (null == _config.getAttribute(JMSEpr.JNDI_PKG_PREFIX_TAG))
+			_logger
+					.debug("No value specified for " + JMSEpr.JNDI_PKG_PREFIX_TAG + " attribute" + " -  Using default of: '" + sJndiPkgPrefix + "'");
+		Context oJndiCtx = NamingContext.getServerContext(sJndiURL,
+				sJndiContextFactory, sJndiPkgPrefix);
+		if (null == oJndiCtx)
+			throw new ConfigurationException(
+					"Unable fo obtain jndi context <" + sJndiURL + "," + sJndiContextFactory + "," + sJndiPkgPrefix + ">");
+
+		String sFactClass = ListenerUtil.obtainAtt(_config,
+				JMSEpr.CONNECTION_FACTORY_TAG, "ConnectionFactory");
+		if (null == _config.getAttribute(JMSEpr.CONNECTION_FACTORY_TAG))
+			_logger
+					.debug("No value specified for " + JMSEpr.CONNECTION_FACTORY_TAG + " attribute" + " -  Using default of: '" + sFactClass + "'");
+		_serviceCategory = _config
+				.getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG);
+		_serviceName = _config.getAttribute(ListenerTagNames.SERVICE_NAME_TAG);
+		_myEpr = (null == _serviceName) ? null : new JMSEpr(JMSEpr.QUEUE_TYPE,
+				_queueName, sFactClass, sJndiURL, sJndiContextFactory,
+				sJndiPkgPrefix, _messageSelector);
+		
+		Object tmp = null;
+		
+		try
+		{
+			tmp = oJndiCtx.lookup(sFactClass);
+		}
+		catch (NamingException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		
+		QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+
+		_queueConnection = qcf.createQueueConnection();
+		_queueSession = _queueConnection.createQueueSession(false,
+				QueueSession.AUTO_ACKNOWLEDGE);
+		try
+		{
+			_queue = (Queue) oJndiCtx.lookup(_queueName);
+		}
+		catch (NamingException ne)
+		{
+			_queue = _queueSession.createQueue(_queueName);
+		}
+		_queueConnection.start();
+
+		_messageReceiver = _queueSession.createReceiver(_queue,
+				_messageSelector);
+
+	} // ________________________________
+
+	/**
+	 * Receive one message and retry if connection
+	 * 
+	 * @return javax.jms.Message - One input message, or null
+	 */
+	protected javax.jms.Message receiveOne ()
+	{
+		while (isRunning())
+			try
+			{
+				javax.jms.Message ret = _messageReceiver.receive(200);
+				if (null != ret) return ret;
+			}
+			catch (JMSException oJ)
+			{
+				_logger.error("JMS error on receive.  Attempting JMS Destination reconnect.",oJ);
+				try
+				{
+					prepareMessageReceiver();
+				}
+				// try to reconnect to the queue
+				catch (Exception e)
+				{
+					_logger.error("Reconnecting to Queue", e);
+                                        waitForRunningStateChange(ManagedLifecycleThreadState.STOPPING, _sleepForRetries) ;
+				}
+			}
+		return null;
+	} // ________________________________
+
+	/**
+	 * Default gateway action for plain jms messages <p/>It will just drop the
+	 * jms message contents into a esb Message
+	 * 
+	 * @author <a
+	 *         href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+	 * @since Version 4.0
+	 * 
+	 */
+	private static class PackageJmsMessageContents
+	{
+		@SuppressWarnings("unchecked")
+		public Message process (Object obj) throws JMSException, IOException
+		{
+			if (!(obj instanceof javax.jms.Message))
+				throw new IllegalArgumentException(
+						"Object must be instance of javax.jms.Message");
+			byte[] bytes = getMessageContent((javax.jms.Message) obj);
+			if (null == bytes) return null;
+
+			javax.jms.Message jmsMsg = (javax.jms.Message) obj;
+			Message message = MessageFactory.getInstance().getMessage();
+			message.getBody().setContents(getMessageContent(jmsMsg));
+			Enumeration<String> EE = jmsMsg.getPropertyNames();
+			if (null != EE)
+			{
+				while (EE.hasMoreElements())
+				{
+					String name = EE.nextElement();
+					Object value = jmsMsg.getObjectProperty(name);
+					if (null != value)
+						message.getProperties().setProperty(name, value);
+				}
+			}
+			return message;
+		}
+
+		private byte[] getMessageContent (javax.jms.Message jMess) throws JMSException, IOException
+		{
+			if (jMess instanceof TextMessage)
+				return ((TextMessage) jMess).getText().getBytes();
+
+			if (jMess instanceof BytesMessage)
+			{
+				BytesMessage jBytes = (BytesMessage) jMess;
+				ByteArrayOutputStream out = new ByteArrayOutputStream();
+				byte[] ba = new byte[1000];
+				int iQread;
+				while (-1 != (iQread = jBytes.readBytes(ba)))
+					if (iQread > 0) out.write(ba, 0, iQread);
+				out.close();
+				return out.toByteArray();
+			}
+
+			if (jMess instanceof ObjectMessage)
+				return ((ObjectMessage) jMess).getObject().toString()
+						.getBytes();
+			_logger
+					.warn("Message type " + jMess.getClass().getSimpleName() + " not supported - Message is ignored");
+			return null;
+		}
+	} // ____________________________________________________
+
+	protected final static Logger _logger = Logger
+			.getLogger(JmsGatewayListener.class);
+
+	protected String _queueName;
+
+	protected QueueConnection _queueConnection;
+
+	protected QueueSession _queueSession;
+
+	protected Queue _queue;
+
+	protected MessageConsumer _messageReceiver;
+
+	protected String _messageSelector;
+
+	protected ConfigTree _config;
+
+	protected final long _sleepForRetries; // milliseconds
+
+	protected String _serviceCategory, _serviceName;
+
+	protected String _targetServiceCategory, _targetServiceName;
+
+	protected EPR _myEpr;
+
+	protected Collection<EPR> _targetEprs;
+
+	protected String _composerName;
+
+	protected Class _composerClass;
+
+	protected Object _composer;
+
+	protected Method _processMethod;
+
+	protected Courier _courier;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/RemoteGatewayListener.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,203 @@
+/*
+ * 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.gateway;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.util.FtpClientUtil;
+import org.jboss.soa.esb.util.RemoteFileSystem;
+import org.jboss.soa.esb.util.RemoteFileSystemException;
+import org.jboss.soa.esb.util.RemoteFileSystemFactory;
+
+import org.jboss.soa.esb.listeners.gateway.GatewayException;
+
+public class RemoteGatewayListener extends FileGatewayListener
+{
+        /**
+         * serial version uid for this class
+         */
+        private static final long serialVersionUID = 8505559166811233906L;
+    
+        public RemoteGatewayListener(ConfigTree config) throws ConfigurationException, RegistryException, GatewayException {
+		super(config);
+                checkMyParms() ;
+	}
+
+	private void checkMyParms() throws ConfigurationException, RegistryException, GatewayException
+	{
+		try
+		{
+			File temp = File.createTempFile("FTPdown", ".tmp");
+			temp.delete();
+			String localDir = temp.getParent();
+			if (null==localDir)
+				localDir=new File("").getAbsolutePath();
+			_config.setAttribute(RemoteFileSystem.PARMS_LOCAL_DIR, localDir);
+			final String remoteDir = _config.getAttribute(ListenerTagNames.FILE_INPUT_DIR_TAG) ;
+			_config.setAttribute(RemoteFileSystem.PARMS_REMOTE_DIR, remoteDir);
+			EPR epr = ListenerUtil.assembleEpr(_config);
+			if (epr instanceof FTPEpr)  {
+				FTPEpr ftpEpr = (FTPEpr) epr;
+				RemoteFileSystem rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
+				rfs.quit();
+			} else {
+				throw new GatewayException("This Gateway only accepts FTP and SFTP.");
+			}
+		}
+		catch (IOException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		catch (RemoteFileSystemException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		
+	}
+
+	protected void seeIfOkToWorkOnDir(File p_oDir) throws GatewayException
+	{
+		// TODO: Implement. Very expensive though.
+		// It is possible to check for existence and permission by connecting,
+		// cd to target, put dummy file, ls to see list it, rm to clean it
+		// p_oDir exists 
+		// p_oDir writable 
+		// p_oDir readable 
+
+	}
+
+	public boolean deleteFile(File file) throws GatewayException
+	{
+		RemoteFileSystem rfs = null;
+		try
+		{
+			EPR epr = ListenerUtil.assembleEpr(_config);
+			if (epr instanceof FTPEpr)  {
+				FTPEpr ftpEpr = (FTPEpr) epr;
+				rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
+				rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
+				rfs.deleteRemoteFile(file.toString());
+				return true;
+			} else {
+				throw new GatewayException("This Gateway only accepts FTP and SFTP.");
+			}
+			
+		} catch (Exception e)
+		{
+			throw new GatewayException(e);
+		} finally
+		{
+			if (null != rfs)
+				rfs.quit();
+		}
+	}
+
+	byte[] getFileContents(File file) throws GatewayException
+	{
+		RemoteFileSystem rfs = null;
+		try
+		{
+			File temp = File.createTempFile("FTPdown", ".tmp");
+			temp.delete();
+			EPR epr = ListenerUtil.assembleEpr(_config);
+			if (epr instanceof FTPEpr)  {
+				FTPEpr ftpEpr = (FTPEpr) epr;
+				rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
+				rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
+				rfs.downloadFile(file.toString(), temp.getName());
+				final byte[] contents = super.getFileContents(temp);
+				temp.delete() ;
+				return contents ;
+			} else {
+				throw new GatewayException("This Gateway only accepts FTP and SFTP.");
+			}
+			
+		} catch (Exception e)
+		{
+			throw new GatewayException(e);
+		} finally
+		{
+			if (null != rfs)
+				rfs.quit();
+		}
+	}
+
+	File[] getFileList(String suffix) throws GatewayException
+	{
+		RemoteFileSystem rfs = null;
+		try
+		{
+			EPR epr = ListenerUtil.assembleEpr(_config);
+			if (epr instanceof FTPEpr)  {
+				FTPEpr ftpEpr = (FTPEpr) epr;
+				rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
+				rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
+				String[] sa = rfs.getFileListFromRemoteDir(_inputSuffix);
+				File[] oaRet = new File[(null == sa) ? 0 : sa.length];
+				int i1 = 0;
+				if (null != sa)
+					for (String sCurr : sa)
+						oaRet[i1++] = new File(sCurr);
+				return oaRet;
+			} else {
+				throw new GatewayException("This Gateway only accepts FTP and SFTP.");
+			}
+		} catch (Exception e){
+			throw new GatewayException(e);
+		} finally {
+			if (null != rfs)
+				rfs.quit();
+		}
+	}
+
+	boolean renameFile(File from, File to) throws GatewayException
+	{
+		RemoteFileSystem rfs = null;
+		try
+		{
+			EPR epr = ListenerUtil.assembleEpr(_config);
+			if (epr instanceof FTPEpr)  {
+				FTPEpr ftpEpr = (FTPEpr) epr;
+				rfs = RemoteFileSystemFactory.getRemoteFileSystem(ftpEpr, true);
+				rfs.setRemoteDir(FtpClientUtil.fileToFtpString(_inputDirectory));
+				rfs.renameInRemoteDir(from.toString(), to.toString());
+				return true;
+			} else {
+				throw new GatewayException("This Gateway only accepts FTP and SFTP.");
+			}
+		} catch (Exception e) {
+			throw new GatewayException(e);
+		} finally {
+			if (null != rfs)
+				rfs.quit();
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,817 @@
+/*
+ * 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.gateway;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.sql.DataSource;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.persist.JdbcCleanConn;
+import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.listeners.RegistryUtil;
+import org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleThreadState;
+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.util.Util;
+
+/**
+ * 
+ * Polls an SQL table for rows that satisfy conditions defined in the xml
+ * runtime configuration
+ * 
+ * <p/>When a row that matches conditions is retrieved, it's contents are packed
+ * into an ESB Message and
+ * 
+ * <p/> The following fields are mandatory (see checkMyParms()): <br/> <br/>SQL
+ * table name <br/>list of fields to retrieve <br/>list of key fields to use in
+ * the update statement <br/>a field that will be used to mark a row as
+ * 'pending(p)', 'in process(w)', 'done(d)' or 'in error(e)'
+ * 
+ * @author <a
+ *         href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ * 
+ */
+public class SqlTableGatewayListener extends AbstractThreadedManagedLifecycle
+{
+
+        /**
+         * serial version uid for this class
+         */
+        private static final long serialVersionUID = -4394272471377134121L;
+    
+        public SqlTableGatewayListener(ConfigTree config)
+            throws ConfigurationException
+	{
+            super(config) ;
+            _config = config;
+            _sleepBetweenPolls = 10000; // milliseconds TODO magic number
+            checkMyParms();
+	} // __________________________________
+        
+        /**
+         * Handle the initialisation of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while initialisation.
+         */
+        protected void doInitialise()
+            throws ManagedLifecycleException
+        {
+            try
+            {
+                _targetEprs = RegistryUtil.getEprs(_targetServiceCategory,_targetServiceName);
+                if (null == _targetEprs || _targetEprs.size() < 1)
+                    throw new ManagedLifecycleException("EPR <" + _targetServiceName + "> not found in registry") ;
+            }
+            catch (final RegistryException re)
+            {
+                throw new ManagedLifecycleException("Unexpected registry exception", re) ;
+            }
+            
+            try
+            {
+                prepareStatements();
+            }
+            catch (final SQLException sqle)
+            {
+                throw new ManagedLifecycleException("Unexpected error initialising statements", sqle);
+            }
+        }
+
+        /**
+         * Execute on the thread.
+         */
+        protected void doRun()
+        {
+                if (_logger.isDebugEnabled())
+                {
+                    _logger.debug("doRun() method of " + this.getClass().getSimpleName() +
+                            " started on thread " + Thread.currentThread().getName());
+                }
+
+                do
+		{
+			for (Map<String, Object> row : pollForCandidates())
+			{
+				_currentRow = row;
+				// Try to mark as 'in process' - if unsuccessful, somebody else
+				// got it first
+				if (!changeStatusToWorking()) continue;
+
+				Throwable thrown = null;
+				String text = null;
+				try
+				{
+					Object obj = _processMethod.invoke(_composer,
+							new Object[] { _currentRow });
+					if (null == obj)
+					{
+						_logger.warn("Action class method <" + _processMethod
+								.getName() + "> returned a null object");
+						continue;
+					}
+					Message message = (Message) obj;
+
+					// if(_composerClass.equals(PackageRowContents.class))
+					// {
+					// Properties props = message.getProperties();
+					// props.setProperty(JDBCEpr.DRIVER_TAG ,_driver);
+					// props.setProperty(JDBCEpr.URL_TAG ,_url);
+					// props.setProperty(JDBCEpr.USERNAME_TAG ,_user);
+					// props.setProperty(JDBCEpr.PASSWORD_TAG , _password);
+					//	        			
+					// }
+					boolean bSent = false;
+					for (EPR current : _targetEprs)
+					{
+						_courier = CourierFactory.getCourier(current);
+                                                try
+                                                {
+                                                    if (_courier.deliver(message))
+                                                    {
+                                                    	bSent = true;
+                                                    	break;
+                                                    }
+                                                }
+                                                finally
+                                                {
+                                                    CourierUtil.cleanCourier(_courier) ;
+                                                }
+					}
+					if (!bSent)
+					{
+						text = "Target service <" + _targetServiceCategory + "," + _targetServiceName + "> is not registered";
+						thrown = new Exception(text);
+					}
+				}
+				catch (InvocationTargetException e)
+				{
+					thrown = e;
+					text = "Problems invoking method <" + _processMethod
+							.getName() + ">";
+				}
+				catch (IllegalAccessException e)
+				{
+					thrown = e;
+					text = "Problems invoking method <" + _processMethod
+							.getName() + ">";
+				}
+				catch (ClassCastException e)
+				{
+					thrown = e;
+					text = "Action class method <" + _processMethod.getName() + "> returned a non Message object";
+				}
+				catch (CourierException e)
+				{
+					thrown = e;
+					text = "Courier <" + _courier.getClass().getName() + ".deliver(Message) FAILED";
+				}
+				catch (MalformedEPRException ex)
+				{
+					thrown = ex;
+					text = "Courier <" + _courier.getClass().getName() + ".deliver(Message) FAILED with malformed EPR.";
+				}
+
+				if (null == thrown)
+				{
+					if (_deleteAfterOK) deleteCurrentRow();
+					else
+						changeStatusToDone();
+				}
+				else
+				{
+					thrown.printStackTrace();
+					_logger.error(text, thrown);
+					changeStatusToError();
+				}
+			}
+		}
+                while (!waitForRunningStateChange(ManagedLifecycleThreadState.STOPPING, _sleepBetweenPolls)) ;
+
+                if (_logger.isDebugEnabled())
+                {
+                    _logger.debug("run() method of " + this.getClass().getSimpleName() +
+                        " finished on thread " + Thread.currentThread().getName());
+                }
+	} // ________________________________
+
+        /**
+         * Handle the destroy of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while destroying.
+         */
+        protected void doDestroy()
+            throws ManagedLifecycleException
+        {
+            if (_dbConn != null)
+            {
+                _dbConn.release();
+            }
+        }
+
+	/**
+	 * Check for mandatory and optional attributes in parameter tree
+	 * 
+	 * @throws ConfigurationException -
+	 *             if mandatory atts are not right or actionClass not in
+	 *             classpath
+	 */
+	private void checkMyParms () throws ConfigurationException
+	{
+		// Third arg is null - Exception will be thrown if attribute is not
+		// found
+		_targetServiceCategory = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, null);
+		_targetServiceName = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.TARGET_SERVICE_NAME_TAG, null);
+
+		// Polling interval
+		String sAux = _config
+				.getAttribute(ListenerTagNames.POLL_LATENCY_SECS_TAG);
+
+		if (!Util.isNullString(sAux))
+		{
+			try
+			{
+				_sleepBetweenPolls = 1000 * Long.parseLong(sAux);
+			}
+			catch (NumberFormatException e)
+			{
+				_logger
+						.warn("Invalid poll latency - keeping default of " + (_sleepBetweenPolls / 1000));
+			}
+		}
+		else
+		{
+			_logger
+					.warn("No value specified for: " + ListenerTagNames.POLL_LATENCY_SECS_TAG + " -  Using default of " + (_sleepBetweenPolls / 1000));
+		}
+
+		resolveComposerClass();
+
+		_driver = ListenerUtil.obtainAtt(_config, JDBCEpr.DRIVER_TAG, null);
+		_url = ListenerUtil.obtainAtt(_config, JDBCEpr.URL_TAG, null);
+		_user = ListenerUtil.obtainAtt(_config, JDBCEpr.USERNAME_TAG, null);
+		_password = ListenerUtil.obtainAtt(_config, JDBCEpr.PASSWORD_TAG, "");
+
+		_tableName = _config.getAttribute(ListenerTagNames.SQL_TABLE_NAME_TAG);
+		if (null == _tableName)
+			_tableName = _config.getRequiredAttribute(JDBCEpr.TABLE_NAME_TAG);
+		if (Util.isNullString(_tableName))
+			throw new ConfigurationException("Empty or invalid table name");
+
+		_selectFields = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.SQL_SELECT_FIELDS_TAG, "*");
+		if (Util.isNullString(_selectFields))
+			throw new ConfigurationException(
+					"Empty or invalid list of select fields");
+		_keyFields = _config.getAttribute(ListenerTagNames.SQL_KEY_FIELDS_TAG);
+		if (null == _keyFields)
+			_keyFields = _config.getRequiredAttribute(JDBCEpr.MESSAGE_ID_COLUMN_TAG);
+		if (Util.isNullString(_keyFields))
+			throw new ConfigurationException(
+					"Empty or invalid list of key fields");
+		_inProcessField = _config
+				.getAttribute(ListenerTagNames.SQL_IN_PROCESS_FIELD_TAG);
+		if (null == _inProcessField)
+			_inProcessField = _config.getAttribute(JDBCEpr.STATUS_COLUMN_TAG);
+		if (Util.isNullString(_inProcessField))
+			throw new ConfigurationException(
+					"A valid inProcessField attribute must be specified");
+
+		_where = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.SQL_WHERE_CONDITION_TAG, "");
+		if (_where.trim().length() < 1)
+			_logger
+					.debug("No value specified for: " + ListenerTagNames.SQL_WHERE_CONDITION_TAG);
+		_orderBy = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.SQL_ORDER_BY_TAG, "");
+		if (_orderBy.trim().length() < 1)
+			_logger
+					.debug("No value specified for: " + ListenerTagNames.SQL_ORDER_BY_TAG);
+		_inProcessVals = ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.SQL_IN_PROCESS_VALUES_TAG,
+				DEFAULT_IN_PROCESS_STATES);
+
+		_deleteAfterOK = Boolean.parseBoolean(ListenerUtil.obtainAtt(_config,
+				ListenerTagNames.SQL_POST_DEL_TAG, "false"));
+		if (null == _config.getAttribute(ListenerTagNames.SQL_POST_DEL_TAG))
+			_logger
+					.debug("No value specified for: " + ListenerTagNames.SQL_POST_DEL_TAG + " - trigger row will not be deleted - 'in process field' will be used to show processing status");
+
+		if (_inProcessVals.length() < 4)
+			throw new ConfigurationException(
+					"Parameter <" + ListenerTagNames.SQL_IN_PROCESS_VALUES_TAG + "> must be at least 4 characters long (PWED)");
+
+		_columns = _selectFields.split(",");
+		if (_columns.length < 1)
+			throw new ConfigurationException("Empty list of select fields");
+
+		_keys = _keyFields.split(",");
+		if (!"*".equals(_selectFields))
+		{
+			Set<String> colSet = new HashSet<String>(Arrays.asList(_columns));
+			if (_keys.length < 1)
+				throw new ConfigurationException("Empty list of keyFields");
+			for (String currKey : _keys)
+			{
+				if (colSet.contains(currKey)) continue;
+				else
+				{
+					StringBuilder sb = new StringBuilder().append(
+							"All key field names in the <").append(
+							ListenerTagNames.SQL_KEY_FIELDS_TAG).append(
+							"> attribute must be in the ").append(
+							ListenerTagNames.SQL_SELECT_FIELDS_TAG).append(
+							"list - '").append(currKey)
+							.append("' is not there");
+					throw new ConfigurationException(sb.toString());
+				}
+			}
+		}
+	} // ________________________________
+
+	protected void prepareStatements () throws SQLException
+	{
+		_PSscan = getDbConn().prepareStatement(scanStatement());
+		_PSsel4U = getDbConn().prepareStatement(selectForUpdStatement());
+		_PSupdate = getDbConn().prepareStatement(updateStatement());
+		_PSdeleteRow = getDbConn().prepareStatement(deleteStatement());
+	} // ________________________________
+
+	/*
+	 * Throw ConfigurationException for anything to do with setup. Ultimately
+	 * could do with finer grained error handling. Probably need different types
+	 * of setup exceptions.
+	 */
+	
+	protected void resolveComposerClass () throws ConfigurationException
+	{
+		try
+		{
+            String sProcessMethod = null;
+            _composerName = _config.getAttribute(ListenerTagNames.GATEWAY_COMPOSER_CLASS_TAG);
+            if (null != _composerName)
+            { // class attribute
+                _composerClass = Class.forName(_composerName);
+                Constructor oConst = _composerClass.getConstructor(new Class[]
+                { ConfigTree.class });
+                _composer = oConst.newInstance(_config);
+                sProcessMethod = _config.getAttribute(ListenerTagNames.GATEWAY_COMPOSER_METHOD_TAG, "process");
+            }
+			else
+			{
+				_composerName = PackageRowContents.class.getName();
+				_composerClass = PackageRowContents.class;
+				_composer = new PackageRowContents();
+				sProcessMethod = "process";
+				_logger
+						.debug("No <" + ListenerTagNames.ACTION_ELEMENT_TAG + "> element found in configuration" + " -  Using default composer class : " + _composerName);
+			}
+	
+			_processMethod = _composerClass.getMethod(sProcessMethod,
+					new Class[] { Object.class });
+		}
+		catch (InvocationTargetException ex)
+		{
+			_logger.error(ex);
+			
+			throw new ConfigurationException(ex);
+		}
+		catch (IllegalAccessException ex)
+		{
+			_logger.error(ex);
+			
+			throw new ConfigurationException(ex);
+		}
+		catch (InstantiationException ex)
+		{
+			_logger.error(ex);
+			
+			throw new ConfigurationException(ex);
+		}
+		catch (ClassNotFoundException ex)
+		{
+			_logger.error(ex);
+			
+			throw new ConfigurationException(ex);
+		}
+		catch (NoSuchMethodException ex)
+		{
+			_logger.error(ex);
+			
+			throw new ConfigurationException(ex);
+		}
+	} // ________________________________
+
+	protected List<Map<String, Object>> pollForCandidates ()
+	{
+		JdbcCleanConn oConn = null;
+		List<Map<String, Object>> oResults = new ArrayList<Map<String, Object>>();
+		try
+		{
+			oConn = getDbConn();
+			String sScan = scanStatement();
+
+			PreparedStatement PS = oConn.prepareStatement(sScan);
+			ResultSet RS = oConn.execQueryWait(PS, 1);
+			ResultSetMetaData meta = RS.getMetaData();
+			while (RS.next())
+			{
+				Map<String, Object> row = new HashMap<String, Object>();
+				for (int iCurr = 1; iCurr <= meta.getColumnCount(); iCurr++)
+				{
+					String sCol = meta.getColumnName(iCurr);
+					if (!_inProcessField.equals(sCol))
+						row.put(sCol, RS.getObject(iCurr));
+				}
+
+				oResults.add(row);
+			}
+		}
+		catch (Exception e)
+		{
+			_logger.warn("Some triggers might not have been returned", e);
+		}
+		_logger.debug("Returning " + oResults.size() + " rows.\n");
+		return oResults;
+	} // ________________________________
+
+	/**
+	 * Obtain a new database connection with parameter info
+	 * 
+	 * @return A new connection
+	 * @throws ConfigurationException -
+	 *             if problems are encountered
+	 */
+	protected JdbcCleanConn getDbConn()
+	{
+		if (null == _dbConn)
+		{
+			DataSource oDS = new SimpleDataSource(_driver, _url, _user,
+					_password);
+			_dbConn = new JdbcCleanConn(oDS);
+		}
+		return _dbConn;
+	} // ________________________________
+
+	/**
+	 * Assemble the SQL statement to scan (poll) the table
+	 * 
+	 * @return - The resulting SQL statement
+	 */
+	protected String scanStatement ()
+	{
+		StringBuilder sb = new StringBuilder().append("select ").append(
+				_selectFields).append(" from ").append(_tableName);
+
+		boolean bWhere = !Util.isNullString(_where);
+		if (bWhere) sb.append(" where ").append(_where);
+		sb.append((bWhere) ? " and " : " where ");
+
+		String sLike = _inProcessVals.substring(0, 1).toUpperCase();
+		sb.append(" upper(").append(_inProcessField).append(") like '").append(
+				sLike).append("%'");
+
+		if (!Util.isNullString(_orderBy))
+			sb.append(" order by ").append(_orderBy);
+		return sb.toString();
+	} // ________________________________
+
+	/**
+	 * Assemble the SQL statement to update the field in the "inProcessField"
+	 * parameter
+	 * 
+	 * in the table row uniquely identified by the list of fields in the
+	 * "keyFields" parameter
+	 * 
+	 * @return - The resulting SQL statement
+	 */
+	protected String updateStatement ()
+	{
+		StringBuilder sb = new StringBuilder().append("update ").append(
+				_tableName).append(" set ").append(_inProcessField).append(
+				" = ? where ");
+		int iCurr = 0;
+		for (String sCurr : _keys)
+		{
+			if (iCurr++ > 0) sb.append(" and ");
+			sb.append(sCurr).append(" = ?");
+		}
+		return sb.toString();
+	} // ________________________________
+
+	/**
+	 * Assemble the SQL "select for update" statement for the "inProcessField"
+	 * parameter
+	 * 
+	 * in the table row uniquely identified by the list of fields in the
+	 * "keyFields" parameter
+	 * 
+	 * @return - The resulting SQL statement
+	 */
+	protected String selectForUpdStatement ()
+	{
+		StringBuilder sb = new StringBuilder().append("select ").append(
+				_inProcessField).append(" from ").append(_tableName).append(
+				" where ");
+		int iCurr = 0;
+		for (String sCurr : _keys)
+		{
+			if (iCurr++ > 0) sb.append(" and ");
+			sb.append(sCurr).append(" = ?");
+		}
+		return sb.append(" for update").toString();
+	} // ________________________________
+
+	/**
+	 * Assemble the SQL statement to delete the current row in the table row
+	 * uniquely identified by the list of fields in the "keyFields" parameter
+	 * 
+	 * @return - The resulting SQL statement
+	 */
+	protected String deleteStatement ()
+	{
+		StringBuilder sb = new StringBuilder().append("delete from ").append(
+				_tableName).append(" where ");
+		int iCurr = 0;
+		for (String sCurr : _keys)
+		{
+			if (iCurr++ > 0) sb.append(" and ");
+			sb.append(sCurr).append(" = ?");
+		}
+		return sb.toString();
+	} // ________________________________
+
+	/**
+	 * Try to delete 'current row' from polled table
+	 * 
+	 * @return true if row deletion was successful - false otherwise
+	 */
+	protected boolean deleteCurrentRow ()
+	{
+		try
+		{
+			getDbConn().rollback();
+		}
+		catch (Exception e)
+		{
+			_logger.error("Unable to get DB connection.", e);
+			throw new IllegalStateException("Unable to get DB connection.", e);
+		}
+
+		try
+		{
+			int iParm = 1;
+			for (String sColName : _keys)
+				_PSdeleteRow.setObject(iParm++, _currentRow.get(sColName));
+
+			try
+			{
+				getDbConn().execUpdWait(_PSdeleteRow, 5);
+				getDbConn().commit();
+				return true;
+			}
+			catch (Exception e)
+			{
+				_logger.error("Delete row has failed.  Rolling back!!", e);
+			}
+
+			try
+			{
+				getDbConn().rollback();
+			}
+			catch (Exception e)
+			{
+				_logger.error("Unable to rollback delete row", e);
+			}
+		}
+		catch (Exception e)
+		{
+			_logger.error("Unexpected exception.", e);
+		}
+		return false;
+	} // ________________________________
+
+	protected String getStatus (ROW_STATE p_oState)
+	{
+		int iPos = p_oState.ordinal();
+		return _inProcessVals.substring(iPos, ++iPos);
+	} // ________________________________
+
+	protected boolean changeStatusToWorking ()
+	{
+		return changeStatus(ROW_STATE.Pending, ROW_STATE.Working);
+	} // ________________________________
+
+	protected boolean changeStatusToDone ()
+	{
+		return changeStatus(ROW_STATE.Working, ROW_STATE.Done);
+	} // ________________________________
+
+	protected boolean changeStatusToError ()
+	{
+		return changeStatus(ROW_STATE.Working, ROW_STATE.Error);
+	} // ________________________________
+
+	protected boolean changeStatus (ROW_STATE fromState, ROW_STATE toState)
+	{
+		try
+		{
+			getDbConn();
+		}
+		catch (Exception e)
+		{
+			_logger.error("Unable to get DB connection.", e);
+			throw new IllegalStateException("Unable to get DB connection.", e);
+		}
+
+		try
+		{
+			int iParm = 1;
+			for (String sColName : _keys)
+			{
+				Object oVal = _currentRow.get(sColName);
+				_PSsel4U.setObject(iParm, oVal);
+				// parameters are +1 in update statement
+				_PSupdate.setObject(++iParm, oVal);
+			}
+
+			try
+			{
+				ResultSet resultSet = getDbConn().execQueryWait(_PSsel4U, 5);
+
+				if (resultSet.next())
+				{
+					String sOldStatus = resultSet.getString(1).substring(0, 1);
+
+					if (sOldStatus.equalsIgnoreCase(getStatus(fromState)))
+					{
+						_PSupdate.setString(1, getStatus(toState));
+						getDbConn().execUpdWait(_PSupdate, 5);
+						getDbConn().commit();
+
+						if (_logger.isDebugEnabled())
+							_logger
+									.debug("Successfully changed row state from " + fromState + " to " + toState + ".");
+
+						return true;
+					}
+					else
+					{
+						_logger
+								.warn("Cannot change row state from " + fromState + " to " + toState + ".  Row not in state " + fromState);
+						return false;
+					}
+				}
+				_logger
+						.error("Row status change to " + toState + " has failed.  Rolling back!!");
+			}
+			catch (Exception e)
+			{
+				_logger
+						.error(
+								"Row status change to " + toState + " has failed.  Rolling back!!",
+								e);
+			}
+
+			try
+			{
+				getDbConn().rollback();
+			}
+			catch (Exception e)
+			{
+				_logger.error(
+						"Unable to rollback row status change to " + fromState
+								.name(), e);
+			}
+		}
+		catch (Exception e)
+		{
+			_logger.error("Unexpected exception.", e);
+		}
+
+		return false;
+	} // ________________________________
+
+	/**
+	 * Default gateway action for SQL table rows <p/>It will just drop the
+	 * result set contents into a Message
+	 * 
+	 * @author <a
+	 *         href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+	 * @since Version 4.0
+	 * 
+	 */
+	public static class PackageRowContents
+	{
+		public Message process (Object obj)
+		{
+			if (!(obj instanceof Map))
+				throw new IllegalArgumentException("Object must be instance of Map");
+
+			Message message = MessageFactory.getInstance().getMessage();
+			org.jboss.soa.esb.message.Properties props = message
+					.getProperties();
+
+			props.setProperty(ListenerTagNames.SQL_ROW_DATA_TAG, obj);
+
+			return message;
+		}
+	} // ____________________________________________________
+
+	protected final static Logger _logger = Logger
+			.getLogger(SqlTableGatewayListener.class);
+
+	protected ConfigTree _config;
+
+	protected long _sleepBetweenPolls; // milliseconds
+
+	protected String _targetServiceCategory, _targetServiceName;
+
+	protected Collection<EPR> _targetEprs;
+
+	protected String _composerName;
+
+	protected Class _composerClass;
+
+	protected Object _composer;
+
+	protected Method _processMethod;
+
+	protected Courier _courier;
+
+	protected String _driver, _url, _user, _password;
+
+	protected String _tableName, _selectFields, _keyFields;
+
+	protected String _where, _orderBy;
+
+	protected String _inProcessField, _inProcessVals;
+
+	protected boolean _deleteAfterOK;
+
+	protected String[] _columns, _keys;
+
+	protected PreparedStatement _PSscan, _PSsel4U, _PSupdate, _PSdeleteRow;
+
+	protected JdbcCleanConn _dbConn;
+
+	protected Map<String, Object> _currentRow;
+
+	public static enum ROW_STATE
+	{
+		Pending, Working, Error, Done
+	}
+
+	public static final String DEFAULT_IN_PROCESS_STATES = "PWED";
+} // ____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/AbstractManagedLifecycle.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/AbstractManagedLifecycle.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/AbstractManagedLifecycle.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,454 @@
+/*
+ * 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.lifecycle;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * This class represents the lifecycle for a managed instance.
+ * 
+ * @author kevin
+ */
+public abstract class AbstractManagedLifecycle implements ManagedLifecycle, Serializable
+{
+    /**
+     * The logger for this class.
+     */
+    private static final Logger logger = Logger.getLogger(AbstractManagedLifecycle.class) ;
+    
+    /**
+     * The name of the attribute specifying the termination period.
+     */
+    public static final String PARAM_TERMINATION_PERIOD = "terminationPeriod" ;
+    
+    /**
+     * The lock used for state operations.
+     */
+    private final Lock stateLock = new ReentrantLock() ;
+    /**
+     * The condition used for state changes.
+     */
+    private final Condition stateChanged = stateLock.newCondition() ;
+    
+    /**
+     * The state of the managed instance.
+     */
+    private transient ManagedLifecycleState state = ManagedLifecycleState.CONSTRUCTED ;
+    /**
+     * The maximum amount of time to wait for termination.
+     */
+    private long terminationPeriod = 60000 ;
+    
+    /**
+     * The list of listeners associated with this managed instance.
+     */
+    private Set<ManagedLifecycleEventListener> listeners = new CopyOnWriteArraySet<ManagedLifecycleEventListener>() ;
+
+    /**
+     * Construct the managed lifecycle.
+     * @param config The configuration associated with this instance.
+     * @throws ConfigurationException for configuration errors during initialisation.
+     */
+    protected AbstractManagedLifecycle(final ConfigTree config)
+        throws ConfigurationException
+    {
+        final String terminationPeriodVal = config.getAttribute(PARAM_TERMINATION_PERIOD) ;
+        if (terminationPeriodVal != null)
+        {
+            try
+            {
+                this.terminationPeriod = (Long.parseLong(terminationPeriodVal) * 1000) ;
+            }
+            catch (final NumberFormatException nfe)
+            {
+                throw new ConfigurationException("Failed to parse " +
+                    PARAM_TERMINATION_PERIOD + " value of " + terminationPeriodVal) ;
+            }
+        }
+        
+        if (logger.isDebugEnabled())
+        {
+            logger.debug(PARAM_TERMINATION_PERIOD + " value " + terminationPeriod) ;
+        }
+    }
+    
+    /**
+     * Initialise the managed instance.
+     * <p/>
+     * This method is called after the managed instance has been instantiated so that
+     * configuration options can be validated.
+     * 
+     * @throws ManagedLifecycleException for errors during initialisation.
+     */
+    public final void initialise()
+    	throws ManagedLifecycleException
+    {
+	changeState(ManagedLifecycleState.INITIALISING) ;
+	try
+	{
+            doInitialise() ;
+            changeState(ManagedLifecycleState.INITIALISED) ;
+        }
+        catch (final ManagedLifecycleException mle)
+        {
+            changeState(ManagedLifecycleState.DESTROYED) ;
+            throw mle ;
+        }
+        catch (final Exception ex)
+        {
+            logger.warn("Unexpected exception caught while initialisation", ex) ;
+            changeState(ManagedLifecycleState.DESTROYED) ;
+            throw new ManagedLifecycleException(ex) ;
+        }
+    }
+    
+    /**
+     * Handle the initialisation of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while initialisation.
+     */
+    protected abstract void doInitialise()
+    	throws ManagedLifecycleException ;
+
+    /**
+     * Start the managed instance.
+     * <p/>
+     * This method is called to inform the managed instance that it can initialise
+     * resources prior to enabling the service.
+     */
+    public final void start()
+    	throws ManagedLifecycleException
+    {
+	changeState(ManagedLifecycleState.STARTING) ;
+        try
+        {
+            doStart() ;
+            changeState(ManagedLifecycleState.STARTED) ;
+        }
+        catch (final ManagedLifecycleException mle)
+        {
+            changeState(ManagedLifecycleState.STOPPED) ;
+            throw mle ;
+        }
+        catch (final Exception ex)
+        {
+            logger.warn("Unexpected exception caught while starting", ex) ;
+            changeState(ManagedLifecycleState.STOPPED) ;
+            throw new ManagedLifecycleException(ex) ;
+        }
+    }
+    
+    /**
+     * Handle the start of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while starting.
+     */
+    protected abstract void doStart()
+    	throws ManagedLifecycleException ;
+
+    /**
+     * Stop the managed instance.
+     * <p/>
+     * This method is called to inform the managed instance that it must disable
+     * resources associated with the running service.  The service may choose to
+     * disable the resources asynchronously provided that any subsequent call to
+     * {@link #start()} or {@link #destroy()} blocks until these resources have been
+     * disabled. 
+     */
+    public final void stop()
+    	throws ManagedLifecycleException
+    {
+	changeState(ManagedLifecycleState.STOPPING) ;
+        try
+        {
+            doStop() ;
+        }
+        catch (final ManagedLifecycleException mle)
+        {
+            throw mle ;
+        }
+        catch (final Exception ex)
+        {
+            logger.warn("Unexpected exception caught while stopping", ex) ;
+            throw new ManagedLifecycleException(ex) ;
+        }
+        finally
+        {
+            changeState(ManagedLifecycleState.STOPPED) ;
+        }
+    }
+
+    /**
+     * Handle the stop of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while stopping.
+     */
+    protected abstract void doStop()
+    	throws ManagedLifecycleException ;
+
+    /**
+     * Destroy the managed instance.
+     * <p/>
+     * This method is called prior to the release of the managed instance.  All
+     * resources associated with this managed instance should be released as the
+     * instance will no longer be used.
+     */
+    public final void destroy()
+    	throws ManagedLifecycleException
+    {
+	changeState(ManagedLifecycleState.DESTROYING) ;
+        try
+        {
+            doDestroy() ;
+        }
+        catch (final ManagedLifecycleException mle)
+        {
+            throw mle ;
+        }
+        catch (final Exception ex)
+        {
+            logger.warn("Unexpected exception caught while destroying", ex) ;
+            throw new ManagedLifecycleException(ex) ;
+        }
+        finally
+        {
+            changeState(ManagedLifecycleState.DESTROYED) ;
+        }
+    }
+
+    /**
+     * Handle the destroy of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while destroying.
+     */
+    protected abstract void doDestroy()
+    	throws ManagedLifecycleException ;
+    
+    /**
+     * Get the state of the managed instance.
+     * @return The managed instance state.
+     */
+    public ManagedLifecycleState getState()
+    {
+        stateLock.lock() ;
+        try
+        {
+            return state ;
+        }
+        finally
+        {
+            stateLock.unlock() ;
+        }
+    }
+    
+    /**
+     * Change the state of the managed instance.
+     * @param newState The new state of the managed instance.
+     * @throws ManagedLifecycleException 
+     */
+    protected void changeState(final ManagedLifecycleState newState)
+    	throws ManagedLifecycleException
+    {
+        final ManagedLifecycleState origState ;
+        stateLock.lock() ;
+        try
+        {
+            if (!state.canTransition(newState))
+            {
+                throw new ManagedLifecycleException("Invalid state change from " + state + " to " + newState) ;
+            }
+            origState = state ;
+            state = newState ;
+            stateChanged.signalAll() ;
+        }
+        finally
+        {
+            stateLock.unlock() ;
+        }
+        fireStateChangedEvent(origState, newState) ;
+    }
+    
+    /**
+     * Get the termination period for this service.
+     * @return The termination period.
+     */
+    protected long getTerminationPeriod()
+    {
+        return terminationPeriod ;
+    }
+    
+    /**
+     * Wait until the managed instance has transitioned into the DESTROYED state.
+     * @return true if the transition occurs within the expected period, false otherwise.
+     */
+    public boolean waitUntilDestroyed()
+    {
+        return waitUntilDestroyed(getTerminationPeriod()) ;
+    }
+    
+    /**
+     * Wait until the managed instance has transitioned into the DESTROYED state.
+     * @param transitionPeriod The maximum delay expected for the transition, specified in milliseconds.
+     * @return true if the transition occurs within the expected period, false otherwise.
+     */
+    public boolean waitUntilDestroyed(final long transitionPeriod)
+    {
+        return waitUntilState(ManagedLifecycleState.DESTROYED, transitionPeriod) ;
+    }
+    
+    
+    /**
+     * Wait until the managed instance has transitioned into the specified state.
+     * @param state The expected state.
+     * @param transitionPeriod The maximum delay expected for the transition, specified in milliseconds.
+     * @return true if the transition occurs within the expected period, false otherwise.
+     */
+    protected boolean waitUntilState(final ManagedLifecycleState state, final long transitionPeriod)
+    {
+        return waitForStateChange(state, transitionPeriod, true) ;
+    }
+    
+    /**
+     * Wait until the managed instance is not in the specified state.
+     * @param state The original state.
+     * @param transitionPeriod The maximum delay expected for the transition, specified in milliseconds.
+     * @return true if the transition occurs within the expected period, false otherwise.
+     */
+    protected boolean waitUntilNotState(final ManagedLifecycleState state, final long transitionPeriod)
+    {
+        return waitForStateChange(state, transitionPeriod, false) ;
+    }
+    
+    
+    /**
+     * Wait until the managed instance has transitioned.
+     * @param state The specified state.
+     * @param transitionPeriod The maximum delay expected for the transition, specified in milliseconds.
+     * @param equality True if the state should be equal to the specified state, false otherwise.
+     * @return true if the transition occurs within the expected period, false otherwise.
+     */
+    private boolean waitForStateChange(final ManagedLifecycleState state, final long transitionPeriod, final boolean equality)
+    {
+        try
+        {
+            stateLock.lock() ;
+            try
+            {
+                if (equality ^ (this.state == state))
+                {
+                    final long end = System.currentTimeMillis() + transitionPeriod ;
+                    while(equality ^ (this.state == state))
+                    {
+                        final long delay = end - System.currentTimeMillis() ;
+                        if (delay <= 0)
+                        {
+                            break ;
+                        }
+                        stateChanged.await(delay, TimeUnit.MILLISECONDS) ;
+                    }
+                }
+                return !(equality ^ (this.state == state)) ;
+            }
+            finally
+            {
+                stateLock.unlock() ;
+            }
+        }
+        catch (final InterruptedException ie)
+        {
+            if (logger.isInfoEnabled())
+            {
+                logger.info("Interrupted while waiting for state change") ;
+            }
+            
+            stateLock.lock() ;
+            try
+            {
+                return (this.state == state) ;
+            }
+            finally
+            {
+                stateLock.unlock() ;
+            }
+        }
+    }
+    
+    /**
+     * Add a managed lifecycle event listener.
+     * @param listener The listener.
+     */
+    public void addManagedLifecycleEventListener(final ManagedLifecycleEventListener listener)
+    {
+        listeners.add(listener) ;
+    }
+    
+    /**
+     * Remove a managed lifecycle event listener.
+     * @param listener The listener.
+     */
+    public void removeManagedLifecycleEventListener(final ManagedLifecycleEventListener listener)
+    {
+        listeners.remove(listener) ;
+    }
+    
+    /**
+     * Fire the state changed event.
+     * @param origState The original state, prior to transition
+     * @param newState The new state after transition
+     */
+    private void fireStateChangedEvent(final ManagedLifecycleState origState, final ManagedLifecycleState newState)
+    {
+        if (listeners.size() > 0)
+        {
+            final ManagedLifecycleStateEvent event = new ManagedLifecycleStateEvent(this, origState, newState) ;
+            for(ManagedLifecycleEventListener listener: listeners)
+            {
+                listener.stateChanged(event) ;
+            }
+        }
+    }
+    
+    /**
+     * Deserialise this managed lifecycle.
+     * @param in The input stream.
+     * @throws IOException for errors generated by the input stream.
+     * @throws ClassNotFoundException For classpath errors.
+     */
+    private void readObject(final ObjectInputStream in)
+        throws IOException, ClassNotFoundException
+    {
+        in.defaultReadObject() ;
+        state = ManagedLifecycleState.CONSTRUCTED ;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/AbstractThreadedManagedLifecycle.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/AbstractThreadedManagedLifecycle.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/AbstractThreadedManagedLifecycle.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,357 @@
+/*
+ * 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.lifecycle;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+
+/**
+ * This class provides threaded support for a managed instance.
+ * 
+ * @author kevin
+ */
+public abstract class AbstractThreadedManagedLifecycle extends AbstractManagedLifecycle implements Runnable
+{
+    /**
+     * The logger for this class.
+     */
+    private static final Logger logger = Logger.getLogger(AbstractThreadedManagedLifecycle.class) ;
+    
+    /**
+     * The lock used for managing the running state.
+     */
+    private final Lock runningLock = new ReentrantLock() ;
+    /**
+     * The condition used for running state changes.
+     */
+    private final Condition runningChanged = runningLock.newCondition() ;
+    
+    /**
+     * The running state.
+     */
+    private transient ManagedLifecycleThreadState state = ManagedLifecycleThreadState.STOPPED ;
+    
+    /**
+     * The list of listeners associated with this managed instance.
+     */
+    private Set<ManagedLifecycleThreadEventListener> listeners = new CopyOnWriteArraySet<ManagedLifecycleThreadEventListener>() ;
+    
+
+    /**
+     * Construct the threaded managed lifecycle.
+     * @param config The configuration associated with this instance.
+     * @throws ConfigurationException for configuration errors during initialisation.
+     */
+    protected AbstractThreadedManagedLifecycle(final ConfigTree config)
+        throws ConfigurationException
+    {
+        super(config) ;
+    }
+    
+    /**
+     * Handle the start of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while starting.
+     */
+    protected void doStart()
+        throws ManagedLifecycleException
+    {
+        runningLock.lock() ;
+        try
+        {
+            if (!waitUntilStopped())
+            {
+                throw new ManagedLifecycleException("Thread still active from previous start") ;
+            }
+            setRunning(ManagedLifecycleThreadState.RUNNING) ;
+        }
+        finally
+        {
+            runningLock.unlock() ;
+        }
+        final Thread thread = new Thread(this) ;
+        thread.start() ;
+    }
+    
+    /**
+     * The thread execution method.
+     */
+    public final void run()
+    {
+        waitUntilNotState(ManagedLifecycleState.STARTING, getTerminationPeriod()) ;
+        try
+        {
+            changeState(ManagedLifecycleState.RUNNING) ;
+            doRun() ;
+        }
+        catch (final ManagedLifecycleException mle)
+        {
+            // State change was not allowed, we are already stopping.
+        }
+        catch (final Throwable th)
+        {
+            logger.warn("Unexpected error from doRun()", th) ;
+        }
+        finally
+        {
+            setRunning(ManagedLifecycleThreadState.STOPPED) ;
+        }
+    }
+    
+    /**
+     * Execute on the thread.
+     */
+    protected abstract void doRun() ;
+    
+    /**
+     * Handle the stop of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while stopping.
+     */
+    protected void doStop()
+        throws ManagedLifecycleException
+    {
+        runningLock.lock() ;
+        try
+        {
+            if (!isRunning())
+            {
+                throw new ManagedLifecycleException("Thread is not running") ;
+            }
+            setRunning(ManagedLifecycleThreadState.STOPPING) ;
+        }
+        finally
+        {
+            runningLock.unlock() ;
+        }
+    }
+
+    /**
+     * Handle the destroy of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while destroying.
+     */
+    protected void doDestroy()
+        throws ManagedLifecycleException
+    {
+        if (!waitUntilStopped())
+        {
+            throw new ManagedLifecycleException("Thread still active") ;
+        }
+    }
+    
+    /**
+     * Is the associated thread still running?
+     * @return true if the thread is still running, false otherwise.
+     */
+    public boolean isRunning()
+    {
+        return checkState(ManagedLifecycleThreadState.RUNNING) ;
+    }
+    
+    /**
+     * Is the associated thread stopped?
+     * @return true if the thread is stopped, false otherwise.
+     */
+    public boolean isStopped()
+    {
+        return checkState(ManagedLifecycleThreadState.STOPPED) ;
+    }
+    
+    /**
+     * Is the associated thread stopping?
+     * @return true if the thread is stopped, false otherwise.
+     */
+    public boolean isStopping()
+    {
+        return checkState(ManagedLifecycleThreadState.STOPPING) ;
+    }
+    
+    /**
+     * Check the state against the specified value.
+     * @param state The expected state.
+     * @return True if the thread is in the expected state, false otherwise.
+     */
+    private boolean checkState(final ManagedLifecycleThreadState state)
+    {
+        runningLock.lock() ;
+        try
+        {
+            return (this.state == state) ;
+        }
+        finally
+        {
+            runningLock.unlock() ;
+        }
+    }
+    
+    /**
+     * Set the running state.
+     * @param state The new running state.
+     */
+    protected void setRunning(final ManagedLifecycleThreadState newState)
+    {
+        final ManagedLifecycleThreadState origState ;
+        runningLock.lock() ;
+        try
+        {
+            origState = state ;
+            state = newState ;
+            runningChanged.signalAll() ;
+        }
+        finally
+        {
+            runningLock.unlock() ;
+        }
+        fireStateChangedEvent(origState, newState) ;
+    }
+    
+    /**
+     * Wait until the associated thread has stopped.
+     * @return true if the thread stops within the expected period, false otherwise.
+     */
+    public boolean waitUntilStopped()
+    {
+        return waitUntilStopped(getTerminationPeriod()) ;
+    }
+    
+    /**
+     * Wait until the associated thread has stopped.
+     * @param terminationPeriod The maximum delay expected for the termination, specified in milliseconds.
+     * @return true if the thread stops within the expected period, false otherwise.
+     */
+    public boolean waitUntilStopped(final long terminationPeriod)
+    {
+        return waitForRunningStateChange(ManagedLifecycleThreadState.STOPPED, terminationPeriod) ;
+    }
+    
+    /**
+     * Wait until the running state has the specified value.
+     * @param state The expected running state value.
+     * @param terminationPeriod The maximum delay expected for the termination, specified in milliseconds.
+     * @return true if the state has the specified value within the expected period, false otherwise.
+     */
+    protected boolean waitForRunningStateChange(final ManagedLifecycleThreadState state, final long terminationPeriod)
+    {
+        try
+        {
+            runningLock.lock() ;
+            try
+            {
+                if (this.state != state)
+                {
+                    final long end = System.currentTimeMillis() + terminationPeriod ;
+                    while(this.state != state)
+                    {
+                        final long delay = end - System.currentTimeMillis() ;
+                        if (delay <= 0)
+                        {
+                            break ;
+                        }
+                        runningChanged.await(delay, TimeUnit.MILLISECONDS) ;
+                    }
+                }
+                return (this.state == state) ;
+            }
+            finally
+            {
+                runningLock.unlock() ;
+            }
+        }
+        catch (final InterruptedException ie)
+        {
+            if (logger.isInfoEnabled())
+            {
+                logger.info("Interrupted while waiting for running state change") ;
+            }
+            
+            runningLock.lock() ;
+            try
+            {
+                return (this.state == state) ;
+            }
+            finally
+            {
+                runningLock.unlock() ;
+            }
+        }
+    }
+    
+    /**
+     * Add a managed lifecycle thread event listener.
+     * @param listener The listener.
+     */
+    public void addManagedLifecycleThreadEventListener(final ManagedLifecycleThreadEventListener listener)
+    {
+        listeners.add(listener) ;
+    }
+    
+    /**
+     * Remove a managed lifecycle thread event listener.
+     * @param listener The listener.
+     */
+    public void removeManagedLifecycleThreadEventListener(final ManagedLifecycleThreadEventListener listener)
+    {
+        listeners.remove(listener) ;
+    }
+    
+    /**
+     * Fire the state changed event.
+     * @param origState The original state, prior to transition
+     * @param newState The new state after transition
+     */
+    private void fireStateChangedEvent(final ManagedLifecycleThreadState origState, final ManagedLifecycleThreadState newState)
+    {
+        if (listeners.size() > 0)
+        {
+            final ManagedLifecycleThreadStateEvent event = new ManagedLifecycleThreadStateEvent(this, origState, newState) ;
+            for(ManagedLifecycleThreadEventListener listener: listeners)
+            {
+                listener.stateChanged(event) ;
+            }
+        }
+    }
+    
+    /**
+     * Deserialise this managed lifecycle.
+     * @param in The input stream.
+     * @throws IOException for errors generated by the input stream.
+     * @throws ClassNotFoundException For classpath errors.
+     */
+    private void readObject(final ObjectInputStream in)
+        throws IOException, ClassNotFoundException
+    {
+        in.defaultReadObject() ;
+        state = ManagedLifecycleThreadState.STOPPED ;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycle.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycle.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycle.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,99 @@
+/*
+ * 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.lifecycle;
+
+public interface ManagedLifecycle
+{
+
+    /**
+     * Initialise the managed instance.
+     * <p/>
+     * This method is called after the managed instance has been instantiated so that
+     * configuration options can be validated.
+     * 
+     * @throws ManagedLifecycleException for errors during initialisation.
+     */
+    public void initialise()
+        throws ManagedLifecycleException ;
+
+    /**
+     * Start the managed instance.
+     * <p/>
+     * This method is called to inform the managed instance that it can initialise
+     * resources prior to enabling the service.
+     */
+    public void start()
+        throws ManagedLifecycleException ;
+
+    /**
+     * Stop the managed instance.
+     * <p/>
+     * This method is called to inform the managed instance that it must disable
+     * resources associated with the running service.  The service may choose to
+     * disable the resources asynchronously provided that any subsequent call to
+     * {@link #start()} or {@link #destroy()} blocks until these resources have been
+     * disabled. 
+     */
+    public void stop()
+        throws ManagedLifecycleException ;
+
+    /**
+     * Destroy the managed instance.
+     * <p/>
+     * This method is called prior to the release of the managed instance.  All
+     * resources associated with this managed instance should be released as the
+     * instance will no longer be used.
+     */
+    public void destroy()
+        throws ManagedLifecycleException ;
+
+    /**
+     * Get the state of the managed instance.
+     * @return The managed instance state.
+     */
+    public ManagedLifecycleState getState() ;
+
+    /**
+     * Wait until the managed instance has transitioned into the DESTROYED state.
+     * @return true if the transition occurs within the expected period, false otherwise.
+     */
+    public boolean waitUntilDestroyed() ;
+
+    /**
+     * Wait until the managed instance has transitioned into the DESTROYED state.
+     * @param transitionPeriod The maximum delay expected for the transition, specified in milliseconds.
+     * @return true if the transition occurs within the expected period, false otherwise.
+     */
+    public boolean waitUntilDestroyed(final long transitionPeriod) ;
+
+    /**
+     * Add a managed lifecycle event listener.
+     * @param listener The listener.
+     */
+    public void addManagedLifecycleEventListener(final ManagedLifecycleEventListener listener) ;
+
+    /**
+     * Remove a managed lifecycle event listener.
+     * @param listener The listener.
+     */
+    public void removeManagedLifecycleEventListener(final ManagedLifecycleEventListener listener) ;
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleController.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleController.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleController.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,227 @@
+/*
+ * 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.lifecycle;
+
+import java.util.Collection;
+
+/**
+ * Controller class to manage the lifecycles of a set of managed instances.
+ * @author kevin
+ */
+public class ManagedLifecycleController
+{
+    /**
+     * The managed lifecycle instances.
+     */
+    private final ManagedLifecycle[] instances ;
+    
+    /**
+     * Construct the controller to manage the specified managed lifecycle instances.
+     * @param lifecycles The managed lifecycle instances.
+     */
+    public ManagedLifecycleController(final Collection<ManagedLifecycle> lifecycles)
+    {
+        final int numInstances = (lifecycles == null ? 0 : lifecycles.size()) ;
+        instances = lifecycles.toArray(new ManagedLifecycle[numInstances]) ;
+    }
+    
+    /**
+     * Start the lifecyles for the managed instances.
+     * <p/>
+     * The managed instances will be left in the destroyed state if an error occurs.
+     * @throws ManagedLifecycleException For errors during the lifecycle start.
+     */
+    public void start()
+        throws ManagedLifecycleException
+    {
+        initialiseInstances() ;
+        startInstances() ;
+    }
+    
+    /**
+     * Restart the lifecyles for the managed instances.
+     * <p/>
+     * The managed instances will be left in the destroyed state if an error occurs.
+     * @throws ManagedLifecycleException For errors during the lifecycle restart.
+     */
+    public void restart()
+        throws ManagedLifecycleException
+    {
+        stopInstances() ;
+        startInstances() ;
+    }
+    
+    /**
+     * Stop the lifecyles for the managed instances.
+     * <p/>
+     * The managed instances will be left in the destroyed state if an error occurs.
+     * @throws ManagedLifecycleException For errors during the lifecycle stop.
+     */
+    public void stop()
+        throws ManagedLifecycleException
+    {
+        stopInstances() ;
+        destroyInstances() ;
+    }
+    
+    /**
+     * Initialise the managed instances.
+     * @throws ManagedLifecycleException For errors during initialisation.
+     */
+    private void initialiseInstances()
+        throws ManagedLifecycleException
+    {
+        final int numInstances = instances.length ;
+        for(int count = 0 ; count < numInstances ; count++)
+        {
+            final ManagedLifecycle instance = instances[count] ;
+            try
+            {
+                instance.initialise() ;
+            }
+            catch (final ManagedLifecycleException mle)
+            {
+                if (count > 0)
+                {
+                    destroyInstances(count-1) ;
+                }
+                throw mle ;
+            }
+        }
+    }
+    
+    /**
+     * Start the managed instances.
+     * @throws ManagedLifecycleException For errors during starting.
+     */
+    private void startInstances()
+        throws ManagedLifecycleException
+    {
+        final int numInstances = instances.length ;
+        for(int count = 0 ; count < numInstances ; count++)
+        {
+            final ManagedLifecycle instance = instances[count] ;
+            try
+            {
+                instance.start() ;
+            }
+            catch (final ManagedLifecycleException mle)
+            {
+                if (count > 0)
+                {
+                    stopInstances(count-1) ;
+                    destroyInstances(numInstances-1) ;
+                }
+                throw mle ;
+            }
+        }
+    }
+    
+    /**
+     * Stop the managed instances.
+     * @throws ManagedLifecycleException For errors during stopping.
+     */
+    private void stopInstances()
+        throws ManagedLifecycleException
+    {
+        final int numInstances = instances.length ;
+        for(int count = numInstances-1 ; count >= 0 ; count--)
+        {
+            final ManagedLifecycle instance = instances[count] ;
+            try
+            {
+                instance.stop() ;
+            }
+            catch (final ManagedLifecycleException mle)
+            {
+                if (count > 0)
+                {
+                    stopInstances(count-1) ;
+                    destroyInstances(numInstances-1) ;
+                }
+                throw mle ;
+            }
+        }
+    }
+    
+    /**
+     * Destroy the managed instances.
+     * @throws ManagedLifecycleException For errors during destruction.
+     */
+    private void destroyInstances()
+        throws ManagedLifecycleException
+    {
+        final int numInstances = instances.length ;
+        for(int count = numInstances-1 ; count >= 0 ; count--)
+        {
+            final ManagedLifecycle instance = instances[count] ;
+            try
+            {
+                instance.destroy() ;
+            }
+            catch (final ManagedLifecycleException mle)
+            {
+                if (count > 0)
+                {
+                    destroyInstances(count-1) ;
+                }
+                throw mle ;
+            }
+        }
+    }
+    
+    /**
+     * Silently stop a partial set of the managed instances.
+     * @param firstInstance The index of the first instance to stop
+     */
+    private void stopInstances(final int firstInstance)
+        throws ManagedLifecycleException
+    {
+        for(int count = firstInstance ; count >= 0 ; count--)
+        {
+            final ManagedLifecycle instance = instances[count] ;
+            try
+            {
+                instance.stop() ;
+            }
+            catch (final ManagedLifecycleException mle) {} // Ignore exception
+        }
+    }
+    
+    /**
+     * Silently destroy a partial set of the managed instances.
+     * @param firstInstance The index of the first instance to stop
+     */
+    private void destroyInstances(final int firstInstance)
+        throws ManagedLifecycleException
+    {
+        for(int count = firstInstance ; count >= 0 ; count--)
+        {
+            final ManagedLifecycle instance = instances[count] ;
+            try
+            {
+                instance.destroy() ;
+            }
+            catch (final ManagedLifecycleException mle) {} // Ignore exception
+        }
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleEventListener.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleEventListener.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleEventListener.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,38 @@
+/*
+ * 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.lifecycle;
+
+import java.util.EventListener;
+
+/**
+ * This interface represents the lifecycle events generated by a managed instance.
+ * 
+ * @author kevin
+ */
+public interface ManagedLifecycleEventListener extends EventListener
+{
+    /**
+     * The state of the managed instance has changed.
+     * @param event The managed lifecycle state event.
+     */
+    public void stateChanged(final ManagedLifecycleStateEvent event) ;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,69 @@
+/*
+ * 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.lifecycle;
+
+/**
+ * Exception representing errors in a managed lifecycle.
+ * @author kevin
+ */
+public class ManagedLifecycleException extends Exception
+{
+    /**
+     * serial version UID of this exception.
+     */
+    private static final long serialVersionUID = -2461030864678547990L;
+
+    /**
+     * Construct a default managed lifecycle exception.
+     */
+    public ManagedLifecycleException()
+    {
+    }
+
+    /**
+     * Construct a managed lifecycle exception with the specified message.
+     * @param message The exception message.
+     */
+    public ManagedLifecycleException(final String message) 
+    {
+	super(message);
+    }
+
+    /**
+     * Construct a managed lifecycle exception with the associated cause.
+     * @param cause The associated cause.
+     */
+    public ManagedLifecycleException(final Throwable cause)
+    {
+	super(cause);
+    }
+
+    /**
+     * Construct a managed lifecycle exception with the specified message and associated cause.
+     * @param message The exception message.
+     * @param cause The associated cause.
+     */
+    public ManagedLifecycleException(String message, Throwable cause)
+    {
+	super(message, cause);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleState.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleState.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleState.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,61 @@
+/*
+ * 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.lifecycle;
+
+/**
+ * This enumeration represents the lifecycle state of a managed instance.
+ * <p/>
+ * Allowable transitions are as follows
+ * <table border="1">
+ * <thead>
+ * <tr><th>Originating state</th><th>New states</th></tr>
+ * </thead>
+ * <tbody>
+ * <tr><td>CONSTRUCTED</td><td>INITIALISING</td></tr>
+ * <tr><td>INITIALISING</td><td>INITIALISED, DESTROYED</td></tr>
+ * <tr><td>INITIALISED</td><td>STARTING, DESTROYED</td></tr>
+ * <tr><td>STARTING</td><td>STARTED, STOPPED</td></tr>
+ * <tr><td>STARTED</td><td>RUNNING, STOPPING</td></tr>
+ * <tr><td>RUNNING</td><td>STOPPING</td></tr>
+ * <tr><td>STOPPING</td><td>STOPPED</td></tr>
+ * <tr><td>STOPPED</td><td>STARTING, DESTROYING</td></tr>
+ * <tr><td>DESTROYING</td><td>DESTROYED</td></tr>
+ * </tbody>
+ * </table>
+ * 
+ * @author kevin
+ */
+public enum ManagedLifecycleState
+{
+    CONSTRUCTED { public boolean canTransition(final ManagedLifecycleState newState) { return (newState == INITIALISING) ;}} ,
+    INITIALISING { public boolean canTransition(final ManagedLifecycleState newState) { return ((newState == INITIALISED) || (newState == DESTROYED)) ;}} ,
+    INITIALISED { public boolean canTransition(final ManagedLifecycleState newState) { return ((newState == STARTING) || (newState == DESTROYED)) ;}} ,
+    STARTING { public boolean canTransition(final ManagedLifecycleState newState) { return ((newState == STARTED) || (newState == STOPPED)) ;}} ,
+    STARTED { public boolean canTransition(final ManagedLifecycleState newState) { return ((newState == RUNNING) || (newState == STOPPING)) ;}} ,
+    RUNNING { public boolean canTransition(final ManagedLifecycleState newState) { return (newState == STOPPING) ;}} ,
+    STOPPING { public boolean canTransition(final ManagedLifecycleState newState) { return (newState == STOPPED) ;}} ,
+    STOPPED { public boolean canTransition(final ManagedLifecycleState newState) { return ((newState == STARTING) || (newState == DESTROYING)) ;}} ,
+    DESTROYING { public boolean canTransition(final ManagedLifecycleState newState) { return (newState == DESTROYED) ;}} ,
+    DESTROYED  { public boolean canTransition(final ManagedLifecycleState newState) { return false ;}} ;
+    
+    public abstract boolean canTransition(final ManagedLifecycleState newState) ;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleStateEvent.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleStateEvent.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleStateEvent.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,90 @@
+/*
+ * 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.lifecycle;
+
+import java.util.EventObject;
+
+public class ManagedLifecycleStateEvent extends EventObject
+{
+    /**
+     * The serial version uid for this event.
+     */
+    private static final long serialVersionUID = 194745476487653243L;
+    
+    /**
+     * The original state, prior to transition.
+     */
+    private final ManagedLifecycleState origState ;
+    /**
+     * The new state, after transition.
+     */
+    private final ManagedLifecycleState newState ;
+    
+    /**
+     * Construct the managed lifecycle state event.
+     * @param instance The managed instance 
+     * @param origState The original state, prior to transition
+     * @param newState The new state after transition
+     */
+    public ManagedLifecycleStateEvent(final ManagedLifecycle instance, final ManagedLifecycleState origState, final ManagedLifecycleState newState)
+    {
+        super(instance) ;
+        this.origState = origState ;
+        this.newState = newState ;
+    }
+
+    /**
+     * Get the managed lifecycle instance.
+     * @return The managed lifecycle instance.
+     */
+    public ManagedLifecycle getManagedInstance()
+    {
+        return (ManagedLifecycle)getSource() ;
+    }
+
+    /**
+     * Get the original state, prior to transition.
+     * @return The original state.
+     */
+    public ManagedLifecycleState getOriginalState()
+    {
+        return origState ;
+    }
+
+    /**
+     * Get the new state after transition.
+     * @return The new state.
+     */
+    public ManagedLifecycleState getNewState()
+    {
+        return newState ;
+    }
+    
+    /**
+     * Return a String representation of this event.
+     * @return  The string representation of this event.
+     */
+    public String toString()
+    {
+        return getClass().getName() + "[instance=" + getManagedInstance() + ", original state " + origState + ", new state " + newState + "]" ;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadEventListener.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadEventListener.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadEventListener.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,38 @@
+/*
+ * 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.lifecycle;
+
+import java.util.EventListener;
+
+/**
+ * This interface represents the lifecycle events generated by a threaded managed instance.
+ * 
+ * @author kevin
+ */
+public interface ManagedLifecycleThreadEventListener extends EventListener
+{
+    /**
+     * The state of the managed instance thread has changed.
+     * @param event The managed lifecycle state event.
+     */
+    public void stateChanged(final ManagedLifecycleThreadStateEvent event) ;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadState.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadState.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadState.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,31 @@
+/*
+ * 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.lifecycle;
+
+/**
+ * This enumeration represents the lifecycle state of a thread in an managed instance.
+ * @author kevin
+ */
+public enum ManagedLifecycleThreadState
+{
+    STOPPED, RUNNING, STOPPING
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadStateEvent.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadStateEvent.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleThreadStateEvent.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,91 @@
+/*
+ * 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.lifecycle;
+
+import java.util.EventObject;
+
+public class ManagedLifecycleThreadStateEvent extends EventObject
+{
+    /**
+     * The serial version uid for this event.
+     */
+    private static final long serialVersionUID = 7417604654035419987L;
+    
+    /**
+     * The original state, prior to transition.
+     */
+    private final ManagedLifecycleThreadState origState ;
+    /**
+     * The new state, after transition.
+     */
+    private final ManagedLifecycleThreadState newState ;
+    
+    /**
+     * Construct the managed lifecycle state event.
+     * @param instance The managed instance 
+     * @param origState The original state, prior to transition
+     * @param newState The new state after transition
+     */
+    public ManagedLifecycleThreadStateEvent(final AbstractThreadedManagedLifecycle instance,
+        final ManagedLifecycleThreadState origState, final ManagedLifecycleThreadState newState)
+    {
+        super(instance) ;
+        this.origState = origState ;
+        this.newState = newState ;
+    }
+
+    /**
+     * Get the managed lifecycle instance.
+     * @return The managed lifecycle instance.
+     */
+    public ManagedLifecycle getManagedInstance()
+    {
+        return (ManagedLifecycle)getSource() ;
+    }
+
+    /**
+     * Get the original state, prior to transition.
+     * @return The original state.
+     */
+    public ManagedLifecycleThreadState getOriginalState()
+    {
+        return origState ;
+    }
+
+    /**
+     * Get the new state after transition.
+     * @return The new state.
+     */
+    public ManagedLifecycleThreadState getNewState()
+    {
+        return newState ;
+    }
+    
+    /**
+     * Return a String representation of this event.
+     * @return  The string representation of this event.
+     */
+    public String toString()
+    {
+        return getClass().getName() + "[instance=" + getManagedInstance() + ", original state " + origState + ", new state " + newState + "]" ;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,232 @@
+package org.jboss.soa.esb.listeners.message;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Observable;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.Message;
+
+
+/**
+ * Action Processing Pipeline.
+ * <p/>
+ * Runs a list of action classes on a message
+ * 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ */
+public class ActionProcessingPipeline extends Observable implements Runnable 
+{    
+	private boolean processingComplete = false;
+         
+    /**
+     * public constructor
+     * @param message Message - The initial message to be run through the whole action 
+     * class chain
+     */
+    public ActionProcessingPipeline(Message message, ConfigTree config)
+    	throws ConfigurationException
+    {
+    	if (null==message)
+    		throw new IllegalArgumentException("Message must be not null");
+        _message	= message;
+        _config		= config;
+    	if (null==_config)
+    		throw new IllegalArgumentException("Configuration needed for action classes");
+    	_actionList = _config.getChildren(ListenerTagNames.ACTION_ELEMENT_TAG);
+    	if (null==_actionList || _actionList.length<1)
+    		throw new ConfigurationException("No actions in list");
+    }
+    
+    /**
+     * 
+     * @return Message - current Message of this action chain processor
+     */
+    public Message getMessage()     { return _message; }
+
+    /**
+     * Implement Runnable Interface
+     * <p/>Uses reflection to instantiate action classes that must have a public constructor
+     * that takes a single ConfigTree as argument
+     * <p/>Requires each action class to have a public method that takes a Message and returns a Message
+     * <br/>Default name for it is 'process'  but can optionally be defined in the 'process' attribute
+     * of the corresponding &lt;action&gt; element of the ConfigTree
+     * <p/>Each &lt;action&gt; element can optionally define a method (taking a Message argument) to be 
+     * called upon successful completion of the action class (that step of the chain)
+     * <br/>Default name for it is 'process'  but can optionally be defined in the 'process' attribute
+     * <p/>See actionClassException and actionClassFinishedOk
+     * */
+    public void run()
+    {
+        try
+        {
+            // Run the message through each ActionProcessor...
+        	_currentIndex = -1;
+            for(ConfigTree oCurr : _actionList) 
+            {
+            	_currentIndex++;
+            	String attrName = ListenerTagNames.ACTION_CLASS_TAG;
+            	_currentAction = oCurr.getAttribute(attrName);
+            	_currentClass = Class.forName(_currentAction);
+            	Constructor oConst = _currentClass.getConstructor(new Class[] {ConfigTree.class});
+            	_currentProcessor = oConst.newInstance(oCurr);
+
+            	attrName	= ListenerTagNames.PROCESS_METHOD_TAG;
+            	String[] saMethodList = obtainAttribute(oCurr,attrName,attrName).split(",");
+
+            	for (String currMethod : saMethodList)
+            	{
+//                	_logger.debug("Attempting to invoke "+_currentClass.getName()+" method "+currMethod);
+	            	Method method = _currentClass.getMethod(currMethod,new Class[] {Message.class});
+	            	
+	            	// The processing result of each action feeds into the processing of the next action...
+	                try 
+	                {
+	                	Message next = (Message)method.invoke(_currentProcessor,new Object[] {_message} );
+	                    if(next==null)
+	                    {
+	                    	_logger.debug(prematureTermination("returned <null> - Cannot continue"));
+	                    	return;
+	                    }
+	                    _message = next;
+	                }
+	                catch (ClassCastException eCast)
+	                {
+	                	// If action class returns non Message, log and abort chain
+	                	_logger.error(prematureTermination("returned a non Message Object)"));
+	                	return;
+	                }
+	                catch (InvocationTargetException e)
+	                {
+	                	// If action class threw exception, log and abort chain
+	                	_logger.error("Process method threw Exception",e);
+	                    actionClassException(oCurr,_message,e.getCause());
+	                    return;
+	                }
+            	}            	
+                actionClassFinishedOk(oCurr,_message);
+            }
+            // notification of action chain end can be done with a no-operation action class
+            // with a proper ListenerPropertyNames.ACTION_NORMAL_COMPLETION_CALLBACK method
+            // Same idea when some interaction needed with the 'esb unaware' world
+        } 
+        catch(ClassNotFoundException e)
+    	{	_logger.error(prematureTermination("action class is not in path"),e); } 
+        catch(NoSuchMethodException e)
+    	{	_logger.error(prematureTermination("method not found"),e); }
+        catch(InstantiationException e)
+    	{	_logger.error(prematureTermination("cannot instantiate action class"),e); } 
+        catch(InvocationTargetException e)
+    	{	_logger.error(prematureTermination("method not found"),e); } 
+        catch(IllegalAccessException e)
+    	{	_logger.error(prematureTermination("unable to access method"),e); } 
+        catch (IllegalArgumentException e) {
+        	_logger.error(prematureTermination(e.getMessage()),e);
+        } 
+        finally 
+        {
+        	processingComplete = true;
+        	setChanged();
+        	notifyObservers(new Integer(-1));
+        }
+    }
+    
+    protected String prematureTermination(String s)
+    {
+    	return new StringBuilder("Premature termination of action processing pipeline ")
+		.append(getActionNames())
+		.append("].  ActionProcessor [").append(_currentAction)
+		.append("] ").append(s)
+		.toString()
+		;
+    }
+    
+    /**
+     * If 'current' action step was configured with a 'exceptionMethod' attribute
+     * that method will be called with a single argument of type Exception 
+     * @param tree ConfigTree - where to look for the exceptionMetod attribute
+     * @param thrown Exception - to be used in invocation to method (if found)
+     */
+    protected void actionClassException(ConfigTree tree, Message msg,  Throwable thrown)
+    {
+//    	thrown.printStackTrace();
+    	String sMethod = obtainAttribute(tree,ListenerTagNames.EXCEPTION_METHOD_TAG,null);
+    	if (null!=sMethod)
+	    	try
+	    	{
+	    		Method method = _currentClass.getMethod(sMethod,new Class[] {Message.class, Throwable.class});
+	    		method.invoke(_currentProcessor,new Object[] {msg, thrown} );
+	    	}
+	    	catch (NoSuchMethodException e) 	{_logger.error(e); }
+	    	catch (InvocationTargetException e) {_logger.error(e); }
+	    	catch (IllegalAccessException e) 	{_logger.error(e); }
+    }
+
+    /**
+     * If 'current' action step was configured with an 'okMethod' attribute
+     * that method will be called with no arguments 
+     * @param tree ConfigTree - where to look for the okMetod attribute
+     */
+    protected void actionClassFinishedOk(ConfigTree tree,Message msg)
+    {
+    	String sMethod = obtainAttribute(tree,ListenerTagNames.NORMAL_COMPLETION_METHOD_TAG,null);
+    	if (null!=sMethod)
+	    	try
+	    	{
+	    		Method method = _currentClass.getMethod(sMethod,new Class[] {Message.class});
+	    		method.invoke(_currentProcessor,new Object[] {msg} );
+	    	}
+	    	catch (NoSuchMethodException e) 	{_logger.error(e); }
+	    	catch (InvocationTargetException e) {_logger.error(e); }
+	    	catch (IllegalAccessException e) 	{_logger.error(e); }
+    }
+
+    protected String[] getActionNames()
+    {
+    	String[] sa = new String[_actionList.length];
+    	int i1=0;
+    	for (ConfigTree oCurr : _actionList)
+    		sa[i1++]=obtainAttribute(oCurr,ListenerTagNames.ACTION_CLASS_TAG,"NO_CLASSNAME");
+    	return sa;
+    }
+    
+    private static String obtainAttribute(ConfigTree tree,String p_sAtt, String p_sDefault)
+	{
+		String sVal = tree.getAttribute(p_sAtt);
+		return (null != sVal) ? sVal : p_sDefault;
+	} // ________________________________
+	
+    protected ConfigTree[]	_actionList;
+    protected int			_currentIndex;
+    protected String		_currentAction;
+    protected Class 		_currentClass;
+    protected Object		_currentProcessor;
+	protected Message		_message;
+	protected ConfigTree	_config;
+	protected Logger		_logger = Logger.getLogger(this.getClass());
+
+	/**
+	 * @return Returns the processingComplete.
+	 */
+	public boolean isProcessingComplete() {
+		return processingComplete;
+	}
+	
+	/**
+	 * Wait until processing is complete.
+	 */
+	public void waitUntilComplete() {
+		while(!processingComplete) {
+			try {
+				Thread.sleep(50);
+			} catch (InterruptedException e) {
+				_logger.error("Thread Interrupted.", e);
+			}
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/HttpListener.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/HttpListener.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/HttpListener.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,365 @@
+/*
+ * 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.message;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+import javax.management.MBeanServer;
+
+import org.apache.log4j.Logger;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.ServerInvoker;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.remoting.transport.Connector;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerInitializationException;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Util;
+
+/**
+ * Http listener implementation using the JBoss Remoting channel.
+ * 
+ * The listener will listen to messages on the configured listenHttpUrl. If this
+ * is not set, the default http://localhost:5400 will be used.
+ * 
+ * This listener expects an Object message whose type is org.jboss.soa.esb.message.Message
+ * 
+ * Sample listener Configuration:
+ * 
+ * <HttpListener listenerClass="org.jboss.soa.esb.listeners.message.HttpListener"/>
+ * 
+ * <pre>
+ *  &lt;HttpListener listenerClass=&quot;org.jboss.soa.esb.listeners.message.HttpListener&quot;&gt; 
+ *   	&lt;action class=&amp;quotorg.jboss.soa.esb.actions.routing.EchoRouter&quot;/&gt;     
+ *  &lt;/HttpListener&gt;
+ * </pre>
+ * 
+ * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
+ * 
+ */
+public class HttpListener extends AbstractManagedLifecycle implements ServerInvocationHandler {
+    
+    /**
+     * serial version uid for this class
+     */
+    private static final long serialVersionUID = -2939297462625444965L;
+
+    /* The logger for this class */
+    protected Logger logger = Logger.getLogger(HttpListener.class);
+    
+    /* The url this listener will listen on */
+    private static final String LISTEN_HTTP_URL = "listenHttpUrl";
+    
+    /* The url to listen on */
+    public String listenHttpUrl = null;
+    
+    /* The default transport this listener will listen on */
+    private static final String transport = "http";
+    
+    /* The default hostname this listener will listen on */
+    private static final String host = "localhost";
+    
+    /* The default port this listener will listen on */
+    private static final int port = 5400;
+        
+    /**
+     * The default maximum thread count.
+     */
+    private static final int defaultMaxThreads = 1 ;
+    
+    /**
+     * The config for this listener.
+     */
+    private final ConfigTree config ;
+    
+    /**
+     * The remoting connector.
+     */
+    private Connector connector ;
+    /**
+     * The maximum thread count.
+     */
+    private int maxThreads ;
+    /**
+     * The executor service for the tasks.
+     */
+    private ExecutorService executor ;
+    
+    /**
+     * Constructor initialising this HttpListener
+     * 
+     * @param commandListener
+     * @param listenerConfig
+     * @param actionDefinitionFactory
+     * @throws ConfigurationException
+     * @throws ListenerInitializationException
+     */
+    public HttpListener(final ConfigTree config)
+            throws ConfigurationException
+    {
+        super(config) ;
+        this.config = config ;
+        checkParams() ;
+    }
+            
+    /**
+     * Handle the initialisation of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while initialisation.
+     */
+    protected void doInitialise()
+        throws ManagedLifecycleException
+    {
+        // nothing to initialise here.
+    }
+
+    /**
+     * Handle the start of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while starting.
+     */
+    protected void doStart()
+        throws ManagedLifecycleException
+    {
+        checkExecutorTermination() ;
+        
+        final Connector connector ;
+        try
+        {
+            final InvokerLocator locator = new InvokerLocator(listenHttpUrl);
+            connector = new Connector(locator);
+            connector.create();
+    
+            connector.addInvocationHandler("HttpInvocationHandler", this);
+    
+            // Starting the server deamon
+            connector.start();
+    
+            if (logger.isInfoEnabled())
+            {
+                logger.info("Started HttpListener deamon with locator uri of: " + listenHttpUrl);
+            }
+        }
+        catch (final Exception ex)
+        {
+            logger.warn("Unexpected error starting HttpListener", ex) ;
+            throw new ManagedLifecycleException(ex) ;
+        }
+        
+        this.connector = connector ;
+        executor = Executors.newFixedThreadPool(maxThreads) ;
+    }
+
+    /**
+     * Handle the stop of the managed instance.
+     * 
+     * @throws ManagedLifecycleException
+     *             for errors while stopping.
+     */
+    protected void doStop()
+        throws ManagedLifecycleException
+    {
+        try
+        {
+            connector.stop() ;
+            connector.destroy() ;
+        }
+        finally
+        {
+            connector = null ;
+        }
+        executor.shutdown() ;
+    }
+    
+    /**
+     * Handle the destroy of the managed instance.
+     * 
+     * @throws ManagedLifecycleException for errors while destroying.
+     */
+    protected void doDestroy()
+        throws ManagedLifecycleException
+    {
+        checkExecutorTermination() ;
+    }
+    
+    /**
+     * Check that the existing executor has been closed down.
+     * @throws ManagedLifecycleException If executor tasks are still active.
+     */
+    private void checkExecutorTermination()
+        throws ManagedLifecycleException
+    {
+        if (executor != null)
+        {
+            try
+            {
+                try
+                {
+                    if (!executor.awaitTermination(getTerminationPeriod(), TimeUnit.MILLISECONDS))
+                    {
+                        throw new ManagedLifecycleException("Tasks remain active in executor") ;
+                    }
+                }
+                catch (final InterruptedException ie)
+                {
+                    throw new ManagedLifecycleException("Interrupted waiting for active tasks to terminate") ;
+                }
+            }
+            finally
+            {
+                executor = null ;
+            }
+        }
+    }
+        
+    /*
+     * Method being invoked when a request comes in.
+     * 
+     * (non-Javadoc)
+     * 
+     * @see org.jboss.remoting.ServerInvocationHandler#invoke(org.jboss.remoting.InvocationRequest)
+     */
+    @SuppressWarnings("unchecked")
+    public Object invoke(InvocationRequest invocationRequest) throws Throwable {
+    	Object payload = invocationRequest.getParameter();
+    
+    	if (logger.isInfoEnabled()) {
+            logger.info("HttpInvocationListener is invoked...The given payload is : " + payload);
+    	}
+    	if (payload instanceof Message){
+            final ActionProcessingPipeline pipelineRunner = new ActionProcessingPipeline((Message)payload, config) ;
+            executor.execute(pipelineRunner) ;
+    	} else {
+            logger.error("Unsupported HttpListener message type: " + payload.getClass().getName());
+    	}
+    	
+    	return payload;
+    }
+    /**
+     * Adds a callback handler that will listen for callbacks from the server
+     * invoker handler.
+     * 
+     * @param callbackHandler
+     */
+    public void addListener(InvokerCallbackHandler callbackHandler) {
+    	// NO OP as do not handling callback listeners in this example
+    }
+    
+    /**
+     * Removes the callback handler that was listening for callbacks from the
+     * server invoker handler.
+     * 
+     * @param callbackHandler
+     */
+    public void removeListener(InvokerCallbackHandler callbackHandler) {
+    	// NO OP as do not handling callback listeners in this example
+    }
+    
+    /**
+     * set the mbean server that the handler can reference
+     * 
+     * @param server
+     */
+    public void setMBeanServer(MBeanServer server) {
+    	// NO OP as do not need reference to MBeanServer for this handler
+    }
+    
+    /**
+     * set the invoker that owns this handler
+     * 
+     * @param invoker
+     */
+    public void setInvoker(ServerInvoker invoker) {
+    	// NO OP as do not need reference back to the server invoker
+    }
+    
+    /**
+     * Method getting the url this HttpListener instance is listening on
+     * 
+     * @return the current listenHttpUrl
+     */
+    public String getListenHttpUrl() {
+    	return listenHttpUrl;
+    }
+    
+    /**
+     * Method setting the listenHttpUrl property to listen on
+     * 
+     * @param listenHttpUrl
+     *            the listenHttpUrl to be used by this HttpListener instance
+     */
+    public void setListenHttpUrl(String listenHttpUrl) {
+    	this.listenHttpUrl = listenHttpUrl;
+    }
+    
+    /**
+     * Check for mandatory and optional attributes in parameter tree
+     */
+    private void checkParams()
+            throws ConfigurationException
+    {
+        // listener url
+        listenHttpUrl = config.getAttribute(LISTEN_HTTP_URL);
+        if (listenHttpUrl == null)
+        {
+            listenHttpUrl = getDefaultListenHttpUrl();
+            if (logger.isInfoEnabled())
+            {
+                logger.info("Attribute listenHttpUrl has not been set on the HttpListener. Using default "
+                                + getDefaultListenHttpUrl());
+            }
+        }
+        
+        final String maxThreadVal = config.getAttribute(ListenerTagNames.MAX_THREADS_TAG) ;
+        
+        if (!Util.isNullString(maxThreadVal))
+        {
+            try
+            {
+                maxThreads = Integer.parseInt(maxThreadVal) ;
+            }
+            catch (NumberFormatException nfe)
+            {
+                maxThreads = defaultMaxThreads ;
+                logger.warn("Invalid " + ListenerTagNames.MAX_THREADS_TAG + " attribute, defaulting to <" + maxThreads + ">") ;
+            }
+        }
+    }
+    
+    /**
+     * Method returning the default listenHttpUrl for this HttpListener instance
+     * 
+     * @return the default listen url
+     */
+    private String getDefaultListenHttpUrl() {
+    	return HttpListener.transport + "://" + HttpListener.host + ":"
+    			+ HttpListener.port;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/Invoker.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,128 @@
+/*
+ * 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.message;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Collection;
+import java.util.UUID;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.PickUpOnlyCourier;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierTimeoutException;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.listeners.RegistryUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.util.AbstractCommandVehicle;
+
+
+/**
+ * 
+ * Utility class to hide implementation details for sending Command messages and optionally awaiting for a response. 
+ * 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a> 
+ *
+ */
+
+public class Invoker {
+
+	/**
+	 * Encapsulate command in an ESB Message, and deliver.
+	 * 
+	 * @param command AbstractCommandMessage - Transform into an ESB Message, and send
+	 * @param category String - Service category name for Registry inquiry
+	 * @param name String - Service name for Registry inquiry
+	 * @throws RegistryException
+	 * @throws MalformedEPRException
+	 * @throws CourierException
+	 */
+	public static void invoke(AbstractCommandVehicle command, String category, String name)
+		throws RegistryException, MalformedEPRException, CourierException
+	{
+		try { invokeAndAwaitResponse(command,category,name,-1); }
+		catch (CourierTimeoutException e)
+		{
+			_logger.fatal("This should NEVER happen");
+		}
+	} //________________________________
+	
+	/**
+	 * Encapsulate command in an ESB Message, deliver it, and wait for a response Message.
+	 * 
+	 * @param command AbstractCommandMessage - Transform into an ESB Message, and send
+	 * @param category String - Service category name for Registry inquiry
+	 * @param name String - Service name for Registry inquiry
+	 * @param maxWaitMillis int - Maximum time to wait for a response
+	 * @return
+	 * @throws RegistryException
+	 * @throws MalformedEPRException
+	 * @throws CourierException
+	 * @throws CourierTimeoutException - If response was not received in specified time
+	 */
+	
+	public static Message invokeAndAwaitResponse(AbstractCommandVehicle command, String category, String name
+						,int maxWaitMillis)
+		throws RegistryException, MalformedEPRException, CourierException, CourierTimeoutException
+	{
+		Message outgoing = command.toCommandMessage();
+		Call call	= outgoing.getHeader().getCall();
+		URI	 uri	= null;
+		try  { uri = new URI(UUID.randomUUID().toString()); }
+		catch (URISyntaxException e)
+		{
+			_logger.fatal("This should NOT happen");
+			return null;
+		}
+		
+		call.setMessageID(uri);
+		Collection<EPR> eprs = RegistryUtil.getEprs(category, name);
+		EPR toEpr = (eprs.size()<1) ? null : eprs.iterator().next();
+		call.setTo(toEpr);
+
+		Courier sender = CourierFactory.getCourier(toEpr);
+		PickUpOnlyCourier receiver = null;
+		EPR replyToEpr = null;
+		boolean waitForResponse = (maxWaitMillis > 0);
+		if (waitForResponse)
+		{
+			replyToEpr	= CourierUtil.getTemporaryReplyToEpr(toEpr);
+			call.setReplyTo(replyToEpr);
+			call.setFaultTo(replyToEpr);
+			receiver	= CourierFactory.getPickupCourier(replyToEpr);
+		}
+
+		sender.deliver(outgoing);
+		return (waitForResponse)
+			? receiver.pickup(maxWaitMillis)
+			: null
+		;
+	}
+	
+	private static Logger _logger = Logger.getLogger(Invoker.class);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/MessageAwareListener.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,374 @@
+/*
+ * 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.message;
+
+import java.lang.reflect.Method;
+import java.util.Observable;
+import java.util.Observer;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.PickUpOnlyCourier;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierTimeoutException;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.couriers.TwoWayCourier;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.listeners.RegistryUtil;
+import org.jboss.soa.esb.listeners.lifecycle.AbstractThreadedManagedLifecycle;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleThreadState;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.util.Util;
+
+/**
+ * Esb Message aware transport independent listener. <p/> Relies on the
+ * CourierFactory to obtain an appropriate Courier for the EPR this listener
+ * will be listening on <br/>Keeps a thread pool to instantiate
+ * ActionProcessingPipelines whenever a Message is received
+ * 
+ * @author <a
+ *         href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ */
+
+public class MessageAwareListener  extends AbstractThreadedManagedLifecycle implements Observer
+{
+        /**
+         * serial version uid for this class
+         */
+        private static final long serialVersionUID = -9198018611828254359L;
+    
+        /**
+	 * public constructor
+	 * 
+	 * @param config
+	 *            ConfigTree - Containing 'static' configuration for this
+	 *            instance
+	 * @throws ConfigurationException
+	 */
+	public MessageAwareListener(final ConfigTree config)
+			throws ConfigurationException
+	{
+            super(config);
+            _config = config ;
+            checkMyParms() ;
+	}
+
+	/**
+	 * Check for mandatory and optional attributes in parameter tree
+	 * 
+	 * @throws ConfigurationException -
+	 *             if mandatory atts are not right or actionClass not in
+	 *             classpath
+	 */
+	protected void checkMyParms () throws ConfigurationException
+	{
+                _eprCategoryName = _config.getAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG);
+                _eprName = _config.getAttribute(ListenerTagNames.SERVICE_NAME_TAG);
+
+                final String maxThreadVal = _config.getAttribute(ListenerTagNames.MAX_THREADS_TAG) ;
+                
+                if (!Util.isNullString(maxThreadVal))
+                {
+                    try
+                    {
+                        _maxThreads = Integer.parseInt(maxThreadVal) ;
+                    }
+                    catch (NumberFormatException nfe)
+                    {
+                        _maxThreads = _defaultMaxThreads ;
+                        _logger.warn("Invalid " + ListenerTagNames.MAX_THREADS_TAG + " attribute, defaulting to <" + _maxThreads + ">") ;
+                    }
+                }
+
+		if (Util.isNullString(_eprCategoryName))
+			throw new ConfigurationException(
+					"Missing or invalid " + ListenerTagNames.SERVICE_CATEGORY_NAME_TAG);
+		if (Util.isNullString(_eprName))
+			throw new ConfigurationException(
+					"Missing or invalid " + ListenerTagNames.SERVICE_NAME_TAG);
+
+		ConfigTree eprElement = _config.getFirstChild(ListenerTagNames.EPR_TAG);
+		if (null == eprElement)
+			throw new ConfigurationException(
+					"Missing or invalid " + ListenerTagNames.EPR_TAG + " element");
+		_epr = ListenerUtil.assembleEpr(eprElement);
+                
+                String latency = _config.getAttribute(ListenerTagNames.POLL_LATENCY_SECS_TAG);
+                long lSeconds = 10;
+                if (null != latency)
+                {
+                    try
+                    {
+                        lSeconds = Integer.parseInt(latency);
+                    }
+                    catch (NumberFormatException e)
+                    {
+                        _logger.warn("Invalid number format <" + latency + "> using default value (" + lSeconds + ")");
+                    }
+                }
+                _latencySecs = lSeconds ;                
+	}
+        
+        /**
+         * Handle the initialisation of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while initialisation.
+         */
+        protected void doInitialise()
+            throws ManagedLifecycleException
+        {
+            final TwoWayCourier pickUpCourier ;
+            try
+            {
+                pickUpCourier = CourierFactory.getPickupCourier(_epr) ;
+                try
+                {
+                    final Method setPollLatency = pickUpCourier.getClass().getMethod(
+                        "setPollLatency", new Class[] { Long.class });
+                    setPollLatency.invoke(pickUpCourier, new Long(1000 * _latencySecs));
+                }
+                catch (final NoSuchMethodException nsme)
+                {
+                        // OK, just leave it null
+                }
+                catch (final Exception ex)
+                {
+                    CourierUtil.cleanCourier(pickUpCourier);
+                    throw new ManagedLifecycleException("Problems invoking setPollLatency(long)", ex) ;
+                }
+            }
+            catch (final MalformedEPRException mepre)
+            {
+                throw new ManagedLifecycleException("Malformed EPR: " + _epr) ;
+            }
+            catch (final CourierException ce)
+            {
+                throw new ManagedLifecycleException("No appropriate courier can be obtained for " + _epr, ce);
+            }
+            
+            _pickUpCourier = pickUpCourier ;
+         
+            try
+            {
+                RegistryUtil.register(_config, _epr);
+            }
+            catch (final RegistryException re)
+            {
+                CourierUtil.cleanCourier(_pickUpCourier);
+                throw new ManagedLifecycleException("Unexpected error during registration for epr " + _epr, re);
+            }
+        }
+        
+        /**
+         * Handle the start of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while starting.
+         */
+        protected void doStart()
+            throws ManagedLifecycleException
+        {
+            checkExecutorTermination() ;
+            
+            _execService = Executors.newFixedThreadPool(_maxThreads) ;
+            
+            super.doStart() ;
+        }
+        
+        /**
+         * Execute on the thread.
+         */
+        protected void doRun()
+        {
+            if (_logger.isDebugEnabled())
+            {
+                _logger.debug("doRun() method of " + this.getClass().getSimpleName()
+                            + " started on thread " + Thread.currentThread().getName());
+            }
+            
+            while (isRunning())
+            {
+                // Only pickup a message when a thread is available
+                if (getActiveThreadCount() >= _maxThreads)
+                {
+                    waitForRunningStateChange(ManagedLifecycleThreadState.STOPPING, _pauseLapseInMillis) ;
+                }
+                else
+                {
+                    waitForEventAndProcess(100) ;
+                }
+            }
+            if (null != _execService)
+                _execService.shutdown();
+
+            if (_logger.isDebugEnabled())
+            {
+                _logger.debug("run() method of " + this.getClass().getSimpleName()
+                            + " finished on thread " + Thread.currentThread().getName());
+            }
+        }
+        
+	public void waitForEventAndProcess (long maxWaitMillis)
+	{
+		Message message = null;
+		try
+		{
+			message = (maxWaitMillis > 0) ? _pickUpCourier
+					.pickup(maxWaitMillis) : null;
+		}
+		catch (CourierTimeoutException e)
+		{
+			return;
+		}
+		catch (CourierException e)
+		{
+			_logger.error("Courier Exception", e);
+			return;
+		}
+
+		if (null != message)
+		{
+			ActionProcessingPipeline chain = null;
+
+			try
+			{
+				chain = new ActionProcessingPipeline(message, _config);
+				chain.addObserver(this);
+				updateThreadCount(+1);
+				_execService.execute(chain);
+			}
+			catch (Exception e)
+			{
+				_logger.error("ActionProcessingPipeline exception", e);
+				return;
+			}
+		}
+
+	} // ________________________________
+        
+        /**
+         * Handle the destroy of the managed instance.
+         * 
+         * @throws ManagedLifecycleException for errors while destroying.
+         */
+        protected void doDestroy()
+            throws ManagedLifecycleException
+        {
+            checkExecutorTermination() ;
+            
+            CourierUtil.cleanCourier(_pickUpCourier);
+            
+            RegistryUtil.unregister(_eprCategoryName, _eprName, _epr) ;
+        }
+        
+        /**
+         * Check that the existing executor has been closed down.
+         * @throws ManagedLifecycleException If executor tasks are still active.
+         */
+        private void checkExecutorTermination()
+            throws ManagedLifecycleException
+        {
+            if (_execService != null)
+            {
+                try
+                {
+                    try
+                    {
+                        if (!_execService.awaitTermination(getTerminationPeriod(), TimeUnit.MILLISECONDS))
+                        {
+                            throw new ManagedLifecycleException("Tasks remain active in executor") ;
+                        }
+                    }
+                    catch (final InterruptedException ie)
+                    {
+                        throw new ManagedLifecycleException("Interrupted waiting for active tasks to terminate") ;
+                    }
+                }
+                finally
+                {
+                    _execService = null ;
+                }
+            }
+        }
+        
+        // Child threads will send a -1 when their run() method ends
+        // we need to prevent picking up Messages when there are no available
+        // threads in pool
+        public void update(Observable o, Object arg)
+        {
+            if (arg instanceof Integer)
+                updateThreadCount((Integer) arg);
+        }
+
+        private int getActiveThreadCount()
+        {
+            synchronized (_synchThreads)
+            {
+                return _qRunningThreads ;
+            }
+        }
+
+        private void updateThreadCount(Integer i)
+        {
+            synchronized (_synchThreads)
+            {
+                _qRunningThreads += i.intValue();
+            }
+        }
+
+        private ConfigTree _config;
+
+        private String _eprCategoryName;
+
+        private String _eprName;
+
+        private EPR _epr;
+
+        private int _maxThreads;
+
+        private int _defaultMaxThreads;
+        
+        private long _latencySecs;
+        
+        private long _pauseLapseInMillis = 50 ;
+
+        private ExecutorService _execService;
+
+        private Object _synchThreads = new Short((short) -1);
+        
+        private int _qRunningThreads;
+
+        private Logger _logger = Logger.getLogger(MessageAwareListener.class);
+        
+        private PickUpOnlyCourier _pickUpCourier;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,207 @@
+<?xml version="1.0"?>
+<project name="build.listeners.tests" default="org.jboss.esb.listeners.tests.compile" basedir=".">
+
+    <property name="org.jboss.esb.module.src.dir" location="../src"/>
+    <property name="org.jboss.esb.module.classes.root.dir" location="${org.jboss.esb.internal.dest}/classes"/>
+    <property name="org.jboss.esb.module.classes.dir" location="${org.jboss.esb.internal.dest}/classes/listeners"/>
+    <property name="org.jboss.esb.module.tests.src.dir" location="src"/>
+    <property name="org.jboss.esb.tests.classes.dir" location="${org.jboss.esb.internal.dest}/tests"/>
+    <property name="org.jboss.esb.tests.report.dir" location="${org.jboss.esb.internal.dest}/tests/junit"/>
+    <property name="org.jboss.esb.root.dir" location="../.."/>
+	<property name="gendir" location="${org.jboss.esb.internal.dest}/schema-model" />
+    <property name="org.jboss.esb.module.tests.conf.dir" location="${org.jboss.esb.root.dir}/listeners/tests/resources/conf"/>
+
+    <property environment="env"/>
+
+    <property name="org.jboss.esb.test.ftp.hostname" value="ftp.ncl.ac.uk"/>
+    <property name="org.jboss.esb.test.ftp.user" value="anonymous"/>
+    <property name="org.jboss.esb.test.ftp.pwd" value=""/>
+    <property name="org.jboss.esb.test.ftp.dir" value="/pub/DNS"/>
+
+    <property name="org.jboss.esb.ext.lib.dir" location="${org.jboss.esb.root.dir}/lib/ext"/>
+
+    <condition property="org.jboss.esb.ext.lib.dir" value="${org.jboss.esb.jboss.home}/client">
+        <equals arg1="${org.jboss.esb.frominstall}" arg2="yes"/>
+    </condition>
+
+    <path id="org.jboss.esb.tests.base.classpath">
+    	<fileset dir="${org.jboss.esb.ext.lib.dir}"
+    		excludes="*.jar" includes="jaxr-api*.jar,scout*.jar,juddi*.jar"/>
+        <fileset dir="${org.jboss.esb.ext.lib.dir}" includes="*.jar"/>
+        <pathelement location="${org.jboss.esb.module.classes.root.dir}/rosetta"/>
+        <pathelement location="${org.jboss.esb.module.classes.root.dir}/services"/>
+    	<pathelement location="${gendir}/classes"/>
+        <pathelement location="${org.jboss.esb.module.classes.dir}"/>
+        <pathelement location="${org.jboss.esb.module.tests.conf.dir}"/>
+        <!--
+        <fileset dir="${org.jboss.esb.ext.lib.dir}"
+                 includes="activation.jar jbossall-client.jar log4j.jar mail.jar junit.jar emma.jar emma_ant.jar"/>
+        <pathelement location="${org.jboss.esb.module.classes.dir}"/>
+        -->
+    </path>
+
+    <target name="org.jboss.esb.tests.init">
+        <tstamp>
+            <format property="TODAY" pattern="dd-MM-yy"/>
+        </tstamp>
+
+        <mkdir dir="${org.jboss.esb.tests.classes.dir}"/>
+        <mkdir dir="${org.jboss.esb.tests.report.dir}"/>
+    </target>
+
+    <target name="clean">
+        <delete dir="${org.jboss.esb.tests.classes.dir}"/>
+        <delete file="TESTS-TestSuites.xml"/>
+    </target>
+
+    <target name="org.jboss.esb.listeners.tests.compile" if="org.jboss.esb.buildtests" depends="org.jboss.esb.tests.init">
+
+        <javac
+                destdir="${org.jboss.esb.tests.classes.dir}"
+                classpathref="org.jboss.esb.tests.base.classpath"
+                debug="${org.jboss.esb.debug}"
+                optimize="${org.jboss.esb.optimize}"
+                >
+            <src path="${org.jboss.esb.module.tests.src.dir}"/>
+        </javac>
+
+    </target>
+
+    <!-- ====================================================================== -->
+    <!--                             T E S T                                    -->
+    <!-- ====================================================================== -->
+    <target name="org.jboss.esb.listeners.internal.test">
+	    <property name="org.jboss.esb.module.tests.coverage.dir" location="${org.jboss.esb.internal.dest}/tests/coverage/listeners"/>
+        <property name="org.jboss.esb.module.classes.instr.dir" location="${org.jboss.esb.module.tests.coverage.dir}/instr" />
+
+		<!-- Instrument the code for code coverage - using emma... -->
+    	<delete dir="${org.jboss.esb.module.tests.coverage.dir}" />
+	    <mkdir dir="${org.jboss.esb.module.tests.coverage.dir}" />
+        <emma>
+			<instr 	instrpath="${org.jboss.esb.module.classes.dir}" 
+					destdir="${org.jboss.esb.module.classes.instr.dir}" 
+					metadatafile="${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+	    </emma>        
+    	<!-- Run the tests -->
+        <antcall target="org.jboss.esb.services.internal.test.exec"/>        
+
+    	<!-- Generate the coverage report -->
+        <emma>
+			<report sourcepath="${org.jboss.esb.module.src.dir}" sort="+block,+name,+method,+class" metrics="method:70,block:80,line:80,class:100">
+		        <fileset dir="${org.jboss.esb.module.tests.coverage.dir}" >
+					<include name="*.emma" />
+		        </fileset>
+		        <html outfile="${org.jboss.esb.module.tests.coverage.dir}/index.html" depth="method" columns="name,line,class,method,block"/>
+			</report>
+	    </emma>
+    </target>
+
+    <!-- ====================================================================== -->
+    <!--         U N I T   A N D   F U N C T I O N A L   T E S T S              -->
+    <!-- ====================================================================== -->
+    <target name="org.jboss.esb.services.internal.test.exec">
+        <echo message="Running tests for module, excluding integration"/>
+        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
+            <formatter type="plain" usefile="false"/>
+            <formatter type="xml"/>
+            <batchtest todir="${org.jboss.esb.tests.report.dir}">
+                <fileset dir="${org.jboss.esb.module.tests.src.dir}">
+                    <include name="**/**UnitTest.java"/>
+                    <include name="**/**FuncTest.java"/>
+                </fileset>
+            </batchtest>
+            <classpath>
+        		<!-- using instrumented code for code coverage -->
+                <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
+                <pathelement location="${org.jboss.esb.tests.classes.dir}"/>
+            	<!-- Need the tests src folder because there may be non-compiled test resources -->
+                <pathelement location="${org.jboss.esb.module.tests.src.dir}"/>
+                <path refid="org.jboss.esb.tests.base.classpath"/>
+            </classpath>
+       	    <sysproperty key="org.jboss.esb.test.ftp.hostname" value="${org.jboss.esb.test.ftp.hostname}"/>
+            <sysproperty key="org.jboss.esb.test.ftp.user" value="${org.jboss.esb.test.ftp.user}"/>
+            <sysproperty key="org.jboss.esb.test.ftp.pwd" value="${org.jboss.esb.test.ftp.pwd}"/>
+            <sysproperty key="org.jboss.esb.test.ftp.dir" value="${org.jboss.esb.test.ftp.dir}"/>
+			<!-- emma jvm args -->
+			<jvmarg value="-Demma.coverage.out.file=${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+			<jvmarg value="-Demma.coverage.out.merge=true" />
+        </junit>
+        <junitreport>
+            <fileset dir="${org.jboss.esb.tests.report.dir}">
+                <include name="*.xml"/>
+            </fileset>
+            <report format="frames" todir="${org.jboss.esb.tests.report.dir}"/>
+            <report format="noframes" todir="${org.jboss.esb.tests.report.dir}"/>
+        </junitreport>
+    </target>
+	
+	<!-- ====================================================================== -->
+    <!--                             INTEGRATION T E S TS                       -->
+	<!-- ====================================================================== -->
+	    <target name="org.jboss.esb.listeners.internal.integration.test">
+		    <property name="org.jboss.esb.module.tests.coverage.dir" location="${org.jboss.esb.internal.dest}/tests/coverage/listeners"/>
+	        <property name="org.jboss.esb.module.classes.instr.dir" location="${org.jboss.esb.module.tests.coverage.dir}/instr" />
+
+			<!-- Instrument the code for code coverage - using emma... -->
+	    	<delete dir="${org.jboss.esb.module.tests.coverage.dir}" />
+		    <mkdir dir="${org.jboss.esb.module.tests.coverage.dir}" />
+	        <emma>
+				<instr 	instrpath="${org.jboss.esb.module.classes.dir}" 
+						destdir="${org.jboss.esb.module.classes.instr.dir}" 
+						metadatafile="${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+		    </emma>        
+	    	<!-- Run the tests -->
+	        <antcall target="org.jboss.esb.services.internal.integration.test.exec"/>        
+
+	    	<!-- Generate the coverage report -->
+	        <emma>
+				<report sourcepath="${org.jboss.esb.module.src.dir}" sort="+block,+name,+method,+class" metrics="method:70,block:80,line:80,class:100">
+			        <fileset dir="${org.jboss.esb.module.tests.coverage.dir}" >
+						<include name="*.emma" />
+			        </fileset>
+			        <html outfile="${org.jboss.esb.module.tests.coverage.dir}/index.html" depth="method" columns="name,line,class,method,block"/>
+				</report>
+		    </emma>
+	    </target>
+
+	    <!-- ====================================================================== -->
+	    <!--         INTEGRATION   T E S T S                                        -->
+	    <!-- ====================================================================== -->
+	    <target name="org.jboss.esb.services.internal.integration.test.exec">
+	        <echo message="Running tests for module"/>
+	        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
+	            <formatter type="plain" usefile="false"/>
+	            <formatter type="xml"/>
+	            <batchtest todir="${org.jboss.esb.tests.report.dir}">
+	                <fileset dir="${org.jboss.esb.module.tests.src.dir}">
+	                	<include name="**/**IntegrationTest.java"/>
+	                	<include name="**/**UnitTest.java"/>
+	                	<include name="**/**FuncTest.java"/>
+	                </fileset>
+	            </batchtest>
+	            <classpath>
+	        		<!-- using instrumented code for code coverage -->
+	                <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
+	                <pathelement location="${org.jboss.esb.tests.classes.dir}"/>
+	            	<!-- Need the tests src folder because there may be non-compiled test resources -->
+	                <pathelement location="${org.jboss.esb.module.tests.src.dir}"/>
+	                <path refid="org.jboss.esb.tests.base.classpath"/>
+	            </classpath>
+       	            <sysproperty key="org.jboss.esb.test.ftp.hostname" value="${org.jboss.esb.test.ftp.hostname}"/>
+                    <sysproperty key="org.jboss.esb.test.ftp.user" value="${org.jboss.esb.test.ftp.user}"/>
+                    <sysproperty key="org.jboss.esb.test.ftp.pwd" value="${org.jboss.esb.test.ftp.pwd}"/>
+                    <sysproperty key="org.jboss.esb.test.ftp.dir" value="${org.jboss.esb.test.ftp.dir}"/>
+				<!-- emma jvm args -->
+				<jvmarg value="-Demma.coverage.out.file=${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+				<jvmarg value="-Demma.coverage.out.merge=true" />
+	        </junit>
+	        <junitreport>
+	            <fileset dir="${org.jboss.esb.tests.report.dir}">
+	                <include name="*.xml"/>
+	            </fileset>
+	            <report format="frames" todir="${org.jboss.esb.tests.report.dir}"/>
+	            <report format="noframes" todir="${org.jboss.esb.tests.report.dir}"/>
+	        </junitreport>
+	    </target>
+	
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/resources/conf/log4j.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/resources/conf/log4j.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/resources/conf/log4j.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+### direct log messages to stdout ###
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
+### set log levels - for more verbose logging change 'info' to 'debug' ###
+log4j.rootLogger=info, stdout
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/device-profile.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/device-profile.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/device-profile.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!DOCTYPE device-profiles PUBLIC "-//MILYN//DTD TINAK 1.0//EN" "http://www.milyn.org/dtd/device-profile-1.0.dtd">
+
+<device-profiles>
+	<device-profile name="type:Acme-Order-XML" list="profile1,profile2"/>
+	<device-profile name="from:Acme" list="profile23,profile24"/>
+	<device-profile name="to:AcmePartner" list="profile55,profile56"/>
+
+	<device-profile name="profile1" list="A"/>
+	<device-profile name="profile2" list="B"/>
+	<device-profile name="profile23" list="C"/>
+	<device-profile name="profile24" list="D"/>
+	<device-profile name="profile55" list="E"/>
+	<device-profile name="profile56" list="E"/>
+</device-profiles>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionUtilsUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionUtilsUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionUtilsUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,189 @@
+/*
+ * 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;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import junit.framework.JUnit4TestAdapter;
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.soa.esb.common.tests.BaseTest;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.notification.NotificationList;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.xml.sax.SAXException;
+
+
+/**
+ * Unit tests for the ActionUtils class.
+ *
+ * @author <a href="mailto:jplenhart at yahoo.com">jplenhart at yahoo.com</a>
+ */
+
+public class ActionUtilsUnitTest extends BaseTest
+{
+    private static final String CURRENT_OBJECT = "org.jboss.soa.esb.actions.current.after";
+    private Logger logger = Logger.getLogger(this.getClass());
+
+
+    /**
+     * Testing the Utility to get the Task
+     * before Object
+     */
+    public void testGetTaskBeforeObject()
+    {
+        Message msg1 = MessageFactory.getInstance().getMessage(MessageType.DEFAULT_TYPE);
+        String anyText = "A bunch of text";
+        msg1.getBody().add(ActionUtils.BEFORE_ACTION, anyText.getBytes());
+
+        Object obj = ActionUtils.getTaskBeforeObject(msg1);
+        String anyTextAfter = new String((byte[]) obj);
+        assertTrue(anyText.equals(anyTextAfter));
+    }
+
+    /**
+     * Testing the Utility to get the Copy
+     * The current Message Body Object
+     * to the Previous
+     */
+    public void testCopyCurrentToPrevious()
+    {
+        String beforeAction = "before action";
+        String currentObject = "current action";
+
+        Message msg1 = MessageFactory.getInstance().getMessage(MessageType.DEFAULT_TYPE);
+        msg1.getBody().add(ActionUtils.BEFORE_ACTION, beforeAction.getBytes());
+        msg1.getBody().add(CURRENT_OBJECT, currentObject.getBytes());
+        ActionUtils.copyCurrentToPrevious(msg1);
+
+        // Both BEFORE_ACTION and CURRENT_OBJECT should be equal
+        Object objBeforeAction = msg1.getBody().get(ActionUtils.BEFORE_ACTION);
+        Object objCurrentObject = msg1.getBody().get(CURRENT_OBJECT);
+        assertEquals(objBeforeAction, objCurrentObject);
+    }
+
+    /**
+     * Convenience Method to Obtain a Stream
+     * To a Mock File
+     */
+    private InputStream getStream(String sName)
+    {
+        InputStream oRet = getClass().getResourceAsStream(sName);
+
+        if (null == oRet)
+        {
+            try
+            {
+                oRet = new FileInputStream(sName);
+            }
+            catch (IOException e)
+            {
+                /* OK  Just fall through */
+            }
+        }
+
+        return oRet;
+    }
+
+
+    /**
+     * Convenience Method to Build a ConfigTree from a File
+     */
+    private ConfigTree getConfigTreeFromInputStream(String fileName)
+            throws SAXException, IOException
+    {
+        String pathToFile = new StringBuilder()
+                .append(TestEnvironmentUtil.getUserDir("product"))
+                .append("core/listeners/tests/src/org/jboss/soa/esb/actions/")
+                .append(fileName).toString();
+
+        logger.log(Priority.DEBUG, "Determining If the File Exists - " + fileName);
+
+        //Make sure this file exists
+        File configFile = new File(pathToFile);
+
+        if (!configFile.exists())
+        {
+            logger.log(
+                    Priority.ERROR, "File does not Exist - Failing the Test");
+            assertTrue(false);
+        }
+        else
+        {
+            logger.log(Priority.DEBUG, "Found the File");
+        }
+
+        ConfigTree confTree = ConfigTree.fromInputStream(getStream(pathToFile));
+
+        return confTree;
+    }
+
+
+    /**
+     * Testing the ActionUtils class to verify that the
+     * Correct NotifyList is returned based on a Mock ConfigTree
+     */
+    public void testGetNotifyList()
+    {
+        try
+        {
+            ConfigTree confTree =
+                    getConfigTreeFromInputStream("NotificationList_01.xml");
+            NotificationList list = ActionUtils.getNotifyList(confTree, "OK");
+
+            // Expecting a NotificationList Returned (If one is not returned we get Null)
+            assertNotNull(list);
+
+            //Since it is not Null -- Verify the content
+            assertEquals(1, list.getAllChildren().length);
+            assertEquals(
+                    "NotifyConsole",
+                    list.getFirstChild("target").getAttribute("class"));
+        }
+        catch (IOException _ioex)
+        {
+            logger.log(Priority.ERROR, "IOException: " + _ioex.getMessage());
+            assertTrue(false);
+        }
+        catch (SAXException _saxex)
+        {
+            logger.log(Priority.ERROR, "SAXException: " + _saxex.getMessage());
+            assertTrue(false);
+        }
+        catch (Exception _ex)
+        {
+            logger.log(Priority.ERROR, "Exception: " + _ex.getMessage());
+            assertTrue(false);
+        }
+    }
+
+    public static junit.framework.Test suite()
+    {
+        return new JUnit4TestAdapter(ActionUtilsUnitTest.class);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/BaseTestActionProcessor.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/BaseTestActionProcessor.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/BaseTestActionProcessor.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,73 @@
+/*
+ * 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;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Vector;
+
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public abstract class BaseTestActionProcessor implements ActionProcessor {
+
+	public ActionProcessingException exception;
+	public List<Message> processedMessages = new Vector<Message>();
+	public boolean returnNull = false;
+	
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+     */
+    public Message process(Message message) throws ActionProcessingException {
+    	if(exception != null) {
+    		throw exception;
+    	}
+    	
+    	processedMessages.add(message);
+    	
+    	if(returnNull) {
+    		return null;
+    	}
+    	
+    	return message;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+     */
+    public Serializable getOkNotification(Message message) {
+        return "OK: " + message;
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+     */
+    public Serializable getErrorNotification(Message message) {
+        return "ERROR: " + message;
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/MockPojoAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/MockPojoAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/MockPojoAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,77 @@
+/*
+ * 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.actions;
+
+import java.util.List;
+
+
+/**
+ * Used to test pojo related functionality.
+ * 
+ * @author danielmarchant
+ *
+ */
+public class MockPojoAction {
+
+	public static MockPojo getMockPojo() {
+		return new MockPojoAction.MockPojo();
+	}
+	
+	public static class MockPojo {
+		public MockPojo() {
+			
+		}
+		public String name;
+		public String value;
+		public List list;
+		
+		public String getName() {
+			return name;
+		}
+		public void setName(String name) {
+			this.name = name;
+		}
+		public String getValue() {
+			return value;
+		}
+		public void setValue(String value) {
+			this.value = value;
+		}
+		
+		public List<MockPojo> getList() {
+			return list;
+		}
+		
+		public void setList(List listIn ){
+			list = listIn;
+		}
+		
+	}
+	
+	public String message = "WentThrough";
+	
+	public MockPojo doPojoAction(MockPojo pojo) {
+		pojo.setName(message);
+		return pojo;
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/NotificationList_01.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/NotificationList_01.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/NotificationList_01.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+<action  class="org.jboss.soa.esb.actions.Notifier"  okMethod="notifyOK">
+	<NotificationList type="OK"> 
+		<target class="NotifyConsole" /> 
+	</NotificationList> 
+</action>
+	   

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/TestBean.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/TestBean.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/TestBean.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,55 @@
+/*
+ * 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;
+
+/**
+ * Just a simple test JavaBean class.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class TestBean implements java.io.Serializable 
+{
+	private static final long serialVersionUID = 1L;
+	private String name;
+    private String phone;
+
+    public TestBean() {
+    }
+    public TestBean(String name, String phone) {
+        this.name = name;
+        this.phone = phone;
+    }
+    
+    public String getName() {
+        return name;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getPhone() {
+        return phone;
+    }
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ToNowhereRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ToNowhereRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ToNowhereRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,49 @@
+/*
+ * 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;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ToNowhereRouter extends BaseTestActionProcessor {
+
+    public static List<Object> objects = new ArrayList<Object>();
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#processAction(java.lang.Object)
+     */
+    public Message process(Message msg) throws ActionProcessingException {
+        objects.add(ActionUtils.getTaskObject(msg));
+                
+        System.out.println("ToNowhereRouter");
+        return msg;
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ByteArrayToStringUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ByteArrayToStringUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ByteArrayToStringUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,60 @@
+/*
+ * 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.converters;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+/**
+ * ByteArrayToString unit tests.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ByteArrayToStringUnitTest extends TestCase
+{
+
+	public void test() throws ActionProcessingException
+	{
+		List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+
+		properties.add(new KeyValuePair("encoding", "UTF-8"));
+		ByteArrayToString byteArrayToString = new ByteArrayToString(
+				"actionName", properties);
+
+		String sTest = "TestString";
+		Message msg = MessageFactory.getInstance().getMessage();
+		ActionUtils.setTaskObject(msg,sTest.getBytes());
+		byteArrayToString.process(msg);
+		String decodedBytes = (String)ActionUtils.getTaskObject(msg);
+		assertEquals(sTest, decodedBytes);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/LongToDateConverter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/LongToDateConverter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/LongToDateConverter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,61 @@
+/*
+ * 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.converters;
+
+import java.util.Date;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.actions.BaseTestActionProcessor;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * LongToDate Converter Test Action Handler.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class LongToDateConverter extends BaseTestActionProcessor
+{
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#processAction(java.lang.Object)
+	 */
+	public Message process(Message message) throws ActionProcessingException
+	{
+		Object oCurr = ActionUtils.getTaskObject(message);
+		if (!(oCurr instanceof Long))
+		{
+			throw new ActionProcessingException(
+					"This action handler only accepts Long object instances.");
+		}
+		System.out.println("LongToDateConverter");
+
+        try { ActionUtils.setTaskObject(message,new Date((Long)oCurr)); }
+        catch (Exception e)
+        { throw new ActionProcessingException(e); }
+        return message;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectInvokeTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectInvokeTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectInvokeTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,77 @@
+/*
+ * 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.actions.converters;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.actions.MockPojoAction;
+import org.jboss.soa.esb.actions.TestBean;
+import org.jboss.soa.esb.actions.MockPojoAction.MockPojo;
+
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.junit.Assert;
+import org.junit.Test;
+
+
+/**
+ * 
+ * @author danielmarchant
+ *
+ */
+public class ObjectInvokeTest {
+
+	@Test
+	public void testObjectInvoke() throws Exception {
+		
+		 List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+	     properties.add(new KeyValuePair("class-processor",MockPojoAction.class.getName()));
+	     properties.add(new KeyValuePair("class-method","doPojoAction"));
+	     
+	     
+	     MockPojo pojoObj = new MockPojo();
+	     pojoObj.name="Hello";
+	     String name = pojoObj.name;
+	     
+	     Message oMsg = MessageFactory.getInstance().getMessage();
+	     ActionUtils.setTaskObject(oMsg,pojoObj);
+	     
+	     ObjectInvoke objectInvoke = new ObjectInvoke("ObjectInvoke",properties);
+	     objectInvoke.process(oMsg);
+	     
+	     MockPojoAction.MockPojo pojo = ( MockPojoAction.MockPojo ) ActionUtils.getTaskObject(oMsg);
+		
+	     
+	     
+	     Assert.assertNotNull(pojo.name);
+	     Assert.assertNotSame(" Process didn't work " , name,pojo.name);
+	     
+		
+	}
+	
+	
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToCSVStringUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToCSVStringUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToCSVStringUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,107 @@
+/*
+ * 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.converters;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+/**
+ * ObjectToCSVString unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ObjectToCSVStringUnitTest extends TestCase {
+
+    public void test() throws ConfigurationException, ActionProcessingException {
+        List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+        Message oMsg = MessageFactory.getInstance().getMessage();
+        
+        // Single value - property exist on bean...
+        properties.add(new KeyValuePair(ObjectToCSVString.BEAN_PROPERTIES_PROP, "name"));
+        ObjectToCSVString processor = new ObjectToCSVString("ObjectToCSVString", properties);
+        
+		ActionUtils.setTaskObject(oMsg,new TestBean());
+        oMsg = processor.process(oMsg);
+        assertEquals("Tom Fennelly", ActionUtils.getTaskObject(oMsg));
+
+        // Multi value - properties all exist on bean...
+        properties.clear();
+        properties.add(new KeyValuePair(ObjectToCSVString.BEAN_PROPERTIES_PROP, "name,age"));
+        processor = new ObjectToCSVString("ObjectToCSVString", properties);
+        ActionUtils.setTaskObject(oMsg,new TestBean());
+        processor.process(oMsg);
+        assertEquals("Tom Fennelly,21", ActionUtils.getTaskObject(oMsg));
+
+        // Multi value - some properties exist on bean and some don't...
+        properties.clear();
+        properties.add(new KeyValuePair(ObjectToCSVString.BEAN_PROPERTIES_PROP, "id,name,phone,age"));
+        processor = new ObjectToCSVString("ObjectToCSVString", properties);
+        ActionUtils.setTaskObject(oMsg,new TestBean());
+        processor.process(oMsg);
+        assertEquals("<no-such-property>,Tom Fennelly,<no-such-property>,21", ActionUtils.getTaskObject(oMsg));
+
+        // Single value - property doesn't exist on bean...
+        properties.clear();
+        properties.add(new KeyValuePair(ObjectToCSVString.BEAN_PROPERTIES_PROP, "id"));
+        processor = new ObjectToCSVString("ObjectToCSVString", properties);
+        ActionUtils.setTaskObject(oMsg,new TestBean());
+        processor.process(oMsg);
+        assertEquals("<no-such-property>", ActionUtils.getTaskObject(oMsg));
+
+        // Single value - property doesn't exist on bean and "fail-on-missing-property" action config is set on...
+        properties.clear();
+        properties.add(new KeyValuePair(ObjectToCSVString.BEAN_PROPERTIES_PROP, "id"));
+        properties.add(new KeyValuePair(ObjectToCSVString.FAIL_ON_MISSING_PROPERTY, "true"));
+        processor = new ObjectToCSVString("ObjectToCSVString", properties);
+        ActionUtils.setTaskObject(oMsg,new TestBean());
+        try {
+        	processor.process(oMsg);
+        	fail("Expected ActionProcessingException");
+        } catch(ActionProcessingException e) {
+        	assertEquals("Bean method: getId not found/accessible on message object org.jboss.soa.esb.actions.converters.ObjectToCSVStringUnitTest$TestBean", e.getMessage());
+        }
+    }
+    
+    public static class TestBean  implements java.io.Serializable
+    {
+		private static final long serialVersionUID = 1L;
+		private String name = "Tom Fennelly";
+        private int age = 21; // hehehehe
+        
+        public int getAge() {
+            return age;
+        }
+        public String getName() {
+            return name;
+        }
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToXStreamUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToXStreamUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/ObjectToXStreamUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,109 @@
+/*
+ * 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.converters;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.actions.TestBean;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+/**
+ * ObjectToXStream unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ObjectToXStreamUnitTest extends TestCase {
+
+    public void test_default() throws ActionProcessingException {
+        List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+        
+        ObjectToXStream objectToXStream = new ObjectToXStream("TestBean-Serialiser", properties);
+        
+        Message oMsg = MessageFactory.getInstance().getMessage();
+        ActionUtils.setTaskObject(oMsg,new TestBean("Tom", "1234"));
+        oMsg = objectToXStream.process(oMsg);
+        String xml = (String)ActionUtils.getTaskObject(oMsg);
+        XStream xstream = new XStream(new DomDriver());
+        TestBean bean = new TestBean();
+
+        assertTrue("Expected [<TestBean>].  Got [" + xml + "]", xml.startsWith("<TestBean>"));
+        xstream.alias("TestBean", TestBean.class);
+        xstream.fromXML(xml, bean);
+        
+        assertEquals("Tom", bean.getName());
+        assertEquals("1234", bean.getPhone());
+    }
+
+    public void test_with_package() throws ActionProcessingException {
+        List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+        
+        properties.add(new KeyValuePair("exclude-package", "false"));
+        ObjectToXStream objectToXStream = new ObjectToXStream("TestBean-Serialiser", properties);
+        
+        Message oMsg = MessageFactory.getInstance().getMessage();
+        ActionUtils.setTaskObject(oMsg,new TestBean("Tom", "1234"));
+        objectToXStream.process(oMsg);
+        String xml = (String)ActionUtils.getTaskObject(oMsg);
+
+        XStream xstream = new XStream(new DomDriver());
+        TestBean bean = new TestBean();
+
+        assertTrue("Expected start with [<" + TestBean.class.getName() + ">].  Got [" + xml + "]", xml.startsWith("<" + TestBean.class.getName() + ">"));
+        xstream.fromXML(xml, bean);
+        
+        assertEquals("Tom", bean.getName());
+        assertEquals("1234", bean.getPhone());
+    }
+
+    public void test_with_alias() throws ActionProcessingException {
+        List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+        
+        properties.add(new KeyValuePair("class-alias", "TomsClass"));
+        ObjectToXStream objectToXStream = new ObjectToXStream("TestBean-Serialiser", properties);
+        
+        Message oMsg = MessageFactory.getInstance().getMessage();
+        ActionUtils.setTaskObject(oMsg,new TestBean("Tom", "1234"));
+        objectToXStream.process(oMsg);
+        String xml = (String)ActionUtils.getTaskObject(oMsg);
+
+        XStream xstream = new XStream(new DomDriver());
+        xstream.alias("TomsClass", TestBean.class);
+        TestBean bean = new TestBean();
+
+        assertTrue("Expected start with [<TomsClass>].  Got [" + xml + "]", xml.startsWith("<TomsClass>"));
+        xstream.fromXML(xml, bean);
+        
+        assertEquals("Tom", bean.getName());
+        assertEquals("1234", bean.getPhone());
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/SmooksTransformerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/SmooksTransformerUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/SmooksTransformerUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,124 @@
+/*
+ * 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.converters;
+
+import java.net.URISyntaxException;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+/**
+ * SmooksTransformer unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class SmooksTransformerUnitTest extends TestCase {
+
+    @Override
+    protected void setUp() throws Exception {
+        SmooksTransformer.reset();
+    }
+
+    public void test_bad_config() {
+    	ConfigTree properties = new ConfigTree("name");
+
+        // Should get exceptions where message type configs are specified but empty...
+        properties.setAttribute(SmooksTransformer.FROM_TYPE, " ");
+        assertConfigException(properties, "Empty '" + SmooksTransformer.FROM_TYPE + "' config attribute supplied.");
+        properties.setAttribute(SmooksTransformer.FROM_TYPE, "x");
+        properties.setAttribute(SmooksTransformer.TO_TYPE, " ");
+        assertConfigException(properties, "Empty '" + SmooksTransformer.TO_TYPE + "' config attribute supplied.");
+    }
+
+    public void test_trans() throws ActionProcessingException, ConfigurationException, URISyntaxException {
+        String stringMessage;
+        String transRes;
+        
+        // Very basic test!  Just illustrates profile based resource selection.
+        // Read the smooks-test.cdrl config file in this package!! 
+
+        // Initialise the acme order message...
+        stringMessage = "<a><ddd>value</ddd></a>";
+        
+        // Transform the order message going to "AcmePartner1"...
+        transRes = transform(stringMessage, "Acme-Order-XML", "Acme", "AcmePartner1", "Partner1-Order-XML");
+        assertEquals("<x><b>value</b></x>", transRes);
+        
+        // Transform the order message going to "AcmePartner2"...
+        transRes = transform(stringMessage, "Acme-Order-XML", "Acme", "AcmePartner2", "Partner2-Order-XML");
+        assertEquals("<x><c>value</c></x>", transRes);
+    }
+    
+    private String transform(String stringMessage, String fromType, String from, String to, String toType) throws ActionProcessingException, ConfigurationException, URISyntaxException {
+        ConfigTree properties = new ConfigTree("name");
+
+        // Set the message properties in order to trigger the appropriate transformations
+        // on the message...
+        properties.setAttribute(SmooksTransformer.FROM, from);
+        properties.setAttribute(SmooksTransformer.FROM_TYPE, fromType);
+        properties.setAttribute(SmooksTransformer.TO, to);
+        properties.setAttribute(SmooksTransformer.TO_TYPE, toType);
+
+    	// The smooks-cdr.lst and device-profile.xml files are located in the root of the 
+        // test src folder.  You need to look at these to see how this works...
+        SmooksTransformer transformer = new SmooksTransformer(properties);
+        Message message;
+        
+        // Perform the transformation by setting the payload on the task object.
+        message = createNewMessage(fromType, from, to, toType);
+        ActionUtils.setTaskObject(message, stringMessage);
+        message = transformer.process(message);
+        String resultThroughTaskObj = (String) ActionUtils.getTaskObject(message);
+        assertEquals(resultThroughTaskObj, new String(message.getBody().getContents()));
+        
+        // Perform the transformation by setting the payload on the body "contents".
+        message = createNewMessage(fromType, from, to, toType);
+        message.getBody().setContents(stringMessage.getBytes());
+        message = transformer.process(message);
+        assertEquals(resultThroughTaskObj, new String(message.getBody().getContents()));
+        
+        return resultThroughTaskObj;
+    }
+
+	private Message createNewMessage(String fromType, String from, String to, String toType) {
+		Message message;
+		message = MessageFactory.getInstance().getMessage();
+        
+		return message;
+	}
+
+    private void assertConfigException(ConfigTree properties, String expectedException) {
+        try {
+            new SmooksTransformer("trans", properties);
+            fail("Expected ConfigurationException: [" + expectedException + "...]");
+        } catch(ConfigurationException e) {
+            assertTrue("Expected exception message to start with [" + expectedException + "]. Was [" + e.getMessage() + "]", e.getMessage().startsWith(expectedException));
+        }
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/StringToLongConverter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/StringToLongConverter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/StringToLongConverter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+/*
+ * 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.converters;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.actions.BaseTestActionProcessor;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * StringToLong Converter Test Action Handler.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class StringToLongConverter extends BaseTestActionProcessor {
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#processAction(java.lang.Object)
+     */
+    public Message process(Message message) throws ActionProcessingException {
+    	Object oCurr = ActionUtils.getTaskObject(message);
+        if(!(oCurr instanceof String)) {
+            throw new ActionProcessingException("This action handler only accepts String object instances.");
+        }
+        
+        System.out.println("StringToLongConverter");
+        try { ActionUtils.setTaskObject(message,new Long((String)oCurr)); }
+        catch (Exception e)
+        { throw new ActionProcessingException(e); }
+        return message;
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/XStreamToObjectUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/XStreamToObjectUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/XStreamToObjectUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,114 @@
+/*
+ * 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.converters;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.actions.TestBean;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+/**
+ * XStreamToObject unit tests.
+ * @author daniel Marchant
+ * @since Version 4.0
+ */
+public class XStreamToObjectUnitTest extends TestCase {
+
+    public void test_default() throws ActionProcessingException {
+        List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+        properties.add(new KeyValuePair("incoming-type",TestBean.class.getName() ));
+        
+        
+        XStreamToObject xstreamToObject = new XStreamToObject("TestBean-Serialiser", properties);
+
+        
+        Message oMsg = MessageFactory.getInstance().getMessage();
+
+        
+        String msg = "<" + TestBean.class.getSimpleName() + "> <name>Tom</name><phone>1234</phone></" + TestBean.class.getSimpleName() + ">";
+        
+        ActionUtils.setTaskObject(oMsg,msg);
+        oMsg = xstreamToObject.process(oMsg);
+       
+        TestBean bean = (TestBean)ActionUtils.getTaskObject(oMsg);
+  
+        assertEquals("Tom", bean.getName());
+        assertEquals("1234", bean.getPhone());
+         
+    }
+
+    public void test_with_package() throws ActionProcessingException {
+        List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+        properties.add(new KeyValuePair("exclude-package", "false"));
+        properties.add(new KeyValuePair("incoming-type",TestBean.class.getName() ));
+        
+        XStreamToObject xstreamToObject = new XStreamToObject("TestBean-Serialiser", properties);
+
+        
+        Message oMsg = MessageFactory.getInstance().getMessage();
+        
+        String msg = "<" + TestBean.class.getName() + "> <name>Tom</name><phone>1234</phone></"+ TestBean.class.getName() +">";
+        
+        ActionUtils.setTaskObject(oMsg,msg);
+        oMsg = xstreamToObject.process(oMsg);
+       
+        TestBean bean = (TestBean)ActionUtils.getTaskObject(oMsg);
+  
+        assertEquals("Tom", bean.getName());
+        assertEquals("1234", bean.getPhone());
+        
+    }
+
+    public void test_with_alias() throws ActionProcessingException {
+        List<KeyValuePair> properties = new ArrayList<KeyValuePair>();
+        
+        properties.add(new KeyValuePair("class-alias", "TomsClass"));
+        properties.add(new KeyValuePair("exclude-package", "false"));
+        properties.add(new KeyValuePair("incoming-type",TestBean.class.getName() ));
+        
+        XStreamToObject xstreamToObject = new XStreamToObject("TestBean-Serialiser", properties);
+
+        
+        Message oMsg = MessageFactory.getInstance().getMessage();
+        
+        String msg = "<TomsClass><name>Tom</name><phone>1234</phone></TomsClass>";
+        
+        ActionUtils.setTaskObject(oMsg,msg);
+        oMsg = xstreamToObject.process(oMsg);
+       
+        TestBean bean = (TestBean)ActionUtils.getTaskObject(oMsg);
+  
+        assertEquals("Tom", bean.getName());
+        assertEquals("1234", bean.getPhone());
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/smooks-test.cdrl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/smooks-test.cdrl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/converters/smooks-test.cdrl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,28 @@
+<?xml version='1.0'?>
+<!DOCTYPE smooks-resource-list PUBLIC '-//MILYN//DTD SMOOKS 1.0//EN' 'http://milyn.org/dtd/smooksres-list-1.0.dtd'>
+
+<smooks-resource-list>
+
+	<!-- 
+		"Acme-Order-XML" messages going from "Acme" to "AcmePartner1" 
+	-->
+	<smooks-resource useragent="from-type:Acme-Order-XML AND from:Acme AND to-type:Partner1-Order-XML AND to:AcmePartner1" selector="ddd" path="org.milyn.cdres.trans.RenameElementTU">
+		<param name="replacementElement">b</param>
+	</smooks-resource>
+
+	<!-- 
+		"Acme-Order-XML" messages going from "Acme" to "AcmePartner2" 
+	-->
+	<smooks-resource useragent="from-type:Acme-Order-XML AND from:Acme AND to-type:Partner2-Order-XML AND to:AcmePartner2" selector="ddd" path="org.milyn.cdres.trans.RenameElementTU">
+		<param name="replacementElement">c</param>
+	</smooks-resource>
+
+	<!-- 
+		"Acme-Order-XML" messages going from "Acme" to anywhere
+	-->
+	<smooks-resource useragent="from-type:Acme-Order-XML AND from:Acme" selector="a" path="org.milyn.cdres.trans.RenameElementTU">
+		<param name="replacementElement">x</param>
+	</smooks-resource>
+
+</smooks-resource-list>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerBaseTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerBaseTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerBaseTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,268 @@
+/*
+ * 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;
+
+import java.io.File;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.LinkedList;
+import java.util.Properties;
+import java.util.Queue;
+import java.util.Random;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.common.tests.BaseTest;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+
+public class ListenerManagerBaseTest extends BaseTest
+{
+	/**
+	 * The message lock.
+	 */
+	private static Lock lock = new ReentrantLock() ;
+	/**
+	 * The not empty condition.
+	 */
+	private static Condition notEmpty = lock.newCondition() ;
+	/**
+	 * The queue of messages.
+	 */
+	private static final Queue<String> MESSAGES = new LinkedList<String>() ;
+	
+	/**
+	 * Clear the current message queue.
+	 */
+	protected static void clearMessages()
+	{
+		lock.lock() ;
+		try
+		{
+			MESSAGES.clear() ;
+		}
+		finally
+		{
+			lock.unlock() ;
+		}
+	}
+	
+	/**
+	 * Add the message to the message queue.
+	 * @param text The message text.
+	 */
+	protected static void addMessage(final byte[] text)
+	{
+		lock.lock() ;
+		try
+		{
+			final boolean notify = (MESSAGES.size() == 0) ;
+			final String message = new String(text) ;
+			MESSAGES.add(message) ;
+			if (notify)
+			{
+				notEmpty.signal() ;
+			}
+		}
+		finally
+		{
+			lock.unlock() ;
+		}
+	}
+	
+	/**
+	 * Get the first message from the queue.
+	 * @param timeout The maximum time to wait before returning. 
+	 * @return The first message in the queue or null on timeout.
+	 */
+	protected static String getMessage(final long timeout)
+	{
+            final long endTime = System.currentTimeMillis() + timeout ;
+            lock.lock() ;
+            try
+            {
+                while (MESSAGES.size() == 0)
+                {
+                    final long delay = endTime - System.currentTimeMillis() ;
+                    if (delay > 0)
+                    {
+                        try
+                        {
+                            notEmpty.await(delay, TimeUnit.MILLISECONDS) ;
+                        }
+                        catch (final InterruptedException ie) {} // Ignore the interrupt
+                    }
+                    else
+                    {
+                        return null ;
+                    }
+                }
+                final String message = MESSAGES.remove() ;
+                return message ;
+            }
+            finally
+            {
+                lock.unlock();
+            }
+	}
+
+	protected void runBeforeAllTests()
+	{
+		try
+		{
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product",
+					"../product")
+					+ "/etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse("product",
+					"../product");
+			// Set the juddi properties file in System so juddi will pick it up
+			// later and use the test values.
+			String juddiPropertiesFile = "/org/jboss/soa/esb/listeners/juddi-unittest.properties";
+			System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
+			// Read this properties file to get the db connection string
+			Properties props = new Properties();
+			InputStream inStream = Class.class
+					.getResourceAsStream(juddiPropertiesFile);
+
+			props.load(inStream);
+			mDbDriver = props.getProperty("juddi.jdbcDriver");
+			mDbUrl = props.getProperty("juddi.jdbcUrl");
+			mDbUsername = props.getProperty("juddi.jdbcUsername");
+			mDbPassword = props.getProperty("juddi.jdbcPassword");
+
+			String database = "not tested yet";
+			if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+			{
+				database = "hsqldb";
+				// Bring up hsql on default port 9001
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir(
+						"product", "../product")
+						+ "/build/hsqltestdb", "juddi");
+			}
+			else if ("com.mysql.jdbc.Driver".equals(mDbDriver))
+			{
+				database = "mysql";
+			} // add and test your own database..
+
+			// Get the registry-schema create scripts
+			String sqlDir = TestEnvironmentUtil.getUserDir("product",
+					"../product")
+					+ "/install/jUDDI-registry/sql/" + database + "/";
+			// Drop what is there now, if exists. We want to start fresh.
+			String sqlDropCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "drop_database.sql"));
+			String sqlCreateCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "create_database.sql"));
+			String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "insert_publishers.sql"));
+
+			try
+			{
+				Class.forName(mDbDriver);
+			}
+			catch (Exception e)
+			{
+				System.out.println("ERROR: failed to load " + database
+						+ " JDBC driver.");
+				e.printStackTrace();
+				return;
+			}
+			con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
+			Statement stmnt = con.createStatement();
+			stmnt.execute(sqlDropCmd);
+			stmnt.execute(sqlCreateCmd);
+			stmnt.execute(sqlInsertPubCmd);
+			stmnt.close();
+		}
+		catch (Throwable e)
+		{
+			e.printStackTrace();
+			System.out
+					.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+	}
+
+	protected final void runAfterAllTests()
+	{
+		try
+		{
+			Thread.sleep(1000);
+			Statement stmnt = con.createStatement();
+
+			stmnt.execute("SHUTDOWN");
+			stmnt.close();
+
+			con.close();
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+		}
+	}
+
+	protected static final String TMP_DIR = System
+			.getProperty("java.io.tmpdir");
+
+	protected static Logger _logger = Logger
+			.getLogger(ListenerManagerBaseTest.class);
+
+	private static String mDbDriver;
+
+	private static String mDbUrl;
+
+	private static String mDbUsername;
+
+	private static String mDbPassword;
+
+	private static Connection con;
+
+	public static class MockMessageAwareAction
+	{
+		Random _rand = new Random(System.currentTimeMillis());
+
+		ConfigTree _config;
+
+		public MockMessageAwareAction(ConfigTree config)
+		{
+			_config = config;
+		}
+
+		public Message notifyTest(Message message) throws Exception
+		{
+			addMessage(message.getBody().getContents());
+
+			return message;
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFTPIntegrationTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFTPIntegrationTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFTPIntegrationTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,129 @@
+/*
+ * 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;
+
+import java.io.FileInputStream;
+import java.net.URI;
+import java.util.List;
+import java.util.UUID;
+
+import junit.framework.Assert;
+
+import org.jboss.internal.soa.esb.couriers.DeliverOnlyCourier;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+public class ListenerManagerFTPIntegrationTest extends ListenerManagerFileUnitTest
+{
+
+	public ListenerManagerFTPIntegrationTest ()
+	{
+		_file = "listenerFtp.xml";
+	}
+	
+	protected void oneTest () throws Exception
+	{
+		// Write some messages to EPR obtained from configuration file
+		String configFile = getClass().getResource(_file).getFile();
+		ConfigTree tree = ConfigTree.fromInputStream(new FileInputStream(
+				configFile));
+		String url = null;
+		
+		if (getFtpPwd() == null)
+			url = "ftp://"+getFtpUser()+"@"+getFtpHostname()+":"+getFtpDir();
+		else
+			url = "ftp://"+getFtpUser()+":"+getFtpPwd()+"@"+getFtpHostname()+":"+getFtpDir();
+		
+		ConfigTree eprElement = tree.getAllChildren()[0].getFirstChild("EPR");
+		eprElement.setAttribute(ListenerTagNames.URL_TAG, url);
+		
+		EPR toEPR = ListenerUtil.assembleEpr(eprElement);
+
+		if (toEPR instanceof FTPEpr)
+		{
+			//			 take inputSuffix as outputSuffix for initial message sending
+			eprElement.setAttribute(FileEpr.POST_SUFFIX_TAG, eprElement
+					.getAttribute(FileEpr.INPUT_SUFFIX_TAG));
+			eprElement.setAttribute(FileEpr.INPUT_SUFFIX_TAG, null);
+			toEPR = ListenerUtil.assembleEpr(eprElement);
+		}
+		else
+			Assert.fail();
+		
+		String THE_TEXT = "___Config=" + _file + "___ Message Content ___";
+
+		int howMany = 10; // how many messages do you want to send before the
+							// listener comes up
+		
+		DeliverOnlyCourier sender = CourierFactory.getCourier(toEPR);
+		
+		Message message = MessageFactory.getInstance().getMessage();
+		message.getHeader().setCall(new Call(toEPR));
+		message.getBody().setContents(THE_TEXT.getBytes());
+		
+		for (int i1 = 0; i1 < howMany; i1++)
+		{
+			URI uri = new URI(UUID.randomUUID().toString());
+			message.getHeader().getCall().setMessageID(uri);
+			sender.deliver(message);
+		}
+
+                final List<ManagedLifecycle> instances = LifecycleUtil.getListeners(tree) ;
+                final ManagedLifecycleController controller = new ManagedLifecycleController(instances) ;
+                controller.start() ;
+                
+		_logger.debug(" All child listeners ready");
+
+		// JUST FOR THIS TEST:
+		// Give your listener some time to process queued messages (see howMany
+		// above)
+		// Time allowed, and maxThreads in config file will impact how many
+		// messages
+		// will be processed, and how many will remain unprocessed
+		
+                try
+                {
+                    for (int count = 0 ; count < howMany ; count++)
+                    {
+                    	final String response = getMessage(10000) ;
+                    	assertNotNull("getMessage timeout", response) ;
+                    	assertEquals(THE_TEXT, response);
+                    }
+                }
+                finally
+                {
+                    _logger.debug("going to stop");
+                    controller.stop() ;
+                    _logger.debug("back from stop");
+                }
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFileUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFileUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerFileUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,164 @@
+/*
+ * 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;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.net.URI;
+import java.util.List;
+import java.util.UUID;
+
+import org.jboss.internal.soa.esb.couriers.DeliverOnlyCourier;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+public class ListenerManagerFileUnitTest extends ListenerManagerBaseTest
+{
+	public ListenerManagerFileUnitTest ()
+	{
+		_file = "listenerFile.xml";
+	}
+
+	public void testListener ()
+	{
+		_logger.info("___Test for FILENAME: " + _file
+					+ " starting ____________________");
+		
+		try
+		{
+			oneTest();
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			_logger.error(ex.toString(), ex);
+			fail();
+		}
+		
+		_logger.info("___Test for FILENAME: " + _file
+					+ " FINISHED ____________________");
+	}
+
+	public void setUp()
+	{
+		_logger.info("Writing temp files to " + TMP_DIR);
+
+		clearMessages() ;
+
+		// initialize registry
+		runBeforeAllTests();
+	}
+
+	public void tearDown()
+	{
+		clearMessages() ;
+		
+		runAfterAllTests();
+	}
+	
+	// TODO more refactoring, since oneText is duplicated a lot!
+	
+	protected void oneTest () throws Exception
+	{	
+		// Write wome messages to EPR obtained from configuration file
+		String configFile = getClass().getResource(_file).getFile();
+		ConfigTree tree = ConfigTree.fromInputStream(new FileInputStream(
+				configFile));
+		final File tmpDir = new File(System.getProperty("java.io.tmpdir")) ;
+		final String tmpDirForm = tmpDir.toURL().toExternalForm() ;
+		
+		ConfigTree eprElement = tree.getAllChildren()[0].getFirstChild("EPR");
+		eprElement.setAttribute(ListenerTagNames.URL_TAG, tmpDirForm) ;
+		
+		EPR toEPR = ListenerUtil.assembleEpr(eprElement);
+		
+		if (toEPR instanceof FileEpr)
+		{
+			// take inputSuffix as outputSuffix for initial message sending
+			eprElement.setAttribute(FileEpr.POST_SUFFIX_TAG, eprElement
+					.getAttribute(FileEpr.INPUT_SUFFIX_TAG));
+			eprElement.setAttribute(FileEpr.INPUT_SUFFIX_TAG, null);
+			toEPR = ListenerUtil.assembleEpr(eprElement);
+		}
+		else
+			fail();
+		
+		String THE_TEXT = "___Config=" + _file + "___ Message Content ___";
+
+		int howMany = 10; // how many messages do you want to send before the
+							// listener comes up
+		
+		DeliverOnlyCourier sender = CourierFactory.getCourier(toEPR);
+		
+		Message message = MessageFactory.getInstance().getMessage();
+		message.getHeader().setCall(new Call(toEPR));
+		message.getBody().setContents(THE_TEXT.getBytes());
+		
+		for (int i1 = 0; i1 < howMany; i1++)
+		{
+			URI uri = new URI(UUID.randomUUID().toString());
+			message.getHeader().getCall().setMessageID(uri);
+			sender.deliver(message);
+		}
+
+		//		 launch listener manager in a child thread
+		final ConfigTree newTree = ConfigTree.fromInputStream(new FileInputStream(
+				configFile));
+		final ConfigTree newTreeEPRElement = newTree.getAllChildren()[0].getFirstChild("EPR");
+		newTreeEPRElement.setAttribute(ListenerTagNames.URL_TAG, tmpDirForm) ;
+                
+                final List<ManagedLifecycle> instances = LifecycleUtil.getListeners(newTree) ;
+                final ManagedLifecycleController controller = new ManagedLifecycleController(instances) ;
+                controller.start() ;
+                
+		_logger.debug(" All child listeners ready");
+
+		// JUST FOR THIS TEST:
+		// Give your listener some time to process queued messages (see howMany
+		// above)
+		// Time allowed, and maxThreads in config file will impact how many
+		// messages
+		// will be processed, and how many will remain unprocessed
+		
+		for (int count = 0 ; count < howMany ; count++)
+		{
+			final String response = getMessage(10000) ;
+			assertNotNull("getMessage timeout", response) ;
+			assertEquals(THE_TEXT, response);
+		}
+
+		_logger.debug("going to stop");
+		controller.stop();
+		_logger.debug("back from stop");
+	}
+	
+	protected String _file;
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJDBCUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJDBCUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJDBCUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,158 @@
+/*
+ * 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;
+
+import java.io.FileInputStream;
+import java.net.URI;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.List;
+import java.util.UUID;
+
+import org.jboss.internal.soa.esb.couriers.DeliverOnlyCourier;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+public class ListenerManagerJDBCUnitTest extends ListenerManagerFileUnitTest
+{
+	public ListenerManagerJDBCUnitTest()
+	{
+		_file = "listenerJdbc.xml";
+	}
+
+	public void setUp()
+	{
+		_logger.info("Writing temp files to " + TMP_DIR);
+
+		clearMessages() ;
+
+		try
+		{
+			Statement stmt = getDbConnection().createStatement();
+
+			try
+			{
+				stmt.executeUpdate("DROP TABLE esb_messages");
+			}
+			catch (Exception e)
+			{
+				// Ignore
+			}
+
+			stmt.executeUpdate("CREATE TABLE esb_messages (message_id varchar NOT NULL, message varchar, status varchar, insert_timestamp bigint, CONSTRAINT pkey_esb_messages PRIMARY KEY (message_id))");
+		}
+		catch (SQLException ex)
+		{
+			ex.printStackTrace();
+
+			fail();
+		}
+
+		// initialize registry
+		runBeforeAllTests();
+	}
+	
+	protected void oneTest () throws Exception
+	{
+		// Write wome messages to EPR obtained from configuration file
+		String configFile = getClass().getResource(_file).getFile();
+		ConfigTree tree = ConfigTree.fromInputStream(new FileInputStream(
+				configFile));
+		ConfigTree eprElement = tree.getAllChildren()[0].getFirstChild("EPR");
+		
+		eprElement.setAttribute(ListenerTagNames.URL_TAG, getDbUrl());
+		eprElement.setAttribute("driver", getDbDriver());
+		eprElement.setAttribute("username", getDbUser());
+		eprElement.setAttribute("password", getDbPassword());
+		
+		EPR toEPR = ListenerUtil.assembleEpr(eprElement);
+
+		if (toEPR instanceof JDBCEpr)
+		{
+			// OK, so ignore
+		}
+		else
+			fail();
+		
+		String THE_TEXT = "___Config=" + _file + "___ Message Content ___";
+
+		int howMany = 10; // how many messages do you want to send before the
+							// listener comes up
+		
+		DeliverOnlyCourier sender = CourierFactory.getCourier(toEPR);
+		
+		Message message = MessageFactory.getInstance().getMessage();
+		message.getHeader().setCall(new Call(toEPR));
+		message.getBody().setContents(THE_TEXT.getBytes());
+		
+		for (int i1 = 0; i1 < howMany; i1++)
+		{
+			URI uri = new URI(UUID.randomUUID().toString());
+			message.getHeader().getCall().setMessageID(uri);
+			sender.deliver(message);
+		}
+
+		//		 launch listener manager in a child thread
+		final ConfigTree newTree = ConfigTree.fromInputStream(new FileInputStream(
+				configFile));
+		
+		eprElement = newTree.getAllChildren()[0].getFirstChild("EPR");
+		
+		eprElement.setAttribute(ListenerTagNames.URL_TAG, getDbUrl());
+		eprElement.setAttribute("driver", getDbDriver());
+		eprElement.setAttribute("username", getDbUser());
+		eprElement.setAttribute("password", getDbPassword());
+
+                final List<ManagedLifecycle> instances = LifecycleUtil.getListeners(newTree) ;
+                final ManagedLifecycleController controller = new ManagedLifecycleController(instances) ;
+                controller.start() ;
+                
+		_logger.debug(" All child listeners ready");
+
+		// JUST FOR THIS TEST:
+		// Give your listener some time to process queued messages (see howMany
+		// above)
+		// Time allowed, and maxThreads in config file will impact how many
+		// messages
+		// will be processed, and how many will remain unprocessed
+		
+		for (int count = 0 ; count < howMany ; count++)
+		{
+			final String response = getMessage(10000) ;
+			assertNotNull("getMessage timeout", response) ;
+			assertEquals(THE_TEXT, response);
+		}
+
+		_logger.debug("going to stop");
+		controller.stop();
+		_logger.debug("back from stop");
+	}
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJMSXntegrationTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJMSXntegrationTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/ListenerManagerJMSXntegrationTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,142 @@
+/*
+ * 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;
+
+import java.io.FileInputStream;
+import java.net.URI;
+import java.util.List;
+import java.util.UUID;
+
+import junit.framework.Assert;
+
+import org.jboss.internal.soa.esb.couriers.DeliverOnlyCourier;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+public class ListenerManagerJMSXntegrationTest extends ListenerManagerBaseTest
+{
+	public ListenerManagerJMSXntegrationTest ()
+	{
+		this("listenerJms.xml");
+	}
+	
+	public ListenerManagerJMSXntegrationTest (String configFile)
+	{
+		_file = configFile;
+	}
+	
+	public void setUp()
+	{
+		_logger.info("Writing temp files to " + TMP_DIR);
+
+		clearMessages() ;
+
+		// initialize registry
+		runBeforeAllTests();
+	}
+
+	public void testListener () throws Exception
+	{
+		_logger.info("___Test for FILENAME: " + _file
+					+ " starting ____________________");
+		
+		oneTest(_file);
+		
+		_logger.info("___Test for FILENAME: " + _file
+					+ " FINISHED ____________________");
+	}
+
+	protected void oneTest (String fileName) throws Exception
+	{	
+		// Write wome messages to EPR obtained from configuration file
+		String configFile = getClass().getResource(fileName).getFile();
+		ConfigTree tree = ConfigTree.fromInputStream(new FileInputStream(
+				configFile));		
+		ConfigTree eprElement = tree.getAllChildren()[0].getFirstChild("EPR");
+		
+		EPR toEPR = ListenerUtil.assembleEpr(eprElement);
+		
+		if (toEPR instanceof JMSEpr)
+		{
+			// good, just checking!
+		}
+		else
+			Assert.fail();
+		
+		String THE_TEXT = "___Config=" + fileName + "___ Message Content ___";
+
+		int howMany = 10; // how many messages do you want to send before the
+							// listener comes up
+		
+		DeliverOnlyCourier sender = CourierFactory.getCourier(toEPR);
+		
+		Message message = MessageFactory.getInstance().getMessage();
+		message.getHeader().setCall(new Call(toEPR));
+		message.getBody().setContents(THE_TEXT.getBytes());
+		
+		for (int i1 = 0; i1 < howMany; i1++)
+		{
+			URI uri = new URI(UUID.randomUUID().toString());
+			message.getHeader().getCall().setMessageID(uri);
+			sender.deliver(message);
+		}
+
+		//		 launch listener manager in a child thread
+		final ConfigTree newTree = ConfigTree.fromInputStream(new FileInputStream(
+				configFile));
+
+                final List<ManagedLifecycle> instances = LifecycleUtil.getListeners(newTree) ;
+                final ManagedLifecycleController controller = new ManagedLifecycleController(instances) ;
+                controller.start() ;
+                
+		_logger.debug(" All child listeners ready");
+
+		// JUST FOR THIS TEST:
+		// Give your listener some time to process queued messages (see howMany
+		// above)
+		// Time allowed, and maxThreads in config file will impact how many
+		// messages
+		// will be processed, and how many will remain unprocessed
+		
+		for (int count = 0 ; count < howMany ; count++)
+		{
+			final String response = getMessage(10000) ;
+			assertNotNull("getMessage timeout", response) ;
+			assertEquals(THE_TEXT, response);
+		}
+
+		_logger.debug("going to stop");
+		controller.stop();
+		_logger.debug("back from stop");
+	}
+	
+	protected String _file;
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.listeners.config;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.Test;
+
+/**
+ * Testing configuration controller.
+ * 
+ * @author kurt.stam at redhat.com
+ *
+ */
+public class ConfigurationControlerUnitTest 
+{
+	private static Logger logger = Logger.getLogger(ConfigurationControlerUnitTest.class);
+	
+	/**
+	 * Testing the Content Based Router.
+	 */
+	@Test
+	public void readAndGenerateConfig() throws Exception
+	{
+		String configFileName = TestEnvironmentUtil.getUserDir("product") 
+			+ "core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml";
+		//Make sure this file exists
+		File configFile = new File(configFileName);
+		if (!configFile.exists()){
+			assertTrue(false);
+		}
+		//Remove the listener and gateway configuration files if the exist
+		File currentDir = configFile.getParentFile();
+		if (null==currentDir)
+			currentDir=new File("");
+		File listenerFile = new File(currentDir + File.separator + "jbossesb-listener.xml");
+		if (listenerFile.exists()) {
+			listenerFile.delete();
+		}
+		File gatewayFile = new File(currentDir + File.separator + "jbossesb-gateway.xml");
+		if (gatewayFile.exists()) {
+			gatewayFile.delete();
+		}
+		String validationFileName = TestEnvironmentUtil.getUserDir("product") 
+			+ "etc/schemas/xml/jbossesb-1.0.xsd";
+//		Make sure this file exists
+		File validationFile = new File(validationFileName);
+		if (!validationFile.exists()){
+			assertTrue(false);
+		}
+		new ConfigurationController(configFileName, validationFileName);
+		for (int i=0; i<currentDir.listFiles().length;i++){
+			logger.info(currentDir.listFiles()[i].getName());
+		}
+		if (listenerFile.exists()) {
+			listenerFile.delete();
+		} else {
+			//Listener file should exist if all was successful
+			System.out.println("file=" + listenerFile.getAbsolutePath() + " does not exist, while it should have.");
+			assertTrue(false);
+		}
+		if (gatewayFile.exists()) {
+			gatewayFile.delete();
+		} else {
+			//Gateway file should exist if all was successful
+			System.out.println("file=" + gatewayFile.getAbsolutePath() + " does not exist, while it should have.");
+			assertTrue(false);
+		}
+	}
+	
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(ConfigurationControlerUnitTest.class);
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,203 @@
+/*
+ * 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;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.JmsBusDocument.JmsBus;
+import org.jboss.soa.esb.listeners.config.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.JmsMessageFilterDocument.JmsMessageFilter;
+import org.jboss.soa.esb.listeners.config.JmsProviderDocument.JmsProvider;
+import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
+import org.jboss.soa.esb.testutils.FileUtil;
+
+/**
+ * Generator unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class GeneratorUnitTest extends TestCase {
+	
+	private File outdir = new File("test-outdir");
+	private File gatewayConfig;
+	private File awareConfig;
+
+	public void test_constructor() throws ConfigurationException, IOException {
+		try {
+			new Generator(null);
+			fail("Expected IllegalArgumentException.");
+		} catch (IllegalArgumentException e) {
+			// OK
+		}
+	}
+	
+	public void test_generate_badagrs() throws ConfigurationException, IOException {
+		test_generate_badargs(null, "null 'outdir' arg in method call");
+		test_generate_badargs(new File("build.xml"), "'outdir' exists, but is not a directory");
+	}
+	
+	public void test_generate_files() throws ConfigurationException, IOException {
+		test_generate_files("jbossesb_config_01.xml");
+		test_generate_files("jbossesb_config_02.xml");
+	}
+		
+	public void test_generate_files(String filename) throws ConfigurationException, IOException {
+		Generator generator = new Generator(getClass().getResourceAsStream(filename));
+		String expectedGatewayConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream("jbossesb_config_01_gateways.xml")));
+		String expectedESBAwareConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream("jbossesb_config_01_esbaware.xml")));
+		String actualGatewayConfig;
+		String actualESBAwareConfig;
+		
+		expectedGatewayConfig = removeEOL(expectedGatewayConfig);
+		expectedESBAwareConfig = removeEOL(expectedESBAwareConfig);
+		
+		generator.generate(outdir);
+		
+		gatewayConfig = new File(outdir, Generator.ESB_CONFIG_GATEWAY_XML_FILE);
+		assertTrue(gatewayConfig.exists());
+		actualGatewayConfig = FileUtil.readTextFile(gatewayConfig);
+		System.out.println("actual  [" + removeEOL(actualGatewayConfig) + "]");
+        System.out.println("expected[" + expectedGatewayConfig + "]");
+		assertEquals(expectedGatewayConfig, removeEOL(actualGatewayConfig));
+		
+		awareConfig = new File(outdir, Generator.ESB_CONFIG_XML_FILE);
+		assertTrue(awareConfig.exists());
+		actualESBAwareConfig = FileUtil.readTextFile(awareConfig);
+		System.out.println("[" + actualESBAwareConfig + "]");
+		actualESBAwareConfig = removeEOL(actualESBAwareConfig);
+		boolean isIndentical = expectedESBAwareConfig.equals(actualESBAwareConfig);
+		System.out.println("Strings identical=" + isIndentical);
+		assertEquals(expectedESBAwareConfig, actualESBAwareConfig);
+	}
+
+	public void test_bad_base_listener_busref() throws ConfigurationException, IOException {
+		Generator generator = new Generator(getClass().getResourceAsStream("jbossesb_config_03.xml"));
+		
+		try {
+			generator.generate(outdir);
+			fail("Expected ConfigurationException");
+		} catch(ConfigurationException e) {
+			if(!e.getMessage().equals("The base Listener config [JMS-ESBListener] must reference a base Bus config type (<bus>).")) {
+				fail("Wrong exception");
+			}
+		}
+	}
+	
+	private String removeEOL(String string) {
+		StringBuffer stringBuf = new StringBuffer(string.length());
+
+		for(int i = 0; i < string.length(); i++) {
+			char character = string.charAt(i);
+			
+			if(character != '\r' && character != '\n') {
+				stringBuf.append(character);
+			}
+		}
+		
+		return stringBuf.toString();
+	}
+
+	public void test_model() throws ConfigurationException, IOException {
+		Generator generator = new Generator(getClass().getResourceAsStream("jbossesb_config_01.xml"));
+		XMLBeansModel model = generator.getModel();
+
+		JmsBus bus = (JmsBus)model.getBus("server1-jms");
+		JmsProvider provider = (JmsProvider) model.getProvider(bus);
+		assertEquals("server1-jms", bus.getBusid());
+		assertEquals("com.xyz.provider.XYZConnectionFactory", provider.getConnectionFactory());
+		assertEquals("com.xyz.provider.NamingContextFactory", provider.getJndiContextFactory());
+		assertEquals("xyz://server1:9876", provider.getJndiURL());
+		assertEquals("com.xyz", provider.getJndiPkgPrefix());
+		JmsMessageFilter busDestination = bus.getJmsMessageFilter();
+		assertEquals("queue/A", busDestination.getDestName());
+		assertEquals(JmsMessageFilter.DestType.QUEUE, busDestination.getDestType());
+		assertEquals("service='Reconciliation'", busDestination.getSelector());
+
+		List<Listener> gateways = model.getGatewayListeners();
+		assertEquals(1, gateways.size());
+		JmsListener gatewayListener = (JmsListener)gateways.get(0);
+		assertEquals("Bank-JMS-Gateway", gatewayListener.getName());
+		assertEquals("server1-jms", gatewayListener.getBusidref());
+		assertTrue(gatewayListener.getIsGateway());
+		assertEquals(1, gatewayListener.getMaxThreads());
+
+		List<Listener> awareListeners = model.getESBAwareListeners();
+		assertEquals(4, awareListeners.size());
+		JmsListener awareListener = (JmsListener)awareListeners.get(0);
+		assertEquals("Bank-Listener", awareListener.getName());
+		assertEquals("local-jms", awareListener.getBusidref());
+		assertTrue(!awareListener.getIsGateway());
+		assertEquals(2, awareListener.getMaxThreads());
+		JmsMessageFilter listenerDestination = awareListener.getJmsMessageFilter();
+		assertEquals("queue/B", listenerDestination.getDestName());
+		assertEquals(JmsMessageFilter.DestType.TOPIC, listenerDestination.getDestType());
+		assertEquals("service='Reconciliation'", listenerDestination.getSelector());
+		
+		Listener untypedAwareListener = awareListeners.get(1);
+		assertEquals("Bank-Listener-Generic", untypedAwareListener.getName());
+		assertEquals("my-generic-bus", untypedAwareListener.getBusidref());
+		assertTrue(!untypedAwareListener.getIsGateway());
+		
+		Service gatewayService = model.getService(gatewayListener);
+		Service awareService = model.getService(awareListener);
+		assertSame(gatewayService, awareService);
+		assertEquals("Bank", awareService.getCategory());
+		assertEquals("Reconciliation", awareService.getName());
+		assertEquals("Bank Reconciliation Service", awareService.getDescription());
+	}
+
+	private void test_generate_badargs(File outdir, String expectedMessage) throws ConfigurationException, IOException {
+		Generator generator = new Generator(getClass().getResourceAsStream("jbossesb_config_01.xml"));
+
+		try {
+			generator.generate(outdir);
+			fail("Expected IllegalArgumentException.");
+		} catch(IllegalArgumentException e) {
+			// Expected
+			if(!e.getMessage().startsWith(expectedMessage)) {
+				fail("Unexpected exception message.  Expected message to start with [" + expectedMessage + "].  Message was [" + e.getMessage() + "].");
+			}
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see junit.framework.TestCase#tearDown()
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		if(awareConfig != null && awareConfig.exists()) {
+			awareConfig.delete();
+		}
+		if(gatewayConfig != null && gatewayConfig.exists()) {
+			gatewayConfig.delete();
+		}
+		if(outdir.exists()) {
+			outdir.delete();
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/XmlValidatorUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/XmlValidatorUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/XmlValidatorUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,159 @@
+/*
+ * 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;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.util.Collection;
+
+import javax.xml.transform.stream.StreamSource;
+
+import junit.framework.JUnit4TestAdapter;
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+
+import com.sun.org.apache.xml.internal.serialize.OutputFormat;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
+/**
+ * XmlValidator unit tests.
+ * @author <a href="mailto:ddegroff at ddegroff.com">ddegroff at ddegroff.com</a>
+ */
+public class XmlValidatorUnitTest extends TestCase {
+	
+	private static String testXml;
+	private static InputSource inputSource;
+	private static StreamSource validationSource;
+	private static XmlValidatorImpl xmlValidation;
+	private boolean isValid = false;
+	
+	@Override
+	protected void setUp() throws Exception
+	{
+		testXml = "etc/examples/listeners/jbossesb_config_01.xml";
+		File validationFile = new File(testXml);
+		try {
+			if (validationFile.exists()) {
+				System.err.println("validationFile "+testXml+" exists");
+			} else {
+				throw new IOException();
+			}
+		} catch (IOException e) {
+			System.err.println("validationFile "+testXml+" does not exist");
+		}
+		try {
+			InputStream inputStream = new FileInputStream(validationFile);
+			inputSource = new InputSource(inputStream);
+			xmlValidation = new XmlValidatorImpl(inputSource);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		String validationFileName = TestEnvironmentUtil.getUserDir("product") 
+			+ "etc/schemas/xml/jbossesb-1.0.xsd";
+		try {
+			validationSource = new StreamSource(validationFileName);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}		
+	}
+	
+	@Test 
+	public void validateTestXml() throws Exception {
+		isValid = xmlValidation.validate(inputSource);
+		if (isValid) {
+			System.err.println(testXml+" is valid");
+		} else {
+			System.err.println(testXml+" is invalid -- see getValidationResults()");
+			Collection<String> validationResults = xmlValidation.getValidationResults();
+
+			if (validationResults.size() == 0) {
+			} else {
+				System.err.println("Validation Results:");
+				Object[] valResults = validationResults.toArray();
+    		for (int i = 0; i < validationResults.size(); i++) {
+        	System.err.println(valResults[i].toString());
+    		}
+			}
+		}
+	}
+	@Test
+	public void validateTestXmlAndSchema() throws Exception {
+		isValid = xmlValidation.validate(inputSource,validationSource);
+		if (isValid) {
+			System.err.println(testXml+" is valid");
+		} else {
+			System.err.println(testXml+" is invalid -- see getValidationResults()");
+			Collection<String> validationResults = xmlValidation.getValidationResults();
+
+			if (validationResults.size() == 0) {
+			} else {
+				System.err.println("Validation Results:");
+				Object[] valResults = validationResults.toArray();
+    		for (int i = 0; i < validationResults.size(); i++) {
+        	System.err.println(valResults[i].toString());
+    		}
+			}
+		}
+	}
+	@Test
+	public void testGetDocument() throws Exception {
+		Document document = xmlValidation.getXMLDocument();
+		if (document != null) {
+			final StringWriter sWriter = new StringWriter() ;
+			final OutputFormat format = new OutputFormat() ;
+			format.setIndenting(true) ;
+			final XMLSerializer xmlS = new XMLSerializer(sWriter, format) ;
+			xmlS.asDOMSerializer() ;
+			xmlS.serialize(document) ;
+			System.err.println(sWriter.toString()) ;
+		}
+	}
+	@Test
+	public void testGetValidationResults() throws Exception {
+		if (isValid) {
+
+		} else {
+			Collection<String> validationResults = xmlValidation.getValidationResults();
+
+			if (validationResults.size() == 0) {
+			} else {
+				System.err.println("Validation Results:");
+				Object[] valResults = validationResults.toArray();
+    		for (int i = 0; i < validationResults.size(); i++) {
+        	System.err.println(valResults[i]);
+    		}
+			}
+		}
+	}
+		
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(XmlValidatorUnitTest.class);
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,102 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd">
+
+	<providers>
+		<jms-provider name="JBossMQ" connection-factory="ConnectionFactory" jndi-URL="jnp://localhost:1099">
+			<jms-bus busid="local-jms" />
+		</jms-provider>
+		
+		<jms-provider name="JBossMessaging" connection-factory="com.xyz.provider.XYZConnectionFactory" 
+					jndi-context-factory="com.xyz.provider.NamingContextFactory"
+					jndi-URL="xyz://server1:9876" 
+					jndi-pkg-prefix="com.xyz">
+			<jms-bus busid="server1-jms">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/A" selector="service='Reconciliation'" />
+			</jms-bus>
+		</jms-provider>
+		
+		<ftp-provider name="FTP" hostname="localhost">
+			<ftp-bus busid="Ftp-ServerTest">
+				<ftp-message-filter directory="/Temp" input-suffix=".txt" username="joe" password="secret"/>
+			</ftp-bus>
+		</ftp-provider>
+		
+		<sql-provider name="HSQLDB" url="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" username="joe" password="secret">
+			<sql-bus busid="SQL-Test">
+				<sql-message-filter tablename="testtable"/>
+			</sql-bus>
+		</sql-provider>
+
+		<provider name="JBossAS">
+			<property name="my-generic-provider" value="my-generic-provider#someattribvalue" />
+			
+			<bus busid="my-generic-bus">
+				<property name="my-generic-bus" value="my-generic-bus#someattribvalue" />
+			</bus>
+		</provider>
+
+	</providers>
+	<services>    
+		<service category="Bank" name="Reconciliation" description="Bank Reconciliation Service">
+		
+			<listeners>  
+				<jms-listener name="Bank-JMS-Gateway"
+					busidref="server1-jms"
+					maxThreads="1"
+					is-gateway="true"/>  	    
+				<jms-listener name="Bank-Listener" 
+							busidref="local-jms"
+							maxThreads="2">
+					<jms-message-filter dest-type="TOPIC" dest-name="queue/B" selector="service='Reconciliation'" />
+				</jms-listener>
+				<listener name="Bank-Listener-Generic" 
+							busidref="my-generic-bus"
+							maxThreads="2">
+					<property name="my-generic-listener" value="my-generic-listener#someattribvalue" />
+				</listener>
+			</listeners>    	
+			  
+			<actions>    	    
+				<action name="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter">
+					<property name="propName" value="propValue" />
+					<property name="propName">
+						This is some complex..
+						<!-- property -->
+						value.
+						<xxxx>
+							boooo
+							<yyyy/>
+						</xxxx>
+						<![CDATA[ Some CDATA data...]]>
+					</property>
+				</action>
+			</actions>
+			
+		</service>
+		<service category="Test2" name="FTPTest" description="FTP server Test">
+		
+			<listeners>    	    
+				<ftp-listener name="test-ftp-listener"
+							busidref="Ftp-ServerTest"
+							maxThreads="1"/>
+			</listeners>
+			<actions>    	    
+				<action name="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions> 	
+			
+		</service>
+		<service category="Test3" name="SQLTest" description="SQL server Test">
+		
+			<listeners>    	    
+				<sql-listener name="test-sql-listener"
+							busidref="SQL-Test"
+							maxThreads="1"/>
+			</listeners>
+			<actions>    	    
+				<action name="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions> 	
+			
+		</service>
+	</services>
+	
+</jbossesb>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><Bank-Listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" protocol="jms"/><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></Bank-Listener><Bank-Listener-Generic listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" my-generic-listener="my-generic-listener#someattribvalue" !
 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></Bank-Listener-Generic><test-ftp-listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" pollLatencySeconds="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:/Temp" errorDelete="true" inputSuffix=".txt" passive="false" postDelete="true" workSuffix=".esbInProcess"/><action action="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></test-ftp-listener><test-sql-!
 listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwa
reListener" maxThreads="1" 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"/></test-sql-listener></jbossesb-listeners>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-gateways parameterReloadSecs="180"><Bank-JMS-Gateway connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation"/></jbossesb-gateways>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,138 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd">
+
+	<providers>
+		<provider name="JBossMQ">
+			<property name="connection-factory" value="ConnectionFactory" />
+			<property name="jndi-URL" value="jnp://localhost:1099" />
+			<property name="protocol" value="jms" />
+			
+			<bus busid="local-jms">
+				<property name="destination-type" value="topic" />
+				<property name="destination-name" value="queue/B" />
+				<property name="message-selector" value="service='Reconciliation'" />
+			</bus>
+		</provider>
+		
+		<provider name="JBossMessaging">
+			<property name="connection-factory" value="com.xyz.provider.XYZConnectionFactory" />
+			<property name="jndi-context-factory" value="com.xyz.provider.NamingContextFactory" />
+			<property name="jndi-URL" value="xyz://server1:9876" />
+			<property name="jndi-pkg-prefix" value="com.xyz" />
+
+			<bus busid="server1-jms">
+				<property name="destination-type" value="queue" />
+				<property name="destination-name" value="queue/A" />
+				<property name="message-selector" value="service='Reconciliation'" />
+			</bus>
+		</provider>
+		
+		<provider name="FTP">
+			<property name="URL" value="ftp://joe:secret@localhost:/Temp" />
+
+			<bus busid="Ftp-ServerTest">
+				<property name="inputSuffix" value=".txt" />
+				<property name="errorDelete" value="true" />
+				<property name="postDelete" value="true" />
+				<property name="passive" value="false" />
+				<property name="workSuffix" value=".esbInProcess" />
+			</bus>
+		</provider>
+		
+		<provider name="HSQLDB">
+			<property name="URL" value="jdbc:postgresql://myhost:5432/testDB" />
+			<property name="driver" value="org.postgresql.Driver" />
+			<property name="username" value="joe" />
+			<property name="password" value="secret" />
+			
+			<bus busid="SQL-Test">
+				<property name="tablename" value="testtable" />
+
+				<property name="tablename" value="testtable" />
+				<property name="message_column" value="message" />
+				<property name="message_id_column" value="message_id" />
+				<property name="status_column" value="status" />
+				<property name="errorDelete" value="true" />
+				<property name="insert_timestamp_column" value="insert_timestamp" />
+				<property name="postDelete" value="true" />
+			</bus>
+		</provider>
+
+		<provider name="JBossAS">
+			<property name="my-generic-provider" value="my-generic-provider#someattribvalue" />
+			
+			<bus busid="my-generic-bus">
+				<property name="my-generic-bus" value="my-generic-bus#someattribvalue" />
+			</bus>
+		</provider>
+
+	</providers>
+	<services>    
+		<service category="Bank" name="Reconciliation" description="Bank Reconciliation Service">
+		
+			<listeners>
+				<listener name="Bank-JMS-Gateway"
+					busidref="server1-jms"
+					maxThreads="1"
+					is-gateway="true">
+					<property name="gatewayClass" value="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" />
+				</listener> 	    
+				<listener name="Bank-Listener" 
+							busidref="local-jms"
+							maxThreads="2">
+				</listener>
+				<listener name="Bank-Listener-Generic" 
+							busidref="my-generic-bus"
+							maxThreads="2">
+					<property name="my-generic-listener" value="my-generic-listener#someattribvalue" />
+				</listener>
+			</listeners>    	
+			  
+			<actions>    	    
+				<action name="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter">
+					<property name="propName" value="propValue" />
+					<property name="propName">
+						This is some complex..
+						<!-- property -->
+						value.
+						<xxxx>
+							boooo
+							<yyyy/>
+						</xxxx>
+						<![CDATA[ Some CDATA data...]]>
+					</property>
+				</action>
+			</actions>
+			
+		</service>
+		<service category="Test2" name="FTPTest" description="FTP server Test">
+		
+			<listeners>    	    
+				<listener name="test-ftp-listener"
+							busidref="Ftp-ServerTest"
+							maxThreads="1">
+							<property name="pollLatencySeconds" value="10" />
+				</listener>
+			</listeners>
+			<actions>    	    
+				<action name="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions> 	
+			
+		</service>
+		<service category="Test3" name="SQLTest" description="SQL server Test" is-gateway="false">
+		
+			<listeners>    	    
+				<listener name="test-sql-listener"
+							busidref="SQL-Test"
+							maxThreads="1">
+							<property name="pollLatencySeconds" value="10" />
+				</listener>
+			</listeners>
+			<actions>    	    
+				<action name="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions> 	
+			
+		</service>
+	</services>
+	
+</jbossesb>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,43 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+
+	<!-- 
+		This is a bad configuration.  The listener below is of the base listener type, yet it references a non-base type bus (jms-bus).
+		Should generate an error.
+	-->
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory "
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+          
+        <service category="HelloWorld_ActionESB" name="SimpleListener" description="Hello World">
+            <listeners>
+                <listener name="JMS-ESBListener"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />                
+            </listeners>
+            <actions>
+               <action name="displayAction" 
+               		class="quickstart.helloworld_action.MyJMSListenerAction" 
+               		process="displayMessage">
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+               </action>
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerBaseTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerBaseTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerControllerBaseTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,150 @@
+/*
+ * 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.gateway;
+
+import java.io.File;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.Properties;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.common.tests.BaseTest;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+
+public class GatewayListenerControllerBaseTest extends BaseTest
+{
+	private static String mDbDriver;
+
+	private static String mDbUrl;
+
+	private static String mDbUsername;
+
+	private static String mDbPassword;
+
+	private static Connection con;
+
+	protected static final String TMP_DIR = System.getProperty("java.io.tmpdir");
+
+	protected static Logger _logger = Logger.getLogger(GatewayListenerControllerBaseTest.class);
+
+	protected void runBeforeAllTests()
+	{
+		try
+		{
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product",
+					"../product")
+					+ "/etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse("product",
+					"../product");
+			// Set the juddi properties file in System so juddi will pick it up
+			// later and use the test values.
+			String juddiPropertiesFile = "/org/jboss/soa/esb/listeners/gateway/juddi-unittest.properties";
+			System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
+			// Read this properties file to get the db connection string
+			Properties props = new Properties();
+			InputStream inStream = Class.class
+					.getResourceAsStream(juddiPropertiesFile);
+
+			props.load(inStream);
+			mDbDriver = props.getProperty("juddi.jdbcDriver");
+			mDbUrl = props.getProperty("juddi.jdbcUrl");
+			mDbUsername = props.getProperty("juddi.jdbcUsername");
+			mDbPassword = props.getProperty("juddi.jdbcPassword");
+
+			String database = "not tested yet";
+			if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+			{
+				database = "hsqldb";
+				// Bring up hsql on default port 9001
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir(
+						"product", "../product")
+						+ "/build/hsqltestdb", "juddi");
+			}
+			else if ("com.mysql.jdbc.Driver".equals(mDbDriver))
+			{
+				database = "mysql";
+			} // add and test your own database..
+
+			// Get the registry-schema create scripts
+			String sqlDir = TestEnvironmentUtil.getUserDir("product",
+					"../product")
+					+ "/install/jUDDI-registry/sql/" + database + "/";
+			// Drop what is there now, if exists. We want to start fresh.
+			String sqlDropCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "drop_database.sql"));
+			String sqlCreateCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "create_database.sql"));
+			String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "insert_publishers.sql"));
+
+			try
+			{
+				Class.forName(mDbDriver);
+			}
+			catch (Exception e)
+			{
+				System.out.println("ERROR: failed to load " + database
+						+ " JDBC driver.");
+				e.printStackTrace();
+				return;
+			}
+			con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
+			Statement stmnt = con.createStatement();
+			stmnt.execute(sqlDropCmd);
+			stmnt.execute(sqlCreateCmd);
+			stmnt.execute(sqlInsertPubCmd);
+			stmnt.close();
+		}
+		catch (Throwable e)
+		{
+			e.printStackTrace();
+			System.out
+					.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+	}
+
+	protected final void runAfterAllTests()
+	{
+		try
+		{
+			Thread.sleep(1000);
+			Statement stmnt = con.createStatement();
+
+			stmnt.execute("SHUTDOWN");
+			stmnt.close();
+
+			con.close();
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/juddi-unittest.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/juddi-unittest.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/gateway/juddi-unittest.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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=org.hsqldb.jdbcDriver
+juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost/juddi
+juddi.jdbcUsername=sa
+juddi.jdbcPassword=
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/juddi-unittest.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/juddi-unittest.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/juddi-unittest.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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=org.hsqldb.jdbcDriver
+juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost/juddi
+juddi.jdbcUsername=sa
+juddi.jdbcPassword=
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFile.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFile.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFile.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,23 @@
+<DummyTester parameterReloadSecs="180">
+   <DummyActionConfig
+    service-category="CatgFileEsbListener"
+	service-name="testFileListener"
+	service-description="My Dummy Service Name FILE"
+  	listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener"
+	maxThreads="10"
+	>
+		<EPR
+			URL="file:///tmp"
+			inputSuffix=".testFile"
+			postDelete="true"
+			postSuffix=".processedOK"
+		/>
+		
+		<action class="org.jboss.soa.esb.listeners.ListenerManagerBaseTest$MockMessageAwareAction" process="notifyTest" />
+		<action  class="org.jboss.soa.esb.actions.Notifier"  okMethod="notifyOK">
+		   	<NotificationList type="OK"> 
+				<target class="NotifyConsole" /> 
+			</NotificationList> 
+		</action>
+   </DummyActionConfig>
+</DummyTester>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFtp.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFtp.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerFtp.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,23 @@
+<DummyTester parameterReloadSecs="180">
+   <DummyActionConfig
+    service-category="CatgFileEsbListener"
+	service-name="testFileListener"
+	service-description="My Dummy Service Name FILE"
+  	listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener"
+	maxThreads="10"
+	pollLatencySeconds="1"
+	>
+		<EPR
+			URL="ftp://ftpuser:ftppassword@localhost:/"
+			inputSuffix=".testFile"
+			postDelete="true"
+		/>
+		
+		<action class="org.jboss.soa.esb.listeners.ListenerManagerBaseTest$MockMessageAwareAction" process="notifyTest" />
+		<action  class="org.jboss.soa.esb.actions.Notifier"  okMethod="notifyOK">
+		   	<NotificationList type="OK"> 
+				<target class="NotifyConsole" /> 
+			</NotificationList> 
+		</action>
+   </DummyActionConfig>
+</DummyTester>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerJdbc.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerJdbc.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerJdbc.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,25 @@
+<DummyTester parameterReloadSecs="180">
+   <DummyActionConfig
+    service-category="CatgSqlEsbListener"
+    service-name="testSqlTableListener" 
+    service-description="My Dummy Service Name SQL table"
+      listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener"
+    maxThreads="10"
+    >
+        <EPR 
+            URL="jdbc:postgresql://localhost:5432/testDB"
+            driver="org.postgresql.Driver"
+            username="postgres"
+            password=""
+            tablename="esb_messages" 
+        />
+        
+        <action class="org.jboss.soa.esb.listeners.ListenerManagerBaseTest$MockMessageAwareAction" process="notifyTest" />
+		<action  class="org.jboss.soa.esb.actions.Notifier"  okMethod="notifyOK">
+		   	<NotificationList type="OK"> 
+				<target class="NotifyConsole" /> 
+			</NotificationList> 
+		</action> 
+   </DummyActionConfig>
+</DummyTester>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerJms.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerJms.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/listenerJms.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,26 @@
+<DummyTester parameterReloadSecs="180">
+   <DummyActionConfig
+    service-category="CatgFileEsbListener"
+	service-name="testFileListener"
+	service-description="My Dummy Service Name FILE"
+  	listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener"
+	maxThreads="10"
+	>
+		<EPR
+			protocol="jms"
+		    connection-factory="ConnectionFactory"
+		    destination-type="queue"
+		    destination-name="queue/A"
+		    jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+		    jndi-URL="localhost"
+		    message-selector="messSelector='testJmsGateway'"
+		/>
+		
+		<action class="org.jboss.soa.esb.listeners.ListenerManagerBaseTest$MockMessageAwareAction" process="notifyTest" />
+		<action  class="org.jboss.soa.esb.actions.Notifier"  okMethod="notifyOK">
+		   	<NotificationList type="OK"> 
+				<target class="NotifyConsole" /> 
+			</NotificationList> 
+		</action>
+   </DummyActionConfig>
+</DummyTester>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNotificationTarget.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNotificationTarget.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNotificationTarget.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,81 @@
+package org.jboss.soa.esb.util;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.notification.NotificationException;
+import org.jboss.soa.esb.notification.NotificationTarget;
+
+/**
+ * Mock NotificationTarget Implementation. <p/> Configured by giving the target
+ * output list a 'name'. Notifications are statically accessed via the static
+ * {@link #getTargetList(String)} method, supplying the target list name. <p/>
+ * Sample config:
+ * 
+ * <pre>
+ *  &lt;NotificationList type=&quot;OK&quot;&gt;
+ *  	&lt;target class=&quot;org.jboss.soa.esb.util.MockNotificationTarget&quot; &lt;b&gt;name=&quot;ok-target&quot;&lt;/b&gt; /&gt;
+ *  &lt;/NotificationList&gt;
+ * </pre>
+ * 
+ * @author tfennelly
+ */
+public class MockNotificationTarget extends NotificationTarget
+{
+
+	private static Hashtable<String, List<Serializable>> targetLists = new Hashtable<String, List<Serializable>>();
+
+	private List<Serializable> targetList;
+
+	public MockNotificationTarget (ConfigTree config)
+	{
+		super(config);
+
+		String name = config.getAttribute("name");
+
+		if (name == null || name.trim().equals(""))
+		{
+			TestCase
+					.fail("Mock NotificationTarget configured incorrectly.  Must specify a 'name' attribute on the NotificationList/target element.");
+		}
+
+		targetList = getTargetList(name);
+	}
+
+	public static List<Serializable> getTargetList (String name)
+	{
+		synchronized (targetLists)
+		{
+			List<Serializable> notificationList = targetLists.get(name);
+
+			// Never return a null list.
+			if (notificationList == null)
+			{
+				notificationList = new ArrayList<Serializable>();
+				targetLists.put(name, notificationList);
+			}
+
+			return notificationList;
+		}
+	}
+
+	public static void clearNotifications ()
+	{
+		synchronized (targetLists)
+		{
+			targetLists.clear();
+		}
+	}
+
+	@Override
+	public void sendNotification (Serializable notificationObject)
+			throws NotificationException
+	{
+		targetList.add(notificationObject);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/listeners/tests/src/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+classpath:/org/jboss/soa/esb/actions/converters/smooks-test.cdrl

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,287 @@
+<?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">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="${jboss.server.home.dir}/log/server.log"/>
+      <param name="Append" value="false"/>
+
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+      <!-- Rollover at the top of each hour
+      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+         <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+          -->
+      </layout>
+   </appender>
+
+   <!-- 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="${jboss.server.home.dir}/log/server.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 [%c] %m%n"/>
+     </layout>	    
+   </appender>
+   -->
+
+   <!-- ============================== -->
+   <!-- 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 [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ====================== -->
+   <!-- More Appender examples -->
+   <!-- ====================== -->
+
+   <!-- Buffer events and log them asynchronously
+   <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <appender-ref ref="FILE"/>
+     <appender-ref ref="CONSOLE"/>
+     <appender-ref ref="SMTP"/>
+   </appender>
+   -->
+
+   <!-- EMail events to an administrator
+   <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="To" value="admin at myhost.domain.com"/>
+     <param name="From" value="nobody at myhost.domain.com"/>
+     <param name="Subject" value="JBoss Sever Errors"/>
+     <param name="SMTPHost" value="localhost"/>
+     <param name="BufferSize" value="10"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Syslog events
+   <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Facility" value="LOCAL7"/>
+     <param name="FacilityPrinting" value="true"/>
+     <param name="SyslogHost" value="localhost"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Log events to JMS (requires a topic to be created)
+   <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
+     <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
+   </appender>
+   -->
+
+   <!-- Log events through SNMP
+   <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
+     <param name="ManagementHost" value="127.0.0.1"/>
+     <param name="ManagementHostTrapListenPort" value="162"/>
+     <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
+     <param name="LocalIPAddress" value="127.0.0.1"/>
+     <param name="LocalTrapSendPort" value="161"/>
+     <param name="GenericTrapType" value="6"/>
+     <param name="SpecificTrapType" value="12345678"/>
+     <param name="CommunityString" value="public"/>
+     <param name="ForwardStackTraceWithTrap" value="true"/>
+     <param name="Threshold" value="DEBUG"/>
+     <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
+     <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!--  Emit events as JMX notifications
+   <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      
+      <param name="Threshold" value="WARN"/>
+      <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+      
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
+      </layout>
+   </appender>
+   -->
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit jboss axis to INFO as its DEBUG is even more verbose -->
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBoss categories
+   <category name="org.jboss">
+      <priority value="INFO"/>
+   </category>
+   -->
+   
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBoss webservice category
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Decrease the priority threshold for the org.jboss.varia category
+   <category name="org.jboss.varia">
+     <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
+   <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+
+   <!--
+      | An example of enabling the custom TRACE level priority that is used
+      | by the JBoss internals to diagnose low level details. This example
+      | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+      | subpackages. This will produce A LOT of logging output.
+   <category name="org.jboss.system">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   <category name="org.jboss.ejb.plugins">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+  
+   <!--
+       | Logs these events to SNMP:
+           - server starts/stops
+           - cluster evolution (node death/startup)
+           - When an EJB archive is deployed (and associated verified messages)
+           - When an EAR archive is deployed
+      	 
+   <category name="org.jboss.system.server.Server">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.deployment.MainDeployer">
+     <priority value="ERROR" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.ejb.EJBDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.deployment.EARDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   -->
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+   <!-- Clustering logging -->
+   <!-- Uncomment the following to redirect the org.jgroups and
+      org.jboss.ha categories to a cluster.log file.
+
+   <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="${jboss.server.home.dir}/log/cluster.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 [%c] %m%n"/>
+     </layout>
+   </appender>
+   <category name="org.jgroups">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   <category name="org.jboss.ha">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   -->
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/ant.bat
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/ant.bat	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/ant.bat	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+ at echo off
+set ANT_CMD_LINE_ARGS=%1
+if ""%1""=="""" goto doneStart
+shift
+:setupArgs
+if ""%1""=="""" goto doneStart
+set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1
+shift
+goto setupArgs
+:doneStart
+%ANT_HOME%\bin\ant %ANT_CMD_LINE_ARGS%
+


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/ant.bat
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<project name="BuildJbossEsbRosetta" default="org.jboss.esb.rosetta.compile" basedir=".">
+
+	<property name="org.jboss.esb.rosetta.jar.name" value="jbossesb-rosetta"/>
+	<property name="org.jboss.esb.rosetta.distrib.dir" location="${org.jboss.esb.internal.dest}/jbossesb"/>
+	<property name="org.jboss.esb.rosetta.classes.dir" location="${org.jboss.esb.internal.dest}/classes/rosetta"/>
+    <property name="org.jboss.esb.rosetta.src.dir" location="src"/>
+	<property name="org.jboss.esb.root.dir" location="../.."/>
+    <property environment="env"/>
+
+	<property name="org.jboss.esb.ext.lib.dir" location="${org.jboss.esb.root.dir}/lib/ext"/>
+	<condition property="org.jboss.esb.ext.lib.dir" value="${org.jboss.esb.jboss.home}/client">
+		<equals arg1="${org.jboss.esb.frominstall}" arg2="yes"/>
+	</condition>
+	
+	<path id="org.jboss.esb.rosetta.base.classpath">
+        <fileset dir="${org.jboss.esb.ext.lib.dir}" includes="*.jar"/>
+	</path>
+
+    <target name="org.jboss.esb.rosetta.init">
+        <tstamp>
+            <format property="TODAY" pattern="dd-MM-yy"/>
+        </tstamp>
+    </target>
+
+    <target name="org.jboss.esb.rosetta.prepare" depends="org.jboss.esb.rosetta.init">
+        <mkdir dir="${org.jboss.esb.rosetta.classes.dir}"/>
+        <mkdir dir="${org.jboss.esb.rosetta.distrib.dir}"/>
+    	<mkdir dir="${org.jboss.esb.rosetta.distrib.dir}/lib"/>
+    </target>
+
+    <target name="clean" description="Remove classes directory">
+        <ant dir="tests" target="clean"/>
+    	<delete dir="${org.jboss.esb.rosetta.classes.dir}"/>
+    </target>
+
+    <target name="org.jboss.esb.rosetta.compile">
+        <!-- Compile common -->
+        <antcall target="org.jboss.esb.rosetta.internal.compile"/>
+        <!-- Compile common tests -->
+        <ant inheritAll="true" dir="tests" target="org.jboss.esb.rosetta.tests.compile"/>
+    </target>
+
+    <target name="org.jboss.esb.rosetta.internal.compile" depends="org.jboss.esb.rosetta.prepare"
+        description="Compile all classes">
+
+        <javac
+            destdir="${org.jboss.esb.rosetta.classes.dir}"
+            classpathref="org.jboss.esb.rosetta.base.classpath"
+            debug="${org.jboss.esb.debug}"
+            optimize="${org.jboss.esb.optimize}"
+            >
+            <src path="${org.jboss.esb.rosetta.src.dir}"/>
+        </javac>
+
+    </target>
+
+	<target name="recompile" depends="clean,org.jboss.esb.rosetta.compile"
+        description="Clean and compile"/>
+
+    <target name="jar" depends="org.jboss.esb.rosetta.compile" description="Assemble jar files">
+    	<delete file="${org.jboss.esb.rosetta.distrib.dir}/lib/${org.jboss.esb.rosetta.jar.name}.jar" />
+        <jar    destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/${org.jboss.esb.rosetta.jar.name}.jar" 
+                basedir="${org.jboss.esb.rosetta.classes.dir}" 
+                includes="**/*.class"
+		excludes="test/**"
+                />
+    	<jar    destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/test-util.jar" 
+    	                basedir="${org.jboss.esb.internal.dest}/tests/" 
+    	                includes="org/jboss/soa/esb/testutils/**/*.class"/>
+    </target>
+
+    <target name="org.jboss.esb.rosetta.test" description="Run tests for this module">
+        <!-- Compile rosetta tests -->
+        <ant dir="tests" target="org.jboss.esb.rosetta.internal.test"/>
+    </target>
+	
+	<target name="org.jboss.esb.rosetta.integration.test" description="Run integration tests for this module">
+	        <!-- Compile rosetta integration tests -->
+	        <ant dir="tests" target="org.jboss.esb.rosetta.internal.integration.test"/>
+	    </target>
+
+    <target name="all" depends="recompile,jar" />
+
+</project>


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/build.xml
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/CallHelper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/CallHelper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/CallHelper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,196 @@
+package org.jboss.internal.soa.esb.addressing.helpers;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public abstract class CallHelper
+{
+
+	public static Element toXML(Call call, Document doc, Element header)
+			throws MarshalException
+	{
+		AssertArgument.isNotNull(call, "call");
+		AssertArgument.isNotNull(doc, "doc");
+		AssertArgument.isNotNull(header, "header");
+
+		header.setAttributeNS(XMLUtil.XMLNS_URI, XMLUtil.XMLNS_PREFIX
+				+ XMLUtil.WSA_PREFIX, XMLUtil.WSA_NAMESPACE_URI);
+		
+		if (call.getTo() != null)
+		{
+			final Element toElement = doc.createElementNS(
+					XMLUtil.WSA_NAMESPACE_URI, XMLUtil.TO_TAG);
+			toElement.setPrefix(XMLUtil.WSA_PREFIX);
+			EPRHelper.toXML(call.getTo(), doc, header, toElement, true);
+			header.appendChild(toElement);
+		}
+
+		if (call.getFrom() != null)
+		{
+			final Element fromElement = doc.createElementNS(
+					XMLUtil.WSA_NAMESPACE_URI, XMLUtil.FROM_TAG);
+			fromElement.setPrefix(XMLUtil.WSA_PREFIX);
+			EPRHelper.toXML(call.getFrom(), doc, header, fromElement, false);
+			header.appendChild(fromElement);
+		}
+
+		if (call.getReplyTo() != null)
+		{
+			final Element replyToElement = doc.createElementNS(
+					XMLUtil.WSA_NAMESPACE_URI, XMLUtil.REPLY_TO_TAG);
+			replyToElement.setPrefix(XMLUtil.WSA_PREFIX);
+			EPRHelper.toXML(call.getReplyTo(), doc, header, replyToElement,
+					false);
+			header.appendChild(replyToElement);
+		}
+
+		if (call.getRelatesTo() != null)
+		{
+			final Element relatesToElement = doc.createElementNS(
+					XMLUtil.WSA_NAMESPACE_URI, XMLUtil.RELATES_TO_TAG);
+			relatesToElement.setPrefix(XMLUtil.WSA_PREFIX);
+			relatesToElement.setNodeValue(call.getRelatesTo().toString());
+			header.appendChild(relatesToElement);
+		}
+
+		if (call.getFaultTo() != null)
+		{
+			final Element faultToElement = doc.createElementNS(
+					XMLUtil.WSA_NAMESPACE_URI, XMLUtil.FAULT_TO_TAG);
+			faultToElement.setPrefix(XMLUtil.WSA_PREFIX);
+			EPRHelper.toXML(call.getFaultTo(), doc, header, faultToElement,
+					false);
+			header.appendChild(faultToElement);
+		}
+
+		if (call.getAction() != null)
+		{
+			final Element actionElement = doc.createElementNS(
+					XMLUtil.WSA_NAMESPACE_URI, XMLUtil.ACTION_TAG);
+			actionElement.setPrefix(XMLUtil.WSA_PREFIX);
+			actionElement.setTextContent(call.getAction().toString());
+			header.appendChild(actionElement);
+		}
+
+		if (call.getMessageID() != null)
+		{
+			final Element messageIDElement = doc.createElementNS(
+					XMLUtil.WSA_NAMESPACE_URI, XMLUtil.MESSAGE_IDENTIFIER_TAG);
+			messageIDElement.setPrefix(XMLUtil.WSA_PREFIX);
+			messageIDElement.setTextContent(call.getMessageID().toString());
+			header.appendChild(messageIDElement);
+		}
+
+		return header;
+	}
+
+	public static Call fromXML(Element header) throws UnmarshalException
+	{
+		AssertArgument.isNotNull(header, "header");
+
+		Call call = new Call();
+		NodeList nl = header.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			Node n = nl.item(i);
+
+			if ((n.getPrefix() != null) && (n.getLocalName() != null))
+			{
+				if (n.getPrefix().equals(XMLUtil.WSA_PREFIX) && (n.getLocalName().equals(XMLUtil.TO_TAG)))
+				{
+					call.setTo(EPRHelper.fromXML((Element) header, true));
+				}
+				
+				if (n.getPrefix().equals(XMLUtil.WSA_PREFIX) && (n.getLocalName().equals(XMLUtil.FROM_TAG)))
+				{
+					call.setFrom(EPRHelper.fromXML((Element) n, false));
+				}
+	
+				if (n.getPrefix().equals(XMLUtil.WSA_PREFIX) && (n.getLocalName().equals(XMLUtil.REPLY_TO_TAG)))
+				{
+					call.setReplyTo(EPRHelper.fromXML((Element) n, false));
+				}
+	
+				if (n.getPrefix().equals(XMLUtil.WSA_PREFIX) && (n.getLocalName().equals(XMLUtil.RELATES_TO_TAG)))
+				{
+					try
+					{
+						call.setRelatesTo(new URI(n.getNodeValue()));
+					}
+					catch (URISyntaxException e)
+					{
+						throw new UnmarshalException("'" + XMLUtil.RELATES_TO_TAG
+								+ "' must be a valid URI", e);
+					}
+				}
+	
+				if (n.getPrefix().equals(XMLUtil.WSA_PREFIX) && (n.getLocalName().equals(XMLUtil.FAULT_TO_TAG)))
+				{
+					call.setFaultTo(EPRHelper.fromXML((Element) n, false));
+				}
+	
+				if (n.getPrefix().equals(XMLUtil.WSA_PREFIX) && (n.getLocalName().equals(XMLUtil.ACTION_TAG)))
+				{
+					try
+					{
+						call.setAction(new URI(n.getTextContent()));
+					}
+					catch (URISyntaxException e)
+					{
+						throw new UnmarshalException("'" + XMLUtil.ACTION_TAG
+								+ "' must be a valid URI", e);
+					}
+				}
+	
+				if (n.getPrefix().equals(XMLUtil.WSA_PREFIX) && (n.getLocalName().equals(XMLUtil.MESSAGE_IDENTIFIER_TAG)))
+				{
+					try
+					{
+						call.setMessageID(new URI(n.getTextContent()));
+					}
+					catch (URISyntaxException e)
+					{
+						throw new UnmarshalException("'"
+								+ XMLUtil.MESSAGE_IDENTIFIER_TAG
+								+ "' must be a valid URI", e);
+					}
+				}
+			}
+		}
+
+		return call;
+	}
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/EPRHelper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/EPRHelper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/EPRHelper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,408 @@
+package org.jboss.internal.soa.esb.addressing.helpers;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.StringWriter;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import com.sun.org.apache.xml.internal.serialize.OutputFormat;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
+public class EPRHelper
+{
+	public static final String EPR_TYPE = "type";
+
+	/**
+	 * Serialize the EPR to an XML representation.
+	 * 
+	 * @param epr
+	 * @param doc
+	 * @param header
+	 * @return
+	 */
+
+	public static final Element toXML(EPR epr, Document doc, Element header,
+			Element packElement) throws MarshalException
+	{
+		return toXML(epr, doc, header, packElement, false);
+	}
+
+	/**
+	 * Serialize the EPR to an XML representation. Specify whether this is a To
+	 * node in the Call.
+	 * 
+	 * @param epr
+	 * @param doc
+	 * @param header
+	 * @return
+	 */
+
+	public static final Element toXML(EPR epr, Document doc, Element header,
+			Element packElement, boolean to) throws MarshalException
+	{
+		AssertArgument.isNotNull(epr, "epr");
+
+		// TODO
+		// The EPR type really should be doing this itself.
+
+		setSpecificEPR(epr);
+		PortReferenceHelper.toXML(header, doc, packElement, epr.getAddr(), to);
+
+		return header;
+	}
+
+	/**
+	 * Deserialize the EPR from an XML representation.
+	 * 
+	 * @param header
+	 * @return
+	 */
+
+	public static final EPR fromXML(Element header) throws UnmarshalException
+	{
+		return fromXML(header, false);
+	}
+
+	/**
+	 * Deserialize the EPR from an XML representation. Specify whether this is a
+	 * To node in the Call.
+	 * 
+	 * @param header
+	 * @return
+	 */
+
+	public static final EPR fromXML(Element header, boolean to)
+			throws UnmarshalException
+	{
+		AssertArgument.isNotNull(header, "header");
+
+		if (to)
+		{
+			NodeList children = header.getChildNodes();
+
+			for (int i = 0; i < children.getLength(); i++)
+			{
+				Node n = children.item(i);
+
+				if (n instanceof Element)
+				{
+					Element el = (Element) n;
+					String prefix = el.getPrefix();
+					String tag = el.getLocalName();
+					
+					if ((prefix != null) && (prefix.equals(XMLUtil.WSA_PREFIX)))
+					{
+						if ((tag != null) && (tag.equals(XMLUtil.TO_TAG)))
+						{
+							return getSpecificEPR(new EPR(PortReferenceHelper
+									.fromXML(el, true)), header);
+						}
+					}
+				}
+			}
+		}
+
+		return getSpecificEPR(new EPR(PortReferenceHelper.fromXML(header, to)));
+	}
+
+	/**
+	 * Create a string version of the XML representation for this EPR. If the
+	 * EPR is a specific type (e.g., JMSEpr) then that type information will
+	 * also be encoded.
+	 * 
+	 * @param epr
+	 * @return
+	 * @throws MarshalException 
+	 */
+
+	public static final String toXMLString(EPR epr) throws MarshalException
+	{
+		return toXMLString(epr, false, XMLUtil.FROM_TAG);
+	}
+
+	/**
+	 * Create a string version of the XML representation for this EPR. If the
+	 * EPR is a specific type (e.g., JMSEpr) then that type information will
+	 * also be encoded. Specify whether this is a To node in the Call.
+	 * 
+	 * @param epr
+	 * @return
+	 * @throws MarshalException 
+	 */
+
+	public static final String toXMLString(EPR epr, boolean to, String tag) throws MarshalException
+	{
+		AssertArgument.isNotNull(epr, "epr");
+		AssertArgument.isNotNull(tag, "tag");
+
+		try
+		{
+			DocumentBuilderFactory factory = DocumentBuilderFactory
+					.newInstance();
+			
+			factory.setNamespaceAware(true);
+			
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.newDocument();
+			Element portReferenceElement = doc.createElementNS(
+					XMLUtil.WSA_NAMESPACE_URI, tag);
+			
+			setSpecificEPR(epr);
+
+			if (to)
+			{
+				Element header = doc.createElement("header");
+				doc.appendChild(header);
+				header.setAttributeNS(XMLUtil.XMLNS_URI, XMLUtil.XMLNS_PREFIX
+						+ XMLUtil.WSA_PREFIX, XMLUtil.WSA_NAMESPACE_URI);
+				toXML(epr, doc, header, portReferenceElement, to);
+				header.appendChild(portReferenceElement);
+			}
+			else
+			{
+				portReferenceElement.setAttributeNS(XMLUtil.XMLNS_URI, XMLUtil.XMLNS_PREFIX
+						+ XMLUtil.WSA_PREFIX, XMLUtil.WSA_NAMESPACE_URI);
+				
+				doc.appendChild(portReferenceElement);
+				toXML(epr, doc, portReferenceElement, portReferenceElement, to);
+			}
+
+			StringWriter sWriter = new StringWriter();
+			OutputFormat format = new OutputFormat();
+			format.setIndenting(true);
+
+			XMLSerializer xmlS = new XMLSerializer(sWriter, format);
+
+			xmlS.asDOMSerializer();
+			xmlS.serialize(doc);
+
+			return sWriter.toString();
+		}
+		catch (ParserConfigurationException ex)
+		{
+			throw new MarshalException("Failed to construct DOM Document Builder.", ex);
+		}
+		catch (IOException ex)
+		{
+			throw new MarshalException("Error during DOM to String serialisation.", ex);
+		}
+	}
+
+	/**
+	 * Get the EPR from the string representation. If the EPR was a specific
+	 * type (e.g., JMSEpr) then it will be returned as an instance of the
+	 * appropriate class.
+	 * 
+	 * @param xml
+	 * @return
+	 * @throws UnmarshalException 
+	 */
+
+	public static final EPR fromXMLString(String xml) throws UnmarshalException
+	{
+		return fromXMLString(xml, false);
+	}
+
+	/**
+	 * Get the EPR from the string representation. If the EPR was a specific
+	 * type (e.g., JMSEpr) then it will be returned as an instance of the
+	 * appropriate class. Specify whether this is a To node in the Call.
+	 * 
+	 * @param xml
+	 * @return
+	 * @throws UnmarshalException 
+	 */
+
+	public static final EPR fromXMLString(String xml, boolean to) throws UnmarshalException
+	{
+		AssertArgument.isNotNull(xml, "xml");
+
+		try
+		{
+			DocumentBuilderFactory factory = DocumentBuilderFactory
+					.newInstance();
+			
+			factory.setNamespaceAware(true);
+			
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.parse(new ByteArrayInputStream(xml
+					.getBytes()));
+			Element rootElement = (Element) doc.getDocumentElement();
+
+			return fromXML(rootElement, to);
+		}
+		catch (SAXException ex)
+		{
+			throw new UnmarshalException("Unable to parse EPR XML.", ex);
+		}
+		catch (IOException ex)
+		{
+			throw new UnmarshalException("Unable to read EPR XML stream.", ex);
+		}
+		catch (ParserConfigurationException ex)
+		{
+			throw new UnmarshalException("Failed to construct DOM Document Builder.", ex);
+		}
+	}
+
+	private final static void setSpecificEPR(EPR epr)
+	{
+		String eprType = null;
+
+		/*
+		 * Do not re-order.
+		 */
+
+		if (epr instanceof EmailEpr)
+			eprType = EmailEpr.type().toString();
+		else if (epr instanceof SFTPEpr)
+			eprType = SFTPEpr.type().toString();
+		else if (epr instanceof HTTPEpr)
+			eprType = HTTPEpr.type().toString();
+		else if (epr instanceof JDBCEpr)
+			eprType = JDBCEpr.type().toString();
+		else if (epr instanceof JMSEpr)
+			eprType = JMSEpr.type().toString();
+		else if (epr instanceof FTPEpr)
+			eprType = FTPEpr.type().toString();
+		else if (epr instanceof FileEpr)
+			eprType = FileEpr.type().toString();
+
+		if (eprType != null)
+		{
+			if (epr.getAddr().getExtensionValue(EPR_TYPE) == null) {
+				epr.getAddr().addExtension(EPR_TYPE, eprType);
+			}
+		}
+	}
+
+	private final static EPR getSpecificEPR(EPR epr)
+	{
+		String eprType = epr.getAddr().getExtensionValue(EPR_TYPE);
+
+		if (eprType != null)
+		{
+			/*
+			 * Do not re-order.
+			 */
+
+			if (eprType.equals(EmailEpr.type().toString()))
+				return new EmailEpr(epr);
+			else if (eprType.equals(SFTPEpr.type().toString()))
+				return new SFTPEpr(epr);
+			else if (eprType.equals(HTTPEpr.type().toString()))
+				return new HTTPEpr(epr);
+			else if (eprType.equals(JDBCEpr.type().toString()))
+				return new JDBCEpr(epr);
+			else if (eprType.equals(JMSEpr.type().toString()))
+				return new JMSEpr(epr);
+			else if (eprType.equals(FTPEpr.type().toString()))
+				return new FTPEpr(epr);
+			else if (eprType.equals(FileEpr.type().toString()))
+				return new FileEpr(epr);
+			else
+				return epr;
+		} else {
+			return epr;
+		}
+	}
+
+	/**
+	 * Because of WS-A rules, if this was a To node then all of the elements
+	 * within the EPR are now at top-level in the header and not easily
+	 * obtained. We need to ask each EPR type to reconstitute itself.
+	 * 
+	 * @param epr
+	 * @param header
+	 * @return
+	 */
+
+	private final static EPR getSpecificEPR(EPR epr, Element header)
+	{
+		NodeList children = header.getChildNodes();
+		String eprType = null;
+
+		for (int i = 0; i < children.getLength(); i++)
+		{
+			String prefix = children.item(i).getPrefix();
+			String tag = children.item(i).getLocalName();
+			
+			if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
+			{
+				if ((tag != null) && (tag.equals(EPR_TYPE)))
+				{
+					eprType = children.item(i).getTextContent();
+				}
+			}
+		}
+
+		if (eprType != null)
+		{
+			/*
+			 * Do not re-order.
+			 */
+
+			if (eprType.equals(EmailEpr.type().toString()))
+				return new EmailEpr(epr, header);
+			else if (eprType.equals(SFTPEpr.type().toString()))
+				return new SFTPEpr(epr, header);
+			else if (eprType.equals(HTTPEpr.type().toString()))
+				return new HTTPEpr(epr, header);
+			else if (eprType.equals(JDBCEpr.type().toString()))
+				return new JDBCEpr(epr, header);
+			else if (eprType.equals(JMSEpr.type().toString()))
+				return new JMSEpr(epr, header);
+			else if (eprType.equals(FTPEpr.type().toString()))
+				return new FTPEpr(epr, header);
+			else if (eprType.equals(FileEpr.type().toString()))
+				return new FileEpr(epr, header);
+			else
+				return epr;
+		} else {
+			return epr;
+		}
+	}
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/PortReferenceHelper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/PortReferenceHelper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/addressing/helpers/PortReferenceHelper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,433 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/*
+ * Copyright (c) 2002, 2003, Arjuna Technologies Limited.
+ *
+ * PortReferenceHelper.java
+ */
+
+package org.jboss.internal.soa.esb.addressing.helpers;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Map;
+
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.addressing.PortReference;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+/*
+ * This should pack the PortReference into an ERP.
+ * 
+ * It would be better if PortReference had a packToXML and unpackFromXML.
+ * 
+ * This needs rewriting after the interoperability workshop!
+ */
+
+public class PortReferenceHelper
+{
+	/**
+	 * WS-Addressing is broken in that the To field is a URI, even if the From
+	 * field was an EPR! You have to use the EPR bits separately. So, the
+	 * toField is used to indicate whether we are packing this address as a To
+	 * field (when we need to treat it differently) or as an EPR.
+	 */
+
+	/** ************************************************** */
+	public static void toXML(org.w3c.dom.Element header,
+			org.w3c.dom.Document document,
+			org.w3c.dom.Element portReferenceElement,
+			PortReference portReference, boolean toField)
+			throws MarshalException
+	{
+		try
+		{
+			if (!toField)
+			{
+				Element addressElement = document.createElementNS(
+						XMLUtil.WSA_NAMESPACE_URI, XMLUtil.ADDRESS_TAG);
+				addressElement.setPrefix(XMLUtil.WSA_PREFIX);
+				addressElement.appendChild(document
+						.createTextNode(portReference.getAddress()));
+				portReferenceElement.appendChild(addressElement);
+			}
+			else
+			{
+				portReferenceElement.appendChild(document
+						.createTextNode(portReference.getAddress()));
+			}
+
+			Iterator extensions = portReference.getExtensions();
+			Element referenceProperties = null;
+
+			while (extensions.hasNext())
+			{
+				PortReference.Extension extension = (PortReference.Extension) extensions
+						.next();
+
+				/*
+				 * WS-Addressing is broken in that the To field is a URI, even
+				 * if the From field was an EPR! You have to use the EPR bits
+				 * separately. Doh!
+				 */
+
+				if (!toField)
+				{
+					if (referenceProperties == null)
+					{
+						referenceProperties = document.createElementNS(
+								XMLUtil.WSA_NAMESPACE_URI,
+								XMLUtil.REFERENCE_PROPERTIES_TAG);
+						referenceProperties.setPrefix(XMLUtil.WSA_PREFIX);
+						portReferenceElement.appendChild(referenceProperties);
+					}
+				}
+				else
+					referenceProperties = header;
+
+				extensionToXML(referenceProperties, document, extension);
+			}
+		}
+		catch (Exception exception)
+		{
+			exception.printStackTrace();
+			throw new MarshalException("Marshal failure: " + exception);
+		}
+	}
+
+	/** **************************** */
+	public static PortReference fromXML(
+			org.w3c.dom.Element portReferenceElement, boolean toField)
+			throws UnmarshalException
+	{
+		PortReference portReference = new PortReference();
+
+		if (toField)
+		{
+			portReference.setAddress(portReferenceElement.getTextContent());
+		}
+		
+		org.w3c.dom.NodeList elements = portReferenceElement.getChildNodes();
+		
+		for (int i = 0; i < elements.getLength(); i++)
+		{
+			final Object extensionObject = elements.item(i);
+			
+			if (extensionObject instanceof Element)
+			{
+				int parentNodeType = PortReference.Extension.NEITHER;
+				Element extensionElement = (Element) extensionObject;
+				NodeList children = extensionElement.getChildNodes();
+				String parentName = extensionElement.getNodeName();
+				boolean haveChildren = false;
+
+				if (parentName.equals(XMLUtil.REFERENCE_PROPERTIES_TAG))
+					parentNodeType = PortReference.Extension.REFERENCE_PROPERTIES;
+				else
+				{
+					if (parentName.equals(XMLUtil.REFERENCE_PARAMETERS_TAG))
+						parentNodeType = PortReference.Extension.REFERENCE_PARAMETERS;
+					else
+					{
+						if (!toField
+								&& parentName.equals(XMLUtil.WSA_PREFIX + ":"
+										+ XMLUtil.ADDRESS_TAG))
+						{
+							portReference.setAddress(extensionElement
+									.getTextContent());
+						}
+					}
+				}
+
+				final int numChildren = children.getLength();
+				
+				for (int count = 0; count < numChildren; count++)
+				{
+					final Object childObject = children.item(count);
+
+					if (childObject instanceof Element)
+					{
+						Element childElement = (Element) childObject;
+
+						portReference
+								.addExtension(childrenFromXML(childElement));
+						haveChildren = true;
+					}
+				}
+
+				if (!haveChildren && !parentName.equals(XMLUtil.WSA_PREFIX + ":"+ XMLUtil.ADDRESS_TAG))
+				{
+					PortReference.Extension ext = new PortReference.Extension(
+							extensionElement.getNodeName(), null, null,
+							extensionElement.getNodeValue(), parentNodeType);
+
+					portReference.addExtension(ext);
+
+					final NamedNodeMap attrs = extensionElement.getAttributes();
+					final int numAttrs = attrs.getLength();
+					if (numAttrs > 0)
+					{
+						final HashMap<ArjunaName, String> p = new HashMap<ArjunaName, String>();
+						for (int count = 0; count < numAttrs; count++)
+						{
+							final Attr attr = (Attr) attrs.item(count);
+							if (!"http://www.w3.org/2000/xmlns/".equals(attr
+									.getNamespaceURI()))
+							{
+								final ArjunaName name = generateName(attr);
+								p.put(name, attr.getValue());
+							}
+						}
+
+						ext.addAttributes(p);
+					}
+				}
+			}
+		}
+
+		return portReference;
+	}
+
+	private final static PortReference.Extension childrenFromXML(
+			Element childRoot)
+	{
+		final NodeList children = childRoot.getChildNodes();
+		final int numChildNodes = children.getLength();
+
+		final PortReference.Extension extension;
+		if (numChildNodes > 0)
+		{
+			Object childObject = children.item(0);
+			if (childObject instanceof Element)
+			{
+				extension = new PortReference.Extension(
+						childRoot.getNodeName(), childRoot.getPrefix(),
+						childRoot.getNamespaceURI());
+				
+				for (int count = 1; count < numChildNodes; count++)
+				{
+					extension.addChild(childrenFromXML((Element) childObject));
+					childObject = children.item(count);
+				}
+			}
+			else
+			{
+				extension = new PortReference.Extension(
+						childRoot.getNodeName(), childRoot.getPrefix(),
+						childRoot.getNamespaceURI(), ((Node) childObject)
+								.getNodeValue());
+			}
+		}
+		else
+		{
+			extension = new PortReference.Extension(childRoot.getNodeName(),
+					childRoot.getPrefix(), childRoot.getNamespaceURI(),
+					childRoot.getNodeValue());
+		}
+
+		final NamedNodeMap attrs = childRoot.getAttributes();
+		final int numAttrs = attrs.getLength();
+		if (numAttrs > 0)
+		{
+			final HashMap<ArjunaName, String> p = new HashMap<ArjunaName, String>();
+			for (int count = 0; count < numAttrs; count++)
+			{
+				final Attr attr = (Attr) attrs.item(count);
+				if (!"http://www.w3.org/2000/xmlns/".equals(attr
+						.getNamespaceURI()))
+				{
+					final ArjunaName name = generateName(attr);
+					p.put(name, attr.getValue());
+				}
+			}
+
+			extension.addAttributes(p);
+		}
+		return extension;
+	}
+
+	private final static Element extensionToXML(Element packInto,
+			org.w3c.dom.Document document, PortReference.Extension toPack)
+			throws MarshalException
+	{
+		final String uri = toPack.getURI();
+		final Element element;
+		if (uri == null)
+		{
+			element = document.createElement(toPack.getTag());
+		}
+		else
+		{
+			final String prefix = toPack.getPrefix();
+			element = document.createElementNS(uri, toPack.getTag());
+			element.setPrefix(prefix);
+			element.setAttributeNS(XMLUtil.XMLNS_URI, XMLUtil.XMLNS_PREFIX
+					+ toPack.getPrefix(), uri);
+		}
+		packInto.appendChild(element);
+
+		if (toPack.getValue() != null)
+		{
+			final Text text = document.createTextNode(toPack.getValue());
+			element.appendChild(text);
+		}
+
+		LinkedList extensions = toPack.getChildren();
+
+		if (extensions != null)
+		{
+			for (int i = 0; i < extensions.size(); i++)
+			{
+				PortReference.Extension ext = (PortReference.Extension) extensions
+						.get(i);
+
+				extensionToXML(element, document, ext);
+			}
+		}
+
+		HashMap attrs = toPack.getAttributes();
+
+		if (attrs != null)
+		{
+			Iterator names = attrs.entrySet().iterator();
+
+			while (names.hasNext())
+			{
+				Map.Entry entry = (Map.Entry) names.next();
+				ArjunaName name = (ArjunaName) entry.getKey();
+				final String value = (String) entry.getValue();
+				final String attrURI = name.getURI();
+				if (attrURI != null)
+				{
+					element.setAttributeNS(attrURI, name.getQualifiedName(),
+							value);
+				}
+				else
+				{
+					element.setAttribute(name.getQualifiedName(), value);
+				}
+			}
+		}
+
+		return element;
+	}
+
+	/**
+	 * Generate a name based on the attribute.
+	 * 
+	 * @param attr
+	 *            The current attribute.
+	 * @return The name
+	 */
+	private static ArjunaName generateName(final Attr attr)
+	{
+		final String localName = attr.getNodeName();
+		final String uri = attr.getNamespaceURI();
+		final String prefix = attr.getPrefix();
+
+		return new ArjunaName(uri, prefix, localName);
+	}
+
+	private static class ArjunaName
+	{
+		/**
+		 * The uri.
+		 */
+		private final String uri;
+
+		/**
+		 * The prefix.
+		 */
+		private final String prefix;
+
+		/**
+		 * The local name.
+		 */
+		private final String localName;
+
+		/**
+		 * Construct the name.
+		 * 
+		 * @param uri
+		 *            The uri.
+		 * @param prefix
+		 *            The prefix.
+		 * @param localName
+		 *            The local name.
+		 */
+		public ArjunaName(final String uri, final String prefix,
+				final String localName)
+		{
+			this.uri = uri;
+			this.prefix = prefix;
+			this.localName = localName;
+		}
+
+		/**
+		 * Get the uri.
+		 * 
+		 * @return the uri.
+		 */
+		public String getURI()
+		{
+			return uri;
+		}
+
+		/**
+		 * Get the prefix.
+		 * 
+		 * @return the prefix.
+		 */
+		public String getPrefix()
+		{
+			return prefix;
+		}
+
+		/**
+		 * Get the local name.
+		 * 
+		 * @return the local name.
+		 */
+		public String getLocalName()
+		{
+			return localName;
+		}
+
+		/**
+		 * Get the qualified name.
+		 * 
+		 * @return the qualified name.
+		 */
+		public String getQualifiedName()
+		{
+			return (prefix == null ? localName : prefix + ":" + localName);
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/assertion/AssertArgument.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/assertion/AssertArgument.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/assertion/AssertArgument.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,70 @@
+/*
+ * 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.internal.soa.esb.assertion;
+
+/**
+ * Argument assertion utilities.
+ * <p/>
+ * <b>Copied from <a href="http://www.milyn.org">milyn.org</a></b>.
+ *  
+ * @author tfennelly
+ */
+public abstract class AssertArgument {
+
+	/**
+	 * Assert that the argument is not null.
+	 * @param arg Argument.
+	 * @param argName Argument name.
+	 * @throws IllegalArgumentException Argument is null.
+	 */
+	public static void isNotNull(Object arg, String argName) throws IllegalArgumentException {
+		if (arg == null) {
+			throw new IllegalArgumentException("null '" + argName
+					+ "' arg in method call.");
+		}
+	}
+
+	/**
+	 * Assert that the argument is not empty.
+	 * @param arg Argument.
+	 * @param argName Argument name.
+	 * @throws IllegalArgumentException Argument is not null, but is empty.
+	 */
+	public static void isNotEmpty(String arg, String argName) throws IllegalArgumentException {
+		if (arg != null && arg.trim().equals("")) {
+			throw new IllegalArgumentException("Not null, but empty '"
+					+ argName + "' arg in method call.");
+		}
+	}
+
+	/**
+	 * Assert that the argument is neither null nor empty.
+	 * @param arg Argument.
+	 * @param argName Argument name.
+	 * @throws IllegalArgumentException Argument is null or empty.
+	 */
+	public static void isNotNullAndNotEmpty(String arg, String argName) throws IllegalArgumentException {
+		if (arg == null || arg.trim().equals("")) {
+			throw new IllegalArgumentException("null or empty '" + argName
+					+ "' arg in method call.");
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueue.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueue.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueue.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,34 @@
+package org.jboss.internal.soa.esb.command;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * Command queue abstraction.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public interface CommandQueue {
+
+	/**
+	 * Open the command queue.
+	 * @param config Command queue configuration.
+	 * @throws CommandQueueException Queue exception.  Check for probable chained cause exceptions.
+	 */
+	public void open(ConfigTree config) throws CommandQueueException;
+	
+	/**
+	 * Receive a message from the underlying queue implementation.
+	 * <p/>
+	 * Performs a blocking receive on the command queue, controled by the receive timeout.
+	 * @param timeout The receive block timeout.  Zero to block indefinitely.
+	 * @return The command message from the queue.
+	 * @throws CommandQueueException Queue exception.  Check for probable chained cause exceptions.
+	 */
+	public String receiveCommand(long timeout) throws CommandQueueException;
+	
+	/**
+	 * Close the command queue.
+	 * @throws CommandQueueException Queue exception.  Check for probable chained cause exceptions.
+	 */
+	public void close() throws CommandQueueException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueueException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueueException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueueException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,29 @@
+package org.jboss.internal.soa.esb.command;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * Command queue exception.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class CommandQueueException extends BaseException {
+
+	private static final long serialVersionUID = 1L;
+
+	public CommandQueueException() {
+		super();
+	}
+
+	public CommandQueueException(String message) {
+		super(message);
+	}
+
+	public CommandQueueException(String message, Throwable cause) {
+		super(message, cause);
+	}
+
+	public CommandQueueException(Throwable cause) {
+		super(cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/InMemoryCommandQueue.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/InMemoryCommandQueue.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/InMemoryCommandQueue.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,111 @@
+package org.jboss.internal.soa.esb.command;
+
+import java.util.Hashtable;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * In Memory Blocking Command Queue. <p/> Suitable for testing or any other
+ * purpose. <p/> The command queue's configuration needs to specify the queue
+ * name via a "command-queue-name" attribute supplied in the configuration to
+ * the {@link #open(ConfigTree)} method. The queues are stored statically and
+ * can be accessed via the {@link #getQueue(String)} method using the queue
+ * name.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class InMemoryCommandQueue implements CommandQueue
+{
+
+	/**
+	 * Command queue name attribute name.
+	 */
+	public static final String COMMAND_QUEUE_NAME = "command-queue-name";
+
+	private static Hashtable<String, InMemoryCommandQueue> commandQueues = new Hashtable<String, InMemoryCommandQueue>();
+
+	private String name;
+
+	private BlockingQueue<String> queue = new LinkedBlockingQueue<String>();
+
+	public void open(ConfigTree config) throws CommandQueueException
+	{
+		if (config == null)
+		{
+			throw new IllegalArgumentException(
+					"null 'config' arg in method call.");
+		}
+
+		name = config.getAttribute(COMMAND_QUEUE_NAME);
+		if (name == null)
+		{
+			throw new CommandQueueException(
+					"Attribute 'command-queue-name' must be specified on the command queue configuration.");
+		}
+		commandQueues.put(name, this);
+	}
+
+	/**
+	 * Add a command to the in-memory command queue. <p/> Blocks until the
+	 * command has been consumed.
+	 * 
+	 * @param command
+	 *            The command string.
+	 */
+	public void addCommand(String command)
+	{
+		queue.add(command);
+		while (!queue.isEmpty())
+		{
+			try
+			{
+				Thread.sleep(100);
+			}
+			catch (InterruptedException e)
+			{
+				e.printStackTrace();
+			}
+		}
+	}
+
+	public String receiveCommand(long timeout) throws CommandQueueException
+	{
+		if (name == null || !commandQueues.containsKey(name))
+		{
+			throw new CommandQueueException(
+					"Sorry.  Invalid call to 'receiveCommand' method.  Queue is not open!");
+		}
+
+		try
+		{
+			return queue.take();
+		}
+		catch (InterruptedException e)
+		{
+			throw new CommandQueueException(
+					"Error taking command message from command queue.", e);
+		}
+	}
+
+	public void close() throws CommandQueueException
+	{
+		commandQueues.remove(name);
+	}
+
+	/**
+	 * Get the command queue based on the name supplied in the configuration
+	 * ("command-queue-name").
+	 * 
+	 * @param name
+	 *            The name of the queue ala the "command-queue-name" attribute
+	 *            on the queue configuration.
+	 * @return The MockCommandQueue instance, or null if no such queue exists.
+	 */
+	public static InMemoryCommandQueue getQueue(String name)
+	{
+		return commandQueues.get(name);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/JmsCommandQueue.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/JmsCommandQueue.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/JmsCommandQueue.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,236 @@
+package org.jboss.internal.soa.esb.command;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.jms.Connection;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSession;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
+import javax.jms.TopicSession;
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.NamingContext;
+import org.jboss.soa.esb.util.Util;
+
+/**
+ * JMS based Command Queue implementation. <p/> This code was simply pulled from
+ * the GpListener.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class JmsCommandQueue implements CommandQueue
+{
+
+	private static Logger logger = Logger.getLogger(JmsCommandQueue.class);
+
+	public static final String COMMAND_CONN_FACTORY = "commandConnFactoryClass";
+
+	public static final String COMMAND_JNDI_URL = "commandJndiURL";
+
+	public static final String COMMAND_JNDI_CONTEXT_FACTORY = "commandJndiContextFactory";
+
+	public static final String COMMAND_JNDI_PKG_PREFIX = "commandJndiUrlPkgPrefix";
+
+	public static final String COMMAND_IS_TOPIC = "commandIsTopic";
+
+	public static final String COMMAND_JNDI_NAME = "commandJndiName";
+
+	public static final String COMMAND_MSG_SELECTOR = "messageSelector";
+
+	private MessageConsumer m_oCmdSrc;
+
+	private Session m_oJmsSess;
+
+	private Connection m_oJmsConn;
+
+	public void open (ConfigTree config) throws CommandQueueException
+	{
+		try
+		{
+			initialiseJMS(config);
+		}
+		catch (Exception e)
+		{
+			throw new CommandQueueException(
+					"Failed to initialise JMS Command Queue.", e);
+		}
+	}
+
+	public void close () throws CommandQueueException
+	{
+		if (null != m_oJmsSess)
+		{
+			try
+			{
+				m_oJmsSess.close();
+			}
+			catch (JMSException eS)
+			{/* Tried my best - Just continue */
+			}
+		}
+		if (null != m_oJmsConn)
+		{
+			try
+			{
+				m_oJmsConn.close();
+			}
+			catch (JMSException eC)
+			{/* Tried my best - Just continue */
+			}
+		}
+	}
+
+	public String receiveCommand (long timeout) throws CommandQueueException
+	{
+		try
+		{
+			Message jmsMessage = m_oCmdSrc.receive(timeout);
+
+			if (null == jmsMessage) return null;
+			if (jmsMessage instanceof TextMessage)
+			{
+				return ((TextMessage) jmsMessage).getText();
+			}
+			else
+			{
+				logger
+						.warn("Message in command queue IGNORED - should be instanceof TextMessage");
+			}
+		}
+		catch (Exception e)
+		{
+			throw new CommandQueueException(
+					"Exception receiving message from JMS Command Queue.", e);
+		}
+
+		return null;
+	}
+
+	private void initialiseJMS (ConfigTree p_oP) throws ConfigurationException, JMSException
+	{
+		// Only check for JMS attributes if a queue JNDI name was specified
+		String sJndiName = p_oP.getAttribute(COMMAND_JNDI_NAME);
+		
+		if (!Util.isNullString(sJndiName))
+		{
+			Map<String, Object> oNewAtts = new HashMap<String, Object>();
+
+			oNewAtts.put(COMMAND_JNDI_NAME, sJndiName);
+
+			String sJndiURL = obtainAtt(p_oP, COMMAND_JNDI_URL,
+					NamingContext.JBOSS_PROVIDER_URL);
+			oNewAtts.put(COMMAND_JNDI_URL, sJndiURL);
+			String sJndiContextFactory = obtainAtt(p_oP,
+					COMMAND_JNDI_CONTEXT_FACTORY,
+					NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY);
+			oNewAtts.put(COMMAND_JNDI_CONTEXT_FACTORY, sJndiContextFactory);
+			String sJndiPkgPrefix = obtainAtt(p_oP, COMMAND_JNDI_PKG_PREFIX,
+					NamingContext.JBOSS_URL_PKG_PREFIX);
+			oNewAtts.put(COMMAND_JNDI_PKG_PREFIX, sJndiPkgPrefix);
+			Context oJndiCtx = NamingContext.getServerContext(sJndiURL,
+					sJndiContextFactory, sJndiPkgPrefix);
+
+			String sFactClass = obtainAtt(p_oP, COMMAND_CONN_FACTORY,
+					"ConnectionFactory");
+			oNewAtts.put(COMMAND_CONN_FACTORY, sFactClass);
+			if (Util.isNullString(sFactClass))
+				sFactClass = "ConnectionFactory";
+			Object oFactCls = null;
+			
+			try
+			{
+				oFactCls = oJndiCtx.lookup(sFactClass);
+			}
+			catch (NamingException ex)
+			{
+				throw new ConfigurationException(ex);
+			}
+
+			String sMsgSelector = p_oP.getAttribute(COMMAND_MSG_SELECTOR);
+			if (null != sMsgSelector)
+				oNewAtts.put(COMMAND_MSG_SELECTOR, sMsgSelector);
+
+			boolean bIsTopic = Boolean.parseBoolean(obtainAtt(p_oP,
+					COMMAND_IS_TOPIC, "false"));
+			if (bIsTopic)
+			{
+				TopicConnectionFactory tcf = (TopicConnectionFactory) oFactCls;
+				TopicConnection oTC = tcf.createTopicConnection();
+				TopicSession oSess = oTC.createTopicSession(false,
+						TopicSession.AUTO_ACKNOWLEDGE);
+				Topic oTopic = null;
+				try
+				{
+					oTopic = (Topic) oJndiCtx.lookup(sJndiName);
+				}
+				catch (NamingException ne)
+				{
+					oTopic = oSess.createTopic(sJndiName);
+				}
+				m_oJmsConn = oTC;
+				m_oJmsSess = oSess;
+				oTC.start();
+				m_oCmdSrc = oSess.createSubscriber(oTopic, sMsgSelector, true);
+			}
+			else
+			{
+				QueueConnectionFactory qcf = (QueueConnectionFactory) oFactCls;
+				QueueConnection oQC = qcf.createQueueConnection();
+				QueueSession oSess = oQC.createQueueSession(false,
+						TopicSession.AUTO_ACKNOWLEDGE);
+				javax.jms.Queue oQ = null;
+				try
+				{
+					oQ = (javax.jms.Queue) oJndiCtx.lookup(sJndiName);
+				}
+				catch (NamingException ne)
+				{
+					oQ = oSess.createQueue(sJndiName);
+				}
+				oQC.start();
+				m_oJmsConn = oQC;
+				m_oJmsSess = oSess;
+				m_oCmdSrc = oSess.createReceiver(oQ, sMsgSelector);
+			}
+		}
+	}
+
+	/**
+	 * Find an attribute in the tree (arg 0) or assign default value (arg 2)
+	 * 
+	 * @param p_oP
+	 *            ConfigTree - look for attributes in this Element only
+	 * @param p_sAtt
+	 *            String - Name of attribute to find
+	 * @param p_sDefault
+	 *            String -default value if requested attribute is not there
+	 * @return String - value of attribute, or default value (if null)
+	 * @throws ConfigurationException -
+	 *             If requested attribute not found and no default value
+	 *             supplied by invoker
+	 */
+	private String obtainAtt (ConfigTree p_oP, String p_sAtt, String p_sDefault)
+			throws ConfigurationException
+	{
+		String sVal = p_oP.getAttribute(p_sAtt);
+		if ((null == sVal) && (null == p_sDefault))
+			throw new ConfigurationException(
+					"Missing or invalid <" + p_sAtt + "> attribute");
+
+		return (null != sVal) ? sVal : p_sDefault;
+	} // ________________________________
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/DeliverOnlyCourier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/DeliverOnlyCourier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/DeliverOnlyCourier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.internal.soa.esb.couriers;
+
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.message.Message;
+
+public interface DeliverOnlyCourier
+{
+	public boolean	deliver(Message message) throws CourierException, MalformedEPRException;
+        public void cleanup() ;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,509 @@
+/*
+ * 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.couriers;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.UUID;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.helpers.FileHandler;
+import org.jboss.internal.soa.esb.couriers.helpers.FileHandlerFactory;
+import org.jboss.internal.soa.esb.couriers.helpers.LocalFileHandler;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Util;
+
+/**
+ * Internal implementation of a courier to handle Messages in a filesystem <p/>
+ * Intended to cater for local file system, remote via ftp, ftps or sftp
+ * 
+ * @author <a
+ *         href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ * 
+ */
+public class FileCourier implements PickUpOnlyCourier, DeliverOnlyCourier
+{
+	/**
+	 * disable public default constructor
+	 */
+	protected FileCourier()
+	{
+	}
+
+	/**
+	 * package protected constructor - Objects of this class should only be
+	 * instantiated by internal implementations
+	 * 
+	 * @param epr
+	 */
+	FileCourier(FileEpr epr) throws CourierException, MalformedEPRException
+	{
+		this(epr, false);
+	}
+
+	/**
+	 * package protected constructor - Objects of this class should only be
+	 * instantiated by internal implementations
+	 * 
+	 * @param epr
+	 * @param receiverOnly
+	 */
+	FileCourier(FileEpr epr, boolean receiverOnly) throws CourierException, MalformedEPRException
+	{
+		_receiverOnly = receiverOnly;
+		_epr = epr;
+		
+		checkEprParms();
+	} // ________________________________
+
+	/**
+	 * See if we have everything we need in the EPR
+	 * 
+	 * @throws CourierException
+	 */
+	protected void checkEprParms() throws CourierException, MalformedEPRException
+	{
+		_outputSuffix = null;
+		
+		try
+		{
+			_outputSuffix = _epr.getPostSuffix();
+			_logger.debug("output suffix set to "+_outputSuffix);
+		}
+		catch (URISyntaxException e)
+		{
+			_logger.warn("Malformed EPR");
+		}
+
+		if (Util.isNullString(_outputSuffix))
+		{
+			_outputSuffix = ".esbMessage";
+			_logger
+					.debug("No suffix for delivered messages - using default of <"
+							+ _outputSuffix + ">");
+		}
+		
+		// Certain things can only be checked in local filesystem
+		try
+		{
+			_url = _epr.getURL();
+			FileHandler handler = FileHandlerFactory.getInstance()
+					.getFileHandler(_epr);
+			if (handler instanceof LocalFileHandler)
+			{
+				_localFhandler = (LocalFileHandler) handler;
+				File file = new File(_url.getFile());
+				if ((!_receiverOnly) && (!file.isDirectory()))
+					throw new CourierException(
+							"File for deliver EPR must be a directory (file name will be MessageID)");
+
+				File directory = (file.isDirectory()) ? file : file
+						.getParentFile();
+				if (null==directory)
+					directory = new File("");
+				if (!directory.canRead())
+					throw new CourierException("Can't read directory "
+							+ directory.toString());
+				// need to write even if it's readOnly - file will be renamed
+				// during xfer
+				if (!directory.canWrite())
+					throw new CourierException("Can't write in directory "
+							+ directory.toString());
+
+				return;
+			}
+		}
+		catch (MalformedURLException e)
+		{
+			throw new MalformedEPRException(e);
+		}
+		catch (URISyntaxException e)
+		{
+			throw new MalformedEPRException(e);
+		}
+	} // ________________________________
+
+	/**
+	 * package the ESB message in a File
+	 * 
+	 * @param message
+	 *            Message - the message to deliver
+	 * @return boolean - the result of the delivery
+	 * @throws CourierException -
+	 *             if problems were encountered
+	 */
+	public boolean deliver(Message message) throws CourierException, MalformedEPRException
+	{
+		if (_receiverOnly)
+			throw new CourierException("This is a pickUp-only Courier");
+
+		if (null == message)
+			return false;
+
+		// FileHandler is durable only for local filesystem (see
+		// checkEprParms())
+		FileHandler handler = (null != _localFhandler) ? _localFhandler
+				: FileHandlerFactory.getInstance().getFileHandler(_epr);
+		if (null == handler)
+			throw new CourierException(
+					"Can't find appropriate file handler for "
+							+ _url.toString());
+
+		Call call = message.getHeader().getCall();
+		if (null==call)
+			message.getHeader().setCall(call=new Call());
+		try
+		{
+			if (null==call.getMessageID())
+				call.setMessageID(new URI(UUID.randomUUID().toString()));
+		}
+		catch (URISyntaxException e)
+		{
+			throw new MalformedEPRException("Problems with message header ",e);
+		}
+		
+		File tmpFile = null;
+
+		if (handler instanceof LocalFileHandler)
+		{
+			try
+			{
+				File dir = new File(_url.getFile());
+				tmpFile = CourierUtil.messageToLocalFile(dir, message);
+
+				String name = message.getHeader().getCall().getMessageID()
+						.toString();
+				name += _outputSuffix;
+				handler.renameFile(tmpFile, new File(dir, name));
+
+				return true;
+			}
+			catch (IOException e)
+			{
+				throw new CourierException(e);
+			}
+			catch (ParserConfigurationException e)
+			{
+				throw new CourierException(e);
+			}
+		}
+
+		try
+		{
+			Method upload = handler.getClass().getMethod("uploadFile",
+					new Class[]
+					{ File.class });
+
+			String sDir = ModulePropertyManager.getPropertyManager(
+					ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
+					Environment.FTP_LOCALDIR, DEFAULT_TMP);
+			File dir = new File(sDir);
+			tmpFile = CourierUtil.messageToLocalFile(dir, message);
+			String name = message.getHeader().getCall().getMessageID()
+					.toString();
+			name += _outputSuffix;
+
+			File messageFile = new File(dir, name);
+			tmpFile.renameTo(messageFile);
+			tmpFile = messageFile;
+
+			upload.invoke(handler, new Object[]
+			{ messageFile });
+			return true;
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+			
+			throw new CourierException(e);
+		}
+		finally
+		{
+			if (null != tmpFile)
+				tmpFile.delete();
+		}
+
+	} // ________________________________
+
+	public Message pickup(long millis) throws CourierException
+	{	
+		Message result = null;
+		long limit = System.currentTimeMillis()
+				+ ((millis < 100) ? 100 : millis);
+		
+		do
+		{
+			FileHandler handler = (null != _localFhandler) ? _localFhandler
+					: FileHandlerFactory.getInstance().getFileHandler(_epr);
+		
+			File[] files = handler.getFileList();
+
+			if (null != files && files.length > 0)
+			{
+				File input = files[0];
+				File work = workFile(input);
+				handler.renameFile(input, work);
+				try
+				{
+					result = readOneMessage(handler, work);
+				}
+				catch (Exception e)
+				{
+					if (null == errorFile(input))
+						handler.deleteFile(work);
+					else
+						handler.renameFile(work, errorFile(input));
+					continue;
+				}
+				File done = postFile(input);
+				if (null == done)
+					handler.deleteFile(work);
+				else
+					handler.renameFile(work, done);
+				return result;
+			}
+			try
+			{
+				long lSleep = limit - System.currentTimeMillis();
+				if (_pollLatency < lSleep)
+					lSleep = _pollLatency;
+				if (lSleep > 0)
+					Thread.sleep(lSleep);
+			}
+			catch (InterruptedException e)
+			{
+				return null;
+			}
+		} while (System.currentTimeMillis() <= limit);
+		return null;
+	} // ________________________________
+
+	private Message readOneMessage(FileHandler handler, File work) throws CourierException
+	{
+		if (handler instanceof LocalFileHandler)
+		{
+			try
+			{
+				return CourierUtil.messageFromLocalFile(work);
+			}
+			catch (Exception ex)
+			{
+				throw new CourierException(ex);
+			}
+		}
+
+		File tmpFile = null;
+		try
+		{
+			Method download = handler.getClass().getMethod("downloadFile",
+					new Class[]
+					{ File.class });
+			tmpFile = (File) download.invoke(handler, new Object[]
+			{ work });
+			return CourierUtil.messageFromLocalFile(tmpFile);
+		}
+		catch (Exception e)
+		{
+			throw new CourierException(e);
+		}
+		finally
+		{
+			if (null != tmpFile)
+				tmpFile.delete();
+		}
+	} // ________________________________
+
+	protected File workFile(File input)
+	{
+		String sfx = null;
+		try
+		{
+			sfx = _epr.getWorkSuffix();
+		}
+		catch (URISyntaxException e)
+		{
+			_logger.warn("Malformed EPR", e);
+		}
+
+		if (Util.isNullString(sfx))
+		{
+			sfx = ".esbInProcess";
+			_logger
+					.debug("No valid work suffix found in EPR - using default of "
+							+ sfx);
+		}
+		
+		return new File(input.toString()+ sfx);
+	} // ________________________________
+
+	protected File errorFile(File input)
+	{
+		try
+		{
+			if (_epr.getErrorDelete())
+				return null;
+		}
+		catch (Exception e)
+		{
+			_logger.warn("Problems in FileEpr", e);
+		}
+
+		String sfx = null;
+		try
+		{
+			sfx = _epr.getErrorSuffix();
+		}
+		catch (URISyntaxException e)
+		{
+			_logger.warn("Malformed EPR", e);
+		}
+
+		if (Util.isNullString(sfx))
+		{
+			sfx = ".esbERROR";
+			_logger
+					.debug("No valid work suffix found in EPR - using default of "
+							+ sfx);
+		}
+		return new File(input.toString() + sfx);
+	} // ________________________________
+
+	protected File postFile(File input)
+	{
+		try
+		{
+//			if (_epr instanceof FTPEpr || _epr.getPostDelete())
+			if (_epr.getPostDelete())
+				return null;
+		}
+		catch (Exception e)
+		{
+			_logger.warn("Problems in FileEpr", e);
+		}
+
+		String inputDir = new File(input.getAbsolutePath()).getParent();		
+		if (inputDir == null)
+		{
+			_logger.debug("Could not get parent directory for "+input);
+			inputDir="";
+		}
+		
+		String dir = null;
+		try
+		{
+			dir = _epr.getPostDirectory();
+		}
+		catch (URISyntaxException e)
+		{
+			_logger.warn("Malformed EPR", e);
+		}
+		if (null==dir)
+		{
+			dir = inputDir;
+			_logger
+					.debug("No valid post process directory found in EPR - using same as input ("
+							+ dir + ")");
+		}
+
+		String sfx = null;
+		try
+		{
+			sfx = _epr.getPostSuffix();
+		}
+		catch (URISyntaxException e)
+		{
+			_logger.warn("Malformed EPR", e);
+		}
+		if (Util.isNullString(sfx))
+		{
+			if (dir == null)  // means inputDir is also null!
+			{
+				/*
+				 * Aarrghh! We should be able to return an exception, but
+				 * can't. Not changing the signature at this stage. Post
+				 * GA.
+				 * 
+				 * Plus we shouldn't be assuming getParent never returns null
+				 * in the first place.
+				 */
+				
+				_logger.error("No way to determine post process directory. Will use a default relative to cwd.");
+			}
+			
+			if (dir.equals(inputDir))
+			{
+				sfx = ".esbProcessed";
+				_logger
+						.debug("No valid post suffix found in EPR - using default of "
+								+ sfx);
+			}
+		}
+
+		return new File(dir, input.getName() + sfx);
+	} // ________________________________
+	
+	public void setPollLatency(Long millis)
+	{
+		if (millis <= 900)
+			_logger.warn("Poll latency must be >= 900 milliseconds - Keeping old value of "+_pollLatency);
+		else
+			_pollLatency = millis;
+	} // ________________________________
+	
+        public void cleanup()
+        {
+        }
+        
+	protected long _pollLatency = 900;
+
+	protected static final String DEFAULT_TMP = System
+			.getProperty("java.io.tmpdir");
+
+	protected String _outputSuffix;
+
+	protected URL _url;
+
+	protected boolean _receiverOnly;
+
+	protected FileEpr _epr;
+
+	protected LocalFileHandler _localFhandler;
+
+	protected static Logger _logger = Logger.getLogger(FileCourier.class);
+
+} // ____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,522 @@
+/*
+ * 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.couriers;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.URISyntaxException;
+import java.util.List;
+
+import javax.jms.Connection;
+import javax.jms.ExceptionListener;
+import javax.jms.JMSException;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSession;
+import javax.jms.Session;
+import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
+import javax.jms.TopicPublisher;
+import javax.jms.TopicSession;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.helpers.NamingContext;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Util;
+import org.xml.sax.SAXException;
+
+public class JmsCourier implements PickUpOnlyCourier, DeliverOnlyCourier
+{
+	/**
+	 * package protected constructor - Objects of Courier should only be
+	 * instantiated by the Factory
+	 * 
+	 * @param epr
+	 */
+	JmsCourier (JMSEpr epr) throws CourierException
+	{
+		this(epr, false);
+	}
+
+	/**
+	 * package protected constructor - Objects of Courier should only be
+	 * instantiated by the Factory
+	 * 
+	 * @param epr
+	 */
+	JmsCourier (JMSEpr epr, boolean isReceiver) throws CourierException
+	{
+		_isReceiver = isReceiver;
+		_epr = epr;
+		_sleepForRetries = 3000;
+
+		if (!_isReceiver)
+			try
+			{
+				_messageProperties = Util.propertiesFromSelector(_epr
+						.getMessageSelector());
+			}
+			catch (Exception e)
+			{
+				throw new CourierException(e);
+			}
+
+	} // ________________________________
+
+	public void cleanup ()
+	{
+		if (null != _messageProducer) try
+		{
+			_messageProducer.close();
+		}
+		catch (JMSException e)
+		{/* OK do nothing */
+		}
+
+		if (null != _messageConsumer) try
+		{
+			_messageConsumer.close();
+		}
+		catch (JMSException e)
+		{/* OK do nothing */
+		}
+
+		if (null != _jmsSession) try
+		{
+			_jmsSession.close();
+		}
+		catch (JMSException e)
+		{/* OK do nothing */
+		}
+
+		if (null != _jmsConnection) try
+		{
+			_jmsConnection.close();
+		}
+		catch (JMSException e)
+		{/* OK do nothing */
+		}
+
+		_messageProducer = null;
+		_messageConsumer = null;
+		_jmsSession = null;
+		_jmsConnection = null;
+	} // ________________________________
+
+	/**
+	 * package the ESB message in a javax.jms.ObjectMessage, and send it
+	 * 
+	 * @param message
+	 *            Message - the message to deliver
+	 * @return boolean - the result of the delivery
+	 * @throws CourierException -
+	 *             if problems were encountered
+	 */
+	public boolean deliver (Message message) throws CourierException
+	{
+		if (_isReceiver)
+			throw new CourierException("This is a read-only Courier");
+
+		if (null == message) return false;
+		if (null == _messageProducer) try
+		{
+			createMessageProducer();
+		}
+		catch (Exception e)
+		{
+			throw new CourierException(e);
+		}
+
+		while (null != _messageProducer)
+		{
+			try
+			{
+				// obtain Serializable version of arg0 and package it in a jms
+				// ObjectMessage
+				ObjectMessage msg = _jmsSession.createObjectMessage(Util
+						.serialize(message));
+				for (KeyValuePair kvp : _messageProperties)
+					msg.setStringProperty(kvp.getKey(), kvp.getValue());
+				sendMessage(msg);
+				return true;
+			}
+			catch (JMSException e)
+			{
+				jmsConnectRetry(e);
+			}
+			catch (Exception e)
+			{
+				throw new CourierException(e);
+			}
+		}
+		return false;
+	} // ________________________________
+
+	/**
+	 * send/publish a javax.jms.ObjectMessage (that will contain the serialized
+	 * ESB Message)
+	 * 
+	 * @param jmsMessage
+	 */
+	private void sendMessage (javax.jms.Message jmsMessage) throws JMSException
+	{
+		if (_messageProducer instanceof TopicPublisher) ((TopicPublisher) _messageProducer)
+				.publish(jmsMessage);
+		else
+			_messageProducer.send(jmsMessage);
+	} // ________________________________
+
+	private void jmsConnectRetry (Exception exc)
+	{
+		_logger.error("JMS error.  Attempting JMS reconnect.", exc);
+		_jmsConnection = null;
+		_jmsSession = null;
+		_messageProducer = null;
+		_messageConsumer = null;
+
+		for (int i1 = 0; i1 < 5; i1++)
+		{
+			// try to reconnect to the queue
+			try
+			{
+				if (_isReceiver) createMessageConsumer();
+				else
+					createMessageProducer();
+			}
+			catch (Exception e)
+			{
+				_logger.error("Reconnecting to JMS", e);
+				try
+				{
+					Thread.sleep(_sleepForRetries);
+				}
+				catch (InterruptedException e1)
+				{ // Just return after logging
+					_logger.error("Unexpected thread interupt exception.", e);
+					break;
+				}
+			}
+		}
+	} // ________________________________
+
+	private void createMessageProducer () throws CourierException,
+			MalformedEPRException
+	{
+		try
+		{
+			String sJndiConnectionFactory = _epr.getJndiContextFactory();
+			if (Util.isNullString(sJndiConnectionFactory))
+				sJndiConnectionFactory = NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY;
+			String sJndiURL = _epr.getJndiURL();
+			if (Util.isNullString(sJndiURL))
+				sJndiURL = NamingContext.JBOSS_PROVIDER_URL;
+			String sJndiPkgPrefix = _epr.getJndiPkgPrefix();
+			if (Util.isNullString(sJndiPkgPrefix))
+				sJndiPkgPrefix = NamingContext.JBOSS_URL_PKG_PREFIX;
+			Context oJndiCtx = NamingContext.getServerContext(sJndiURL,
+					sJndiConnectionFactory, sJndiPkgPrefix);
+
+			String sFactoryClass = _epr.getConnectionFactory();
+			if (Util.isNullString(sFactoryClass))
+				sFactoryClass = "ConnectionFactory";
+
+			Object tmp = oJndiCtx.lookup(sFactoryClass);
+
+			String sType = _epr.getDestinationType();
+			if (JMSEpr.QUEUE_TYPE.equals(sType))
+			{
+				QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+				QueueConnection qConn = qcf.createQueueConnection();
+				QueueSession qSess = qConn.createQueueSession(false,
+						QueueSession.AUTO_ACKNOWLEDGE);
+				javax.jms.Queue queue = null;
+				try
+				{
+					queue = (javax.jms.Queue) oJndiCtx.lookup(_epr
+							.getDestinationName());
+				}
+				catch (NamingException ne)
+				{
+					queue = qSess.createQueue(_epr.getDestinationName());
+				}
+				_jmsConnection = qConn;
+				_jmsSession = qSess;
+				_messageProducer = qSess.createSender(queue);
+			}
+			else
+				if (JMSEpr.TOPIC_TYPE.equals(sType))
+				{
+					TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;
+					TopicConnection tConn = tcf.createTopicConnection();
+					TopicSession tSess = tConn.createTopicSession(false,
+							TopicSession.AUTO_ACKNOWLEDGE);
+					Topic topic = null;
+					try
+					{
+						topic = (Topic) oJndiCtx.lookup(_epr
+								.getDestinationName());
+					}
+					catch (NamingException ne)
+					{
+						topic = tSess.createTopic(_epr.getDestinationName());
+					}
+					_jmsConnection = tConn;
+					_jmsSession = tSess;
+					_messageProducer = tSess.createPublisher(topic);
+				}
+				else
+					throw new CourierException("Unknown destination type");
+			setConnExceptionListener();
+		}
+		catch (JMSException ex)
+		{
+			_logger.error("Error from JMS system.", ex);
+			
+			throw new CourierException(ex);
+		}
+		catch (NamingException ex)
+		{
+			_logger.error("JMX lookup error.", ex);
+			
+			throw new CourierException(ex);
+		}
+		catch (URISyntaxException ex)
+		{
+			throw new MalformedEPRException(ex);
+		}
+
+	} // ________________________________
+
+	public Message pickup (long millis) throws CourierException
+	{
+		if (!_isReceiver)
+			throw new CourierException("This is an outgoing-only Courier");
+		if (millis < 1)
+			throw new IllegalArgumentException("Timeout millis must be > 0");
+		if (null == _messageConsumer) try
+		{
+			createMessageConsumer();
+		}
+		catch (Exception e)
+		{
+			try
+			{
+				Thread.sleep(1000); // TODO magic number
+			}
+			catch (InterruptedException eI)
+			{/* OK do nothing */
+			}
+			throw new CourierException("Unable to create Message Consumer", e);
+		}
+
+		javax.jms.Message jmsMessage = null;
+		while (null != _messageConsumer)
+		{
+			try
+			{
+				jmsMessage = _messageConsumer.receive(millis);
+				break;
+			}
+			catch (JMSException e)
+			{
+				jmsConnectRetry(e);
+			}
+			catch (Exception e)
+			{
+				throw new CourierException(e);
+			}
+		}
+		if (null == jmsMessage) return null;
+
+		if (!(jmsMessage instanceof ObjectMessage))
+		{
+			_logger.error("Unsupported JMS message type: " + jmsMessage
+					.getClass().getName());
+			return null;
+		}
+		try
+		{
+			Serializable obj = (Serializable) ((ObjectMessage) jmsMessage)
+					.getObject();
+			return Util.deserialize(obj);
+		}
+		catch (JMSException e1)
+		{
+			_logger.error("Failed to read Serialized Object from JMS message.",
+					e1);
+			return null;
+		}
+		catch (ClassCastException e2)
+		{
+			_logger
+					.error(
+							"Object in JMS message is not a org.jboss.soa.esb.message.Message",
+							e2);
+		}
+		catch (IOException e3)
+		{
+			_logger.error("Object in JMS message is not a Serializeable", e3);
+		}
+		catch (ParserConfigurationException e4)
+		{
+			_logger.error("Object in JMS message has invalid XML", e4);
+		}
+		catch (SAXException e5)
+		{
+			_logger.error("Object in JMS message has invalid XML", e5);
+		}
+		return null;
+	} // ________________________________
+
+	private void createMessageConsumer () throws CourierException, ConfigurationException, MalformedEPRException
+	{
+		try
+		{
+			String sJndiConnectionFactory = _epr.getJndiContextFactory();
+			if (Util.isNullString(sJndiConnectionFactory))
+				sJndiConnectionFactory = NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY;
+			String sJndiURL = _epr.getJndiURL();
+			if (Util.isNullString(sJndiURL))
+				sJndiURL = NamingContext.JBOSS_PROVIDER_URL;
+			String sJndiPkgPrefix = _epr.getJndiPkgPrefix();
+			if (Util.isNullString(sJndiPkgPrefix))
+				sJndiPkgPrefix = NamingContext.JBOSS_URL_PKG_PREFIX;
+			Context oJndiCtx = NamingContext.getServerContext(sJndiURL,
+					sJndiConnectionFactory, sJndiPkgPrefix);
+			if (null == oJndiCtx)
+				throw new ConfigurationException(
+						"Unable fo obtain jndi context <" + sJndiURL + "," + sJndiConnectionFactory + "," + sJndiPkgPrefix + ">");
+	
+			String sFactoryClass = _epr.getConnectionFactory();
+			if (Util.isNullString(sFactoryClass))
+				sFactoryClass = "ConnectionFactory";
+	
+			Object tmp = oJndiCtx.lookup(sFactoryClass);
+	
+			String sType = _epr.getDestinationType();
+			if (JMSEpr.QUEUE_TYPE.equals(sType))
+			{
+				QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+				QueueConnection qConn = qcf.createQueueConnection();
+				QueueSession qSess = qConn.createQueueSession(false,
+						QueueSession.AUTO_ACKNOWLEDGE);
+				javax.jms.Queue queue = null;
+				try
+				{
+					queue = (javax.jms.Queue) oJndiCtx.lookup(_epr
+							.getDestinationName());
+				}
+				catch (NamingException ne)
+				{
+					queue = qSess.createQueue(_epr.getDestinationName());
+				}
+				_jmsConnection = qConn;
+				_jmsSession = qSess;
+				_messageConsumer = qSess.createReceiver(queue, _epr
+						.getMessageSelector());
+				qConn.start();
+			}
+			else
+			{
+				if (JMSEpr.TOPIC_TYPE.equals(sType))
+				{
+					TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;
+					TopicConnection tConn = tcf.createTopicConnection();
+					TopicSession tSess = tConn.createTopicSession(false,
+							TopicSession.AUTO_ACKNOWLEDGE);
+					Topic topic = tSess.createTopic(_epr.getDestinationName());
+					_jmsConnection = tConn;
+					_jmsSession = tSess;
+					_messageConsumer = tSess.createConsumer(topic, _epr
+							.getMessageSelector());
+					tConn.start();
+				}
+				else
+					throw new CourierException("Unknown destination type");
+			}
+			setConnExceptionListener();
+		}
+		catch (JMSException ex)
+		{
+			_logger.error("Error from JMS system.", ex);
+			
+			throw new CourierException(ex);
+		}
+		catch (NamingException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		catch (URISyntaxException ex)
+		{
+			throw new MalformedEPRException(ex);
+		}
+
+	} // ________________________________
+	
+	protected void setConnExceptionListener() throws JMSException
+	{
+		_jmsConnection.setExceptionListener
+		(new ExceptionListener()
+		{
+			public void onException(JMSException arg0) 
+			{
+				cleanup();
+			}
+			
+		});
+	} //________________________________
+
+
+	long _sleepForRetries = 3000; // milliseconds
+
+	protected boolean _isReceiver;
+
+	protected JMSEpr _epr;
+
+	protected Logger _logger = Logger.getLogger(JmsCourier.class);
+
+	protected String _messageSelector;
+
+	protected Connection _jmsConnection;
+
+	protected Session _jmsSession;
+
+	protected MessageProducer _messageProducer;
+
+	protected MessageConsumer _messageConsumer;
+
+	protected List<KeyValuePair> _messageProperties;
+        
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/PickUpOnlyCourier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/PickUpOnlyCourier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/PickUpOnlyCourier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,37 @@
+/*
+ * 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.couriers;
+
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierTimeoutException;
+import org.jboss.soa.esb.message.Message;
+/**
+ * 
+ * @author kstam
+ *
+ */
+public interface PickUpOnlyCourier 
+{
+	public Message	pickup(long millis) throws CourierException, CourierTimeoutException;
+        public void cleanup() ;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,563 @@
+/*
+ * 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.couriers;
+
+import java.io.Serializable;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.UUID;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.helpers.persist.JdbcCleanConn;
+import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Util;
+import org.xml.sax.SAXParseException;
+
+public class SqlTableCourier implements PickUpOnlyCourier, DeliverOnlyCourier
+{
+	/**
+	 * disable default constructor
+	 */
+	private SqlTableCourier()
+	{
+	}
+
+	/**
+	 * package protected constructor - Objects of Courier should only be
+	 * instantiated by the Factory
+	 * 
+	 * @param epr
+	 */
+	SqlTableCourier(JDBCEpr epr) throws CourierException
+	{
+		this(epr, false);
+	}
+
+	/**
+	 * package protected constructor - Objects of Courier should only be
+	 * instantiated by the Factory
+	 * 
+	 * @param epr
+	 */
+	SqlTableCourier(JDBCEpr epr, boolean isReceiver) throws CourierException
+	{
+		_isReceiver = isReceiver;
+		_epr = epr;
+		_sleepForRetries = 3000;  // TODO magic number - configurable?
+		try
+		{
+			_postDelete = Boolean.TRUE.equals(Boolean.valueOf(epr
+					.getPostDelete()));
+			_errorDelete = Boolean.TRUE.equals(Boolean.valueOf(epr
+					.getErrorDelete()));
+		}
+		catch (URISyntaxException e)
+		{
+			throw new CourierException(e);
+		}
+
+	} // ________________________________
+
+	public void cleanup()
+	{
+		if (null != _conn)
+		{
+			try
+			{
+				_conn.release();
+			}
+			catch (Exception e)
+			{
+				_logger.info("Unable to release connection", e);
+			}
+		}
+
+	} // ________________________________
+
+	/**
+	 * package the ESB message in a java.io.Serializable, and write it
+	 * 
+	 * @param message
+	 *            Message - the message to deliver
+	 * @return boolean - the result of the delivery
+	 * @throws CourierException -
+	 *             if problems were encountered
+	 */
+	public boolean deliver(Message message) throws CourierException
+	{
+		if (_isReceiver)
+			throw new CourierException("This is a read-only Courier");
+
+		if (null == message)
+			return false;
+
+		String msgId = null;
+		Call call = message.getHeader().getCall();
+		if (null==call)
+			message.getHeader().setCall(call=new Call());
+		try
+		{
+			if (null==call.getMessageID())
+				call.setMessageID(new URI(UUID.randomUUID().toString()));
+			msgId = call.getMessageID().toString();
+		}
+		catch (URISyntaxException e)
+		{
+			throw new CourierException("Problems with message header ",e);
+		}
+
+		if (null == _conn)
+		{
+			try
+			{
+				_conn = getConn();
+			}
+			catch (Exception e)
+			{
+				throw new CourierException(e);
+			}
+		}
+
+		while (_conn != null)
+		{
+			try
+			{
+				int iCol = 1;
+				PreparedStatement PS = insertStatement();
+				PS.setString(iCol++, msgId);
+				PS.setObject(iCol++, Util.serialize(message));
+				PS.setString(iCol++, State.Pending.getColumnValue());
+				PS.setLong(iCol++, System.currentTimeMillis());
+
+				_conn.execUpdWait(PS, 3);
+				_conn.commit();
+				return true;
+			}
+			catch (SQLException e)
+			{
+				if (null != _conn)
+				{
+					try
+					{
+						_conn.rollback();
+					}
+					catch (Exception roll)
+					{
+						_logger.error(roll);
+					}
+				}
+				
+				_logger.error("SQL error", e);
+				throw new CourierException(e);
+			}
+			catch (Exception e)
+			{
+				jdbcConnectRetry(e);
+			}
+		}
+		return false;
+	} // ________________________________
+
+	public Message pickup(long millis) throws CourierException
+	{
+		Message result = null;
+		long limit = System.currentTimeMillis()
+				+ ((millis < 100) ? 100 : millis);
+		do
+		{
+			ResultSet RS = getRowList();
+			try
+			{
+				while (null != RS && RS.next())
+				{
+					String messageId = RS.getString(1);
+					if (null == (result = tryToPickup(messageId)))
+						continue;
+					return result;
+				}
+				try
+				{
+					long lSleep = limit - System.currentTimeMillis();
+					if (_pollLatency < lSleep)
+						lSleep = _pollLatency;
+					if (lSleep > 0)
+						Thread.sleep(lSleep);
+				}
+				catch (InterruptedException e)
+				{
+					return null;
+				}
+			}
+			catch (SQLException e)
+			{
+				_logger.error(e);
+				return null;
+			}
+
+		} while (System.currentTimeMillis() <= limit);
+		return null;
+	} // ________________________________
+
+	private Message tryToPickup(String messageId) throws CourierException,
+			SQLException
+	{
+		int iParm = 1;
+
+		select4UpdateStatement().setString(iParm++, messageId);
+		select4UpdateStatement().setString(iParm++,
+				State.Pending.getColumnValue());
+
+		while (_conn != null)
+		{
+			try
+			{
+				ResultSet RS = _conn.execQueryWait(select4UpdateStatement(), 3);
+				while (RS.next())
+				{
+					Exception eBad = null;
+					try
+					{
+						Message result = Util.deserialize((Serializable) RS
+								.getObject(1));
+						if (_postDelete)
+							deleteMsg(messageId);
+						else
+							changeStatus(messageId, State.Done);
+						return result;
+					}
+					catch (ClassCastException e)
+					{
+						eBad = e;
+					}
+					catch (SAXParseException e)
+					{
+						eBad = e;
+					}
+					catch (Exception e)
+					{
+						throw new CourierException(e);
+					}
+					if (null != eBad)
+					{
+						if (_errorDelete)
+							deleteMsg(messageId);
+						else
+							changeStatus(messageId, State.Error);
+						continue;
+					}
+				}
+				return null;
+			}
+			catch (SQLException e)
+			{
+				throw new CourierException(e);
+			}
+			catch (Exception e)
+			{
+				jdbcConnectRetry(e);
+			}
+		}
+		return null;
+	} // ________________________________
+
+	private void deleteMsg(String messageId) throws SQLException
+	{
+		int iParm = 1;
+		deleteStatement().setString(iParm++, messageId);
+		_conn.execUpdWait(deleteStatement(), 3);
+		_conn.commit();
+
+	}
+
+	private void changeStatus(String messageId, State to) throws SQLException
+	{
+		int iParm = 1;
+		updateStatusStatement().setString(iParm++, to.getColumnValue());
+		updateStatusStatement().setString(iParm++, messageId);
+		_conn.execUpdWait(updateStatusStatement(), 3);
+		_conn.commit();
+
+	}
+
+	private ResultSet getRowList() throws CourierException
+	{
+		if (null == _conn)
+		{
+			try
+			{
+				_conn = getConn();
+			}
+			catch (Exception e)
+			{
+				throw new CourierException(e);
+			}
+		}
+		while (_conn != null)
+		{
+			try
+			{
+				return _conn.execQueryWait(listStatement(), 3);
+			}
+			catch (Exception e)
+			{
+				jdbcConnectRetry(e);
+			}
+		}
+		return null;
+
+	} // _______________________________
+
+	private void jdbcConnectRetry(Exception exc)
+	{
+		_logger.error("DB problem, will try to reconnect", exc);
+		if (null != _conn)
+			_conn.release();
+		_conn = null;
+
+		_prepDelete = _prepGetList = _prepInsert = _prepSel4Upd = _prepUpdateStatus = null;
+		for (int i1 = 0; i1 < 3; i1++)
+		{
+			try
+			{
+				_conn = getConn();
+			}
+			catch (Exception e)
+			{
+				try
+				{
+					Thread.sleep(_sleepForRetries);
+				}
+				catch (InterruptedException eInt)
+				{
+					return;
+				}
+			}
+		}
+	} // ________________________________
+
+	private JdbcCleanConn getConn() throws SQLException, MalformedEPRException
+	{
+		if (null == _conn)
+		{
+			try
+			{
+				SimpleDataSource DS = new SimpleDataSource(_epr.getDriver(), _epr
+						.getURL(), _epr.getUserName(), _epr.getPassword());
+				_conn = new JdbcCleanConn(DS);
+			}
+			catch (URISyntaxException ex)
+			{
+				throw new MalformedEPRException(ex);
+			}
+		}
+		return _conn;
+	} // ________________________________
+
+	protected PreparedStatement listStatement()
+	{
+		if (null == _prepGetList)
+
+			try
+			{
+				String[] columns =
+				{ _epr.getMessageIdColumn(), _epr.getTimestampColumn() };
+
+				StringBuilder sb = new StringBuilder("select");
+				int i1 = 0;
+				for (String col : columns)
+					sb.append((i1++ < 1) ? " " : ",").append(col);
+				sb.append(" from ").append(_epr.getTableName());
+				sb.append(" where ").append(_epr.getStatusColumn())
+						.append("='").append(State.Pending.getColumnValue())
+						.append("'").append(" order by 2");
+				_prepGetList = getConn().prepareStatement(sb.toString());
+			}
+			catch (Exception e)
+			{
+				_logger.error("Unable to prepare SQL statement", e);
+				return null;
+			}
+		return _prepGetList;
+	} // ________________________________
+
+	protected PreparedStatement select4UpdateStatement()
+	{
+		if (_prepSel4Upd == null)
+		{
+			try
+			{
+				/*
+				 * TODO make this dynamic using a factory pattern.
+				 */
+
+				StringBuilder sb = null;
+
+				if (!_epr.getURL().contains("hsqldb"))
+				{
+					sb = new StringBuilder("select ").append(
+							_epr.getDataColumn()).append(" from ").append(
+							_epr.getTableName()).append(" where ").append(
+							_epr.getMessageIdColumn()).append("=?").append(
+							" and ").append(_epr.getStatusColumn())
+							.append("=?").append(" for update");
+				}
+				else
+				{
+					/*
+					 * HSQL does not support FOR UPDATE! All tables appear to
+					 * be inherently updatable!
+					 */
+					
+					sb = new StringBuilder("select ").append(
+							_epr.getDataColumn()).append(" from ").append(
+							_epr.getTableName()).append(" where ").append(
+							_epr.getMessageIdColumn()).append("=?").append(
+							" and ").append(_epr.getStatusColumn())
+							.append("=?");
+				}
+
+				_prepSel4Upd = getConn().prepareStatement(sb.toString());
+			}
+			catch (Exception e)
+			{
+				e.printStackTrace();
+
+				_logger.error(e);
+				return null;
+			}
+		}
+
+		return _prepSel4Upd;
+	} // ________________________________
+
+	protected PreparedStatement updateStatusStatement()
+	{
+		if (null == _prepUpdateStatus)
+			try
+			{
+				StringBuilder sb = new StringBuilder("update ").append(
+						_epr.getTableName()).append(" set ").append(
+						_epr.getStatusColumn()).append("= ?").append(" where ")
+						.append(_epr.getMessageIdColumn()).append("=?");
+				_prepUpdateStatus = getConn().prepareStatement(sb.toString());
+			}
+			catch (Exception e)
+			{
+				_logger.error(e);
+				return null;
+			}
+		return _prepUpdateStatus;
+	} // ________________________________
+
+	protected PreparedStatement insertStatement()
+	{
+		if (null == _prepInsert)
+			try
+			{
+				String[] columns =
+				{ _epr.getMessageIdColumn(), _epr.getDataColumn(),
+						_epr.getStatusColumn(), _epr.getTimestampColumn() };
+
+				StringBuilder sb = new StringBuilder("insert into ").append(
+						_epr.getTableName()).append("(");
+				int i1 = 0;
+				for (String col : columns)
+					sb.append((i1++ < 1) ? " " : ",").append(col);
+				sb.append(") values (?,?,?,?)");
+				_prepInsert = getConn().prepareStatement(sb.toString());
+			}
+			catch (Exception e)
+			{
+				_logger.error(e);
+				return null;
+			}
+		return _prepInsert;
+	} // ________________________________
+
+	protected PreparedStatement deleteStatement()
+	{
+		if (null == _prepDelete)
+			try
+			{
+				StringBuilder sb = new StringBuilder("delete from ").append(
+						_epr.getTableName()).append(" where ").append(
+						_epr.getMessageIdColumn()).append(" =?");
+				_prepDelete = getConn().prepareStatement(sb.toString());
+			}
+			catch (Exception e)
+			{
+				_logger.error(e);
+				return null;
+			}
+		return _prepDelete;
+	} // ________________________________
+
+	protected enum State
+	{
+		Pending, WorkInProgress, Done, Error;
+		String getColumnValue()
+		{
+			return toString().substring(0, 1);
+		}
+	}
+
+	public void setPollLatency(Long millis)
+	{
+		if (millis <= 200)
+			_logger.warn("Poll latency must be >= 200 milliseconds - Keeping old value of "+_pollLatency);
+		else
+			_pollLatency = millis;
+	} // ________________________________
+	
+	protected long _pollLatency = 200;
+
+	protected long _sleepForRetries = 3000; // milliseconds
+
+	protected boolean _postDelete, _errorDelete;
+
+	protected boolean _isReceiver;
+
+	protected JDBCEpr _epr;
+
+	protected JdbcCleanConn _conn;
+
+	protected PreparedStatement _prepGetList;
+
+	protected PreparedStatement _prepSel4Upd;
+
+	protected PreparedStatement _prepUpdateStatus;
+
+	protected PreparedStatement _prepInsert;
+
+	protected PreparedStatement _prepDelete;
+
+	protected static Logger _logger = Logger.getLogger(SqlTableCourier.class);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,192 @@
+/*
+ * 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.couriers;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierTimeoutException;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.couriers.TwoWayCourier;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * A two-way-courier can perform message deliveries and pickups.
+ * 
+ * @author esteban
+ * @author kstam at redhat.com
+ */
+public class TwoWayCourierImpl implements TwoWayCourier
+{
+	private DeliverOnlyCourier _deliverCourier;
+
+	private PickUpOnlyCourier _pickupCourier;
+
+	/**
+	 * Constructor.
+	 * 
+	 * @param toEpr -
+	 *            to address
+	 * @param replyToEpr -
+	 *            reply to address
+	 * @throws CourierException
+	 */
+	public TwoWayCourierImpl(EPR toEpr, EPR replyToEpr)
+			throws CourierException, MalformedEPRException
+	{
+		setToEpr(toEpr);
+		setReplyToEpr(replyToEpr);
+	}
+
+	/**
+	 * @see org.jboss.soa.esb.couriers.TwoWayCourier#setToEpr(toEPR).
+	 */
+	public void setToEpr(EPR toEPR) throws CourierException,
+			MalformedEPRException
+	{
+		DeliverOnlyCourier old = _deliverCourier;
+                try
+                {
+                    _deliverCourier = getDeliverCourier(toEPR);
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(old) ;
+                }
+	}
+
+	/**
+	 * @see org.jboss.soa.esb.couriers.TwoWayCourier#setReplyEpr(toReplyEPR).
+	 */
+	public void setReplyToEpr(EPR replyToEPR) throws CourierException,
+			MalformedEPRException
+	{
+		PickUpOnlyCourier old = _pickupCourier;
+                try
+                {
+                    _pickupCourier = getPickupCourier(replyToEPR);
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(old) ;
+                }
+	}
+
+	private DeliverOnlyCourier getDeliverCourier(EPR toEPR)
+			throws CourierException, MalformedEPRException
+	{
+		return (null == toEPR) ? null : (DeliverOnlyCourier) courierFromEpr(
+				toEPR, false);
+	}
+
+	private PickUpOnlyCourier getPickupCourier(EPR replyToEPR)
+			throws CourierException, MalformedEPRException
+	{
+		return (null == replyToEPR) ? null
+				: (PickUpOnlyCourier) courierFromEpr(replyToEPR, true);
+	}
+
+	private Object courierFromEpr(EPR epr, boolean pickUpOnly)
+			throws CourierException, MalformedEPRException
+	{
+		if (null == epr)
+			return null;
+		if (epr instanceof JMSEpr)
+			return new JmsCourier((JMSEpr) epr, pickUpOnly);
+		if (epr instanceof FileEpr)
+			return new FileCourier((FileEpr) epr, pickUpOnly);
+		if (epr instanceof JDBCEpr)
+			return new SqlTableCourier((JDBCEpr) epr, pickUpOnly);
+
+		// TODO the following is necessary because EPR
+		// serialization/deserialization loses type
+
+		return courierFromGenericEPR(epr, pickUpOnly);
+	}
+
+	private Object courierFromGenericEPR(EPR epr, boolean pickUpOnly)
+			throws CourierException, MalformedEPRException
+	{
+		String addr = null;
+
+		addr = epr.getAddr().getAddress();
+		if (addr.startsWith(JMSEpr.JMS_PROTOCOL))
+			return new JmsCourier(new JMSEpr(epr), pickUpOnly);
+		if (addr.startsWith(JDBCEpr.JDBC_PROTOCOL))
+			return new SqlTableCourier(new JDBCEpr(epr), pickUpOnly);
+		// TODO magic strings
+		if (addr.startsWith("file://") || addr.startsWith("ftp://")
+				|| addr.startsWith("sftp://") || addr.startsWith("ftps://"))
+			return new FileCourier(new FileEpr(epr), pickUpOnly);
+
+		throw new CourierException("Courier for "
+				+ epr.getClass().getSimpleName() + " not supported yet");
+	}
+
+	/**
+	 * @see org.jboss.soa.esb.couriers.Courier#deliver(Message message).
+	 */
+	public boolean deliver(Message message) throws CourierException,
+			MalformedEPRException
+	{
+		if (null == _deliverCourier)
+			throw new CourierException("No deliver courier");
+		return _deliverCourier.deliver(message);
+	}
+
+	/**
+	 * @see org.jboss.soa.esb.couriers.TwoWayCourier#pickup(long waitTime).
+	 */
+	public Message pickup(long waitTime) throws CourierException,
+			CourierTimeoutException
+	{
+		return pickup(waitTime, _pickupCourier);
+	}
+
+	/**
+	 * @see org.jboss.soa.esb.couriers.TwoWayCourier#pickup(long waitTime, EPR
+	 *      epr).
+	 */
+	public Message pickup(long waitTime, EPR epr) throws CourierException,
+			CourierTimeoutException, MalformedEPRException
+	{
+		return pickup(waitTime, getPickupCourier(epr));
+	}
+
+	private Message pickup(long waitTime, PickUpOnlyCourier courier)
+			throws CourierException, CourierTimeoutException
+	{
+		if (null == courier)
+			throw new CourierException("No courier defined for pick ups");
+		return courier.pickup(waitTime);
+	}
+        
+        public void cleanup ()
+        {
+            CourierUtil.cleanCourier(_deliverCourier) ;
+            CourierUtil.cleanCourier(_pickupCourier) ;
+        }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FileHandler.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FileHandler.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FileHandler.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,35 @@
+/*
+ * 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.couriers.helpers;
+
+import java.io.File;
+
+import org.jboss.soa.esb.couriers.CourierException;
+
+public interface FileHandler 
+{
+	abstract File[]  getFileList()					throws CourierException;
+	abstract byte[]	 getFileContents(File file)		throws CourierException;
+	abstract boolean renameFile(File from, File to) throws CourierException;
+	abstract boolean deleteFile(File file)			throws CourierException;    	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FileHandlerFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FileHandlerFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FileHandlerFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+/*
+* 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.couriers.helpers;
+
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.couriers.CourierException;
+
+public class FileHandlerFactory 
+{
+	private static final FileHandlerFactory _instance = new FileHandlerFactory();
+
+	public static FileHandlerFactory getInstance() { return _instance; }
+
+	public FileHandler getFileHandler(FileEpr epr) throws CourierException
+	{
+		if (epr instanceof FTPEpr) 	return new FtpFileHandler	((FTPEpr)epr);
+
+		//TODO  Maybe ftps and sftp ?  Wait for Bruno's input
+
+		//  if flow falls through, last option should be local file handler
+		if (epr instanceof FileEpr)	return new LocalFileHandler	((FileEpr)epr);
+
+		throw new CourierException("Unable to obtain a file handler for supplied EPR");
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FtpFileHandler.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FtpFileHandler.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/FtpFileHandler.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,274 @@
+/*
+* 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.couriers.helpers;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.util.RemoteFileSystem;
+import org.jboss.soa.esb.util.RemoteFileSystemException;
+import org.jboss.soa.esb.util.RemoteFileSystemFactory;
+
+public class FtpFileHandler implements FileHandler
+{
+	private FtpFileHandler()
+	{
+	}
+
+	FtpFileHandler(FTPEpr epr) throws CourierException
+	{
+		_epr = epr;
+
+		URL url = null;
+		try
+		{
+			url = _epr.getURL();
+		}
+		catch (MalformedURLException e)
+		{
+			throw new CourierException(e);
+		}
+		catch (URISyntaxException e)
+		{
+			throw new CourierException(e);
+		}
+
+		_server = url.getHost();
+
+		String[] sa = null;
+		
+		if (url.getUserInfo() != null)
+			sa = url.getUserInfo().split(":");
+		
+		if (sa == null)
+			sa = new String[]
+			{ "", "" };
+		_user = (sa.length < 1) ? "" : sa[0];
+		_passwd = (sa.length < 2) ? "" : sa[1];
+
+		_remoteDir = url.getFile();
+		
+		final String tmpdir = System.getProperty("java.io.tmpdir") ;
+		if ((_remoteDir == null) || (_remoteDir.equals("")))
+			_remoteDir = ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_REMOTEDIR, tmpdir);
+
+		_port = url.getPort();
+		if (_port < 0)
+			_port = url.getDefaultPort();
+
+		_localDir = ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.FTP_LOCALDIR, tmpdir);
+
+		_isAscii = false;
+		_isPassive = false;
+		
+		try
+		{
+			_isPassive = _epr.getPassive();
+		}
+		catch (URISyntaxException e)
+		{
+			_logger.warn(e);
+		}
+
+	}
+
+	public boolean deleteFile(File file) throws CourierException
+	{
+		// TODO would be better to return false if the file did not exist and leave exceptions
+		// for other error conditions (such as permission denied).
+		
+		try
+		{
+			getHandler().deleteRemoteFile(file.getName());
+			return true;
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+			
+			throw new CourierException(e);
+		}
+	}
+
+	public byte[] getFileContents(File file) throws CourierException
+	{
+		try
+		{
+			/*
+			 * For some reason the code only works on the file name at this
+			 * point, even if a dir is passed in. So, if it's a dir
+			 * we will ignore it and return null.
+			 */
+
+			String name = file.getName();
+			
+			if (file.toString().length() > name.length())
+			{
+				_logger.debug("FtpFileHandler.getFileContents on "+file+" will ignore because of directory.");
+			
+				return null;
+			}
+			
+			getHandler().downloadFile(name, name);
+			File local = new File(_localDir, name);
+			byte[] ba = CourierUtil.bytesFromLocalFile(local);
+			local.delete();
+			return ba;
+		}
+		catch (Exception e)
+		{
+			// TODO better error handling, e.g., what if someone
+			// tries to download a directory?
+			
+			throw new CourierException(e);
+		}
+	}
+
+	// FileCourier will try to invoke the uploadFile(File) method using
+	// reflection
+	public void uploadFile(File file) throws CourierException
+	{
+		try
+		{
+			String name = file.getName();
+			getHandler().uploadFile(file, name);
+			file.delete();
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+			
+			throw new CourierException(e);
+		}
+	}
+
+	// FileCourier will try to invoke the downloadFile(File) method using
+	// reflection
+	public File downloadFile(File file) throws CourierException
+	{
+		try
+		{
+			String name = file.getName();
+			getHandler().downloadFile(name, name);
+			return new File(_localDir,name);
+		}
+		catch (Exception e)
+		{
+			throw new CourierException(e);
+		}
+	}
+
+	public File[] getFileList() throws CourierException
+	{
+		String[] names = null;
+
+		try
+		{
+			names = getHandler()
+					.getFileListFromRemoteDir(_epr.getInputSuffix());
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+			
+			throw new CourierException(e);
+		}
+
+		if (null == names)
+			return null;
+		File[] files = new File[names.length];
+		int i = 0;
+		for (String file : names)
+			if (null != file)
+				files[i++] = new File(file);
+		return files;
+	}
+
+	public boolean renameFile(File from, File to) throws CourierException
+	{
+		try
+		{
+			getHandler().remoteRename(from, to);
+
+			return true;
+		}
+		catch (IOException ex)  // file not found
+		{
+			return false;
+		}
+		catch (Exception e)
+		{
+			throw new CourierException(e);
+		}
+	}
+
+	// Because ftp connections are volatile, we are always getting a fresh
+	// handle
+	// TODO there's room for optimization here - not for GA though
+	protected RemoteFileSystem getHandler() throws CourierException
+	{
+		try
+		{
+			RemoteFileSystem rfs = RemoteFileSystemFactory.getRemoteFileSystem(
+					_epr, true);
+			try
+			{
+				rfs.setRemoteDir(_remoteDir);
+			}
+			catch (Exception e)
+			{
+				throw new CourierException(e);
+			}
+
+			return rfs;
+		}
+		catch (RemoteFileSystemException e)
+		{
+			throw new CourierException(e);
+		}
+	}
+
+	private static final Logger _logger = Logger
+			.getLogger(FtpFileHandler.class);
+
+	protected FTPEpr _epr;
+	protected ConfigTree _tree;
+	protected String _server;
+	protected String _user;
+	protected String _passwd;
+	protected String _remoteDir;
+	protected String _localDir;
+	protected int _port;
+	protected boolean _isAscii, _isPassive;
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/LocalFileHandler.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/LocalFileHandler.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/LocalFileHandler.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,133 @@
+package org.jboss.internal.soa.esb.couriers.helpers;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.util.Util;
+
+public class LocalFileHandler implements FileHandler
+{
+	private LocalFileHandler()
+	{
+	}
+
+	LocalFileHandler(FileEpr epr)
+	{
+		_epr = epr;
+	}
+
+	public boolean deleteFile(File file) throws CourierException
+	{
+		return file.delete();
+	}
+
+	public byte[] getFileContents(File file) throws CourierException
+	{
+		ByteArrayOutputStream out = new ByteArrayOutputStream();
+		byte[] ba = new byte[1000];  // TODO MAGIC NUMBER
+		int iQread;
+
+		try
+		{
+			FileInputStream inp = new FileInputStream(file);
+			while (-1 != (iQread = inp.read(ba)))
+				if (iQread > 0)
+					out.write(ba, 0, iQread);
+			inp.close();
+			out.close();
+			return out.toByteArray();
+		}
+		catch (FileNotFoundException e)
+		{
+			throw new CourierException(e);
+		}
+		catch (IOException e)
+		{
+			throw new CourierException(e);
+		}
+
+		// Just in case... (comment next line out to see if you're missing
+		// something)
+		catch (Exception e)
+		{
+			throw new CourierException(e);
+		}
+	}
+
+	public File[] getFileList() throws CourierException
+	{
+		try
+		{
+			File dir = new File(_epr.getURL().getFile());
+			if (!dir.isDirectory())
+				throw new CourierException(
+						"Can't get file list if URL is not a directory");
+
+			FileFilter filter = new FileEndsWith(_epr.getInputSuffix());
+			return dir.listFiles(filter);
+		}
+		catch (URISyntaxException e)
+		{
+			throw new CourierException(e);
+		}
+		catch (MalformedURLException e)
+		{
+			throw new CourierException(e);
+		}
+		// Just in case... (comment next line out to see if you're missing
+		// something)
+		catch (Exception e)
+		{
+			throw new CourierException(e);
+		}
+	}
+
+	public boolean renameFile(File from, File to) throws CourierException
+	{
+		try
+		{
+			if (to.exists())
+				to.delete();
+			if (!from.renameTo(to))
+				throw new CourierException("Unable to rename from " + from
+						+ " to " + to);
+			
+			return true;
+		}
+		catch (Exception e)
+		{
+			throw new CourierException(e);
+		}
+	}
+
+	private class FileEndsWith implements FileFilter
+	{
+		String m_sSuffix;
+
+		FileEndsWith(String p_sEnd) throws CourierException
+		{
+			m_sSuffix = p_sEnd;
+			if (Util.isNullString(m_sSuffix))
+				throw new CourierException(
+						"A file suffix (or full Message id) must be specified for pickup");
+		} // ______________________________
+
+		public boolean accept(File p_f)
+		{
+			return (p_f.isFile()) ? p_f.toString().endsWith(m_sSuffix) : false;
+		} // ______________________________
+	} // ____________________________________________________
+
+	protected FileEpr _epr;
+
+	static Logger _logger = Logger.getLogger(LocalFileHandler.class);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/MessageFactoryImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/MessageFactoryImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/MessageFactoryImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,136 @@
+package org.jboss.internal.soa.esb.message.format;
+
+import java.net.URI;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Properties;
+
+import org.jboss.internal.soa.esb.message.format.serialized.SerializedMessagePlugin;
+import org.jboss.internal.soa.esb.message.format.xml.XMLMessagePlugin;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessagePlugin;
+import org.jboss.soa.esb.message.format.MessageType;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Messages may contain attachments that do not appear in the main payload body.
+ * For example, binary document formats, zip files etc.
+ * 
+ * @author Mark Little
+ */
+
+public class MessageFactoryImpl extends MessageFactory
+{
+
+	public MessageFactoryImpl ()
+	{
+		reset();
+	}
+
+	public void reset ()
+	{
+		messageFormats.clear();
+		
+		/*
+		 * Go through the properties loaded from the property file. Anything
+		 * starting with MessagePlugin.MESSAGE_PLUGIN is assumed to be a plugin
+		 * that we load and add to the list.
+		 */
+		
+		Properties properties = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperties();
+		
+		if (properties != null)
+		{
+			Enumeration names = properties.propertyNames();
+
+			while (names.hasMoreElements())
+			{
+				String attrName = (String) names.nextElement();
+				
+				if (attrName.startsWith(MessagePlugin.MESSAGE_PLUGIN))
+				{
+					try
+					{
+						String pluginName = properties.getProperty(attrName);
+						Class c = Class.forName(pluginName);
+						MessagePlugin thePlugin = (MessagePlugin) c.newInstance();
+
+						messageFormats.put(thePlugin.getType(), thePlugin);
+					}
+					catch (ClassNotFoundException ex)
+					{
+						ex.printStackTrace();
+					}
+					catch (IllegalAccessException ex)
+					{
+						ex.printStackTrace();
+					}
+					catch (InstantiationException ex)
+					{
+						ex.printStackTrace();
+					}
+				}
+			}
+		}
+	         
+		/*
+		 * Now add the default(s).
+		 */
+		
+		messageFormats.put(MessageType.JBOSS_XML, new XMLMessagePlugin());
+		messageFormats.put(MessageType.JAVA_SERIALIZED, new SerializedMessagePlugin());
+	}
+	
+	public Message getMessage() // returns some default implementation.
+	{
+		return ((MessagePlugin) messageFormats.get(MessageType.DEFAULT_TYPE)).getMessage();
+	}
+
+	public Message getMessage(URI type) // returns a message of a specific type.
+	{
+		if (type == null)
+			throw new IllegalArgumentException();
+
+		MessagePlugin plugin = messageFormats.get(type);
+
+		if (plugin != null)
+			return plugin.getMessage();
+		else
+			return null;
+	}
+
+	public Message getMessage(Message msg, URI type) // convert a message
+	// from one form to
+	// another.
+	{
+		if ((msg == null) || (type == null))
+			throw new IllegalArgumentException();
+
+		return null;
+	}
+
+	private final Hashtable<URI, MessagePlugin> messageFormats = new Hashtable<URI, MessagePlugin>();
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/AttachmentImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/AttachmentImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/AttachmentImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,152 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+
+package org.jboss.internal.soa.esb.message.format.serialized;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.jboss.soa.esb.message.Attachment;
+
+/**
+ * Messages may contain attachments that do not appear in the main payload body.
+ * For example, binary document formats, zip files etc.
+ * 
+ * @author Mark Little
+ */
+
+public class AttachmentImpl implements Attachment, java.io.Serializable
+{
+	private static final long serialVersionUID = 0x0;
+
+	public Object get(String name)
+	{
+		return _table.get(name);
+	}
+
+	public Object put(String name, Object value) 
+	{
+		if (value instanceof Serializable)
+			return _table.put(name,(Serializable)value);
+		throw new IllegalArgumentException("value must be Serializable");
+	}
+
+	public Object remove(String name) 
+	{
+		return _table.remove(name);
+	}
+
+	public String[] getNames() 
+	{
+		return _table.keySet().toArray(new String[_table.size()]);
+	}
+
+	public Object itemAt(int index) throws IndexOutOfBoundsException 
+	{
+		return _list.get(index);
+	}
+
+	public Object removeItemAt(int index) throws IndexOutOfBoundsException 
+	{
+		return _list.remove(index);
+	}
+
+	public Object replaceItemAt(int index, Object value) throws IndexOutOfBoundsException 
+	{
+		if (value instanceof Serializable)
+			return _list.set(index,(Serializable)value);
+		throw new IllegalArgumentException("value must be Serializable");
+	}
+
+	public void addItem(Object value) 
+	{
+		if (value instanceof Serializable)
+			_list.add((Serializable)value);
+		else
+			throw new IllegalArgumentException("value must be Serializable");
+	}
+
+	public void addItemAt(int index, Object value) throws IndexOutOfBoundsException 
+	{
+		if (value instanceof Serializable)
+			_list.add(index,(Serializable)value);
+		else
+			throw new IllegalArgumentException("value must be Serializable");
+	}
+
+	public int getNamedCount() 
+	{
+		return _table.size();
+	}
+	public int getUnnamedCount() 
+	{
+		return _list.size();
+	}
+	public String toString() 
+	{ return new StringBuilder()
+		.append("Attachment - Named:").append(_table.toString())
+		.append(" Unnamed:").append(_list.toString())
+		.toString();
+	}
+	
+	@Override
+	public boolean equals(Object arg)
+	{
+		if (! (arg instanceof Attachment))
+			return false;
+		Attachment other = (Attachment)arg;
+
+		if (other.getNamedCount() != _table.size())
+			return false;
+		for(Map.Entry<String,Serializable>oCurr : _table.entrySet())
+		{	
+			Object val = other.get(oCurr.getKey());
+			if (null==oCurr.getValue())
+				if (null==val)
+					continue;
+				else
+					return false;
+			if (!oCurr.getValue().equals(val))
+				return false;
+		}
+
+		if (other.getUnnamedCount() != _list.size())
+			return false;
+		int index = 0;
+		for (Serializable oCurr : _list)
+		{
+			Object val = other.itemAt(index++);
+			if (null==oCurr)
+				if (null==val)
+					continue;
+				else
+					return false;
+			if (!oCurr.equals(val))
+				return false;
+		}
+		return true;		
+	}
+
+	ArrayList<Serializable> _list = new ArrayList<Serializable>();
+	Hashtable<String,Serializable> _table = new Hashtable<String,Serializable>();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/BodyImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/BodyImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/BodyImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,139 @@
+package org.jboss.internal.soa.esb.message.format.serialized;
+
+import java.io.Serializable;
+import java.util.Hashtable;
+import java.util.Set;
+
+import org.jboss.soa.esb.message.Body;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/*
+ * This implementation requires that all contents are serializable.
+ */
+
+public class BodyImpl implements Body, java.io.Serializable
+{
+	private static final long serialVersionUID = 0x0;
+	
+	public BodyImpl ()
+	{
+		_content = null;
+		_objects = new Hashtable<String, Serializable>();
+	}
+	
+	public void setContents (byte[] content)
+	{
+		_content = content;
+	}
+
+	public byte[] getContents ()
+	{
+		return _content;
+	}
+	
+	public void add (String name, Object value)
+	{
+		if ((name == null) || (value == null))
+			throw new IllegalArgumentException();
+		
+		if (value instanceof Serializable)
+		{
+			synchronized (_objects)
+			{
+				_objects.put(name, (Serializable) value);
+			}
+		}
+		else
+			throw new IllegalArgumentException("Object must be Serializable.");
+	}
+	
+	public Object get (String name)
+	{
+		synchronized (_objects)
+		{
+			return _objects.get(name);
+		}
+	}
+	
+	public String[] getNames ()
+	{
+		Set<String> keys = _objects.keySet();
+		
+		if (keys != null)
+		{
+			String[] toReturn = new String[keys.size()];
+		
+			return keys.toArray(toReturn);
+		}
+		else
+			return null;
+	}
+	
+	public Object remove (String name)
+	{
+		synchronized (_objects)
+		{
+			return _objects.remove(name);
+		}
+	}
+	
+	public void replace (Body b)
+	{
+		if (b == null)
+			throw new IllegalArgumentException();
+		
+		setContents(b.getContents());
+		
+		_objects = ((BodyImpl) b)._objects;
+	}
+	
+	public void merge (Body b)
+	{
+		if (b == null)
+			throw new IllegalArgumentException();
+		
+		byte[] toAdd = b.getContents();
+		
+		if ((toAdd != null) && (toAdd.length > 0))
+		{
+			if ((_content == null) || (_content.length == 0))
+			{
+				_content = toAdd;
+			}
+			else
+			{
+				int newSize = _content.length + toAdd.length;
+				byte[] buffer = new byte[newSize];
+				
+				System.arraycopy(_content, 0, buffer, 0, _content.length);
+				System.arraycopy(toAdd, 0, buffer, _content.length, toAdd.length);
+				
+				_content = buffer;
+			}
+		}
+	}
+	
+	private byte[] _content;
+	private Hashtable<String, Serializable> _objects;
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/ContextImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/ContextImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/ContextImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,29 @@
+package org.jboss.internal.soa.esb.message.format.serialized;
+
+import org.jboss.soa.esb.message.Context;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+public class ContextImpl implements Context, java.io.Serializable
+{
+	private static final long serialVersionUID = 0x0;
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/FaultImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/FaultImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/FaultImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,55 @@
+package org.jboss.internal.soa.esb.message.format.serialized;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Fault;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+public class FaultImpl implements Fault, java.io.Serializable
+{
+	private static final long serialVersionUID = 0x0;
+	
+	public URI getCode ()
+	{
+		return _code;
+	}
+	
+	public void setCode (URI code)
+	{
+		_code = code;
+	}
+	
+	public String getReason ()
+	{
+		return _reason;
+	}
+	
+	public void setReason (String reason)
+	{
+		_reason = reason;
+	}
+	
+	private URI _code = null;
+	private String _reason = null;
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/HeaderImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/HeaderImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/HeaderImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,161 @@
+package org.jboss.internal.soa.esb.message.format.serialized;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Serializable;
+import java.io.StringWriter;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.jboss.internal.soa.esb.addressing.helpers.CallHelper;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.message.Header;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+
+import com.sun.org.apache.xml.internal.serialize.OutputFormat;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
+/**
+ * The message header. Contains such things as routing information.
+ */
+
+public class HeaderImpl implements Header, Serializable
+{
+	private static final long serialVersionUID = 0x0;
+	
+	public static final String HEADER_TAG = "Header";
+	
+	public HeaderImpl ()
+	{
+		_call = new Call();
+	}
+	
+	// TODO add other setters/getters for artibitrary attributes
+	
+	public Call getCall ()
+	{
+		return _call;
+	}
+	
+	public void setCall (Call call)
+	{
+		if (call == null)
+			throw new IllegalArgumentException();
+		
+		_call = call;
+	}
+
+	/*
+	 * Call and PortReference aren't Serializable so we have to do some
+	 * magic.
+	 */
+	
+	private void writeObject(java.io.ObjectOutputStream out) throws IOException
+	{
+		if (_call != null)
+		{
+			try
+			{
+				DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+				
+				factory.setNamespaceAware(true);
+
+				DocumentBuilder builder = factory.newDocumentBuilder();
+				Document doc = builder.newDocument();
+				Element header = doc.createElement(HEADER_TAG);	
+				
+				doc.appendChild(header);
+				
+				header = CallHelper.toXML(_call, doc, header);
+				
+				StringWriter sWriter = new StringWriter();
+				OutputFormat format = new OutputFormat();
+				format.setIndenting(true);
+				XMLSerializer xmlS = new XMLSerializer(sWriter, format);
+				xmlS.asDOMSerializer();
+				xmlS.serialize(doc);
+
+				out.writeObject(sWriter.toString());
+			}
+			catch (MarshalException ex)
+			{
+				ex.printStackTrace();
+				
+				throw new IOException(ex.toString());
+			}
+			catch (ParserConfigurationException ex)
+			{
+				ex.printStackTrace();
+				
+				throw new IOException(ex.toString());
+			}
+		}	
+	}
+	
+	private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException
+	{
+		try
+		{
+			String header = (String) in.readObject();
+			InputStream inStream = new ByteArrayInputStream(header.getBytes());
+			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+			
+			factory.setNamespaceAware(true);
+
+			DocumentBuilder builder = factory.newDocumentBuilder();				
+			Document doc = builder.parse(inStream);
+	
+			Element headerElement = doc.getDocumentElement();
+			
+			_call = CallHelper.fromXML(headerElement);
+		}
+		catch (UnmarshalException ex)
+		{
+			ex.printStackTrace();
+			
+			throw new IOException(ex.toString());
+		}
+		catch (ParserConfigurationException ex)
+		{
+			ex.printStackTrace();
+			
+			throw new IOException(ex.toString());
+		}
+		catch (SAXException ex)
+		{
+			ex.printStackTrace();
+			
+			throw new IOException(ex.toString());
+		}
+	}
+	
+	private Call _call;
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/MessageImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/MessageImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/MessageImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,129 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+package org.jboss.internal.soa.esb.message.format.serialized;
+
+import java.io.Serializable;
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Attachment;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Context;
+import org.jboss.soa.esb.message.Fault;
+import org.jboss.soa.esb.message.Header;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Properties;
+import org.jboss.soa.esb.message.format.MessageType;
+
+
+/**
+ * This is the basic internal core message abstraction. A message consists of the following
+ * components:
+ * 
+ * Header: the header information contains information such as the destination EPR, the
+ * sender EPR, where the reply goes etc, i.e., general message-level functional information.
+ * Context: additional information to contextualise the message; for example, transaction or
+ * security data, the identity of the ultimate receiver, or HTTP-cookie like information.
+ * Body: the actual payload of the message.
+ * Fault: any fault information associated with the message.
+ * Attachment: any attachments associated with the message.
+ * 
+ * Each message, once created, has a corresponding element for these 5 components. That element
+ * may be empty (<b>NOT NULL</b>). The object representing the element can then be used to act
+ * on the corresponding data item in the message.
+ * 
+ * @author Mark Little
+ *
+ */
+
+public class MessageImpl implements Message, Serializable
+{
+	private static final long serialVersionUID = 0x0;
+	
+	/**
+	 * @return get the header component of the message.
+	 */
+	
+	public Header getHeader ()
+	{
+		return _theHeader;
+	}
+	
+	/**
+	 * @return get the context component of the message.
+	 */
+	
+	public Context getContext ()
+	{
+		return _theContext;
+	}
+	
+	/**
+	 * @return get the body component of the message.
+	 */
+	
+	public Body getBody ()
+	{
+		return _theBody;
+	}
+	
+	/**
+	 * @return get any faults associated with the message. These should not
+	 * be application level faults, but comms level.
+	 */
+	
+	public Fault getFault ()
+	{
+		return _theFault;
+	}
+	
+	/**
+	 * @return get any message attachments.
+	 */
+	
+	public Attachment getAttachment ()
+	{
+		return _theAttachment;
+	}
+	
+	/**
+	 * @return the type of this message format.
+	 */
+	
+	public URI getType ()
+	{
+		return MessageType.JAVA_SERIALIZED;
+	}
+
+	/**
+	 * @return Map&lt;String,Object&gt; - any message properties.
+	 */
+	public Properties getProperties() 
+	{
+		return _properties;
+	}
+
+	private HeaderImpl _theHeader = new HeaderImpl();
+	private ContextImpl _theContext = new ContextImpl();
+	private BodyImpl _theBody = new BodyImpl();
+	private FaultImpl _theFault = new FaultImpl();
+	private AttachmentImpl _theAttachment = new AttachmentImpl();
+	private Properties _properties = new PropertiesImpl();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/PropertiesImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/PropertiesImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/PropertiesImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ * @author schifest at heuristica.com.ar
+ */
+package org.jboss.internal.soa.esb.message.format.serialized;
+
+import java.io.Serializable;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.jboss.soa.esb.message.Properties;
+
+public class PropertiesImpl implements Properties, Serializable
+{
+	private static final long serialVersionUID = 0x0;
+
+	public Object getProperty(String name)
+	{
+		return _table.get(name);
+	}
+
+	public Object getProperty(String name, Object defaultVal)
+	{
+		Object oRet = getProperty(name);
+		return (null == oRet) ? defaultVal : oRet;
+	}
+
+	public Object setProperty(String name, Object value)
+	{
+		if (value instanceof Serializable)
+			return _table.put(name, (Serializable) value);
+		else
+			throw new IllegalArgumentException("Value must be serializable");
+	}
+
+	public Object remove(String name)
+	{
+		return _table.remove(name);
+	}
+	
+	public int size() {return _table.size(); } 
+
+	public String[] getNames()
+	{
+		return _table.keySet().toArray(new String[_table.size()]);
+	}
+
+	public String toString()
+	{
+		return _table.toString();
+	}
+
+	@Override
+	public boolean equals(Object arg)
+	{
+		if (! (arg instanceof Properties))
+			return false;
+		Properties other = (Properties)arg;
+		if (other.size() != _table.size())
+			return false;
+		for(Map.Entry<String,Serializable>oCurr : _table.entrySet())
+		{	
+			Object val = other.getProperty(oCurr.getKey());
+			if (null==oCurr.getValue())
+				if (null==val)
+					continue;
+				else
+					return false;
+			if (!oCurr.getValue().equals(val))
+				return false;
+		}
+		return true;
+	}
+
+	Hashtable<String, Serializable> _table = new Hashtable<String, Serializable>();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/SerializedMessagePlugin.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/SerializedMessagePlugin.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/SerializedMessagePlugin.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,48 @@
+package org.jboss.internal.soa.esb.message.format.serialized;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessagePlugin;
+import org.jboss.soa.esb.message.format.MessageType;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Used to plug in new message formats dynamically.
+ *  
+ * @author Mark Little
+ *
+ */
+
+public class SerializedMessagePlugin implements MessagePlugin
+{
+	public Message getMessage ()
+	{
+		return new MessageImpl();
+	}
+	
+	public URI getType ()
+	{
+		return MessageType.JAVA_SERIALIZED;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/AttachmentImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/AttachmentImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/AttachmentImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,272 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+
+package org.jboss.internal.soa.esb.message.format.xml;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.jboss.internal.soa.esb.thirdparty.Base64;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.message.Attachment;
+import org.w3c.dom.CDATASection;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Messages may contain attachments that do not appear in the main payload body.
+ * For example, binary document formats, zip files etc.
+ * 
+ * @author Mark Little
+ */
+
+public class AttachmentImpl implements Attachment, java.io.Serializable
+{
+	public static final String ATTACHMENT_TAG = "Attachment";
+	public static final String NAME_ATTR = "name";
+    public static final String NAMED_TAG = "Named";
+    public static final String UNNAMED_TAG = "UnNamed";
+
+	private static final long serialVersionUID = 0x0;
+
+	public Object get(String name)
+	{
+		return _table.get(name);
+	}
+
+	public Object put(String name, Object value)
+	{
+		if (value instanceof Serializable)
+			return _table.put(name, (Serializable) value);
+		throw new IllegalArgumentException("value must be Serializable");
+	}
+
+	public Object remove(String name)
+	{
+		return _table.remove(name);
+	}
+
+	public String[] getNames()
+	{
+		return _table.keySet().toArray(new String[_table.size()]);
+	}
+
+	public Object itemAt(int index) throws IndexOutOfBoundsException
+	{
+		return _list.get(index);
+	}
+
+	public Object removeItemAt(int index) throws IndexOutOfBoundsException
+	{
+		return _list.remove(index);
+	}
+
+	public Object replaceItemAt(int index, Object value)
+			throws IndexOutOfBoundsException
+	{
+		if (value instanceof Serializable)
+			return _list.set(index, (Serializable) value);
+		throw new IllegalArgumentException("value must be Serializable");
+	}
+
+	public void addItem(Object value)
+	{
+		if (value instanceof Serializable)
+			_list.add((Serializable) value);
+		else
+			throw new IllegalArgumentException("value must be Serializable");
+	}
+
+	public void addItemAt(int index, Object value)
+			throws IndexOutOfBoundsException
+	{
+		if (value instanceof Serializable)
+			_list.add(index, (Serializable) value);
+		else
+			throw new IllegalArgumentException("value must be Serializable");
+	}
+
+	public int getNamedCount()
+	{
+		return _table.size();
+	}
+
+	public int getUnnamedCount()
+	{
+		return _list.size();
+	}
+
+	public String toString()
+	{
+		return new StringBuilder().append("Attachment - Named:").append(
+				_table.toString()).append(" Unnamed:").append(_list.toString())
+				.toString();
+	}
+
+	/**
+	 * toXML(elem) - Will build a child element with appropriate values and
+	 * append it to arg0
+	 * 
+	 * @param elem
+	 *            Element - where to add 'this' as a child node
+	 * @return Element - 'this' as the added Element, or &lt;null&gt; if no
+	 *         properties in table and nothing was appended to arg0
+	 * @see XMLUtil.ATTACHMENT_TAG
+	 */
+	public Element toXML(Element elem) throws MarshalException
+	{
+		if (_table.size() < 1 && _list.size() < 1)
+			return null;
+
+		Document doc = elem.getOwnerDocument();
+		Element thisElement = doc.createElement(ATTACHMENT_TAG);
+
+		listToXml(doc, thisElement);
+		tableToXml(doc, thisElement);
+
+		elem.appendChild(thisElement);
+		return thisElement;
+	}
+
+	private void tableToXml(Document doc, Element elem)
+	{
+		for (Map.Entry<String, Serializable> oCurr : _table.entrySet())
+		{
+			Element named = doc.createElement(NAMED_TAG);
+			named.setAttribute(NAME_ATTR, oCurr.getKey());
+			named.appendChild(doc.createCDATASection(Base64.encodeObject(oCurr
+					.getValue())));
+			elem.appendChild(named);
+		}
+	}
+
+	private void listToXml(Document doc, Element elem)
+	{
+		for (Serializable oCurr : _list)
+		{
+			Element anonymous = doc.createElement(UNNAMED_TAG);
+			anonymous.appendChild(doc.createCDATASection(Base64
+					.encodeObject(oCurr)));
+			elem.appendChild(anonymous);
+		}
+	}
+
+	/**
+	 * fromXml(elem) - Populate properties found in appropriate child element
+	 * 
+	 * @see XMLUtil.ATTACHMENT_TAG
+	 * @param elem -
+	 *            Element where to look for child nodes
+	 */
+	public void fromXML(Element elem) throws UnmarshalException
+	{
+		_table.clear();
+		_list.clear();
+
+		NodeList NL = elem.getElementsByTagName(ATTACHMENT_TAG);
+		for (int i1 = 0; i1 < NL.getLength(); i1++)
+		{
+			Node oCurr = NL.item(i1);
+			if ((oCurr instanceof Element))
+			{
+				listFromXml((Element) oCurr);
+				tableFromXml((Element) oCurr);
+			}
+		}
+	}
+
+	private void listFromXml(Element elem)
+	{
+		NodeList anonymous = elem.getElementsByTagName(UNNAMED_TAG);
+		for (int i1 = 0; i1 < anonymous.getLength(); i1++)
+		{
+			Node oCurr = anonymous.item(i1);
+			if (oCurr instanceof Element)
+			{
+				CDATASection cdata = (CDATASection) oCurr.getFirstChild();
+				Object value = Base64.decodeToObject(cdata.getWholeText());
+				_list.add((Serializable) value);
+			}
+		}
+	}
+
+	private void tableFromXml(Element elem)
+	{
+		NodeList named = elem.getElementsByTagName(NAMED_TAG);
+		for (int i1 = 0; i1 < named.getLength(); i1++)
+		{
+			Node oCurr = named.item(i1);
+			if (oCurr instanceof Element)
+			{
+				CDATASection cdata = (CDATASection) oCurr.getFirstChild();
+				String name = ((Element) oCurr).getAttribute(NAME_ATTR);
+				Object value = Base64.decodeToObject(cdata.getWholeText());
+				_table.put(name, (Serializable) value);
+			}
+		}
+	}
+
+	@Override
+	public boolean equals(Object arg)
+	{
+		if (! (arg instanceof Attachment))
+			return false;
+		Attachment other = (Attachment)arg;
+
+		if (other.getNamedCount() != _table.size())
+			return false;
+		for(Map.Entry<String,Serializable>oCurr : _table.entrySet())
+		{	
+			Object val = other.get(oCurr.getKey());
+			if (null==oCurr.getValue())
+				if (null==val)
+					continue;
+				else
+					return false;
+			if (!oCurr.getValue().equals(val))
+				return false;
+		}
+
+		if (other.getUnnamedCount() != _list.size())
+			return false;
+		int index = 0;
+		for (Serializable oCurr : _list)
+		{
+			Object val = other.itemAt(index++);
+			if (null==oCurr)
+				if (null==val)
+					continue;
+				else
+					return false;
+			if (!oCurr.equals(val))
+				return false;
+		}
+		return true;		
+	}
+
+	ArrayList<Serializable> _list = new ArrayList<Serializable>();
+	Hashtable<String, Serializable> _table = new Hashtable<String, Serializable>();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,284 @@
+package org.jboss.internal.soa.esb.message.format.xml;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Set;
+
+import org.jboss.internal.soa.esb.message.format.xml.marshal.MarshalUnmarshalManager;
+import org.jboss.internal.soa.esb.thirdparty.Base64;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.message.Body;
+import org.w3c.dom.CDATASection;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/*
+ * A Body implementation that serializes to XML.
+ */
+
+public class BodyImpl implements Body
+{
+	public static final String BODY_TAG = "Body";
+
+	public static final String BYTES_TAG = "Bytes";
+
+	public static final String CONTENT_TAG = "Content";
+
+	public static final String KEY_TAG = "Key";
+
+	public static final String VALUE_TAG = "Value";
+
+	public BodyImpl()
+	{
+		_content = null;
+		_objects = new Hashtable<String, Object>();
+	}
+
+	public void add(String name, Object value)
+	{
+		if ((name == null) || (value == null))
+			throw new IllegalArgumentException();
+
+		synchronized (_objects)
+		{
+			_objects.put(name, value);
+		}
+	}
+
+	public Object get(String name)
+	{
+		synchronized (_objects)
+		{
+			return _objects.get(name);
+		}
+	}
+
+	public String[] getNames()
+	{
+		Set<String> keys = _objects.keySet();
+
+		if (keys != null)
+		{
+			String[] toReturn = new String[keys.size()];
+
+			return keys.toArray(toReturn);
+		}
+		else
+			return null;
+	}
+
+	public Object remove(String name)
+	{
+		synchronized (_objects)
+		{
+			return _objects.remove(name);
+		}
+	}
+
+	public Element toXML(Element envelope) throws MarshalException
+	{
+		Document doc = envelope.getOwnerDocument();
+		Element bodyElement = doc.createElement(BODY_TAG);
+
+		envelope.appendChild(bodyElement);
+
+		if (_content != null)
+		{
+			Element byteElement = doc.createElement(BYTES_TAG);
+
+			byteElement.appendChild(doc.createCDATASection(Base64
+					.encodeBytes(_content)));
+
+			bodyElement.appendChild(byteElement);
+		}
+
+		/*
+		 * This would normally be handled by an external adapter.
+		 */
+
+		Enumeration<String> keys = _objects.keys();
+
+		while (keys.hasMoreElements())
+		{
+			String key = keys.nextElement();
+			Object value = _objects.get(key);
+
+			Element objElement = doc.createElement(CONTENT_TAG);
+			Element keyElement = doc.createElement(KEY_TAG);
+			Element valueElement = doc.createElement(VALUE_TAG);
+
+			keyElement.appendChild(doc.createCDATASection(Base64
+					.encodeBytes(key.getBytes())));
+
+			objElement.appendChild(keyElement);
+			objElement.appendChild(valueElement);
+
+			if (MarshalUnmarshalManager.getInstance().marshal(valueElement,
+					value))
+			{
+				bodyElement.appendChild(objElement);
+			}
+			else
+				throw new MarshalException("Cannot pack object " + key);
+		}
+
+		return bodyElement;
+	}
+
+	public void fromXML(Element envelope) throws UnmarshalException
+	{
+		NodeList nl = envelope.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			/*
+			 * TODO
+			 * 
+			 * In the past, bugs in certain Dom implementations mean that
+			 * getElementsByName did not always work. Still the case? Plus this
+			 * way is quicker.
+			 */
+
+			if (nl.item(i).getNodeName().equals(BODY_TAG))
+			{
+				NodeList children = nl.item(i).getChildNodes();
+
+				for (int j = 0; j < children.getLength(); j++)
+				{
+					Object xxx = children.item(j);
+
+					if (!(xxx instanceof Element))
+						continue;
+
+					Element node = (Element) xxx;
+
+					if (node.getNodeName().equals(BYTES_TAG))
+					{
+						CDATASection cdata = (CDATASection) node
+								.getFirstChild();
+
+						// support empty byte (null files etc.)
+
+						if (cdata != null)
+							_content = Base64.decode(cdata.getWholeText());
+						else
+							_content = new byte[0];
+					}
+					else
+					{
+						if (node.getNodeName().equals(CONTENT_TAG))
+						{
+							final NodeList childList = node.getChildNodes();
+
+							String key = null;
+							Object value = null;
+
+							for (int k = 0; k < childList.getLength(); k++)
+							{
+								if (childList.item(k).getNodeName().equals(
+										VALUE_TAG))
+									value = MarshalUnmarshalManager
+											.getInstance()
+											.unmarshal(
+													(Element) childList.item(k));
+
+								if (childList.item(k).getNodeName().equals(
+										KEY_TAG))
+								{
+									CDATASection cdata = (CDATASection) childList.item(k).getFirstChild();
+
+									key = new String(Base64.decode(cdata
+											.getWholeText()));
+								}
+							}
+
+							if (value == null)
+								throw new UnmarshalException(
+										"Cannot unpack object "
+												+ node.getNodeName());
+							else
+								_objects.put(key, value);
+						}
+					}
+				}
+			}
+		}
+	}
+
+	public void setContents(byte[] content)
+	{
+		_content = content;
+	}
+
+	public byte[] getContents()
+	{
+		return _content;
+	}
+
+	public void replace(Body b)
+	{
+		if (b == null)
+			throw new IllegalArgumentException();
+
+		setContents(b.getContents());
+
+		_objects = ((BodyImpl) b)._objects;
+	}
+
+	public void merge(Body b)
+	{
+		if (b == null)
+			throw new IllegalArgumentException();
+
+		byte[] toAdd = b.getContents();
+
+		if ((toAdd != null) && (toAdd.length > 0))
+		{
+			if ((_content == null) || (_content.length == 0))
+			{
+				_content = toAdd;
+			}
+			else
+			{
+				int newSize = _content.length + toAdd.length;
+				byte[] buffer = new byte[newSize];
+
+				System.arraycopy(_content, 0, buffer, 0, _content.length);
+				System.arraycopy(toAdd, 0, buffer, _content.length,
+						toAdd.length);
+
+				_content = buffer;
+			}
+		}
+
+		_objects.putAll(((BodyImpl) b)._objects);
+	}
+
+	private byte[] _content;
+
+	private Hashtable<String, Object> _objects;
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/ContextImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/ContextImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/ContextImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+package org.jboss.internal.soa.esb.message.format.xml;
+
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.message.Context;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+public class ContextImpl implements Context
+{
+    public static final String CONTEXT_TAG = "Context";
+    
+	public Element toXML (Element envelope) throws MarshalException
+	{
+		Document doc = envelope.getOwnerDocument();
+		Element contextElement = doc.createElement(CONTEXT_TAG);
+		
+		envelope.appendChild(contextElement);
+		
+		return contextElement;
+	}
+	
+	public void fromXML (Element envelope) throws UnmarshalException
+	{
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/FaultImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/FaultImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/FaultImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,136 @@
+package org.jboss.internal.soa.esb.message.format.xml;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.message.Fault;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+public class FaultImpl implements Fault
+{
+	public static final String FAULT_TAG = "Fault";
+
+	public static final String CODE_TAG = "Code";
+
+	public static final String REASON_TAG = "Reason";
+
+	public URI getCode()
+	{
+		return _code;
+	}
+
+	public void setCode(URI code)
+	{
+		_code = code;
+	}
+
+	public String getReason()
+	{
+		return _reason;
+	}
+
+	public void setReason(String reason)
+	{
+		_reason = reason;
+	}
+
+	public Element toXML(Element envelope) throws MarshalException
+	{
+		Document doc = envelope.getOwnerDocument();
+		Element faultElement = doc.createElement(FAULT_TAG);
+
+		if (_code != null)
+		{
+			Element codeElement = doc.createElement(CODE_TAG);
+			Text content = doc.createTextNode(_code.toString());
+			
+			codeElement.appendChild(content);
+			
+			faultElement.appendChild(codeElement);
+		}
+
+		if (_reason != null)
+		{
+			Element reasonElement = doc.createElement(REASON_TAG);
+			Text content = doc.createTextNode(_reason);
+			
+			reasonElement.appendChild(content);
+
+			faultElement.appendChild(reasonElement);
+		}
+
+		if ((_code != null) || (_reason != null))
+		{
+			envelope.appendChild(faultElement);
+			
+			return faultElement;
+		}
+		else
+			return envelope;
+	}
+
+	public void fromXML (Element envelope) throws UnmarshalException
+	{
+		NodeList nl = envelope.getChildNodes();
+
+		_code = null;
+		_reason = null;
+		
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			if (nl.item(i).getNodeName().equals(FAULT_TAG))
+			{
+				NodeList children = nl.item(i).getChildNodes();
+
+				for (int j = 0; j < children.getLength(); j++)
+				{
+					Element child = (Element) children.item(j);
+
+					if (child.getNodeName().equals(CODE_TAG))
+					{
+						try
+						{
+							_code = new URI(child.getFirstChild().getNodeValue());
+						}
+						catch (Exception ex)
+						{
+							ex.printStackTrace();
+						}
+					}
+
+					if (child.getNodeName().equals(REASON_TAG))
+						_reason = child.getFirstChild().getNodeValue();
+				}
+			}
+		}
+	}
+
+	private URI _code = null;
+	private String _reason = null;
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/HeaderImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/HeaderImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/HeaderImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,103 @@
+package org.jboss.internal.soa.esb.message.format.xml;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import org.jboss.internal.soa.esb.addressing.helpers.CallHelper;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.message.Header;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * The message header. Contains such things as routing information.
+ */
+
+public class HeaderImpl implements Header
+{
+    public static final String HEADER_TAG = "Header";
+    
+	public HeaderImpl ()
+	{
+		_call = new Call();
+	}
+	
+	// TODO add other setters/getters for artibitrary attributes
+	
+	public Call getCall ()
+	{
+		return _call;
+	}
+	
+	public void setCall (Call call)
+	{
+		if (call == null)
+			throw new IllegalArgumentException();
+		
+		_call = call;
+	}
+	
+	public Element toXML (Element envelope) throws MarshalException
+	{
+		Document doc = envelope.getOwnerDocument();
+		
+		// TODO remove MAGIC strings!!
+		
+		Element headerElement = doc.createElement(HEADER_TAG);
+		
+		envelope.appendChild(headerElement);
+		
+		if (_call != null)
+			return CallHelper.toXML(_call, doc, headerElement);
+		else
+			return headerElement;
+	}
+	
+	public void fromXML (Element envelope) throws UnmarshalException
+	{
+		_call = new Call();
+		
+		NodeList nl = envelope.getChildNodes();
+		Element headerElement = null;
+		
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			Node n = nl.item(i);
+			
+			if (n.getNodeName().equals(HEADER_TAG))
+			{
+				headerElement = (Element) n;
+				break;
+			}
+		}
+		
+		// TODO error handling!!
+		
+		if (headerElement != null)
+			_call = CallHelper.fromXML(headerElement);
+	}
+	
+	private Call _call;
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/MessageImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/MessageImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/MessageImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,210 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+package org.jboss.internal.soa.esb.message.format.xml;
+
+import java.io.Serializable;
+import java.net.URI;
+
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.message.Attachment;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Context;
+import org.jboss.soa.esb.message.Fault;
+import org.jboss.soa.esb.message.Header;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Properties;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+
+/**
+ * This is the basic internal core message abstraction. A message consists of the following
+ * components:
+ * 
+ * Header: the header information contains information such as the destination EPR, the
+ * sender EPR, where the reply goes etc, i.e., general message-level functional information.
+ * Context: additional information to contextualise the message; for example, transaction or
+ * security data, the identity of the ultimate receiver, or HTTP-cookie like information.
+ * Body: the actual payload of the message.
+ * Fault: any fault information associated with the message.
+ * Attachment: any attachments associated with the message.
+ * Properties: any properties associated with the message.
+ * 
+ * Each message, once created, has a corresponding element for these 5 components. That element
+ * may be empty (<b>NOT NULL</b>). The object representing the element can then be used to act
+ * on the corresponding data item in the message.
+ * 
+ * @author Mark Little
+ *
+ */
+
+public class MessageImpl implements Message, Serializable
+{
+    private static final long serialVersionUID = 0x0;
+    
+    public static final String ENVELOPE_TAG = "Envelope";
+    
+	/**
+	 * @return get the header component of the message.
+	 */
+	
+	public Header getHeader ()
+	{
+		return _theHeader;
+	}
+	
+	/**
+	 * @return get the context component of the message.
+	 */
+	
+	public Context getContext ()
+	{
+		return _theContext;
+	}
+	
+	/**
+	 * @return get the body component of the message.
+	 */
+	
+	public Body getBody ()
+	{
+		return _theBody;
+	}
+	
+	/**
+	 * @return get any faults associated with the message. These should not
+	 * be application level faults, but comms level.
+	 */
+	
+	public Fault getFault ()
+	{
+		return _theFault;
+	}
+	
+	/**
+	 * @return get any message attachments.
+	 */
+	
+	public Attachment getAttachment ()
+	{
+		return _theAttachment;
+	}
+	
+	/**
+	 * @return the type of this message format.
+	 */
+	
+	public URI getType ()
+	{
+		return MessageType.JBOSS_XML;
+	}
+	/**
+	 * getProperties()
+	 * @return org.jboss.soa.esb.message.Properties - any message properties.
+	 */
+	public Properties getProperties() 
+	{
+		return _theProperties;
+	}
+	
+	// to/from XML here, rather than on individual elements
+	
+	public Document toXML (Document doc) throws MarshalException
+	{
+		try
+		{		
+			// TODO remove magic strings!
+			
+			Element envelope = doc.createElement(ENVELOPE_TAG);
+
+			doc.appendChild(envelope);
+			
+			_theHeader.toXML(envelope);
+			_theContext.toXML(envelope);
+			_theBody.toXML(envelope);
+			_theFault.toXML(envelope);
+			_theAttachment.toXML(envelope);
+			_theProperties.toXML(envelope);
+			
+			return doc;
+		}
+		catch (MarshalException ex)
+		{
+			throw ex;
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			throw new MarshalException(ex);
+		}
+	}
+	
+	public void fromXML (Document doc) throws UnmarshalException
+	{
+		try
+		{
+			NodeList nl = doc.getChildNodes();
+			Element envelope = null;
+			
+			for (int i = 0; i < nl.getLength(); i++)
+			{
+				Node n = nl.item(i);
+				
+				if (n.getNodeName().equals(ENVELOPE_TAG))
+				{
+					envelope = (Element) n;
+					break;
+				}
+			}
+
+			_theHeader.fromXML(envelope);
+			_theContext.fromXML(envelope);
+			_theBody.fromXML(envelope);
+			_theFault.fromXML(envelope);
+			_theAttachment.fromXML(envelope);
+			_theProperties.fromXML(envelope);
+		}
+		catch (UnmarshalException ex)
+		{
+			throw ex;
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			throw new UnmarshalException(ex);
+		}
+	}
+	
+	// TODO add equality operator(s)
+	
+	private HeaderImpl _theHeader = new HeaderImpl();
+	private ContextImpl _theContext = new ContextImpl();
+	private BodyImpl _theBody = new BodyImpl();
+	private FaultImpl _theFault = new FaultImpl();
+	private AttachmentImpl _theAttachment = new AttachmentImpl();
+	private PropertiesImpl _theProperties = new PropertiesImpl();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/PropertiesImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/PropertiesImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/PropertiesImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,218 @@
+/*
+ * 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 schifest at heuristica.com.ar
+ */
+package org.jboss.internal.soa.esb.message.format.xml;
+
+import java.io.Serializable;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.jboss.internal.soa.esb.thirdparty.Base64;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.message.Properties;
+import org.w3c.dom.CDATASection;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class PropertiesImpl implements Properties
+{
+	public static final String PROPERTIES_TAG = "Properties";
+
+	public static final String PROPERTY_TAG = "Property";
+
+	public static final String KEY_TAG = "Key";
+
+	public static final String VALUE_TAG = "Value";
+
+	public Object getProperty(String name)
+	{
+		return _table.get(name);
+	}
+
+	public Object getProperty(String name, Object defaultVal)
+	{
+		Object oRet = getProperty(name);
+		return (null == oRet) ? defaultVal : oRet;
+	}
+
+	public Object setProperty(String name, Object value)
+	{
+		if (value instanceof Serializable)
+			return _table.put(name, (Serializable) value);
+		else
+			throw new IllegalArgumentException("value must be XmlSerializable");
+	}
+
+	public Object remove(String name)
+	{
+		return _table.remove(name);
+	}
+
+	public int size()
+	{
+		return _table.size();
+	}
+
+	public String[] getNames()
+	{
+		return _table.keySet().toArray(new String[_table.size()]);
+	}
+
+	/**
+	 * toXML(elem) - Will build a child element with appropriate values and
+	 * append it to arg0
+	 * 
+	 * @param elem
+	 *            Element - where to add 'this' as a child node
+	 * @return Element - 'this' as the added Element, or &lt;null&gt; if no
+	 *         properties in table and nothing was appended to arg0
+	 */
+	public Element toXML(Element elem) throws MarshalException
+	{
+		if (_table.size() < 1)
+			return null;
+
+		Document doc = elem.getOwnerDocument();
+		Element thisElement = doc.createElement(PROPERTIES_TAG);
+
+		boolean bAdd = false;
+		for (Map.Entry<String, Serializable> oCurr : _table.entrySet())
+		{
+			Element oProp = doc.createElement(PROPERTY_TAG);
+			Element keyElement = doc.createElement(KEY_TAG);
+			Element valueElement = doc.createElement(VALUE_TAG);
+			
+			keyElement.appendChild(doc.createCDATASection(Base64.encodeBytes(oCurr.getKey().getBytes())));
+			oProp.appendChild(keyElement);
+		
+			valueElement.appendChild(doc.createCDATASection(Base64.encodeObject(oCurr.getValue())));
+			oProp.appendChild(valueElement);
+			
+			thisElement.appendChild(oProp);
+			bAdd = true;
+		}
+		if (bAdd)
+		{
+			elem.appendChild(thisElement);
+			return thisElement;
+		}
+		else
+			return null;
+	}
+
+	/**
+	 * fromXml(elem) - Populate properties found in appropriate child element
+	 * 
+	 * @see XMLUtil.PROPERTIES_TAG
+	 * @param elem -
+	 *            Element where to look for child nodes
+	 */
+	public void fromXML(Element elem) throws UnmarshalException
+	{
+		_table.clear();
+		
+		/*
+		 * There should be only one!
+		 */
+		
+		NodeList NL = elem.getElementsByTagName(PROPERTIES_TAG);
+
+		if (NL.getLength() > 1)
+			throw new UnmarshalException("More "+PROPERTIES_TAG+" than we expected!");
+		
+		if (NL.getLength() == 1)
+			NL = NL.item(0).getChildNodes();
+		
+		for (int i1 = 0; i1 < NL.getLength(); i1++)
+		{
+			Node oCurr = NL.item(i1);
+			
+			if (!(oCurr instanceof Element))
+				continue;
+
+			if (oCurr.getNodeName().equals(PROPERTY_TAG))
+			{
+				NodeList props = oCurr.getChildNodes();
+				String key = null;
+				Object value = null;
+				
+				for (int i2 = 0; i2 < props.getLength(); i2++)
+				{
+					Node oProp = props.item(i2);
+
+					if (oProp instanceof Element)
+					{
+						if (oProp.getNodeName().equals(VALUE_TAG))
+						{
+							CDATASection cdata = (CDATASection) oProp.getFirstChild();
+							value = Base64.decodeToObject(cdata.getWholeText());
+						}
+						else
+						{
+							if (oProp.getNodeName().equals(KEY_TAG))
+							{
+								CDATASection cdata = (CDATASection) oProp.getFirstChild();
+								key = new String(Base64.decode(cdata.getWholeText()));
+							}
+						}
+					}
+				}
+				
+				if ((key != null) && (value != null))
+					_table.put(key, (Serializable) value);
+				else
+					throw new UnmarshalException("Could not get tuple for "+oCurr.getNodeName());
+			}
+		}
+	}
+
+	public String toString()
+	{
+		return _table.toString();
+	}
+
+	@Override
+	public boolean equals(Object arg)
+	{
+		if (!(arg instanceof Properties))
+			return false;
+		Properties other = (Properties) arg;
+		if (other.size() != _table.size())
+			return false;
+		for (Map.Entry<String, Serializable> oCurr : _table.entrySet())
+		{
+			Object val = other.getProperty(oCurr.getKey());
+			if (null == oCurr.getValue())
+				if (null == val)
+					continue;
+				else
+					return false;
+			if (!oCurr.getValue().equals(val))
+				return false;
+		}
+		return true;
+	}
+
+	Hashtable<String, Serializable> _table = new Hashtable<String, Serializable>();
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLMessagePlugin.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLMessagePlugin.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLMessagePlugin.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,48 @@
+package org.jboss.internal.soa.esb.message.format.xml;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessagePlugin;
+import org.jboss.soa.esb.message.format.MessageType;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Used to plug in new message formats dynamically.
+ *  
+ * @author Mark Little
+ *
+ */
+
+public class XMLMessagePlugin implements MessagePlugin
+{
+	public Message getMessage ()
+	{
+		return new MessageImpl();
+	}
+	
+	public URI getType ()
+	{
+		return MessageType.JBOSS_XML;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,34 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/*
+ * Copyright (c) 2002, 2003, Arjuna Technologies Limited.
+ *
+ * XMLUtil.java
+ */
+
+package org.jboss.internal.soa.esb.message.format.xml;
+
+public class XMLUtil
+{
+    public static final String ESB_PREFIX = "jbesb";
+    public static final String ESB_NAMESPACE_URI = "http://www.jboss.org/ws/2006/09/esb";
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalManager.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalManager.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,161 @@
+package org.jboss.internal.soa.esb.message.format.xml.marshal;
+
+import java.net.URI;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Properties;
+
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.w3c.dom.Element;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Used to plug in new Object marshal/unmarshal formats dynamically. When packing
+ * objects in XML, the system runs through the list of registered plug-ins until it
+ * finds one that can deal with the object type (or faults). When packing, the name (type)
+ * of the plug-in that packed the object is also attached to facilitate unpacking.
+ *  
+ * @author Mark Little
+ *
+ */
+
+public class MarshalUnmarshalManager
+{
+	public static MarshalUnmarshalManager getInstance ()
+	{
+		return _instance;
+	}
+	
+	private MarshalUnmarshalManager ()
+	{
+		/*
+		 * Go through the properties loaded from the property file. Anything
+		 * starting with MessagePlugin.MESSAGE_PLUGIN is assumed to be a plugin
+		 * that we load and add to the list.
+		 */
+		
+		Properties properties = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperties();
+		
+		if (properties != null)
+		{
+			Enumeration names = properties.propertyNames();
+
+			while (names.hasMoreElements())
+			{
+				String attrName = (String) names.nextElement();
+				
+				if (attrName.startsWith(MarshalUnmarshalPlugin.MARSHAL_UNMARSHAL_PLUGIN))
+				{
+					try
+					{
+						String pluginName = properties.getProperty(attrName);
+						Class c = Class.forName(pluginName);
+						MarshalUnmarshalPlugin thePlugin = (MarshalUnmarshalPlugin) c.newInstance();
+
+						_plugins.put(thePlugin.type(), thePlugin);
+					}
+					catch (ClassNotFoundException ex)
+					{
+						ex.printStackTrace();
+					}
+					catch (IllegalAccessException ex)
+					{
+						ex.printStackTrace();
+					}
+					catch (InstantiationException ex)
+					{
+						ex.printStackTrace();
+					}
+				}
+			}
+			
+			/*
+			 * Add in the default plugin.
+			 */
+			
+			SerializedMarshalUnmarshalPlugin defaultPlugin = new SerializedMarshalUnmarshalPlugin();
+			
+			_plugins.put(defaultPlugin.type(), defaultPlugin);
+		}
+	}
+	
+	/**
+	 * Pack the provided object into the document.
+	 * 
+	 * @param doc the XML document.
+	 * @param param the object to pack.
+	 * 
+	 * @return <code>true</code> if the object was packed, <code>false</code> otherwise.
+	 * @throws MarshalException thrown if there is a problem packing.
+	 */
+	
+	public boolean marshal (Element doc, Object param) throws MarshalException
+	{
+		if ((doc == null) || (param == null))
+			throw new IllegalArgumentException();
+		
+		Enumeration<URI> keys = _plugins.keys();
+		
+		while (keys.hasMoreElements())
+		{
+			if (_plugins.get(keys.nextElement()).marshal(doc, param))
+				return true;
+		}
+		
+		return false;
+	}
+	
+	/**
+	 * Unpack the object from the document.
+	 * 
+	 * @param doc the document.
+	 * 
+	 * @return the object, or <code>null</code> if this implementation cannot deal with the
+	 * format.
+	 * @throws UnmarshalException thrown if there is a problem unpacking.
+	 */
+	
+	public Object unmarshal (Element doc) throws UnmarshalException
+	{
+		if (doc == null)
+			throw new IllegalArgumentException();
+		
+		Enumeration<URI> keys = _plugins.keys();
+		
+		while (keys.hasMoreElements())
+		{
+			Object result = _plugins.get(keys.nextElement()).unmarshal(doc);
+			
+			if (result != null)
+				return result;
+		}
+		
+		return null;
+	}
+	
+	private Hashtable<URI,MarshalUnmarshalPlugin> _plugins = new Hashtable<URI,MarshalUnmarshalPlugin>();
+
+	private static final MarshalUnmarshalManager _instance = new MarshalUnmarshalManager();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalPlugin.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalPlugin.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalPlugin.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+package org.jboss.internal.soa.esb.message.format.xml.marshal;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.w3c.dom.Element;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Used to plug in new Object marshal/unmarshal formats dynamically. When packing
+ * objects in XML, the system runs through the list of registered plug-ins until it
+ * finds one that can deal with the object type (or faults). When packing, the name (type)
+ * of the plug-in that packed the object is also attached to facilitate unpacking.
+ *  
+ * @author Mark Little
+ *
+ */
+
+public interface MarshalUnmarshalPlugin
+{
+	public static final String MARSHAL_UNMARSHAL_PLUGIN = "org.jboss.soa.esb.message.format.xml.plugin";
+	
+	public static final String tagName = "marshalunmarshal";
+	public static final String pluginType = "plugin-type";
+		
+	/**
+	 * Pack the provided object into the document.
+	 * 
+	 * @param doc the XML document.
+	 * @param param the object to pack.
+	 * 
+	 * @return <code>true</code> if the object was packed, <code>false</code> otherwise.
+	 * @throws MarshalException thrown if there is a problem packing.
+	 */
+	
+	public boolean marshal (Element doc, Object param) throws MarshalException;
+	
+	/**
+	 * Unpack the object from the document.
+	 * 
+	 * @param doc the document.
+	 * 
+	 * @return the object, or <code>null</code> if this implementation cannot deal with the
+	 * format.
+	 * @throws UnmarshalException thrown if there is a problem unpacking.
+	 */
+	
+	public Object unmarshal (Element doc) throws UnmarshalException;
+	
+	/**
+	 * @return the unique name for this plugin.
+	 */
+	
+	public URI type ();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/SerializedMarshalUnmarshalPlugin.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/SerializedMarshalUnmarshalPlugin.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/SerializedMarshalUnmarshalPlugin.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,175 @@
+package org.jboss.internal.soa.esb.message.format.xml.marshal;
+
+import java.io.Serializable;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.jboss.internal.soa.esb.thirdparty.Base64;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.w3c.dom.CDATASection;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Used to plug in new Object marshal/unmarshal formats dynamically. When
+ * packing objects in XML, the system runs through the list of registered
+ * plug-ins until it finds one that can deal with the object type (or faults).
+ * When packing, the name (type) of the plug-in that packed the object is also
+ * attached to facilitate unpacking.
+ * 
+ * @author Mark Little
+ * 
+ */
+
+public class SerializedMarshalUnmarshalPlugin implements MarshalUnmarshalPlugin
+{
+
+	public SerializedMarshalUnmarshalPlugin()
+	{
+		try
+		{
+			_type = new URI("urn:xml/marshalunmarshal/plugin/serialization");
+		}
+		catch (URISyntaxException ex)
+		{
+			ex.printStackTrace();
+		}
+	}
+
+	/**
+	 * Pack the provided object into the document.
+	 * 
+	 * @param doc
+	 *            the XML document.
+	 * @param param
+	 *            the object to pack.
+	 * 
+	 * @return <code>true</code> if the object was packed, <code>false</code>
+	 *         otherwise.
+	 * @throws MarshalException
+	 *             thrown if there is a problem packing.
+	 */
+
+	public boolean marshal(Element doc, Object param) throws MarshalException
+	{
+		if (param instanceof Serializable)
+		{
+			// we can deal with this type!
+
+			try
+			{
+				Element nodeElement = doc.getOwnerDocument().createElement(
+						MarshalUnmarshalPlugin.tagName);
+
+				Element pluginType = doc.getOwnerDocument().createElement(
+						MarshalUnmarshalPlugin.pluginType);
+				pluginType.appendChild(doc.getOwnerDocument().createTextNode(
+						type().toString()));
+				nodeElement.appendChild(pluginType);
+
+				nodeElement.appendChild(doc.getOwnerDocument()
+						.createCDATASection(
+								Base64.encodeObject((Serializable) param)));
+
+				doc.appendChild(nodeElement);
+			}
+			catch (Exception ex)
+			{
+				ex.printStackTrace();
+
+				throw new MarshalException(ex);
+			}
+
+			return true;
+		}
+		else
+			return false;
+	}
+
+	/**
+	 * Unpack the object from the document.
+	 * 
+	 * @param doc
+	 *            the document.
+	 * 
+	 * @return the object, or <code>null</code> if this implementation cannot
+	 *         deal with the format.
+	 * @throws UnmarshalException
+	 *             thrown if there is a problem unpacking.
+	 */
+
+	public Object unmarshal(Element doc) throws UnmarshalException
+	{
+		try
+		{
+			NodeList nl = doc.getChildNodes();
+
+			for (int i = 0; i < nl.getLength(); i++)
+			{
+				if (nl.item(i).getNodeName().equals(MarshalUnmarshalPlugin.tagName))
+				{
+					NodeList childList = nl.item(i).getChildNodes();
+
+					for (int j = 0; j < childList.getLength(); j++)
+					{
+						Node el = childList.item(j);
+
+						if (el.getNodeName().equals(
+								MarshalUnmarshalPlugin.pluginType))
+						{
+							if (el.getTextContent().equals(type().toString()))
+							{
+								CDATASection cdata = (CDATASection) childList
+										.item(j + 1);
+
+								return Base64.decodeToObject(cdata
+										.getWholeText());
+							}
+						}
+					}
+				}
+			}
+
+			return null;
+		}
+		catch (Exception ex)
+		{
+			throw new UnmarshalException(ex);
+		}
+	}
+
+	/**
+	 * @return the unique name for this plugin.
+	 */
+
+	public URI type()
+	{
+		return _type;
+	}
+
+	private URI _type = null;
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,98 @@
+/*
+ * 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.notification;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+
+
+/**
+ * MacroExpander class.
+ * <p/>
+ * This class takes a DOM and iterates over it, replacing all "macro" tokens in 
+ * any attribute values using the values from the supplied Map.
+ * 
+ * @author <a href="mailto:schifest at gmail.com">Esteban Shifman</a>
+ */
+public class MacroExpander {
+	private static final String CTX_PREFIX = "@@ctx@@";
+
+	public static final String CTX_BATCH_UID = CTX_PREFIX + "batchUid";
+
+	public static final String CTX_BATCH_NUM = CTX_PREFIX + "batchNum";
+
+	public static final String CTX_INPUT_FILE = CTX_PREFIX + "inputFile";
+
+	public static final String CTX_POST_FILE = CTX_PREFIX + "postFile";
+
+	private static final String[] s_saMacros = { 
+		CTX_BATCH_UID, CTX_BATCH_NUM, CTX_INPUT_FILE, CTX_POST_FILE };
+
+	/**
+	 * Perform a macro replacement on the DOM tree attribute values
+	 * of the supplied ConfigTree using the supplied macro token
+	 * replacement map.
+	 * @param domTree The DOM Tree to be operated on.
+	 * @param replacementTokenMapMap The token replacement map.
+	 */
+	public static void replaceMacros(ConfigTree domTree, Map replacementTokenMap) {
+
+		List<KeyValuePair> changed = new ArrayList<KeyValuePair>();
+		for (String currAtt : domTree.getAttributeNames()) 
+		{
+			String sVal = domTree.getAttribute(currAtt);
+			boolean bSubst = false;
+			int iPos = 0;
+
+			while (0 <= (iPos = sVal.indexOf(CTX_PREFIX, 0))) {
+				String sRest = sVal.substring(iPos);
+				for (int ii = 0; ii < s_saMacros.length; ii++) {
+					String sMac = s_saMacros[ii];
+					if (!sRest.startsWith(sMac)) {
+						continue;
+					}
+					Object oRpl = (null != replacementTokenMap) ? replacementTokenMap.get(sMac) : null;
+					if (null == oRpl) {
+						continue;
+					}
+					bSubst = true;
+					sVal = sVal.substring(0, iPos) + oRpl.toString() + sVal.substring(iPos + sMac.length());
+					break;
+				}
+			}
+			if (bSubst)
+					changed.add(new KeyValuePair(currAtt,sVal));
+		}
+		for (KeyValuePair kvp : changed)
+			domTree.setAttribute(kvp.getKey(),kvp.getValue());
+		changed	= null;
+		
+		// Iterate over the child elements and recursively call this method...
+		for (ConfigTree child : domTree.getAllChildren())
+				replaceMacros(child, replacementTokenMap);
+	}
+}


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/parameters/ParamFileRepository.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/parameters/ParamFileRepository.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/parameters/ParamFileRepository.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,280 @@
+package org.jboss.internal.soa.esb.parameters;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import javax.naming.CompoundName;
+import javax.naming.InvalidNameException;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.parameters.ParamRepository;
+import org.jboss.soa.esb.parameters.ParamRepositoryException;
+
+/**
+ * This class provides basic file-based storage/retrieval of parameter trees for
+ * the JBoss ESB. <p/> This class creates a hierarchical parameter file
+ * structure on the file system. E.g. the value for a parameter named
+ * "org/jboss/param1" is stored in a file called "param1" in the folder "<root>/org/jboss",
+ * where "root" is either the working directory (default) or the directory
+ * specified in the "org.jboss.soa.esb.paramsRepository.file.root" System
+ * property.
+ * 
+ * @author Esteban
+ * 
+ */
+public class ParamFileRepository implements ParamRepository
+{
+
+	/**
+	 * System property defining the repository root directory.
+	 */
+	public static final String FILE_PARAMS_REPOS_ROOT = "org.jboss.soa.esb.paramsRepository.file.root";
+
+	/**
+	 * The repository root dir.
+	 */
+	private File root;
+
+	/**
+	 * Logger.
+	 */
+	private Logger logger = Logger.getLogger(ParamFileRepository.class);
+
+	/**
+	 * Public default constructor.
+	 */
+	public ParamFileRepository()
+	{
+		String rootDir = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE)
+				.getProperty(FILE_PARAMS_REPOS_ROOT);
+
+		// Set the repository root directory.
+		if (rootDir == null)
+		{
+			// set it to the working dir.
+			root = new File("./");
+		} else
+		{
+			root = new File(rootDir);
+			if (!root.exists())
+			{
+				throw new IllegalStateException(
+						"Nonexistant directory specified in the ["
+								+ FILE_PARAMS_REPOS_ROOT
+								+ "] System property: "
+								+ root.getAbsolutePath());
+			}
+		}
+
+		logger.info("Setting parameter repository root dir to ["
+				+ root.getAbsolutePath() + "].");
+	}
+
+	public void add(String name, String value) throws ParamRepositoryException
+	{
+		FileParamName nameParam = asserNameOK(name);
+		if (value == null)
+		{
+			throw new IllegalArgumentException(
+					"null 'value' arg in method call.");
+		}
+
+		synchronized (this)
+		{
+			File paramFile = toParamFile(nameParam);
+			File parentDir = paramFile.getParentFile();
+			if (null==parentDir)
+				parentDir=new File("");
+
+			parentDir.mkdirs();
+			FileOutputStream fileStream = null;
+			try
+			{
+				fileStream = new FileOutputStream(paramFile);
+				fileStream.write(value.getBytes("UTF-8"));
+			} catch (IOException e)
+			{
+				throw new ParamRepositoryException(
+						"IO Error while storing param [" + nameParam + "].", e);
+			} finally
+			{
+				try
+				{
+					if (fileStream != null)
+					{
+						fileStream.flush();
+						fileStream.close();
+					}
+				} catch (IOException e)
+				{
+					logger.warn("Unable to close param file: "
+							+ paramFile.getAbsolutePath(), e);
+				}
+			}
+		}
+	}
+
+	public String get(String name) throws ParamRepositoryException
+	{
+		FileParamName paramName = asserNameOK(name);
+
+		synchronized (this)
+		{
+			File paramFile = new File(name);
+
+			if (!paramFile.exists())
+			{
+				paramFile = toParamFile(paramName);
+				if (!paramFile.exists())
+				{
+					return null;
+				}
+			}
+
+			InputStream fileStream = null;
+			try
+			{
+				fileStream = new FileInputStream(paramFile);
+				byte[] value = StreamUtils.readStream(fileStream);
+				return new String(value, "UTF-8");
+			} catch (Exception e)
+			{
+				throw new ParamRepositoryException(
+						"Unable to load Param Value from file: "
+								+ paramFile.getAbsolutePath(), e);
+			} finally
+			{
+				try
+				{
+					if (fileStream != null)
+					{
+						fileStream.close();
+					}
+				} catch (IOException e)
+				{
+					logger.warn("Unable to close param file: "
+							+ paramFile.getAbsolutePath(), e);
+				}
+			}
+		}
+	}
+
+	public void remove(String name)
+	{
+		FileParamName paramName = asserNameOK(name);
+
+		synchronized (this)
+		{
+			File paramFile = toParamFile(paramName);
+			if (paramFile.exists())
+			{
+				paramFile.delete();
+			}
+		}
+	}
+
+	/**
+	 * Get the repository root directory.
+	 * 
+	 * @return The repository root directory.
+	 */
+	public File getRoot()
+	{
+		return root;
+	}
+
+	/**
+	 * Get the param file for the specified param name.
+	 * 
+	 * @param paramName
+	 *            The param name.
+	 * @return The param file.
+	 */
+	public File toParamFile(String name)
+	{
+		FileParamName paramName = asserNameOK(name);
+		return new File(root, paramName.toString());
+	}
+
+	/**
+	 * Get the param file for the specified param name.
+	 * 
+	 * @param paramName
+	 *            The param name.
+	 * @return The param file.
+	 */
+	private File toParamFile(FileParamName paramName)
+	{
+		return new File(root, paramName.toString());
+	}
+
+	private FileParamName asserNameOK(String name)
+	{
+		FileParamName paramName;
+
+		if (name == null)
+		{
+			throw new IllegalArgumentException(
+					"null 'name' arg in repository call.");
+		}
+		try
+		{
+			paramName = new FileParamName(name);
+		} catch (InvalidNameException e)
+		{
+			throw new IllegalArgumentException("Invalid 'name' arg: " + name, e);
+		}
+		if (paramName.size() == 0)
+		{
+			throw new IllegalArgumentException(
+					"Invalid 'name' arg.  0 tokens: " + name);
+		}
+
+		return paramName;
+	}
+
+	/**
+	 * Parameter Name. <p/> Represents a compound parameter name - from a
+	 * hierarchical namespace.
+	 * <h4 id="syntax">Parameter Name Format</h4>
+	 * The syntax of the parameter name is expected to be in "directory" format,
+	 * read from left to right, where the syntax seperator character is '/' e.g.
+	 * "com/acme/ParameterX".
+	 * 
+	 * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+	 */
+	private static class FileParamName extends CompoundName
+	{
+
+		private static final long serialVersionUID = 1L;
+
+		private static final Properties nameSyntaxProperties = new Properties();
+		static
+		{
+			nameSyntaxProperties.setProperty("jndi.syntax.direction",
+					"left_to_right");
+			nameSyntaxProperties.setProperty("jndi.syntax.separator", "/");
+		};
+
+		/**
+		 * Public Constructor.
+		 * 
+		 * @param name
+		 *            The name of the parameter, specified according to the <a
+		 *            href="#syntax">defined syntax</a>.
+		 * @throws InvalidNameException
+		 *             The supplied name violates the <a href="#syntax">defined
+		 *             syntax</a>.
+		 */
+		public FileParamName(String name) throws InvalidNameException
+		{
+			super(name, nameSyntaxProperties);
+		}
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/thirdparty/Base64.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/thirdparty/Base64.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/thirdparty/Base64.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,1451 @@
+package org.jboss.internal.soa.esb.thirdparty;
+
+/**
+ * Encodes and decodes to and from Base64 notation.
+ *
+ * <p>
+ * Change Log:
+ * </p>
+ * <ul>
+ *  <li>v2.1 - Cleaned up javadoc comments and unused variables and methods. Added
+ *   some convenience methods for reading and writing to and from files.</li>
+ *  <li>v2.0.2 - Now specifies UTF-8 encoding in places where the code fails on systems
+ *   with other encodings (like EBCDIC).</li>
+ *  <li>v2.0.1 - Fixed an error when decoding a single byte, that is, when the
+ *   encoded data was a single byte.</li>
+ *  <li>v2.0 - I got rid of methods that used booleans to set options. 
+ *   Now everything is more consolidated and cleaner. The code now detects
+ *   when data that's being decoded is gzip-compressed and will decompress it
+ *   automatically. Generally things are cleaner. You'll probably have to
+ *   change some method calls that you were making to support the new
+ *   options format (<tt>int</tt>s that you "OR" together).</li>
+ *  <li>v1.5.1 - Fixed bug when decompressing and decoding to a             
+ *   byte[] using <tt>decode( String s, boolean gzipCompressed )</tt>.      
+ *   Added the ability to "suspend" encoding in the Output Stream so        
+ *   you can turn on and off the encoding if you need to embed base64       
+ *   data in an otherwise "normal" stream (like an XML file).</li>  
+ *  <li>v1.5 - Output stream pases on flush() command but doesn't do anything itself.
+ *      This helps when using GZIP streams.
+ *      Added the ability to GZip-compress objects before encoding them.</li>
+ *  <li>v1.4 - Added helper methods to read/write files.</li>
+ *  <li>v1.3.6 - Fixed OutputStream.flush() so that 'position' is reset.</li>
+ *  <li>v1.3.5 - Added flag to turn on and off line breaks. Fixed bug in input stream
+ *      where last buffer being read, if not completely full, was not returned.</li>
+ *  <li>v1.3.4 - Fixed when "improperly padded stream" error was thrown at the wrong time.</li>
+ *  <li>v1.3.3 - Fixed I/O streams which were totally messed up.</li>
+ * </ul>
+ *
+ * <p>
+ * I am placing this code in the Public Domain. Do with it as you will.
+ * This software comes with no guarantees or warranties but with
+ * plenty of well-wishing instead!
+ * Please visit <a href="http://iharder.net/base64">http://iharder.net/base64</a>
+ * periodically to check for updates or to contribute improvements.
+ * </p>
+ *
+ * @author Robert Harder
+ * @author rob at iharder.net
+ * @version 2.1
+ */
+public class Base64
+{
+    
+/* ********  P U B L I C   F I E L D S  ******** */   
+    
+    
+    /** No options specified. Value is zero. */
+    public final static int NO_OPTIONS = 0;
+    
+    /** Specify encoding. */
+    public final static int ENCODE = 1;
+    
+    
+    /** Specify decoding. */
+    public final static int DECODE = 0;
+    
+    
+    /** Specify that data should be gzip-compressed. */
+    public final static int GZIP = 2;
+    
+    
+    /** Don't break lines when encoding (violates strict Base64 specification) */
+    public final static int DONT_BREAK_LINES = 8;
+    
+    
+/* ********  P R I V A T E   F I E L D S  ******** */  
+    
+    
+    /** Maximum line length (76) of Base64 output. */
+    private final static int MAX_LINE_LENGTH = 76;
+    
+    
+    /** The equals sign (=) as a byte. */
+    private final static byte EQUALS_SIGN = (byte)'=';
+    
+    
+    /** The new line character (\n) as a byte. */
+    private final static byte NEW_LINE = (byte)'\n';
+    
+    
+    /** Preferred encoding. */
+    private final static String PREFERRED_ENCODING = "UTF-8";
+    
+    
+    /** The 64 valid Base64 values. */
+    private final static byte[] ALPHABET;
+    private final static byte[] _NATIVE_ALPHABET = /* May be something funny like EBCDIC */
+    {
+        (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G',
+        (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N',
+        (byte)'O', (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', 
+        (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z',
+        (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f', (byte)'g',
+        (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n',
+        (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', (byte)'t', (byte)'u', 
+        (byte)'v', (byte)'w', (byte)'x', (byte)'y', (byte)'z',
+        (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', 
+        (byte)'6', (byte)'7', (byte)'8', (byte)'9', (byte)'+', (byte)'/'
+    };
+    
+    /** Determine which ALPHABET to use. */
+    static
+    {
+        byte[] __bytes;
+        try
+        {
+            __bytes = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".getBytes( PREFERRED_ENCODING );
+        }   // end try
+        catch (java.io.UnsupportedEncodingException use)
+        {
+            __bytes = _NATIVE_ALPHABET; // Fall back to native encoding
+        }   // end catch
+        ALPHABET = __bytes;
+    }   // end static
+    
+    
+    /** 
+     * Translates a Base64 value to either its 6-bit reconstruction value
+     * or a negative number indicating some other meaning.
+     **/
+    private final static byte[] DECODABET =
+    {   
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,                 // Decimal  0 -  8
+        -5,-5,                                      // Whitespace: Tab and Linefeed
+        -9,-9,                                      // Decimal 11 - 12
+        -5,                                         // Whitespace: Carriage Return
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 14 - 26
+        -9,-9,-9,-9,-9,                             // Decimal 27 - 31
+        -5,                                         // Whitespace: Space
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,              // Decimal 33 - 42
+        62,                                         // Plus sign at decimal 43
+        -9,-9,-9,                                   // Decimal 44 - 46
+        63,                                         // Slash at decimal 47
+        52,53,54,55,56,57,58,59,60,61,              // Numbers zero through nine
+        -9,-9,-9,                                   // Decimal 58 - 60
+        -1,                                         // Equals sign at decimal 61
+        -9,-9,-9,                                      // Decimal 62 - 64
+        0,1,2,3,4,5,6,7,8,9,10,11,12,13,            // Letters 'A' through 'N'
+        14,15,16,17,18,19,20,21,22,23,24,25,        // Letters 'O' through 'Z'
+        -9,-9,-9,-9,-9,-9,                          // Decimal 91 - 96
+        26,27,28,29,30,31,32,33,34,35,36,37,38,     // Letters 'a' through 'm'
+        39,40,41,42,43,44,45,46,47,48,49,50,51,     // Letters 'n' through 'z'
+        -9,-9,-9,-9                                 // Decimal 123 - 126
+        /*,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 127 - 139
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 140 - 152
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 153 - 165
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 166 - 178
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 179 - 191
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 192 - 204
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 205 - 217
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 218 - 230
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,     // Decimal 231 - 243
+        -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9         // Decimal 244 - 255 */
+    };
+    
+    // I think I end up not using the BAD_ENCODING indicator.
+    //private final static byte BAD_ENCODING    = -9; // Indicates error in encoding
+    private final static byte WHITE_SPACE_ENC = -5; // Indicates white space in encoding
+    private final static byte EQUALS_SIGN_ENC = -1; // Indicates equals sign in encoding
+
+    
+    /** Defeats instantiation. */
+    private Base64(){}
+    
+    
+    
+/* ********  E N C O D I N G   M E T H O D S  ******** */    
+    
+    
+    /**
+     * Encodes up to the first three bytes of array <var>threeBytes</var>
+     * and returns a four-byte array in Base64 notation.
+     * The actual number of significant bytes in your array is
+     * given by <var>numSigBytes</var>.
+     * The array <var>threeBytes</var> needs only be as big as
+     * <var>numSigBytes</var>.
+     * Code can reuse a byte array by passing a four-byte array as <var>b4</var>.
+     *
+     * @param b4 A reusable byte array to reduce array instantiation
+     * @param threeBytes the array to convert
+     * @param numSigBytes the number of significant bytes in your array
+     * @return four byte array in Base64 notation.
+     * @since 1.5.1
+     */
+    private static byte[] encode3to4( byte[] b4, byte[] threeBytes, int numSigBytes )
+    {
+        encode3to4( threeBytes, 0, numSigBytes, b4, 0 );
+        return b4;
+    }   // end encode3to4
+
+    
+    /**
+     * Encodes up to three bytes of the array <var>source</var>
+     * and writes the resulting four Base64 bytes to <var>destination</var>.
+     * The source and destination arrays can be manipulated
+     * anywhere along their length by specifying 
+     * <var>srcOffset</var> and <var>destOffset</var>.
+     * This method does not check to make sure your arrays
+     * are large enough to accomodate <var>srcOffset</var> + 3 for
+     * the <var>source</var> array or <var>destOffset</var> + 4 for
+     * the <var>destination</var> array.
+     * The actual number of significant bytes in your array is
+     * given by <var>numSigBytes</var>.
+     *
+     * @param source the array to convert
+     * @param srcOffset the index where conversion begins
+     * @param numSigBytes the number of significant bytes in your array
+     * @param destination the array to hold the conversion
+     * @param destOffset the index where output will be put
+     * @return the <var>destination</var> array
+     * @since 1.3
+     */
+    private static byte[] encode3to4( 
+     byte[] source, int srcOffset, int numSigBytes,
+     byte[] destination, int destOffset )
+    {
+        //           1         2         3  
+        // 01234567890123456789012345678901 Bit position
+        // --------000000001111111122222222 Array position from threeBytes
+        // --------|    ||    ||    ||    | Six bit groups to index ALPHABET
+        //          >>18  >>12  >> 6  >> 0  Right shift necessary
+        //                0x3f  0x3f  0x3f  Additional AND
+        
+        // Create buffer with zero-padding if there are only one or two
+        // significant bytes passed in the array.
+        // We have to shift left 24 in order to flush out the 1's that appear
+        // when Java treats a value as negative that is cast from a byte to an int.
+        int inBuff =   ( numSigBytes > 0 ? ((source[ srcOffset     ] << 24) >>>  8) : 0 )
+                     | ( numSigBytes > 1 ? ((source[ srcOffset + 1 ] << 24) >>> 16) : 0 )
+                     | ( numSigBytes > 2 ? ((source[ srcOffset + 2 ] << 24) >>> 24) : 0 );
+
+        switch( numSigBytes )
+        {
+            case 3:
+                destination[ destOffset     ] = ALPHABET[ (inBuff >>> 18)        ];
+                destination[ destOffset + 1 ] = ALPHABET[ (inBuff >>> 12) & 0x3f ];
+                destination[ destOffset + 2 ] = ALPHABET[ (inBuff >>>  6) & 0x3f ];
+                destination[ destOffset + 3 ] = ALPHABET[ (inBuff       ) & 0x3f ];
+                return destination;
+                
+            case 2:
+                destination[ destOffset     ] = ALPHABET[ (inBuff >>> 18)        ];
+                destination[ destOffset + 1 ] = ALPHABET[ (inBuff >>> 12) & 0x3f ];
+                destination[ destOffset + 2 ] = ALPHABET[ (inBuff >>>  6) & 0x3f ];
+                destination[ destOffset + 3 ] = EQUALS_SIGN;
+                return destination;
+                
+            case 1:
+                destination[ destOffset     ] = ALPHABET[ (inBuff >>> 18)        ];
+                destination[ destOffset + 1 ] = ALPHABET[ (inBuff >>> 12) & 0x3f ];
+                destination[ destOffset + 2 ] = EQUALS_SIGN;
+                destination[ destOffset + 3 ] = EQUALS_SIGN;
+                return destination;
+                
+            default:
+                return destination;
+        }   // end switch
+    }   // end encode3to4
+    
+    
+    
+    /**
+     * Serializes an object and returns the Base64-encoded
+     * version of that serialized object. If the object
+     * cannot be serialized or there is another error,
+     * the method will return <tt>null</tt>.
+     * The object is not GZip-compressed before being encoded.
+     *
+     * @param serializableObject The object to encode
+     * @return The Base64-encoded object
+     * @since 1.4
+     */
+    public static String encodeObject( java.io.Serializable serializableObject )
+    {
+        return encodeObject( serializableObject, NO_OPTIONS );
+    }   // end encodeObject
+    
+
+
+    /**
+     * Serializes an object and returns the Base64-encoded
+     * version of that serialized object. If the object
+     * cannot be serialized or there is another error,
+     * the method will return <tt>null</tt>.
+     * <p>
+     * Valid options:<pre>
+     *   GZIP: gzip-compresses object before encoding it.
+     *   DONT_BREAK_LINES: don't break lines at 76 characters
+     *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+     * </pre>
+     * <p>
+     * Example: <code>encodeObject( myObj, Base64.GZIP )</code> or
+     * <p>
+     * Example: <code>encodeObject( myObj, Base64.GZIP | Base64.DONT_BREAK_LINES )</code>
+     *
+     * @param serializableObject The object to encode
+     * @param options Specified options
+     * @return The Base64-encoded object
+     * @see Base64#GZIP
+     * @see Base64#DONT_BREAK_LINES
+     * @since 2.0
+     */
+    public static String encodeObject( java.io.Serializable serializableObject, int options )
+    {
+        // Streams
+        java.io.ByteArrayOutputStream  baos  = null; 
+        java.io.OutputStream           b64os = null; 
+        java.io.ObjectOutputStream     oos   = null; 
+        java.util.zip.GZIPOutputStream gzos  = null;
+        
+        // Isolate options
+        int gzip           = (options & GZIP);
+        int dontBreakLines = (options & DONT_BREAK_LINES);
+        
+        try
+        {
+            // ObjectOutputStream -> (GZIP) -> Base64 -> ByteArrayOutputStream
+            baos  = new java.io.ByteArrayOutputStream();
+            b64os = new Base64.OutputStream( baos, ENCODE | dontBreakLines );
+    
+            // GZip?
+            if( gzip == GZIP )
+            {
+                gzos = new java.util.zip.GZIPOutputStream( b64os );
+                oos  = new java.io.ObjectOutputStream( gzos );
+            }   // end if: gzip
+            else
+                oos   = new java.io.ObjectOutputStream( b64os );
+            
+            oos.writeObject( serializableObject );
+        }   // end try
+        catch( java.io.IOException e )
+        {
+            e.printStackTrace();
+            return null;
+        }   // end catch
+        finally
+        {
+            try{ oos.close();   } catch( Exception e ){}
+            try{ gzos.close();  } catch( Exception e ){}
+            try{ b64os.close(); } catch( Exception e ){}
+            try{ baos.close();  } catch( Exception e ){}
+        }   // end finally
+        
+        // Return value according to relevant encoding.
+        try 
+        {
+            return new String( baos.toByteArray(), PREFERRED_ENCODING );
+        }   // end try
+        catch (java.io.UnsupportedEncodingException uue)
+        {
+            return new String( baos.toByteArray() );
+        }   // end catch
+        
+    }   // end encode
+    
+    
+
+    /**
+     * Encodes a byte array into Base64 notation.
+     * Does not GZip-compress data.
+     *
+     * @param source The data to convert
+     * @since 1.4
+     */
+    public static String encodeBytes( byte[] source )
+    {
+        return encodeBytes( source, 0, source.length, NO_OPTIONS );
+    }   // end encodeBytes
+    
+
+
+    /**
+     * Encodes a byte array into Base64 notation.
+     * <p>
+     * Valid options:<pre>
+     *   GZIP: gzip-compresses object before encoding it.
+     *   DONT_BREAK_LINES: don't break lines at 76 characters
+     *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+     * </pre>
+     * <p>
+     * Example: <code>encodeBytes( myData, Base64.GZIP )</code> or
+     * <p>
+     * Example: <code>encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )</code>
+     *
+     *
+     * @param source The data to convert
+     * @param options Specified options
+     * @see Base64#GZIP
+     * @see Base64#DONT_BREAK_LINES
+     * @since 2.0
+     */
+    public static String encodeBytes( byte[] source, int options )
+    {   
+        return encodeBytes( source, 0, source.length, options );
+    }   // end encodeBytes
+    
+    
+    /**
+     * Encodes a byte array into Base64 notation.
+     * Does not GZip-compress data.
+     *
+     * @param source The data to convert
+     * @param off Offset in array where conversion should begin
+     * @param len Length of data to convert
+     * @since 1.4
+     */
+    public static String encodeBytes( byte[] source, int off, int len )
+    {
+        return encodeBytes( source, off, len, NO_OPTIONS );
+    }   // end encodeBytes
+    
+    
+
+    /**
+     * Encodes a byte array into Base64 notation.
+     * <p>
+     * Valid options:<pre>
+     *   GZIP: gzip-compresses object before encoding it.
+     *   DONT_BREAK_LINES: don't break lines at 76 characters
+     *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+     * </pre>
+     * <p>
+     * Example: <code>encodeBytes( myData, Base64.GZIP )</code> or
+     * <p>
+     * Example: <code>encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )</code>
+     *
+     *
+     * @param source The data to convert
+     * @param off Offset in array where conversion should begin
+     * @param len Length of data to convert
+     * @param options Specified options
+     * @see Base64#GZIP
+     * @see Base64#DONT_BREAK_LINES
+     * @since 2.0
+     */
+    public static String encodeBytes( byte[] source, int off, int len, int options )
+    {
+        // Isolate options
+        int dontBreakLines = ( options & DONT_BREAK_LINES );
+        int gzip           = ( options & GZIP   );
+        
+        // Compress?
+        if( gzip == GZIP )
+        {
+            java.io.ByteArrayOutputStream  baos  = null;
+            java.util.zip.GZIPOutputStream gzos  = null;
+            Base64.OutputStream            b64os = null;
+            
+    
+            try
+            {
+                // GZip -> Base64 -> ByteArray
+                baos = new java.io.ByteArrayOutputStream();
+                b64os = new Base64.OutputStream( baos, ENCODE | dontBreakLines );
+                gzos  = new java.util.zip.GZIPOutputStream( b64os ); 
+            
+                gzos.write( source, off, len );
+                gzos.close();
+            }   // end try
+            catch( java.io.IOException e )
+            {
+                e.printStackTrace();
+                return null;
+            }   // end catch
+            finally
+            {
+                try{ gzos.close();  } catch( Exception e ){}
+                try{ b64os.close(); } catch( Exception e ){}
+                try{ baos.close();  } catch( Exception e ){}
+            }   // end finally
+
+            // Return value according to relevant encoding.
+            try
+            {
+                return new String( baos.toByteArray(), PREFERRED_ENCODING );
+            }   // end try
+            catch (java.io.UnsupportedEncodingException uue)
+            {
+                return new String( baos.toByteArray() );
+            }   // end catch
+        }   // end if: compress
+        
+        // Else, don't compress. Better not to use streams at all then.
+        else
+        {
+            // Convert option to boolean in way that code likes it.
+            boolean breakLines = dontBreakLines == 0;
+            
+            int    len43   = len * 4 / 3;
+            byte[] outBuff = new byte[   ( len43 )                      // Main 4:3
+                                       + ( (len % 3) > 0 ? 4 : 0 )      // Account for padding
+                                       + (breakLines ? ( len43 / MAX_LINE_LENGTH ) : 0) ]; // New lines      
+            int d = 0;
+            int e = 0;
+            int len2 = len - 2;
+            int lineLength = 0;
+            for( ; d < len2; d+=3, e+=4 )
+            {
+                encode3to4( source, d+off, 3, outBuff, e );
+
+                lineLength += 4;
+                if( breakLines && lineLength == MAX_LINE_LENGTH )
+                {   
+                    outBuff[e+4] = NEW_LINE;
+                    e++;
+                    lineLength = 0;
+                }   // end if: end of line
+            }   // en dfor: each piece of array
+
+            if( d < len )
+            {
+                encode3to4( source, d+off, len - d, outBuff, e );
+                e += 4;
+            }   // end if: some padding needed
+
+            
+            // Return value according to relevant encoding.
+            try
+            {
+                return new String( outBuff, 0, e, PREFERRED_ENCODING );
+            }   // end try
+            catch (java.io.UnsupportedEncodingException uue)
+            {
+                return new String( outBuff, 0, e );
+            }   // end catch
+            
+        }   // end else: don't compress
+        
+    }   // end encodeBytes
+    
+
+    
+    
+    
+/* ********  D E C O D I N G   M E T H O D S  ******** */
+    
+    
+    /**
+     * Decodes four bytes from array <var>source</var>
+     * and writes the resulting bytes (up to three of them)
+     * to <var>destination</var>.
+     * The source and destination arrays can be manipulated
+     * anywhere along their length by specifying 
+     * <var>srcOffset</var> and <var>destOffset</var>.
+     * This method does not check to make sure your arrays
+     * are large enough to accomodate <var>srcOffset</var> + 4 for
+     * the <var>source</var> array or <var>destOffset</var> + 3 for
+     * the <var>destination</var> array.
+     * This method returns the actual number of bytes that 
+     * were converted from the Base64 encoding.
+     * 
+     *
+     * @param source the array to convert
+     * @param srcOffset the index where conversion begins
+     * @param destination the array to hold the conversion
+     * @param destOffset the index where output will be put
+     * @return the number of decoded bytes converted
+     * @since 1.3
+     */
+    private static int decode4to3( byte[] source, int srcOffset, byte[] destination, int destOffset )
+    {
+        // Example: Dk==
+        if( source[ srcOffset + 2] == EQUALS_SIGN )
+        {
+            // Two ways to do the same thing. Don't know which way I like best.
+            //int outBuff =   ( ( DECODABET[ source[ srcOffset    ] ] << 24 ) >>>  6 )
+            //              | ( ( DECODABET[ source[ srcOffset + 1] ] << 24 ) >>> 12 );
+            int outBuff =   ( ( DECODABET[ source[ srcOffset    ] ] & 0xFF ) << 18 )
+                          | ( ( DECODABET[ source[ srcOffset + 1] ] & 0xFF ) << 12 );
+            
+            destination[ destOffset ] = (byte)( outBuff >>> 16 );
+            return 1;
+        }
+        
+        // Example: DkL=
+        else if( source[ srcOffset + 3 ] == EQUALS_SIGN )
+        {
+            // Two ways to do the same thing. Don't know which way I like best.
+            //int outBuff =   ( ( DECODABET[ source[ srcOffset     ] ] << 24 ) >>>  6 )
+            //              | ( ( DECODABET[ source[ srcOffset + 1 ] ] << 24 ) >>> 12 )
+            //              | ( ( DECODABET[ source[ srcOffset + 2 ] ] << 24 ) >>> 18 );
+            int outBuff =   ( ( DECODABET[ source[ srcOffset     ] ] & 0xFF ) << 18 )
+                          | ( ( DECODABET[ source[ srcOffset + 1 ] ] & 0xFF ) << 12 )
+                          | ( ( DECODABET[ source[ srcOffset + 2 ] ] & 0xFF ) <<  6 );
+            
+            destination[ destOffset     ] = (byte)( outBuff >>> 16 );
+            destination[ destOffset + 1 ] = (byte)( outBuff >>>  8 );
+            return 2;
+        }
+        
+        // Example: DkLE
+        else
+        {
+            try{
+            // Two ways to do the same thing. Don't know which way I like best.
+            //int outBuff =   ( ( DECODABET[ source[ srcOffset     ] ] << 24 ) >>>  6 )
+            //              | ( ( DECODABET[ source[ srcOffset + 1 ] ] << 24 ) >>> 12 )
+            //              | ( ( DECODABET[ source[ srcOffset + 2 ] ] << 24 ) >>> 18 )
+            //              | ( ( DECODABET[ source[ srcOffset + 3 ] ] << 24 ) >>> 24 );
+            int outBuff =   ( ( DECODABET[ source[ srcOffset     ] ] & 0xFF ) << 18 )
+                          | ( ( DECODABET[ source[ srcOffset + 1 ] ] & 0xFF ) << 12 )
+                          | ( ( DECODABET[ source[ srcOffset + 2 ] ] & 0xFF ) <<  6)
+                          | ( ( DECODABET[ source[ srcOffset + 3 ] ] & 0xFF )      );
+
+            
+            destination[ destOffset     ] = (byte)( outBuff >> 16 );
+            destination[ destOffset + 1 ] = (byte)( outBuff >>  8 );
+            destination[ destOffset + 2 ] = (byte)( outBuff       );
+
+            return 3;
+            }catch( Exception e){
+                System.out.println(""+source[srcOffset]+ ": " + ( DECODABET[ source[ srcOffset     ] ]  ) );
+                System.out.println(""+source[srcOffset+1]+  ": " + ( DECODABET[ source[ srcOffset + 1 ] ]  ) );
+                System.out.println(""+source[srcOffset+2]+  ": " + ( DECODABET[ source[ srcOffset + 2 ] ]  ) );
+                System.out.println(""+source[srcOffset+3]+  ": " + ( DECODABET[ source[ srcOffset + 3 ] ]  ) );
+                return -1;
+            }   //e nd catch
+        }
+    }   // end decodeToBytes
+    
+    
+    
+    
+    /**
+     * Very low-level access to decoding ASCII characters in
+     * the form of a byte array. Does not support automatically
+     * gunzipping or any other "fancy" features.
+     *
+     * @param source The Base64 encoded data
+     * @param off    The offset of where to begin decoding
+     * @param len    The length of characters to decode
+     * @return decoded data
+     * @since 1.3
+     */
+    public static byte[] decode( byte[] source, int off, int len )
+    {
+        int    len34   = len * 3 / 4;
+        byte[] outBuff = new byte[ len34 ]; // Upper limit on size of output
+        int    outBuffPosn = 0;
+        
+        byte[] b4        = new byte[4];
+        int    b4Posn    = 0;
+        int    i         = 0;
+        byte   sbiCrop   = 0;
+        byte   sbiDecode = 0;
+        for( i = off; i < off+len; i++ )
+        {
+            sbiCrop = (byte)(source[i] & 0x7f); // Only the low seven bits
+            sbiDecode = DECODABET[ sbiCrop ];
+            
+            if( sbiDecode >= WHITE_SPACE_ENC ) // White space, Equals sign or better
+            {
+                if( sbiDecode >= EQUALS_SIGN_ENC )
+                {
+                    b4[ b4Posn++ ] = sbiCrop;
+                    if( b4Posn > 3 )
+                    {
+                        outBuffPosn += decode4to3( b4, 0, outBuff, outBuffPosn );
+                        b4Posn = 0;
+                        
+                        // If that was the equals sign, break out of 'for' loop
+                        if( sbiCrop == EQUALS_SIGN )
+                            break;
+                    }   // end if: quartet built
+                    
+                }   // end if: equals sign or better
+                
+            }   // end if: white space, equals sign or better
+            else
+            {
+                System.err.println( "Bad Base64 input character at " + i + ": " + source[i] + "(decimal)" );
+                return null;
+            }   // end else: 
+        }   // each input character
+                                   
+        byte[] out = new byte[ outBuffPosn ];
+        System.arraycopy( outBuff, 0, out, 0, outBuffPosn ); 
+        return out;
+    }   // end decode
+    
+    
+    
+    
+    /**
+     * Decodes data from Base64 notation, automatically
+     * detecting gzip-compressed data and decompressing it.
+     *
+     * @param s the string to decode
+     * @return the decoded data
+     * @since 1.4
+     */
+    public static byte[] decode( String s )
+    {   
+        byte[] bytes;
+        try
+        {
+            bytes = s.getBytes( PREFERRED_ENCODING );
+        }   // end try
+        catch( java.io.UnsupportedEncodingException uee )
+        {
+            bytes = s.getBytes();
+        }   // end catch
+		//</change>
+        
+        // Decode
+        bytes = decode( bytes, 0, bytes.length );
+        
+        
+        // Check to see if it's gzip-compressed
+        // GZIP Magic Two-Byte Number: 0x8b1f (35615)
+        if( bytes != null && bytes.length >= 4 )
+        {
+            
+            int head = ((int)bytes[0] & 0xff) | ((bytes[1] << 8) & 0xff00);       
+            if( java.util.zip.GZIPInputStream.GZIP_MAGIC == head ) 
+            {
+                java.io.ByteArrayInputStream  bais = null;
+                java.util.zip.GZIPInputStream gzis = null;
+                java.io.ByteArrayOutputStream baos = null;
+                byte[] buffer = new byte[2048];
+                int    length = 0;
+
+                try
+                {
+                    baos = new java.io.ByteArrayOutputStream();
+                    bais = new java.io.ByteArrayInputStream( bytes );
+                    gzis = new java.util.zip.GZIPInputStream( bais );
+
+                    while( ( length = gzis.read( buffer ) ) >= 0 )
+                    {
+                        baos.write(buffer,0,length);
+                    }   // end while: reading input
+
+                    // No error? Get new bytes.
+                    bytes = baos.toByteArray();
+
+                }   // end try
+                catch( java.io.IOException e )
+                {
+                    // Just return originally-decoded bytes
+                }   // end catch
+                finally
+                {
+                    try{ baos.close(); } catch( Exception e ){}
+                    try{ gzis.close(); } catch( Exception e ){}
+                    try{ bais.close(); } catch( Exception e ){}
+                }   // end finally
+
+            }   // end if: gzipped
+        }   // end if: bytes.length >= 2
+        
+        return bytes;
+    }   // end decode
+
+
+    
+
+    /**
+     * Attempts to decode Base64 data and deserialize a Java
+     * Object within. Returns <tt>null</tt> if there was an error.
+     *
+     * @param encodedObject The Base64 data to decode
+     * @return The decoded and deserialized object
+     * @since 1.5
+     */
+    public static Object decodeToObject( String encodedObject )
+    {
+        // Decode and gunzip if necessary
+        byte[] objBytes = decode( encodedObject );
+        
+        java.io.ByteArrayInputStream  bais = null;
+        java.io.ObjectInputStream     ois  = null;
+        Object obj = null;
+        
+        try
+        {
+            bais = new java.io.ByteArrayInputStream( objBytes );
+            ois  = new java.io.ObjectInputStream( bais );
+        
+            obj = ois.readObject();
+        }   // end try
+        catch( java.io.IOException e )
+        {
+            e.printStackTrace();
+            obj = null;
+        }   // end catch
+        catch( java.lang.ClassNotFoundException e )
+        {
+            e.printStackTrace();
+            obj = null;
+        }   // end catch
+        finally
+        {
+            try{ bais.close(); } catch( Exception e ){}
+            try{ ois.close();  } catch( Exception e ){}
+        }   // end finally
+        
+        return obj;
+    }   // end decodeObject
+    
+    
+    
+    /**
+     * Convenience method for encoding data to a file.
+     *
+     * @param dataToEncode byte array of data to encode in base64 form
+     * @param filename Filename for saving encoded data
+     * @return <tt>true</tt> if successful, <tt>false</tt> otherwise
+     *
+     * @since 2.1
+     */
+    public static boolean encodeToFile( byte[] dataToEncode, String filename )
+    {
+        boolean success = false;
+        Base64.OutputStream bos = null;
+        try
+        {
+            bos = new Base64.OutputStream( 
+                      new java.io.FileOutputStream( filename ), Base64.ENCODE );
+            bos.write( dataToEncode );
+            success = true;
+        }   // end try
+        catch( java.io.IOException e )
+        {
+            
+            success = false;
+        }   // end catch: IOException
+        finally
+        {
+            try{ bos.close(); } catch( Exception e ){}
+        }   // end finally
+        
+        return success;
+    }   // end encodeToFile
+    
+    
+    /**
+     * Convenience method for decoding data to a file.
+     *
+     * @param dataToDecode Base64-encoded data as a string
+     * @param filename Filename for saving decoded data
+     * @return <tt>true</tt> if successful, <tt>false</tt> otherwise
+     *
+     * @since 2.1
+     */
+    public static boolean decodeToFile( String dataToDecode, String filename )
+    {
+        boolean success = false;
+        Base64.OutputStream bos = null;
+        try
+        {
+                bos = new Base64.OutputStream( 
+                          new java.io.FileOutputStream( filename ), Base64.DECODE );
+                bos.write( dataToDecode.getBytes( PREFERRED_ENCODING ) );
+                success = true;
+        }   // end try
+        catch( java.io.IOException e )
+        {
+            success = false;
+        }   // end catch: IOException
+        finally
+        {
+                try{ bos.close(); } catch( Exception e ){}
+        }   // end finally
+        
+        return success;
+    }   // end decodeToFile
+    
+    
+    
+    
+    /**
+     * Convenience method for reading a base64-encoded
+     * file and decoding it.
+     *
+     * @param filename Filename for reading encoded data
+     * @return decoded byte array or null if unsuccessful
+     *
+     * @since 2.1
+     */
+    public static byte[] decodeFromFile( String filename )
+    {
+        byte[] decodedData = null;
+        Base64.InputStream bis = null;
+        try
+        {
+            // Set up some useful variables
+            java.io.File file = new java.io.File( filename );
+            byte[] buffer = null;
+            int length   = 0;
+            int numBytes = 0;
+            
+            // Check for size of file
+            if( file.length() > Integer.MAX_VALUE )
+            {
+                System.err.println( "File is too big for this convenience method (" + file.length() + " bytes)." );
+                return null;
+            }   // end if: file too big for int index
+            buffer = new byte[ (int)file.length() ];
+            
+            // Open a stream
+            bis = new Base64.InputStream( 
+                      new java.io.BufferedInputStream( 
+                      new java.io.FileInputStream( file ) ), Base64.DECODE );
+            
+            // Read until done
+            while( ( numBytes = bis.read( buffer, length, 4096 ) ) >= 0 )
+                length += numBytes;
+            
+            // Save in a variable to return
+            decodedData = new byte[ length ];
+            System.arraycopy( buffer, 0, decodedData, 0, length );
+            
+        }   // end try
+        catch( java.io.IOException e )
+        {
+            System.err.println( "Error decoding from file " + filename );
+        }   // end catch: IOException
+        finally
+        {
+            try{ bis.close(); } catch( Exception e) {}
+        }   // end finally
+        
+        return decodedData;
+    }   // end decodeFromFile
+    
+    
+    
+    /**
+     * Convenience method for reading a binary file
+     * and base64-encoding it.
+     *
+     * @param filename Filename for reading binary data
+     * @return base64-encoded string or null if unsuccessful
+     *
+     * @since 2.1
+     */
+    public static String encodeFromFile( String filename )
+    {
+        String encodedData = null;
+        Base64.InputStream bis = null;
+        try
+        {
+            // Set up some useful variables
+            java.io.File file = new java.io.File( filename );
+            byte[] buffer = new byte[ (int)(file.length() * 1.4) ];
+            int length   = 0;
+            int numBytes = 0;
+            
+            // Open a stream
+            bis = new Base64.InputStream( 
+                      new java.io.BufferedInputStream( 
+                      new java.io.FileInputStream( file ) ), Base64.ENCODE );
+            
+            // Read until done
+            while( ( numBytes = bis.read( buffer, length, 4096 ) ) >= 0 )
+                length += numBytes;
+            
+            // Save in a variable to return
+            encodedData = new String( buffer, 0, length, Base64.PREFERRED_ENCODING );
+                
+        }   // end try
+        catch( java.io.IOException e )
+        {
+            System.err.println( "Error encoding from file " + filename );
+        }   // end catch: IOException
+        finally
+        {
+            try{ bis.close(); } catch( Exception e) {}
+        }   // end finally
+        
+        return encodedData;
+        }   // end encodeFromFile
+    
+    
+    
+    
+    /* ********  I N N E R   C L A S S   I N P U T S T R E A M  ******** */
+    
+    
+    
+    /**
+     * A {@link Base64.InputStream} will read data from another
+     * <tt>java.io.InputStream</tt>, given in the constructor,
+     * and encode/decode to/from Base64 notation on the fly.
+     *
+     * @see Base64
+     * @since 1.3
+     */
+    public static class InputStream extends java.io.FilterInputStream
+    {
+        private boolean encode;         // Encoding or decoding
+        private int     position;       // Current position in the buffer
+        private byte[]  buffer;         // Small buffer holding converted data
+        private int     bufferLength;   // Length of buffer (3 or 4)
+        private int     numSigBytes;    // Number of meaningful bytes in the buffer
+        private int     lineLength;
+        private boolean breakLines;     // Break lines at less than 80 characters
+        
+        
+        /**
+         * Constructs a {@link Base64.InputStream} in DECODE mode.
+         *
+         * @param in the <tt>java.io.InputStream</tt> from which to read data.
+         * @since 1.3
+         */
+        public InputStream( java.io.InputStream in )
+        {   
+            this( in, DECODE );
+        }   // end constructor
+        
+        
+        /**
+         * Constructs a {@link Base64.InputStream} in
+         * either ENCODE or DECODE mode.
+         * <p>
+         * Valid options:<pre>
+         *   ENCODE or DECODE: Encode or Decode as data is read.
+         *   DONT_BREAK_LINES: don't break lines at 76 characters
+         *     (only meaningful when encoding)
+         *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+         * </pre>
+         * <p>
+         * Example: <code>new Base64.InputStream( in, Base64.DECODE )</code>
+         *
+         *
+         * @param in the <tt>java.io.InputStream</tt> from which to read data.
+         * @param options Specified options
+         * @see Base64#ENCODE
+         * @see Base64#DECODE
+         * @see Base64#DONT_BREAK_LINES
+         * @since 2.0
+         */
+        public InputStream( java.io.InputStream in, int options )
+        {   
+            super( in );
+            this.breakLines   = (options & DONT_BREAK_LINES) != DONT_BREAK_LINES;
+            this.encode       = (options & ENCODE) == ENCODE;
+            this.bufferLength = encode ? 4 : 3;
+            this.buffer   = new byte[ bufferLength ];
+            this.position = -1;
+            this.lineLength = 0;
+        }   // end constructor
+        
+        /**
+         * Reads enough of the input stream to convert
+         * to/from Base64 and returns the next byte.
+         *
+         * @return next byte
+         * @since 1.3
+         */
+        public int read() throws java.io.IOException 
+        { 
+            // Do we need to get data?
+            if( position < 0 )
+            {
+                if( encode )
+                {
+                    byte[] b3 = new byte[3];
+                    int numBinaryBytes = 0;
+                    for( int i = 0; i < 3; i++ )
+                    {
+                        try
+                        { 
+                            int b = in.read();
+                            
+                            // If end of stream, b is -1.
+                            if( b >= 0 )
+                            {
+                                b3[i] = (byte)b;
+                                numBinaryBytes++;
+                            }   // end if: not end of stream
+                            
+                        }   // end try: read
+                        catch( java.io.IOException e )
+                        {   
+                            // Only a problem if we got no data at all.
+                            if( i == 0 )
+                                throw e;
+                            
+                        }   // end catch
+                    }   // end for: each needed input byte
+                    
+                    if( numBinaryBytes > 0 )
+                    {
+                        encode3to4( b3, 0, numBinaryBytes, buffer, 0 );
+                        position = 0;
+                        numSigBytes = 4;
+                    }   // end if: got data
+                    else
+                    {
+                        return -1;
+                    }   // end else
+                }   // end if: encoding
+                
+                // Else decoding
+                else
+                {
+                    byte[] b4 = new byte[4];
+                    int i = 0;
+                    for( i = 0; i < 4; i++ )
+                    {
+                        // Read four "meaningful" bytes:
+                        int b = 0;
+                        do{ b = in.read(); }
+                        while( b >= 0 && DECODABET[ b & 0x7f ] <= WHITE_SPACE_ENC );
+                        
+                        if( b < 0 )
+                            break; // Reads a -1 if end of stream
+                        
+                        b4[i] = (byte)b;
+                    }   // end for: each needed input byte
+                    
+                    if( i == 4 )
+                    {
+                        numSigBytes = decode4to3( b4, 0, buffer, 0 );
+                        position = 0;
+                    }   // end if: got four characters
+                    else if( i == 0 ){
+                        return -1;
+                    }   // end else if: also padded correctly
+                    else
+                    {
+                        // Must have broken out from above.
+                        throw new java.io.IOException( "Improperly padded Base64 input." );
+                    }   // end 
+                    
+                }   // end else: decode
+            }   // end else: get data
+            
+            // Got data?
+            if( position >= 0 )
+            {
+                // End of relevant data?
+                if( /*!encode &&*/ position >= numSigBytes )
+                    return -1;
+                
+                if( encode && breakLines && lineLength >= MAX_LINE_LENGTH )
+                {
+                    lineLength = 0;
+                    return '\n';
+                }   // end if
+                else
+                {
+                    lineLength++;   // This isn't important when decoding
+                                    // but throwing an extra "if" seems
+                                    // just as wasteful.
+                    
+                    int b = buffer[ position++ ];
+
+                    if( position >= bufferLength )
+                        position = -1;
+
+                    return b & 0xFF; // This is how you "cast" a byte that's
+                                     // intended to be unsigned.
+                }   // end else
+            }   // end if: position >= 0
+            
+            // Else error
+            else
+            {   
+                // When JDK1.4 is more accepted, use an assertion here.
+                throw new java.io.IOException( "Error in Base64 code reading stream." );
+            }   // end else
+        }   // end read
+        
+        
+        /**
+         * Calls {@link #read()} repeatedly until the end of stream
+         * is reached or <var>len</var> bytes are read.
+         * Returns number of bytes read into array or -1 if
+         * end of stream is encountered.
+         *
+         * @param dest array to hold values
+         * @param off offset for array
+         * @param len max number of bytes to read into array
+         * @return bytes read into array or -1 if end of stream is encountered.
+         * @since 1.3
+         */
+        public int read( byte[] dest, int off, int len ) throws java.io.IOException
+        {
+            int i;
+            int b;
+            for( i = 0; i < len; i++ )
+            {
+                b = read();
+                
+                //if( b < 0 && i == 0 )
+                //    return -1;
+                
+                if( b >= 0 )
+                    dest[off + i] = (byte)b;
+                else if( i == 0 )
+                    return -1;
+                else
+                    break; // Out of 'for' loop
+            }   // end for: each byte read
+            return i;
+        }   // end read
+        
+    }   // end inner class InputStream
+    
+    
+    
+    
+    
+    
+    /* ********  I N N E R   C L A S S   O U T P U T S T R E A M  ******** */
+    
+    
+    
+    /**
+     * A {@link Base64.OutputStream} will write data to another
+     * <tt>java.io.OutputStream</tt>, given in the constructor,
+     * and encode/decode to/from Base64 notation on the fly.
+     *
+     * @see Base64
+     * @since 1.3
+     */
+    public static class OutputStream extends java.io.FilterOutputStream
+    {
+        private boolean encode;
+        private int     position;
+        private byte[]  buffer;
+        private int     bufferLength;
+        private int     lineLength;
+        private boolean breakLines;
+        private byte[]  b4; // Scratch used in a few places
+        private boolean suspendEncoding;
+        
+        /**
+         * Constructs a {@link Base64.OutputStream} in ENCODE mode.
+         *
+         * @param out the <tt>java.io.OutputStream</tt> to which data will be written.
+         * @since 1.3
+         */
+        public OutputStream( java.io.OutputStream out )
+        {   
+            this( out, ENCODE );
+        }   // end constructor
+        
+        
+        /**
+         * Constructs a {@link Base64.OutputStream} in
+         * either ENCODE or DECODE mode.
+         * <p>
+         * Valid options:<pre>
+         *   ENCODE or DECODE: Encode or Decode as data is read.
+         *   DONT_BREAK_LINES: don't break lines at 76 characters
+         *     (only meaningful when encoding)
+         *     <i>Note: Technically, this makes your encoding non-compliant.</i>
+         * </pre>
+         * <p>
+         * Example: <code>new Base64.OutputStream( out, Base64.ENCODE )</code>
+         *
+         * @param out the <tt>java.io.OutputStream</tt> to which data will be written.
+         * @param options Specified options.
+         * @see Base64#ENCODE
+         * @see Base64#DECODE
+         * @see Base64#DONT_BREAK_LINES
+         * @since 1.3
+         */
+        public OutputStream( java.io.OutputStream out, int options )
+        {   
+            super( out );
+            this.breakLines   = (options & DONT_BREAK_LINES) != DONT_BREAK_LINES;
+            this.encode       = (options & ENCODE) == ENCODE;
+            this.bufferLength = encode ? 3 : 4;
+            this.buffer       = new byte[ bufferLength ];
+            this.position     = 0;
+            this.lineLength   = 0;
+            this.suspendEncoding = false;
+            this.b4           = new byte[4];
+        }   // end constructor
+        
+        
+        /**
+         * Writes the byte to the output stream after
+         * converting to/from Base64 notation.
+         * When encoding, bytes are buffered three
+         * at a time before the output stream actually
+         * gets a write() call.
+         * When decoding, bytes are buffered four
+         * at a time.
+         *
+         * @param theByte the byte to write
+         * @since 1.3
+         */
+        public void write(int theByte) throws java.io.IOException
+        {
+            // Encoding suspended?
+            if( suspendEncoding )
+            {
+                super.out.write( theByte );
+                return;
+            }   // end if: supsended
+            
+            // Encode?
+            if( encode )
+            {
+                buffer[ position++ ] = (byte)theByte;
+                if( position >= bufferLength )  // Enough to encode.
+                {
+                    out.write( encode3to4( b4, buffer, bufferLength ) );
+
+                    lineLength += 4;
+                    if( breakLines && lineLength >= MAX_LINE_LENGTH )
+                    {
+                        out.write( NEW_LINE );
+                        lineLength = 0;
+                    }   // end if: end of line
+
+                    position = 0;
+                }   // end if: enough to output
+            }   // end if: encoding
+
+            // Else, Decoding
+            else
+            {
+                // Meaningful Base64 character?
+                if( DECODABET[ theByte & 0x7f ] > WHITE_SPACE_ENC )
+                {
+                    buffer[ position++ ] = (byte)theByte;
+                    if( position >= bufferLength )  // Enough to output.
+                    {
+                        int len = Base64.decode4to3( buffer, 0, b4, 0 );
+                        out.write( b4, 0, len );
+                        //out.write( Base64.decode4to3( buffer ) );
+                        position = 0;
+                    }   // end if: enough to output
+                }   // end if: meaningful base64 character
+                else if( DECODABET[ theByte & 0x7f ] != WHITE_SPACE_ENC )
+                {
+                    throw new java.io.IOException( "Invalid character in Base64 data." );
+                }   // end else: not white space either
+            }   // end else: decoding
+        }   // end write
+        
+        
+        
+        /**
+         * Calls {@link #write(int)} repeatedly until <var>len</var> 
+         * bytes are written.
+         *
+         * @param theBytes array from which to read bytes
+         * @param off offset for array
+         * @param len max number of bytes to read into array
+         * @since 1.3
+         */
+        public void write( byte[] theBytes, int off, int len ) throws java.io.IOException
+        {
+            // Encoding suspended?
+            if( suspendEncoding )
+            {
+                super.out.write( theBytes, off, len );
+                return;
+            }   // end if: supsended
+            
+            for( int i = 0; i < len; i++ )
+            {
+                write( theBytes[ off + i ] );
+            }   // end for: each byte written
+            
+        }   // end write
+        
+        
+        
+        /**
+         * Method added by PHIL. [Thanks, PHIL. -Rob]
+         * This pads the buffer without closing the stream.
+         */
+        public void flushBase64() throws java.io.IOException 
+        {
+            if( position > 0 )
+            {
+                if( encode )
+                {
+                    out.write( encode3to4( b4, buffer, position ) );
+                    position = 0;
+                }   // end if: encoding
+                else
+                {
+                    throw new java.io.IOException( "Base64 input not properly padded." );
+                }   // end else: decoding
+            }   // end if: buffer partially full
+
+        }   // end flush
+
+        
+        /** 
+         * Flushes and closes (I think, in the superclass) the stream. 
+         *
+         * @since 1.3
+         */
+        public void close() throws java.io.IOException
+        {
+            // 1. Ensure that pending characters are written
+            flushBase64();
+
+            // 2. Actually close the stream
+            // Base class both flushes and closes.
+            super.close();
+            
+            buffer = null;
+            out    = null;
+        }   // end close
+        
+        
+        
+        /**
+         * Suspends encoding of the stream.
+         * May be helpful if you need to embed a piece of
+         * base640-encoded data in a stream.
+         *
+         * @since 1.5.1
+         */
+        public void suspendEncoding() throws java.io.IOException 
+        {
+            flushBase64();
+            this.suspendEncoding = true;
+        }   // end suspendEncoding
+        
+        
+        /**
+         * Resumes encoding of the stream.
+         * May be helpful if you need to embed a piece of
+         * base640-encoded data in a stream.
+         *
+         * @since 1.5.1
+         */
+        public void resumeEncoding()
+        {
+            this.suspendEncoding = false;
+        }   // end resumeEncoding
+        
+        
+        
+    }   // end inner class OutputStream
+    
+    
+}   // end class Base64

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/EdtFtpImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,593 @@
+/*
+ * 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.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.UnknownHostException;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.util.FtpClientUtil;
+import org.jboss.soa.esb.util.RemoteFileSystem;
+import org.jboss.soa.esb.util.RemoteFileSystemException;
+
+import com.enterprisedt.net.ftp.FTPClient;
+import com.enterprisedt.net.ftp.FTPConnectMode;
+import com.enterprisedt.net.ftp.FTPException;
+import com.enterprisedt.net.ftp.FTPTransferType;
+
+/**
+ * Simplified FTP transfers
+ * <p>
+ * Description: Implements a simple set of FTP functionality Parameters to
+ * establish the FTP connection are provided at construction time and cannot
+ * change during the lifetime of the object <br/>Hides low level details.
+ * Current implementation is based on the "Entreprise Distributed Technology
+ * edtFTPj" library but this can be changed with no impact to existing code,
+ * just by changing this class without modifying the signature of it's public
+ * methods
+ * </p>
+ */
+
+public class EdtFtpImpl implements RemoteFileSystem
+{
+
+	private static final Logger _logger = Logger.getLogger(EdtFtpImpl.class);
+
+	private static final String TMP_SUFFIX = ".rosettaPart";
+
+	private boolean m_bPassive;
+
+	private int m_iPort;
+
+	private FTPClient m_oConn = new FTPClient();
+
+	private FTPEpr m_oEpr;
+
+	private ConfigTree m_oParms;
+
+	private FTPTransferType m_oXferType;
+
+	private String m_sFtpServer, m_sUser, m_sPasswd;
+
+	private String m_sRemoteDir, m_sLocalDir;
+
+	/**
+	 * Checks validity and completeness of parameters, and keeps the info
+	 * internally for subsequent FTP requests
+	 * 
+	 * @param p_oP
+	 *            ConfigTree
+	 * @throws ConfigurationException :
+	 *             if parameters are invalid or incomplete
+	 *             <li>Parameters: (XML attributes at the root level) </li>
+	 *             <li> ftpServer = name or IP of FTP server </li>
+	 *             <li> ftpUser = login ID for server </li>
+	 *             <li> ftpPassword </li>
+	 *             <li> localDirURI = absolute path in the local filesystem
+	 *             </li>
+	 *             <li> remoteDirURI = remote path is relative to ftp user home
+	 *             in remote computer </li>
+	 */
+
+	public EdtFtpImpl (ConfigTree p_oP, boolean p_bConnect)
+			throws ConfigurationException, RemoteFileSystemException
+	{
+		m_oParms = p_oP;
+		initialize(p_bConnect);
+	}
+
+	public EdtFtpImpl (FTPEpr p_oP, boolean p_bConnect)
+			throws ConfigurationException, RemoteFileSystemException
+	{
+		m_oEpr = p_oP;
+
+		URL url = null;
+		try
+		{
+			url = m_oEpr.getURL();
+		}
+		catch (MalformedURLException e)
+		{
+			throw new ConfigurationException(e);
+		}
+		catch (URISyntaxException e)
+		{
+			throw new ConfigurationException(e);
+		}
+
+		m_sFtpServer = url.getHost();
+
+		String[] sa = null;
+
+		if (url.getUserInfo() != null) sa = url.getUserInfo().split(":");
+
+		if (sa == null) sa = new String[] { "", "" };
+
+		m_sUser = (sa.length < 1) ? "" : sa[0];
+		m_sPasswd = (sa.length < 2) ? "" : sa[1];
+
+		m_sRemoteDir = url.getFile();
+
+		final String tmpdir = System.getProperty("java.io.tmpdir");
+		if ((m_sRemoteDir == null) || (m_sRemoteDir.equals("")))
+			m_sRemoteDir = ModulePropertyManager.getPropertyManager(
+					ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
+					Environment.FTP_REMOTEDIR, tmpdir);
+
+		m_iPort = url.getPort();
+		if (m_iPort < 0) m_iPort = url.getDefaultPort();
+
+		m_sLocalDir = ModulePropertyManager.getPropertyManager(
+				ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
+				Environment.FTP_LOCALDIR, tmpdir);
+
+		m_bPassive = false;
+
+		try
+		{
+			m_bPassive = m_oEpr.getPassive();
+		}
+		catch (URISyntaxException e)
+		{
+			_logger.warn(e);
+		}
+
+		// TODO there is still a bit of space for improvements here.
+		configTreeFromEpr();
+
+		initialize(p_bConnect);
+	}
+
+	public EdtFtpImpl (List<KeyValuePair> p_oAttribs, boolean p_bConnect)
+			throws ConfigurationException, RemoteFileSystemException
+	{
+		m_oParms = new ConfigTree("fromProps");
+		for (KeyValuePair oCurr : p_oAttribs)
+			m_oParms.setAttribute(oCurr.getKey(), oCurr.getValue());
+		initialize(p_bConnect);
+	}
+
+	private void checkParms () throws ConfigurationException
+	{
+		String att = m_oParms.getAttribute(FileEpr.URL_TAG);
+		URL url = null;
+		
+		try
+		{
+			if (att != null)
+				url = new URL(att);
+		}
+		catch (MalformedURLException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		
+		m_sFtpServer = (null != url) ? url.getHost() : m_oParms
+				.getAttribute(PARMS_FTP_SERVER);
+		if (null == m_sFtpServer)
+			throw new ConfigurationException("No FTP server specified");
+
+		String[] sa = (null == url) ? null : url.getUserInfo().split(":");
+		m_sUser = (null != sa) ? sa[0] : m_oParms.getAttribute(PARMS_USER);
+		if (null == m_sUser)
+			throw new ConfigurationException("No username specified for FTP");
+
+		m_sPasswd = (null != sa) ? sa[1] : m_oParms.getAttribute(PARMS_PASSWD);
+		if (null == m_sPasswd)
+			throw new ConfigurationException("No password specified for FTP");
+
+		m_sRemoteDir = (null != url) ? url.getFile() : m_oParms
+				.getAttribute(PARMS_REMOTE_DIR);
+		if (null == m_sRemoteDir) m_sRemoteDir = "";
+
+		m_sLocalDir = m_oParms.getAttribute(PARMS_LOCAL_DIR);
+		if (null == m_sLocalDir) m_sLocalDir = ".";
+
+		String sAux = m_oParms.getAttribute(PARMS_PORT);
+		m_iPort = (null != url) ? url.getPort() : (null == sAux) ? 21 : Integer
+				.parseInt(sAux);
+		
+		try
+		{
+			if (m_iPort < 0)
+				m_iPort = new URL("ftp://").getDefaultPort();
+		}
+		catch (MalformedURLException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+
+		// Dec-2006 (b_georges): it has been decided to set the Type to binary.
+		m_oXferType = FTPTransferType.BINARY;
+
+		m_bPassive = false;
+		sAux = m_oParms.getAttribute(PARMS_PASSIVE);
+		m_bPassive = (null != sAux) && Boolean.parseBoolean(sAux);
+
+		return;
+	}
+
+	private void configTreeFromEpr () throws RemoteFileSystemException
+	{
+		m_oParms = new ConfigTree("fromEpr");
+		try
+		{
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_FTP_SERVER,
+					m_sFtpServer);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_USER, m_sUser);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_PASSWD, m_sPasswd);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_REMOTE_DIR,
+					m_sRemoteDir);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_PORT, Integer
+					.toString(m_iPort));
+			m_oParms
+					.setAttribute(RemoteFileSystem.PARMS_LOCAL_DIR, m_sLocalDir);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_ASCII, Boolean
+					.toString(false));
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_PASSIVE, Boolean
+					.toString(m_bPassive));
+		}
+		catch (Exception e)
+		{
+			throw new RemoteFileSystemException(e);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#deleteRemoteFile(java.lang.String)
+	 */
+	public void deleteRemoteFile (String p_sFile) throws RemoteFileSystemException
+	{
+		try
+		{
+			m_oConn.delete(getRemoteDir() + "/" + new File(p_sFile).getName());
+		}
+		catch (Exception ex)
+		{
+			/*
+			 * It seems as though we have a race condition whereby one thread
+			 * tries to remove a file when another renames it!
+			 */
+			
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#downloadFile(java.lang.String,
+	 *      java.lang.String)
+	 */
+	public void downloadFile (String p_sFile, String p_sFinalName)
+			throws IOException, RemoteFileSystemException
+	{
+		File oLocalDir = new File(m_sLocalDir);
+		File oLclFile = File.createTempFile("Rosetta_", TMP_SUFFIX, oLocalDir);
+
+		try
+		{
+			oLclFile.delete();
+		}
+		catch (Exception e)
+		{
+		}
+
+		try
+		{
+			m_oConn.get(FtpUtils.fileToFtpString(oLclFile), p_sFile);
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+
+		File oNew = new File(oLocalDir, p_sFinalName);
+		
+		if (oNew.exists()) 
+			oNew.delete();
+		
+		oLclFile.renameTo(oNew);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#getFileListFromRemoteDir(java.lang.String)
+	 */
+	public String[] getFileListFromRemoteDir (String p_sSuffix)
+			throws RemoteFileSystemException, IOException
+	{
+		String sSuffix = (null == p_sSuffix) ? "*" : "*" + p_sSuffix;
+
+		try
+		{
+			return m_oConn.dir(sSuffix);
+		}
+		catch (FTPException ex)
+		{
+			String msg = ex.getMessage();
+			int rc = ex.getReplyCode();
+			if (rc == 550) // means File Not Found - see JBESB-303
+			{
+				_logger
+						.debug("No matching file or directory. Server returns: [" + rc + "] " + msg);
+				return null;
+			}
+			else
+			{
+				// TODO Test with different FTP Servers
+				String sMess = this.getClass().getSimpleName() + " can't list " + sSuffix + " due to: [" + rc + "] " + msg;
+				throw new RemoteFileSystemException(sMess);
+			}
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#getRemoteDir()
+	 */
+	public String getRemoteDir ()
+	{
+		return m_sRemoteDir;
+	}
+
+	private void initialize (boolean bConnect) throws ConfigurationException,
+			RemoteFileSystemException
+	{
+		checkParms();
+		if (bConnect)
+		{
+			try
+			{
+				m_oConn.setRemoteHost(m_sFtpServer);
+			}
+			catch (UnknownHostException ex)
+			{
+				_logger.error("Unknown host for FTP.", ex);
+
+				throw new ConfigurationException(ex);
+			}
+			catch (IOException ex)
+			{
+				_logger.error("Caught IOException", ex);
+				
+				throw new RemoteFileSystemException(ex);
+			}
+			catch (FTPException ex)
+			{
+				_logger.error("Caught FTPException.", ex);
+
+				throw new RemoteFileSystemException(ex);
+			}
+
+			try
+			{
+				m_oConn.setRemotePort(m_iPort);
+
+				m_oConn.connect();
+				for (int i1 = 0; i1 < 10 && !m_oConn.connected(); i1++)
+				{
+					try
+					{
+						Thread.sleep(200); // TODO arbitrary MAGIC number!
+					}
+					catch (InterruptedException ex)
+					{
+					}
+				}
+
+				// Configurable?
+				if (!m_oConn.connected())
+					throw new RemoteFileSystemException(
+							"Can't connect to FTP server");
+				m_oConn.user(m_sUser);
+				m_oConn.password(m_sPasswd);
+				m_oConn
+						.setConnectMode((m_bPassive) ? FTPConnectMode.PASV : FTPConnectMode.ACTIVE);
+				m_oConn.setType(m_oXferType);
+			}
+			catch (IOException ex)
+			{
+				throw new RemoteFileSystemException(ex);
+			}
+			catch (FTPException ex)
+			{
+				_logger.error("Caught FTPException.", ex);
+
+				throw new RemoteFileSystemException(ex);
+			}
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#quit()
+	 */
+	public void quit ()
+	{
+		if (null != m_oConn)
+		{
+			try
+			{
+				m_oConn.quit();
+			}
+			catch (Exception e)
+			{
+			}
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#remoteDelete(java.io.File)
+	 */
+	public void remoteDelete (File p_oFile) throws RemoteFileSystemException
+	{
+		try
+		{
+			m_oConn.delete(getRemoteDir() + "/" + p_oFile.getName());
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#remoteRename(java.io.File,
+	 *      java.io.File)
+	 */
+	public void remoteRename (File p_oFrom, File p_oTo) throws RemoteFileSystemException
+	{
+		try
+		{
+			m_oConn.rename(FtpClientUtil.fileToFtpString(p_oFrom), FtpUtils
+					.fileToFtpString(p_oTo));
+		}
+		catch (FTPException ex)
+		{
+			if (ex.getReplyCode() == 550) // EdtFtp error code meaning File
+			// Not Found
+			{
+				_logger
+						.debug("EdtFtpImpl tried to rename file that had moved.");
+
+				throw new RemoteFileSystemException("File not found.");
+			}
+			else
+			{
+				_logger.error("Caught FTPException.", ex);
+
+				throw new RemoteFileSystemException(ex);
+			}
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+
+			String sMess = this.getClass().getSimpleName() + " can't rename in remote directory <" + e
+					.getMessage() + ">";
+			throw new RemoteFileSystemException(sMess);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#renameInRemoteDir(java.lang.String,
+	 *      java.lang.String)
+	 */
+	public void renameInRemoteDir (String p_sFrom, String p_sTo)
+			throws RemoteFileSystemException
+	{
+		String sRmtFrom = new File(p_sFrom).getName();
+		String sRmtTo = new File(p_sTo).getName();
+
+		try
+		{
+			m_oConn.rename(getRemoteDir() + "/" + sRmtFrom,
+					getRemoteDir() + "/" + sRmtTo);
+		}
+		catch (Exception e)
+		{
+			String sMess = this.getClass().getSimpleName() + " can't rename in remote directory <" + e
+					.getMessage() + ">";
+			throw new RemoteFileSystemException(sMess);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#setRemoteDir(java.lang.String)
+	 */
+	public void setRemoteDir (String p_sDir) throws RemoteFileSystemException
+	{
+		if (p_sDir == null)
+			throw new IllegalArgumentException();
+		
+		try
+		{
+			m_oConn.chdir(p_sDir);
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#uploadFile(java.io.File,
+	 *      java.lang.String)
+	 */
+	public void uploadFile (File p_oFile, String p_sRemoteName)
+			throws RemoteFileSystemException
+	{
+		String sRemoteOK = getRemoteDir() + "/" + p_sRemoteName;
+		String sRemoteTmp = sRemoteOK + TMP_SUFFIX;
+
+		try
+		{
+			m_oConn.put(FtpUtils.fileToFtpString(p_oFile), sRemoteTmp);
+			m_oConn.rename(sRemoteTmp, sRemoteOK);
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/FtpUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/FtpUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/FtpUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,42 @@
+/*
+ * 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.util;
+
+import java.io.File;
+
+/**
+ * Ftp handling utilities.
+ * @author b_georges
+ */
+public class FtpUtils {
+
+	/**
+	 * Transforms File path to FTP path
+	 * @param p_oF The file to transform
+	 * @return The modified path
+	 */
+	public static String fileToFtpString(File p_oF)
+	{
+		return (null == p_oF) ? null : p_oF.toString().replace("\\", "/");
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,586 @@
+/*
+ * 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.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Vector;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.util.RemoteFileSystem;
+import org.jboss.soa.esb.util.RemoteFileSystemException;
+
+import com.jcraft.jsch.Channel;
+import com.jcraft.jsch.ChannelSftp;
+import com.jcraft.jsch.JSch;
+import com.jcraft.jsch.JSchException;
+import com.jcraft.jsch.Session;
+import com.jcraft.jsch.SftpATTRS;
+import com.jcraft.jsch.SftpException;
+import com.jcraft.jsch.UserInfo;
+import com.jcraft.jsch.ChannelSftp.LsEntry;
+
+/**
+ * 
+ * Implementation of sftp (Secure FTP over SSH) Based on JSch from JCraft
+ * http://www.jcraft.com/
+ * 
+ * @author b_georges
+ * 
+ */
+
+public class SecureFtpImpl implements RemoteFileSystem 
+{
+
+	private static final Logger _logger = Logger.getLogger(SecureFtpImpl.class);
+
+	private static final String TMP_SUFFIX = ".rosettaPart";
+
+	private static final String SECURE_CHANNEL = "sftp";
+
+	// The objects implementing secure FTP over ssh
+	private JSch m_oJSch = new JSch();
+
+	private Session session = null;
+
+	private Channel m_oChannel = null;
+
+	private ChannelSftp m_oSftpChannel = null;
+
+	// TODO Add support for certificate. Not for GA though.
+	private URL m_oCertificate = null;
+
+	@SuppressWarnings("unused")
+	private boolean m_bConnected, m_bPassive;
+
+	private int m_iPort;
+
+	private SFTPEpr m_oEpr;
+
+	private ConfigTree m_oParms;
+
+	private String m_sFtpServer, m_sUser, m_sPasswd;
+
+	private String m_sRemoteDir, m_sLocalDir;
+
+	/*
+	 * Constructor
+	 * 
+	 * @param p_oP Is a config treeThe used to initialize the object
+	 * 
+	 * @param connect If true create a new sftp session
+	 * 
+	 */
+	public SecureFtpImpl(ConfigTree p_oP, boolean p_bConnect) throws ConfigurationException, RemoteFileSystemException
+	{
+		m_oParms = p_oP;
+		initialize(p_bConnect);
+	}
+
+	/*
+	 * Constructor
+	 * 
+	 * @param p_oP Is an EPR used to initialize the object
+	 * 
+	 * @param connect If true create a new sftp session
+	 * 
+	 */
+	public SecureFtpImpl(SFTPEpr p_oP, boolean p_bConnect) throws ConfigurationException, RemoteFileSystemException 
+	{
+
+		m_oEpr = p_oP;
+
+		URL url = null;
+		try {
+			url = m_oEpr.getURL();
+		} catch (MalformedURLException e) {
+			throw new RemoteFileSystemException(e);
+		} catch (URISyntaxException e) {
+			throw new RemoteFileSystemException(e);
+		}
+
+		m_sFtpServer = url.getHost();
+
+		String[] sa = null;
+
+		if (url.getUserInfo() != null)
+			sa = url.getUserInfo().split(":");
+
+		if (sa == null)
+			sa = new String[] { "", "" };
+
+		m_sUser = (sa.length < 1) ? "" : sa[0];
+		m_sPasswd = (sa.length < 2) ? "" : sa[1];
+
+		m_sRemoteDir = url.getFile();
+
+		final String tmpdir = System.getProperty("java.io.tmpdir");
+		if ((m_sRemoteDir == null) || (m_sRemoteDir.equals("")))
+			m_sRemoteDir = ModulePropertyManager.getPropertyManager(
+					ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
+							Environment.FTP_REMOTEDIR, tmpdir);
+
+		m_iPort = url.getPort();
+		if (m_iPort < 0)
+			m_iPort = url.getDefaultPort();
+
+		m_sLocalDir = ModulePropertyManager.getPropertyManager(
+				ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
+						Environment.FTP_LOCALDIR, tmpdir);
+
+		m_bPassive = false;
+
+		try
+		{
+			m_bPassive = m_oEpr.getPassive();
+		} catch (URISyntaxException e) 
+		{
+			_logger.warn(e);
+		}
+
+		try
+		{
+			m_oCertificate = m_oEpr.getCertificateURL();
+		} 
+		catch (MalformedURLException ex)
+		{
+			_logger.error(ex);
+			
+			throw new ConfigurationException(ex);
+		}
+		catch (URISyntaxException e) 
+		{
+			_logger.warn(e);
+			
+			throw new ConfigurationException(e);
+		}
+
+		// TODO there is still a bit of space for improvements here.
+		configTreeFromEpr();
+
+		initialize(p_bConnect);
+	}
+
+	/*
+	 * Constructor
+	 * 
+	 * @param attribs The key/value pairs used to initialize the object
+	 * 
+	 * @param connect If true create a new sftp session using attribs
+	 * 
+	 */
+	public SecureFtpImpl(List<KeyValuePair> attribs, boolean connect)
+	throws ConfigurationException, RemoteFileSystemException 
+	{
+		m_oParms = new ConfigTree("fromProps");
+		for (KeyValuePair oCurr : attribs)
+			m_oParms.setAttribute(oCurr.getKey(), oCurr.getValue());
+		initialize(connect);
+	}
+
+	private void initialize(boolean bConnect) throws ConfigurationException, RemoteFileSystemException
+	{
+		checkParms();
+		
+		if (bConnect) 
+		{
+			try
+			{
+				session = m_oJSch.getSession(m_sUser, m_sFtpServer, m_iPort);
+	
+				UserInfo ui = new SecureFtpUserInfo(m_sPasswd);
+				session.setUserInfo(ui);
+	
+				session.connect();
+	
+				m_oChannel = session.openChannel(SECURE_CHANNEL);
+	
+				m_oChannel.connect();
+	
+				m_oSftpChannel = (ChannelSftp) m_oChannel;
+	
+				for (int i1 = 0; i1 < 10 && !session.isConnected(); i1++)
+				{
+					try
+					{
+						Thread.sleep(200);  // TODO magic number
+					}
+					catch (InterruptedException ex)
+					{
+						// try again?
+					}
+				}
+				
+				if (!session.isConnected())
+					throw new RemoteFileSystemException("Can't connect to FTP server");
+	
+				m_bConnected = this.session.isConnected();
+			}
+			catch (JSchException ex)
+			{
+				_logger.error("Caught Secure FTP Exception.", ex);
+				
+				throw new RemoteFileSystemException(ex);
+			}
+		}
+		// TODO set connection Mode [PASSIVE|ACTIVE]using m_bPassive ?
+
+	}
+
+	private void checkParms() throws ConfigurationException 
+	{
+		m_sFtpServer = m_oParms.getAttribute(PARMS_FTP_SERVER);
+		if (null == m_sFtpServer)
+			throw new ConfigurationException("No SFTP server specified");
+
+		m_sUser = m_oParms.getAttribute(PARMS_USER);
+		if (null == m_sUser)
+			throw new ConfigurationException("No username specified for SFTP");
+
+		m_sPasswd = m_oParms.getAttribute(PARMS_PASSWD);
+		if (null == m_sPasswd)
+			throw new ConfigurationException("No password specified for SFTP");
+
+		m_sRemoteDir = m_oParms.getAttribute(PARMS_REMOTE_DIR);
+		if (null == m_sRemoteDir)
+			m_sRemoteDir = "";
+
+		m_sLocalDir = m_oParms.getAttribute(PARMS_LOCAL_DIR);
+		if (null == m_sLocalDir)
+			m_sLocalDir = ".";
+
+		String sAux = m_oParms.getAttribute(PARMS_PORT);
+		
+		try
+		{
+			m_iPort = (null == sAux) ? 22 : Integer.parseInt(sAux);
+		}
+		catch (Exception ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+
+		m_bPassive = false;
+		sAux = m_oParms.getAttribute(PARMS_PASSIVE);
+		m_bPassive = (null != sAux) && Boolean.parseBoolean(sAux);
+
+		final String certificate = m_oParms.getAttribute(PARMS_CERTIFICATE) ;
+		
+		if (certificate != null)
+		{
+			try
+			{
+				m_oCertificate = new URL(certificate);
+			}
+			catch (MalformedURLException ex)
+			{
+				throw new ConfigurationException(ex);
+			}
+		}
+	}
+
+	/*
+	 * Deletes a file on the SFTP-Server
+	 * 
+	 * @param fileName The file's Name to be removed from the SFTP-Server
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#deleteRemoteFile(java.lang.String)
+	 */
+	public void deleteRemoteFile(String p_sFile) throws RemoteFileSystemException 
+	{
+		try
+		{
+			m_oSftpChannel.rm(getRemoteDir() + "/" + new File(p_sFile).getName());
+		}
+		catch (SftpException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * Deletes a file on the SFTP-Server
+	 * 
+	 * @param fileName The file to be removed from the SFTP-Server
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#remoteDelete(java.io.File)
+	 */
+	public void remoteDelete(File p_oFile) throws RemoteFileSystemException 
+	{
+		try
+		{
+			m_oSftpChannel.rm(FtpUtils.fileToFtpString(p_oFile));
+		}
+		catch (SftpException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * Returns a list of Filenames for the directory specified in p_Suffix
+	 * 
+	 * @param p_sSuffix The remote directory path from the SFTP-Server
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#getFileListFromRemoteDir(java.lang.String)
+	 */
+	public String[] getFileListFromRemoteDir(String p_sSuffix) throws RemoteFileSystemException 
+	{
+		try
+		{
+			String sSuffix = (null == p_sSuffix) ? "*" : "*" + p_sSuffix;
+			List<String> lFileList = new ArrayList<String>();
+			Vector vFileList = m_oSftpChannel.ls(sSuffix);
+			
+			if (vFileList != null) 
+			{
+				for (int i = 0; i < vFileList.size(); i++) 
+				{
+					Object obj = vFileList.elementAt(i);
+					
+					if (obj instanceof LsEntry) 
+					{
+						SftpATTRS oSftAttr = ((LsEntry) obj).getAttrs();
+						if (!oSftAttr.isDir()) 
+						{
+							lFileList.add(((LsEntry) obj).getFilename());
+						}
+					}
+				}
+			}
+			
+			return (String[]) lFileList.toArray(new String[lFileList.size()]);
+		}
+		catch (SftpException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * Set the new directory to p_SDir
+	 * 
+	 * @param p_sDir The remote directory path name we want to "cd" to.
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#setRemoteDir(java.lang.String)
+	 */
+	public void setRemoteDir(String p_sDir) throws RemoteFileSystemException 
+	{
+		try
+		{
+			m_oSftpChannel.cd(p_sDir);
+		}
+		catch (SftpException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * Rename the Remote Directory name p_sFrom with p_sTo
+	 * 
+	 * @param p_sFrom The remote directory name we want to rename
+	 * 
+	 * @param p_sTo The new remote directory name
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#renameInRemoteDir(java.lang.String,
+	 *      java.lang.String)
+	 */
+	public void renameInRemoteDir(String p_sFrom, String p_sTo)
+	throws RemoteFileSystemException 
+	{
+
+		String sRmtFrom = new File(p_sFrom).getName();
+		String sRmtTo = new File(p_sTo).getName();
+
+		try 
+		{
+			m_oSftpChannel.rename(getRemoteDir() + "/" + sRmtFrom,
+					getRemoteDir() + "/" + sRmtTo);
+		} 
+		catch (Exception e) 
+		{
+			String sMess = this.getClass().getSimpleName()
+			+ " can't rename in remote directory <" + e.getMessage()
+			+ ">";
+			throw new RemoteFileSystemException(sMess);
+		}
+	}
+
+	/*
+	 * Rename the Remote File name p_sFrom with p_sTo
+	 * 
+	 * @param p_oFrom The remote file name we want to rename
+	 * 
+	 * @param p_oTo The new remote file name
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#remoteRename(java.io.File,
+	 *      java.io.File)
+	 */
+	public void remoteRename(File p_oFrom, File p_oTo) throws RemoteFileSystemException 
+	{
+		try 
+		{
+			m_oSftpChannel.rename(FtpUtils.fileToFtpString(p_oFrom), FtpUtils
+					.fileToFtpString(p_oTo));
+		} 
+		catch (Exception e) 
+		{
+			String sMess = this.getClass().getSimpleName()
+			+ " can't rename in remote directory <" + e.getMessage()
+			+ ">";
+			throw new RemoteFileSystemException(sMess);
+		}
+	}
+
+	/*
+	 * Upload the local File p_ofile to p_sRemoteName
+	 * 
+	 * @param p_oFile The local file name we want to upload
+	 * 
+	 * @param p_sRemoteName The remote file name [can be the same as p_oFile of
+	 * course]
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#uploadFile(java.io.File,
+	 *      java.lang.String)
+	 */
+	public void uploadFile(File p_oFile, String p_sRemoteName) throws RemoteFileSystemException 
+	{
+		try
+		{
+			String sRemoteOK = getRemoteDir() + "/" + p_sRemoteName;
+			String sRemoteTmp = sRemoteOK + TMP_SUFFIX;
+			m_oSftpChannel.put(FtpUtils.fileToFtpString(p_oFile), sRemoteTmp);
+			m_oSftpChannel.rename(sRemoteTmp, sRemoteOK);
+		}
+		catch (SftpException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * Download the remote File p_sFile to p_sFile.
+	 * 
+	 * @param p_sFile The remote file name we want to download
+	 * 
+	 * @param p_sFinalName The local file name
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#downloadFile(java.lang.String,
+	 *      java.lang.String)
+	 */
+	public void downloadFile(String p_sFile, String p_sFinalName) throws IOException, RemoteFileSystemException 
+	{
+		File oLocalDir = new File(m_sLocalDir);
+		File oLclFile = File.createTempFile("Rosetta_", TMP_SUFFIX, oLocalDir);
+
+		try 
+		{
+			oLclFile.delete();
+		} 
+		catch (Exception e) 
+		{
+			_logger.warn("Could not delete file: "+oLclFile, e);
+		}
+		// TODO check if we have to set the Transfer Type with JSch impl =>
+		// m_oXferType
+		
+		try
+		{
+			m_oSftpChannel.get(p_sFile, FtpUtils.fileToFtpString(oLclFile));
+	
+			File oNew = new File(oLocalDir, p_sFinalName);
+			if (oNew.exists())
+				oNew.delete();
+			oLclFile.renameTo(oNew);
+		}
+		catch (Exception ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	}
+
+	/*
+	 * Returns the current remote directory
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#getRemoteDir()
+	 */
+	public String getRemoteDir() 
+	{
+		return m_sRemoteDir;
+	}
+
+	/*
+	 * Terminates the sftp session.
+	 * 
+	 * @see org.jboss.soa.esb.util.RemoteFileSystem#quit()
+	 */
+	public void quit() 
+	{
+		m_oSftpChannel.quit();
+	}
+
+	private void configTreeFromEpr() throws ConfigurationException 
+	{
+		m_oParms = new ConfigTree("fromEpr");
+		try 
+		{
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_FTP_SERVER,
+					m_sFtpServer);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_USER, m_sUser);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_PASSWD, m_sPasswd);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_REMOTE_DIR,
+					m_sRemoteDir);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_PORT, Integer
+					.toString(m_iPort));
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_LOCAL_DIR, m_sLocalDir);
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_ASCII, Boolean
+					.toString(false));
+			m_oParms.setAttribute(RemoteFileSystem.PARMS_PASSIVE, Boolean
+					.toString(m_bPassive));
+			if (m_oCertificate != null)
+			{
+				m_oParms.setAttribute(RemoteFileSystem.PARMS_CERTIFICATE, m_oCertificate.toString());
+			}
+		} 
+		catch (Exception e) 
+		{
+			throw new ConfigurationException(e);
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,103 @@
+/*
+ * 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.util;
+
+import com.jcraft.jsch.UserInfo;
+
+/**
+ * @author geo
+ * 
+ */
+public class SecureFtpUserInfo implements UserInfo {
+
+	/** The user-password */
+	String password = null;
+
+	/**
+	 * Constructor
+	 * 
+	 * @param password
+	 *            The users password.
+	 */
+	public SecureFtpUserInfo(String password) {
+		this.password = password;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.jcraft.jsch.UserInfo#getPassphrase()
+	 */
+	public String getPassphrase() {
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.jcraft.jsch.UserInfo#getPassword()
+	 */
+	public String getPassword() {
+		return password;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.jcraft.jsch.UserInfo#promptPassphrase(java.lang.String)
+	 */
+	public boolean promptPassphrase(String arg0) {
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.jcraft.jsch.UserInfo#promptPassword(java.lang.String)
+	 */
+	public boolean promptPassword(String arg0) {
+		return true;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.jcraft.jsch.UserInfo#promptYesNo(java.lang.String)
+	 */
+	public boolean promptYesNo(String arg0) {
+		return true;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see com.jcraft.jsch.UserInfo#showMessage(java.lang.String)
+	 */
+	public void showMessage(String arg0) {
+		
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/StreamUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/StreamUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/util/StreamUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+/*
+ * 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.util;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * Stream handling utilities.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class StreamUtils {
+
+	/**
+	 * Read the supplied InputStream and return as an array of bytes.
+	 * @param stream The stream to read.
+	 * @return The stream contents in an array of bytes.
+	 */
+	public static byte[] readStream(InputStream stream) {
+		if(stream == null) {
+			throw new IllegalArgumentException("null 'stream' arg passed in method call.");
+		}
+		
+		ByteArrayOutputStream outBuffer = new ByteArrayOutputStream();
+		byte[] buffer = new byte[256];
+		int readCount = 0;
+		
+		try {
+			while((readCount = stream.read(buffer)) != -1) {
+				outBuffer.write(buffer, 0, readCount);
+			}
+		} catch (IOException e) {
+			throw new IllegalStateException("Error reading stream.", e);
+		}		
+		
+		return outBuffer.toByteArray();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/BaseException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/BaseException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/BaseException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,42 @@
+package org.jboss.soa.esb;
+
+/**
+ * Base ESB Exception.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class BaseException extends Exception {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Public Default Constructor.
+	 */
+	public BaseException() {
+		super();
+	}
+
+	/**
+	 * Public Constructor.
+	 * @param message Exception message.
+	 */
+	public BaseException(String message) {
+		super(message);
+	}
+
+	/**
+	 * Public Constructor.
+	 * @param message Exception message.
+	 * @param cause Exception cause.
+	 */
+	public BaseException(String message, Throwable cause) {
+		super(message, cause);
+	}
+
+	/**
+	 * Public Constructor.
+	 * @param cause Exception cause.
+	 */
+	public BaseException(Throwable cause) {
+		super(cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/ConfigurationException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/ConfigurationException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/ConfigurationException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+/*
+ * 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;
+
+/**
+ * Configuration Exception.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class ConfigurationException extends BaseException {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * Construct an exception instance. 
+     * @param message Exception message.
+     */
+    public ConfigurationException(String message) {
+        super(message);
+    }
+
+    /**
+     * Construct an exception instance. 
+     * @param message Exception message.
+     * @param cause Exception cause.
+     */
+    public ConfigurationException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    /**
+     * Construct an exception instance. 
+     * @param cause Exception cause.
+     */
+    public ConfigurationException(Throwable cause) {
+        super(cause);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/FatalError.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/FatalError.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/FatalError.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,73 @@
+/*
+ * 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;
+
+/**
+ * Thrown if the ESB enters a state from which it would be unsafe
+ * to continue to execute. If caught, the handler must be sure it
+ * can deal with any underlying cause if the ESB is not to terminate.
+ * 
+ * @author Mark Little
+ * @since Version 4.0.1
+ */
+
+public class FatalError extends Error
+{
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param message
+	 *            Exception message.
+	 */
+	public FatalError (String message)
+	{
+		super(message);
+	}
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param message
+	 *            Exception message.
+	 * @param cause
+	 *            Exception cause.
+	 */
+	public FatalError(String message, Throwable cause)
+	{
+		super(message, cause);
+	}
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param cause
+	 *            Exception cause.
+	 */
+	public FatalError(Throwable cause)
+	{
+		super(cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/MarshalException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/MarshalException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/MarshalException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,53 @@
+package org.jboss.soa.esb;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Thrown if marshalling a message fails. This could be because
+ * conversion to XML encounters problems.
+ */
+
+public class MarshalException extends Exception
+{
+	private static final long serialVersionUID = 0xE;
+	
+	public MarshalException()
+	{
+		super();
+	}
+
+	public MarshalException(String s)
+	{
+		super(s);
+	}
+
+	public MarshalException (Exception ex)
+	{
+		super(ex);
+	}
+
+	public MarshalException (String message, Exception ex)
+	{
+		super(message, ex);
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/ProtocolNotSupportedException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/ProtocolNotSupportedException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/ProtocolNotSupportedException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,39 @@
+package org.jboss.soa.esb;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+public class ProtocolNotSupportedException extends Exception
+{
+	public static final long serialVersionUID = 0xE;
+	
+	public ProtocolNotSupportedException()
+	{
+		super();
+	}
+
+	public ProtocolNotSupportedException(String s)
+	{
+		super(s);
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/SendFailedException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/SendFailedException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/SendFailedException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,43 @@
+package org.jboss.soa.esb;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+public class SendFailedException extends Exception
+{
+	public static final long serialVersionUID = 0xE;
+	
+	public SendFailedException()
+	{
+		super();
+	}
+
+	public SendFailedException(String s)
+	{
+		super(s);
+	}
+
+	public SendFailedException(Throwable ex)
+	{
+		super(ex);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/UnmarshalException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/UnmarshalException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/UnmarshalException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+package org.jboss.soa.esb;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Thrown if unmarshalling fails. This could be because
+ * conversion from XML encounters problems.
+ */
+
+public class UnmarshalException extends Exception
+{
+	private static final long serialVersionUID = 0xE;
+	
+	public UnmarshalException()
+	{
+		super();
+	}
+
+	public UnmarshalException(String s)
+	{
+		super(s);
+	}
+
+	public UnmarshalException (Exception ex)
+	{
+		super(ex);
+	}
+
+	public UnmarshalException (String message, Exception ex)
+	{
+		super(ex);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/Call.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/Call.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/Call.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,276 @@
+package org.jboss.soa.esb.addressing;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+/**
+ * Represents an interaction pattern for a specific message exchange. When sending a message
+ * the sender application can specify where errors are to be returned, where responses are
+ * to go, along with other interaction information.
+ * 
+ * A call represents an exchange pattern for this message. It is built up as the message
+ * flows through the ESB and identifies where the message should go, along with any
+ * routing information for faults, replies etc.
+ *
+ * 
+ * To: the destination. MANDATORY.
+ * From: the sender. OPTIONAL. If not defined, then the sender MAY be inferred from the transport.
+ * ReplyTo: the destination for any response. OPTIONAL.
+ * FaultTo: the destination for any error message. OPTIONAL.
+ * RelatesTo: used to indicate that this message is related to another. OPTIONAL.
+ * Action: used by the sender to indicate the semantics of the message. Must be unique. MANDATORY.
+ * MessageID: used to uniquely identify this message. OPTIONAL.
+ * 
+ * @author marklittle
+ *
+ */
+
+// TODO maybe this should simply go into the Header interface?
+
+public class Call
+{
+	/**
+	 * Create a new (empty) call.
+	 */
+	
+	public Call ()
+	{
+	}
+	
+	/**
+	 * Create a new call, whose To field is set to the supplied EPR.
+	 * 
+	 * @param epr the To field.
+	 */
+	
+	public Call (EPR epr)
+	{
+		_to = epr;
+	}
+	
+	/**
+	 * Set the To field. Must not be null.
+	 * 
+	 * @param epr the To field value.
+	 */
+	
+	public void setTo (EPR epr)
+	{
+		if (epr == null)
+			throw new IllegalArgumentException();
+		
+		_to = epr;
+	}
+	
+	/**
+	 * @return the To field.
+	 */
+	
+	public EPR getTo ()
+	{
+		return _to;
+	}
+	
+	/**
+	 * Set the From field. May be null.
+	 * 
+	 * @param from the value of the field.
+	 */
+	
+	public void setFrom (EPR from)
+	{
+		_from = from;
+	}
+	
+	/**
+	 * @return the From field.
+	 * @throws URISyntaxException thrown if the address is invalid.
+	 */
+	
+	public EPR getFrom ()
+	{
+		return _from;
+	}
+	
+	/**
+	 * Set the ReplyTo field. May be null.
+	 * 
+	 * @param replyTo the value of the field.
+	 */
+	
+	public void setReplyTo (EPR replyTo)
+	{
+		_replyTo = replyTo;
+	}
+	
+	/**
+	 * @return the ReplyTo field.
+	 * @throws URISyntaxException thrown if the address is invalid.
+	 */
+	
+	public EPR getReplyTo ()
+	{
+		return _replyTo;
+	}
+	
+	/**
+	 * Set the FaultTo field. May be null.
+	 * 
+	 * @param uri the value of the field.
+	 */
+	
+	public void setFaultTo (EPR uri)
+	{
+		_faultTo = uri;
+	}
+	
+	/**
+	 * @return the FaultTo field.
+	 */
+	
+	public EPR getFaultTo ()
+	{
+		return _faultTo;
+	}
+	
+	/**
+	 * Set the RelatesTo field.
+	 * 
+	 * @param uri the value to set.
+	 */
+	
+	public void setRelatesTo (URI uri)
+	{
+		_relatesTo = uri;
+	}
+	
+	/**
+	 * @return the RelatesTo field.
+	 */
+	
+	public URI getRelatesTo ()
+	{
+		return _relatesTo;
+	}
+	
+	/**
+	 * Set the Action field.
+	 * @param uri the value to set.
+	 */
+	
+	public void setAction (URI uri)
+	{
+		_action = uri;
+	}
+
+	/**
+	 * @return the Action field.
+	 */
+	public URI getAction ()
+	{
+		return _action;
+	}
+	
+	/**
+	 * Set the MessageId for this instance.
+	 * 
+	 * @param uri the value to use.
+	 */
+	
+	public void setMessageID (URI uri)
+	{
+		_messageID = uri;
+	}
+	
+	/**
+	 * @return the MessageID field.
+	 */
+	
+	public URI getMessageID ()
+	{
+		return _messageID;
+	}
+	
+	public final boolean empty ()
+	{
+		if ((_to == null) && (_from == null) && (_replyTo == null))
+		{
+			if ((_relatesTo == null) && (_faultTo == null) && (_action == null) && (_messageID == null))
+				return true;
+		}
+		
+		return false;
+	}
+	
+	/**
+	 * Copy the instance specified.
+	 * 
+	 * @param from the instance to copy.
+	 */
+	
+	public void copy (Call from)
+	{
+		Call fromImpl = (Call) from;
+		
+		_to = fromImpl._to;
+		_from = fromImpl._from;
+		_replyTo = fromImpl._replyTo;
+		_relatesTo = fromImpl._relatesTo;
+		_faultTo = fromImpl._faultTo;
+		_action = fromImpl._action;
+		_messageID = fromImpl._messageID;
+	}
+	
+//	public void setMetaData (MetaData md);
+//	public MetaData getMetaData ();
+//	public void addReferenceParameter (...);
+	
+	public String toString ()
+	{
+		return "To: "+_to+" From: "+_from+" ReplyTo: "+_replyTo+" FaultTo: "+_faultTo+" Action: "+_action+" MessagdID: "+_messageID;
+	}
+	
+	/**
+	 * This instance is valid if all mandatory elements are set.
+	 * 
+	 * @return <code>true</code> if all mandatory elements are set, <code>false</code> otherwise.
+	 */
+	
+	public boolean valid ()
+	{
+		if ((_to != null) && (_action != null))
+			return true;
+		else
+			return false;
+	}
+	
+	private EPR _to = null;
+	private EPR _from = null;
+	private EPR _faultTo = null;
+	private EPR _replyTo = null;
+	private URI _relatesTo = null;
+	private URI _action = null;
+	private URI _messageID = null;
+	
+} 
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/EPR.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/EPR.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/EPR.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,133 @@
+package org.jboss.soa.esb.addressing;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+import java.net.URI;
+
+/**
+ * The Endpoint Reference class. All services (and clients) can be represented by
+ * an EPR, which is effectively an address. If using SOA principles then the ultimate
+ * recipient of the message should be addressed in a loosely-coupled manner: the service
+ * should multiplex/demultiplex work across "objects" based on the message content and
+ * the EPR should not address a specific "object".
+ * 
+ * @author marklittle
+ *
+ */
+public class EPR
+{
+	/**
+	 * Create a new Endpoint Reference with a null address.
+	 */
+	
+	public EPR ()
+	{
+		_addr = new PortReference();
+	}
+	
+	/**
+	 * Create a new Endpoint Reference with the specified address.
+	 * 
+	 * @param addr the specified address.
+	 */
+	
+	public EPR (PortReference addr)
+	{
+		_addr = addr;
+	}
+
+	/**
+	 * Create a new Endpoint Reference with the specified address.
+	 * 
+	 * @param uri the specified address.
+	 */
+	
+	public EPR (URI uri)
+	{
+		_addr = new PortReference(uri.toString());
+	}
+	
+	/**
+	 * Override the address of this EPR.
+	 * 
+	 * @param uri the new address.
+	 */
+	
+	public void setAddr (PortReference uri)
+	{
+		_addr = uri;
+	}
+	
+	/**
+	 * Get the EPR address.
+	 * 
+	 * @return the address.
+	 */
+	
+	public PortReference getAddr ()
+	{
+		return _addr;
+	}
+
+	/**
+	 * Copy the contents of the specified EPR into this instance.
+	 * 
+	 * @param from the instance to copy.
+	 */
+	
+	public void copy (EPR from)
+	{
+		EPR fromImpl = (EPR) from;
+		
+		_addr = fromImpl._addr;
+	}
+	
+//	public void setMetaData (MetaData md);
+//	public MetaData getMetaData ();
+//	public void addReferenceParameter (...);
+	
+	public String toString ()
+	{
+		return "EPR: "+_addr;
+	}
+
+	public boolean equals (Object obj)
+	{
+		if (obj == this)
+			return true;
+		else
+		{
+			if (obj instanceof EPR)
+				return ((EPR) obj)._addr.equals(_addr);
+		}
+		
+		return false;
+	}
+	
+	private PortReference _addr;
+
+} 
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/MalformedEPRException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/MalformedEPRException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/MalformedEPRException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,51 @@
+package org.jboss.soa.esb.addressing;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Thrown if the EPR is not well formed, e.g., contains incorrect information.
+ */
+
+public class MalformedEPRException extends Exception
+{
+	public static final long serialVersionUID = 0xE;
+	
+	public MalformedEPRException()
+	{
+		super();
+	}
+
+	public MalformedEPRException(String s)
+	{
+		super(s);
+	}
+	
+	public MalformedEPRException(String s, Throwable ex)
+	{
+		super(s, ex);
+	}
+
+	public MalformedEPRException(Throwable ex)
+	{
+		super(ex);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/PortReference.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/PortReference.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/PortReference.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,396 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/*
+ * Copyright (c) 2002, 2003, Arjuna Technologies Limited.
+ *
+ * PortReference.java
+ */
+
+package org.jboss.soa.esb.addressing;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * An implementation of a WS-Addressing EPR. It needs completely rewriting after
+ * the interoperability workshop as it is not extensible. It's morphed with the changing WS-C/WS-T and
+ * WS-Addr specifications and their quirks; now that WS-Addr is finalized the
+ * old quirks no longer need to be supported so it's best to rewrite this from
+ * scratch.
+ * 
+ * An instance of a PortReference represents a single element in WS-A.
+ */
+
+public class PortReference
+{
+	public PortReference()
+	{
+	}
+
+	public PortReference(String address)
+	{
+		setAddress(address);
+	}
+
+	public void setAddress(String address)
+	{
+		_address = address;
+	}
+
+	public String getAddress()
+	{
+		return _address;
+	}
+
+	public void addExtension(PortReference.Extension extension)
+	{
+		_extensions.add(extension);
+	}
+
+	// all extensions are added as the Arjuna namespace.
+
+	public void addExtension(String value)
+	{
+		addExtension(XMLUtil.INSTANCE_IDENTIFIER_TAG, XMLUtil.JBOSSESB_PREFIX,
+				XMLUtil.JBOSSESB_NAMESPACE_URI, value,
+				Extension.REFERENCE_PROPERTIES);
+	}
+
+	public void addExtension(String tag, String value)
+	{
+		addExtension(tag, XMLUtil.JBOSSESB_PREFIX,
+				XMLUtil.JBOSSESB_NAMESPACE_URI, value,
+				Extension.REFERENCE_PROPERTIES);
+	}
+
+	/**
+	 * Define the tag, prefix and namespace URI for the extension value. The
+	 * parent is a refProperty.
+	 */
+
+	public void addExtension(String tag, String prefix, String uri, String value)
+	{
+		_extensions.add(new Extension(tag, prefix, uri, value,
+				Extension.REFERENCE_PROPERTIES));
+	}
+
+	/**
+	 * Define the tag, prefix and namespace URI for the extension value. The
+	 * parent field defines whether the attribute has a refParam, refProp or
+	 * neither as its parent.
+	 */
+
+	public void addExtension(String tag, String prefix, String uri,
+			String value, int parent)
+	{
+		_extensions.add(new Extension(tag, prefix, uri, value, parent));
+	}
+
+	// placeholders only
+
+	public void addPortType(String qName)
+	{
+	}
+
+	public void addServiceName(String portName, String qName)
+	{
+	}
+
+	public void addPolicy()
+	{
+	}
+
+	public String getExtensionValue(String tag)
+	{
+		String extensionValue = null;
+		Iterator iterator = _extensions.iterator();
+
+		while (iterator.hasNext() && (extensionValue == null))
+		{
+			Extension extension = (Extension) iterator.next();
+
+			if (tag.equals(extension.getTag()))
+				extensionValue = extension.getValue();
+		}
+
+		return extensionValue;
+	}
+
+	public Iterator getExtensions()
+	{
+		return _extensions.iterator();
+	}
+
+	public void clearExtensions()
+	{
+		_extensions.clear();
+	}
+
+	public String toString()
+	{
+		return "PortReference < " + _address + " >";
+	}
+
+	public String extendedToString()
+	{
+		String addr = "<" + XMLUtil.WSA_PREFIX + ":Address " + _address + "/>";
+
+		Iterator extensions = getExtensions();
+
+		while (extensions.hasNext())
+		{
+			Extension ext = (Extension) extensions.next();
+
+			addr += ", <" + XMLUtil.WSA_PREFIX + ":"
+					+ XMLUtil.REFERENCE_PROPERTIES_TAG + " " + ext.getPrefix()
+					+ ":" + ext.getTag() + " : " + ext.getValue() + "/>";
+		}
+
+		return "PortReference : " + addr;
+	}
+
+	/**
+	 * Is this object equal to the specified parameter?
+	 * 
+	 * @param rhs
+	 *            The rhs object.
+	 * @return true if the specified object is equal, false otherwise.
+	 */
+	public boolean equals(final Object rhs)
+	{
+		if ((rhs != null) && (rhs.getClass() == getClass()))
+		{
+			// This should really only include reference property extensions
+			final PortReference rhsPortReference = (PortReference) rhs;
+			return (equalsObject(_address, rhsPortReference._address)
+					&& equalsObject(_extensions, rhsPortReference._extensions)
+					&& equalsObject(_portType, rhsPortReference._portType)
+					&& equalsObject(_serviceName, rhsPortReference._serviceName) && equalsObject(
+					_policies, rhsPortReference._policies));
+		}
+		return false;
+	}
+
+	/**
+	 * Return the hash code for this object.
+	 * 
+	 * @return the hash code value.
+	 */
+	public int hashCode()
+	{
+		// Not checked for spread.
+		return (objectHashCode(_address, 0x1)
+				^ objectHashCode(_extensions, 0x2)
+				^ objectHashCode(_portType, 0x4)
+				^ objectHashCode(_serviceName, 0x8) ^ objectHashCode(_policies,
+				0x10));
+	}
+
+	public static class Extension
+	{
+		public static final int REFERENCE_PROPERTIES = 0;
+		public static final int REFERENCE_PARAMETERS = 1;
+		public static final int NEITHER = 2;
+
+		public Extension(String tag, String prefix, String uri)
+		{
+			this(tag, prefix, uri, null, REFERENCE_PROPERTIES);
+		}
+
+		public Extension(String tag, String prefix, String uri, String value)
+		{
+			this(tag, prefix, uri, value, REFERENCE_PROPERTIES);
+		}
+
+		public Extension(String tag, String prefix, String uri, String value,
+				int parent)
+		{
+			_tag = tag;
+			_prefix = prefix;
+			_uri = uri;
+			_value = value;
+			_parent = parent;
+			
+			/*
+			 * If XML was loaded via DOM1 then prefix and namespace won't work!
+			 */
+			
+			if (_uri == null)
+				_uri = XMLUtil.JBOSSESB_NAMESPACE_URI;
+			
+			if (_prefix == null)
+				_prefix = XMLUtil.JBOSSESB_PREFIX;
+			
+			if (_tag.contains(":"))
+			{
+				int colon = _tag.indexOf(':');
+				
+				_tag = _tag.substring(colon+1);
+			}
+		}
+
+		public int getParent()
+		{
+			return _parent;
+		}
+
+		public String getTag()
+		{
+			return _tag;
+		}
+
+		public String getPrefix()
+		{
+			return _prefix;
+		}
+
+		public String getURI()
+		{
+			return _uri;
+		}
+
+		public String getValue()
+		{
+			return _value;
+		}
+
+		public LinkedList getChildren()
+		{
+			return _extensions;
+		}
+
+		public HashMap getAttributes()
+		{
+			return _attributes;
+		}
+
+		public void addAttributes(HashMap props)
+		{
+			_attributes = props;
+		}
+
+		public void addChild(Extension child)
+		{
+			if (_extensions == null)
+				_extensions = new LinkedList<Extension>();
+
+			_extensions.add(child);
+		}
+
+		public String toString()
+		{
+			return new String("< " + _tag + ", " + _prefix + ", " + _uri + ", "
+					+ _value + " >");
+		}
+
+		/**
+		 * Is this object equal to the specified parameter (ignoring prefix)?
+		 * 
+		 * @param rhs
+		 *            The rhs object.
+		 * @return true if the specified object is equal, false otherwise.
+		 */
+		public boolean equals(final Object rhs)
+		{
+			if ((rhs != null) && (rhs.getClass() == getClass()))
+			{
+				final Extension rhsExtension = (Extension) rhs;
+				return (equalsObject(_tag, rhsExtension._tag)
+						&& equalsObject(_uri, rhsExtension._uri)
+						&& equalsObject(_value, rhsExtension._value)
+						&& equalsObject(_extensions, rhsExtension._extensions) && (_parent == rhsExtension._parent));
+			}
+			return false;
+		}
+
+		/**
+		 * Return the hash code for this object.
+		 * 
+		 * @return the hash code value.
+		 */
+		public int hashCode()
+		{
+			// Not checked for spread.
+			return (_parent ^ objectHashCode(_tag, 0x4)
+					^ objectHashCode(_uri, 0x8) ^ objectHashCode(_value, 0x10) ^ objectHashCode(
+					_extensions, 0x20));
+		}
+
+		private String _tag = null;
+
+		private String _prefix = null;
+
+		private String _uri = null;
+
+		private String _value = null;
+
+		private int _parent = NEITHER;
+
+		private LinkedList<Extension> _extensions = null;
+
+		private HashMap _attributes = null;
+
+	}
+
+	/**
+	 * Get the hash code from the object or use the default if null.
+	 * 
+	 * @param obj
+	 *            The object.
+	 * @param defaultHashCode
+	 *            The default hash code.
+	 * @return The hash code.
+	 */
+	static int objectHashCode(final Object obj, final int defaultHashCode)
+	{
+		return (obj == null ? defaultHashCode : obj.hashCode());
+	}
+
+	/**
+	 * Are the two objects equal?
+	 * 
+	 * @param lhs
+	 *            The lhs object.
+	 * @param rhs
+	 *            The rhs object.
+	 * @return true if equal or both null, false otherwise.
+	 */
+	static boolean equalsObject(final Object lhs, final Object rhs)
+	{
+		if (lhs == null)
+		{
+			return (rhs == null);
+		} else
+		{
+			return lhs.equals(rhs);
+		}
+	}
+
+	private String _address = null;
+	private LinkedList<Extension> _extensions = new LinkedList<Extension>();
+	private Extension _portType = null;
+	private Extension _serviceName = null;
+	private List _policies = null;
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/XMLUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/XMLUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/XMLUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,62 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/*
+ * Copyright (c) 2002, 2003, Arjuna Technologies Limited.
+ *
+ * XMLUtil.java
+ */
+
+package org.jboss.soa.esb.addressing;
+
+public class XMLUtil
+{
+    // WS-Addr
+
+    public static final String WSA_PREFIX = "wsa";
+    public static final String WSA_NAMESPACE_URI = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
+
+    public static final String ENDPOINT_REFERENCE_TAG   = "EndpointReference";
+    public static final String MESSAGE_IDENTIFIER_TAG   = "MessageID";
+    public static final String REFERENCE_PROPERTIES_TAG = "ReferenceProperties";
+    public static final String REFERENCE_PARAMETERS_TAG = "ReferenceParameters";
+    public static final String REPLY_TO_TAG             = "ReplyTo";
+    public static final String FROM_TAG            		= "From";
+
+    public static final String TO_TAG                   = "To";
+    public static final String ADDRESS_TAG              = "Address";
+    public static final String ACTION_TAG               = "Action";
+    public static final String RELATES_TO_TAG           = "RelatesTo";
+    public static final String FAULT_TO_TAG             = "FaultTo";
+    
+    // JBossESB
+
+    public static final String JBOSSESB_PREFIX        = "jbossesb";
+    public static final String JBOSSESB_NAMESPACE_URI = "http://schemas.jboss.com/ws/2007/01/jbossesb";
+
+    public static final String INSTANCE_IDENTIFIER_TAG = "InstanceIdentifier";
+
+    public static final String UNKNOWNERROR_ERROR_CODE = "UnknownError";
+    
+    // XML Namespace
+    public static final String XMLNS_URI = "http://www.w3.org/2000/xmlns/" ;
+    public static final String XMLNS_PREFIX = "xmlns:" ;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/EmailEpr.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/EmailEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/EmailEpr.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,225 @@
+package org.jboss.soa.esb.addressing.eprs;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.PortReference;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * A helper class for using email style EPRs. Simply create and use instances of
+ * this type.
+ * 
+ * @author marklittle
+ *
+ */
+public class EmailEpr extends EPR
+{  
+	public static final String DEFAULT_PORT = "25";
+	public static final String DEFAULT_USERNAME = "";
+	public static final String DEFAULT_PASSWORD = "";
+	
+	public static final String SMTP_PROTOCOL = "smtp";
+	public static final String POP_PROTOCOL = "pop";
+	
+	public static final String USERNAME_TAG = "username";
+	public static final String PASSWORD_TAG = "password";
+	
+	private static final String PROTOCOL_SEPARATOR = "://";
+	private static final String PORT_SEPARATOR = ":";
+	
+	public EmailEpr (EPR epr)
+	{
+		copy(epr);
+	}
+	
+	public EmailEpr (EPR epr, Element header)
+	{
+		copy(epr);
+		
+		NodeList nl = header.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			try
+			{
+				String prefix = nl.item(i).getPrefix();
+				String tag = nl.item(i).getLocalName();
+				
+				if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
+				{
+					if ((tag != null) && (tag.equals(USERNAME_TAG)))
+					{
+						getAddr().addExtension(USERNAME_TAG, nl.item(i).getTextContent());
+					}
+					else
+					{
+						if ((tag != null) && (tag.equals(PASSWORD_TAG)))
+							getAddr().addExtension(PASSWORD_TAG, nl.item(i).getTextContent());
+					}
+				}
+			}
+			catch (Exception ex)
+			{
+				ex.printStackTrace();
+			}
+		}
+	}
+	
+	/**
+	 * Create a new email EPR. The port number will be assumed to be 25,
+	 * and there are no values for username and password.
+	 * 
+	 * @param protocol the protocol to use.
+	 * @param host the host name.
+	 */
+	
+	public EmailEpr (String protocol, String host)
+	{
+		this(protocol, host, DEFAULT_PORT, DEFAULT_USERNAME, DEFAULT_PASSWORD);
+	}
+	
+	/**
+	 * Create a new email EPR.
+	 * 
+	 * @param protocol the protocol to use.
+	 * @param host the host name.
+	 * @param port the port to use.
+	 * @param username the username for sending/receiving.
+	 * @param password the password for sending/receiving.
+	 */
+	
+	public EmailEpr (String protocol, String host, String port, String username, String password)
+	{
+		// how many of these do we really need? modify accordingly.
+		
+		if ((protocol == null) || (host == null) || (port == null))
+			throw new IllegalArgumentException();
+		
+		if ((protocol.equals(SMTP_PROTOCOL) || (protocol.equals(POP_PROTOCOL))))
+		{
+			PortReference addr = new PortReference(protocol+PROTOCOL_SEPARATOR+host+PORT_SEPARATOR+port);
+			
+			if (username != null)
+				addr.addExtension(USERNAME_TAG, username);
+			
+			if (password != null)
+				addr.addExtension(PASSWORD_TAG, password);
+			
+			setAddr(addr);
+		}
+		else
+			throw new IllegalArgumentException("Invalid email protocol!");
+	}
+	
+	/**
+	 * @return the email protocol used.
+	 * @throws URISyntaxException thrown if the address is malformed.
+	 */
+	
+	public final String getProtocol () throws URISyntaxException
+	{
+		URI addr = new URI(getAddr().getAddress());
+		
+		return addr.getScheme();
+	}
+	
+	/**
+	 * @return the email host used.
+	 * @throws URISyntaxException thrown if the address is malformed.
+	 */
+	
+	public final String getHost () throws URISyntaxException
+	{	
+		URI addr = new URI(getAddr().getAddress());
+		
+		return addr.getHost();
+	}
+	
+	/**
+	 * @return the email port used, or -1 if not specified.
+	 * @throws URISyntaxException thrown if the address is malformed.
+	 */
+
+	public final int getPort () throws URISyntaxException
+	{
+		URI addr = new URI(getAddr().getAddress());
+		
+		return addr.getPort();
+	}
+	
+	/*
+	 * There are deliberately no setters for the values once the EPR is created.
+	 */
+	
+	/**
+	 * @return the password for this EPR, or <code>null</code> if none is set.
+	 * @throws URISyntaxException thrown if the address is malformed.
+	 */
+	
+	public final String getPassword () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(PASSWORD_TAG);
+	}
+	
+	/**
+	 * @return the username for this EPR, or <code>null</code> if none is set.
+	 * @throws URISyntaxException thrown if the address is malformed.
+	 */
+	
+	public final String getUserName () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(USERNAME_TAG);
+	}
+
+	public static final URI type ()
+	{
+	    return _type;
+	}
+	
+	private static URI _type;
+
+	static
+	{
+	    try
+		{
+		    _type = new URI("urn:jboss/esb/epr/type/email");
+		}
+		catch (Exception ex)
+		{
+		    ex.printStackTrace();
+		    
+		    throw new ExceptionInInitializerError(ex.toString());
+		}
+	}
+} 
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPEpr.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/FTPEpr.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,248 @@
+package org.jboss.soa.esb.addressing.eprs;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.PortReference;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * A helper class for using FTP style EPRs. Simply create instances of this
+ * class instead of the base EPR. Since URLs can use FTP, we try to leverage
+ * that as much as possible.
+ * 
+ * @author marklittle
+ *
+ */
+public class FTPEpr extends FileEpr
+{
+	public static final String USERNAME_TAG = "username";
+	public static final String PASSWORD_TAG = "password";
+	public static final String PASSIVE_TAG = "passive";
+	
+	public FTPEpr (EPR epr)
+	{
+		super(epr);
+		
+		copy(epr);
+	}
+	
+	public FTPEpr (EPR epr, Element header)
+	{
+		super(epr, header);
+		
+		copy(epr);
+		
+		NodeList nl = header.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			try
+			{
+				String prefix = nl.item(i).getPrefix();
+				String tag = nl.item(i).getLocalName();
+				
+				if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
+				{
+					if (tag != null)
+					{
+						if (tag.equals(USERNAME_TAG))
+							getAddr().addExtension(USERNAME_TAG, nl.item(i).getTextContent());
+						else
+						{
+							if (tag.equals(PASSWORD_TAG))
+								getAddr().addExtension(PASSWORD_TAG, nl.item(i).getTextContent());
+							else
+							{
+								if (tag.equals(PASSIVE_TAG))
+									getAddr().addExtension(PASSIVE_TAG, nl.item(i).getTextContent());
+							}
+						}
+					}
+				}
+			}
+			catch (Exception ex)
+			{
+				ex.printStackTrace();
+			}
+		}
+	}
+			
+	public FTPEpr (URL url) throws URISyntaxException
+	{
+		super(new URI(url.toString()));
+	}
+	
+	public FTPEpr (String url) throws URISyntaxException
+	{
+		super(new URI(url));
+	}
+
+	/**
+	 * Set the URL for this endpoint.
+	 * 
+	 * @param url the address.
+	 */
+	
+	public final void setURL (URL url)
+	{
+		super.setAddr(new PortReference(url.toString()));
+	}
+	
+	/**
+	 * Get the URL address.
+	 * 
+	 * @return the address.
+	 * @throws URISyntaxException thrown if the address is invalid.
+	 */
+	
+	public final URL getURL () throws MalformedURLException, URISyntaxException
+	{
+		return new URL(super.getAddr().getAddress());
+	}
+
+	/**
+	 * Set the username for this FTP EPR. In case it cannot be put in the URL.
+	 * 
+	 * @param username the user's name.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setUserName (String username) throws URISyntaxException
+	{
+		if (username == null)
+			throw new IllegalArgumentException();
+		
+		if (userSet)
+			throw new IllegalStateException("Username already set.");
+		
+		getAddr().addExtension(USERNAME_TAG, username);
+		userSet = true;
+	}
+	
+	/**
+	 * @return the user's name associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getUserName () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(USERNAME_TAG);
+	}
+	
+	/**
+	 * Set the password for this FTP EPR.
+	 * 
+	 * @param password the user's name.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setPassword (String password) throws URISyntaxException
+	{
+		if (password == null)
+			throw new IllegalArgumentException();
+		
+		if (passwordSet)
+			throw new IllegalStateException("Cannot change password");
+		
+		getAddr().addExtension(PASSWORD_TAG, password);
+		passwordSet = true;
+	}
+	
+	/**
+	 * @return the password associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getPassword () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(PASSWORD_TAG);
+	}
+	
+	/**
+	 * Passive FTP?
+	 * 
+	 * @param passive the value.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setPassive (boolean passive) throws URISyntaxException
+	{
+		if (passiveSet)
+			throw new IllegalStateException("Cannot change passive");
+		
+		if (passive)
+			getAddr().addExtension(PASSIVE_TAG, "true");
+		else
+			getAddr().addExtension(PASSIVE_TAG, "false");
+		
+		passiveSet = true;
+	}
+	
+	/**
+	 * @return the passive value associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final boolean getPassive () throws URISyntaxException
+	{
+		return "true".equals(getAddr().getExtensionValue(PASSIVE_TAG));
+	}
+	
+	
+	public static URI type ()
+	{
+	    return _type;
+	}
+
+	private boolean passwordSet = false;
+	private boolean userSet = false;
+	private boolean passiveSet = false;
+	
+	private static URI _type;
+	
+	static
+	{
+	    try
+		{
+		    _type = new URI("urn:jboss/esb/epr/type/ftp");
+		}
+		catch (Exception ex)
+		{
+		    ex.printStackTrace();
+		    
+		    throw new ExceptionInInitializerError(ex.toString());
+		}
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/FileEpr.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/FileEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/FileEpr.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,428 @@
+package org.jboss.soa.esb.addressing.eprs;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.PortReference;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * A helper class for using file based  EPRs. Simply create instances of this
+ * class instead of the base EPR. Since URLs can use file:// as the protocol, we try to leverage
+ * that as much as possible.
+ * 
+ * @author marklittle
+ *
+ */
+public class FileEpr extends EPR
+{
+	public static final String INPUT_SUFFIX_TAG = "inputSuffix";
+	public static final String WORK_SUFFIX_TAG 	= "workSuffix";
+	public static final String POST_DIR_TAG 	= "postDir";
+	public static final String POST_SUFFIX_TAG 	= "postSuffix";
+	public static final String POST_DEL_TAG 	= "postDelete";
+	public static final String ERROR_DIR_TAG 	= "errorDir";
+	public static final String ERROR_SUFFIX_TAG	= "errorSuffix";
+	public static final String ERROR_DEL_TAG 	= "errorDelete";
+	public static final String URL_TAG = "URL";
+	
+	public FileEpr (EPR epr)
+	{
+		copy(epr);
+	}
+	
+	public FileEpr (EPR epr, Element header)
+	{
+		copy(epr);
+		
+		NodeList nl = header.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			try
+			{
+				String prefix = nl.item(i).getPrefix();
+				String tag = nl.item(i).getLocalName();
+				
+				if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
+				{
+					if (tag != null)
+					{
+						if (tag.equals(INPUT_SUFFIX_TAG))
+							getAddr().addExtension(INPUT_SUFFIX_TAG, nl.item(i).getTextContent());
+						else
+						{
+							if (tag.equals(POST_DIR_TAG))
+								getAddr().addExtension(POST_DIR_TAG, nl.item(i).getTextContent());
+							else
+							{
+								if (tag.equals(POST_SUFFIX_TAG))
+									getAddr().addExtension(POST_SUFFIX_TAG, nl.item(i).getTextContent());
+								else
+								{
+									if (tag.equals(POST_DEL_TAG))
+										getAddr().addExtension(POST_DEL_TAG, nl.item(i).getTextContent());
+									else
+									{
+										if (tag.equals(ERROR_DIR_TAG))
+										{
+											getAddr().addExtension(ERROR_DIR_TAG, nl.item(i).getTextContent());
+										}
+										else
+										{
+											if (tag.equals((ERROR_SUFFIX_TAG)))
+												getAddr().addExtension(ERROR_SUFFIX_TAG, nl.item(i).getTextContent());
+											else
+											{
+												if (tag.equals((ERROR_DEL_TAG)))
+													getAddr().addExtension(ERROR_DEL_TAG, nl.item(i).getTextContent());
+											}
+										}
+									}
+								}
+							}
+						}	
+					}
+				}
+			}
+			catch (Exception ex)
+			{
+				ex.printStackTrace();
+			}
+		}
+	}
+
+	public FileEpr (URL url) throws URISyntaxException
+	{
+		super(new URI(url.toString()));
+	}
+	
+	public FileEpr (String url) throws URISyntaxException
+	{
+		super(new URI(url));
+	}
+
+	/**
+	 * Set the URL for this endpoint.
+	 * 
+	 * @param url the address.
+	 */
+	
+	public void setURL (URL url)
+	{
+		super.setAddr(new PortReference(url.toString()));
+	}
+	
+	/**
+	 * Get the URL address.
+	 * 
+	 * @return the address.
+	 * @throws URISyntaxException thrown if the address is invalid.
+	 */
+	
+	public URL getURL () throws MalformedURLException, URISyntaxException
+	{
+		return new URL(super.getAddr().getAddress());
+	}
+
+	/**
+	 * Set the file input suffix.
+	 * 
+	 * @param suffix the input suffix to use.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setInputSuffix (String suffix) throws URISyntaxException
+	{
+		if (suffix == null)
+			throw new IllegalArgumentException();
+		
+		if (inputSet)
+			throw new IllegalStateException("Input suffix already set.");
+		
+		getAddr().addExtension(INPUT_SUFFIX_TAG, suffix);
+		inputSet = true;
+	}
+	
+	/**
+	 * @return the input suffix associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getInputSuffix () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(INPUT_SUFFIX_TAG);
+	}
+	
+	/**
+	 * Set the work suffix for this EPR.
+	 * 
+	 * @param suffix the suffix to use.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setWorkSuffix (String suffix) throws URISyntaxException
+	{
+		if (suffix == null)
+			throw new IllegalArgumentException();
+		
+		if (workSet)
+			throw new IllegalStateException("Cannot change work suffix");
+		
+		getAddr().addExtension(WORK_SUFFIX_TAG, suffix);
+		workSet = true;
+	}
+	
+	/**
+	 * @return the work suffix associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getWorkSuffix () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(WORK_SUFFIX_TAG);
+	}
+	
+	/**
+	 * Set the post directory for this EPR.
+	 * 
+	 * @param dir the directory to use.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setPostDirectory (String dir) throws URISyntaxException
+	{
+		if (dir == null)
+			throw new IllegalArgumentException();
+		
+		if (postDirSet)
+			throw new IllegalStateException("Cannot change post directory");
+		
+		getAddr().addExtension(POST_DIR_TAG, dir);
+		postDirSet = true;
+	}
+	
+	/**
+	 * @return the post directory associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getPostDirectory () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(POST_DIR_TAG);
+	}
+	
+	/**
+	 * Set the post suffix for this EPR.
+	 * 
+	 * @param suffix the suffix to use.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setPostSuffix (String suffix) throws URISyntaxException
+	{
+		if (suffix == null)
+			throw new IllegalArgumentException();
+		
+		if (postSuffixSet)
+			throw new IllegalStateException("Cannot change post suffix");
+		
+		getAddr().addExtension(POST_SUFFIX_TAG, suffix);
+		postSuffixSet = true;
+	}
+	
+	/**
+	 * @return the post suffix associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getPostSuffix () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(POST_SUFFIX_TAG);
+	}
+	
+	/**
+	 * Set the post delete for this EPR.
+	 * 
+	 * @param del the deleted value to use.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setPostDelete (boolean del) throws URISyntaxException
+	{		
+		if (postDelSet)
+			throw new IllegalStateException("Cannot change post delete");
+		
+		if (del)
+			getAddr().addExtension(POST_DEL_TAG, "true");
+		else
+			getAddr().addExtension(POST_DEL_TAG, "false");
+		
+		postDelSet = true;
+	}
+	
+	/**
+	 * @return the delete vazlue associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final boolean getPostDelete () throws URISyntaxException
+	{
+		return ("true".equals(getAddr().getExtensionValue(POST_DEL_TAG)));
+	}
+		
+	/**
+	 * Set the error directory for this EPR.
+	 * 
+	 * @param dir the directory to use.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setErrorDirectory (String dir) throws URISyntaxException
+	{
+		if (dir == null)
+			throw new IllegalArgumentException();
+		
+		if (errorDirSet)
+			throw new IllegalStateException("Cannot change error directory");
+		
+		getAddr().addExtension(ERROR_DIR_TAG, dir);
+		errorDirSet = true;
+	}
+	
+	/**
+	 * @return the error directory associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getErrorDirectory () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(ERROR_DIR_TAG);
+	}
+	
+	/**
+	 * Set the error suffix for this EPR.
+	 * 
+	 * @param suffix the suffix to use.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setErrorSuffix (String suffix) throws URISyntaxException
+	{
+		if (suffix == null)
+			throw new IllegalArgumentException();
+		
+		if (errorSuffixSet)
+			throw new IllegalStateException("Cannot change error suffix");
+		
+		getAddr().addExtension(ERROR_SUFFIX_TAG, suffix);
+		errorSuffixSet = true;
+	}
+	
+	/**
+	 * @return the error suffix associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getErrorSuffix () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(ERROR_SUFFIX_TAG);
+	}
+	
+	/**
+	 * Set the error delete for this EPR. (invalid Message files will be deleted)
+	 * 
+	 * @param del the deleted value to use.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setErrorDelete (boolean del) throws URISyntaxException
+	{		
+		if (errorDelSet)
+			throw new IllegalStateException("Cannot change error delete");
+		
+		if (del)
+			getAddr().addExtension(ERROR_DEL_TAG, "true");
+		else
+			getAddr().addExtension(ERROR_DEL_TAG, "false");
+		
+		errorDelSet = true;
+	}
+	
+	/**
+	 * Attention - Default 
+	 * @return the error delete value associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final boolean getErrorDelete () throws URISyntaxException
+	{
+		return (! "false".equals(getAddr().getExtensionValue(ERROR_DEL_TAG)));
+	}
+		
+	public static URI type ()
+	{
+	    return _type;
+	}
+	
+	protected FileEpr (URI uri)
+	{
+		super(uri);
+	}
+
+	private boolean inputSet = false;
+	private boolean workSet = false;
+	private boolean postDirSet = false;
+	private boolean postSuffixSet = false;
+	private boolean postDelSet = false;
+	private boolean errorDirSet = false;
+	private boolean errorSuffixSet = false;
+	private boolean errorDelSet = false;
+	
+	private static URI _type;
+	
+	static
+	{
+	    try
+		{
+		    _type = new URI("urn:jboss/esb/epr/type/file");
+		}
+		catch (Exception ex)
+		{
+		    ex.printStackTrace();
+		    
+		    throw new ExceptionInInitializerError(ex.toString());
+		}
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/HTTPEpr.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/HTTPEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/HTTPEpr.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,111 @@
+package org.jboss.soa.esb.addressing.eprs;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.PortReference;
+import org.w3c.dom.Element;
+
+/**
+ * A helper class for using HTTP style EPRs. Simply create instances of this
+ * class instead of the base EPR.
+ * 
+ * @author marklittle
+ *
+ */
+public class HTTPEpr extends EPR
+{
+
+	public HTTPEpr (EPR epr)
+	{
+		copy(epr);
+	}
+	
+	public HTTPEpr (EPR epr, Element header)
+	{
+		copy(epr);
+	}
+	
+	public HTTPEpr (URL url) throws URISyntaxException
+	{
+		super(new URI(url.toString()));
+	}
+	
+	public HTTPEpr (String url) throws URISyntaxException
+	{
+		super(new URI(url));
+	}
+	
+	/**
+	 * Set the URL for this endpoint.
+	 * 
+	 * @param url the address.
+	 */
+	
+	public final void setURL (URL url)
+	{
+		super.setAddr(new PortReference(url.toString()));
+	}
+	
+	/**
+	 * Get the URL address.
+	 * 
+	 * @return the address.
+	 * @throws URISyntaxException thrown if the address is invalid.
+	 */
+	
+	public final URL getURL () throws MalformedURLException, URISyntaxException
+	{
+		return new URL(super.getAddr().getAddress());
+	}
+	
+	public static final URI type ()
+	{
+	    return _type;
+	}
+
+	private static URI _type;
+	
+	static
+	{
+	    try
+		{
+		    _type = new URI("urn:jboss/esb/epr/type/http");
+		}
+		catch (Exception ex)
+		{
+		    ex.printStackTrace();
+		    
+		    throw new ExceptionInInitializerError(ex.toString());
+		}
+	}
+} 
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JDBCEpr.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JDBCEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JDBCEpr.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,500 @@
+package org.jboss.soa.esb.addressing.eprs;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.PortReference;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * A helper class for using database style EPRs. Simply create instances of this
+ * class instead of the base EPR.
+ * 
+ * @author marklittle
+ *
+ */
+
+public class JDBCEpr extends EPR
+{
+	public static final String JDBC_PROTOCOL = "jdbc";
+	
+	public static final String USERNAME_TAG = "username";
+	public static final String PASSWORD_TAG = "password";
+	public static final String SQL_TAG = "sql";
+	public static final String DRIVER_TAG = "driver";
+	public static final String URL_TAG = "URL";
+
+	public static final String TABLE_NAME_TAG 			= "tablename";
+	public static final String MESSAGE_ID_COLUMN_TAG 	= "message_id_column";
+	public static final String STATUS_COLUMN_TAG 		= "status_column";
+	public static final String DATA_COLUMN_TAG 			= "message_column";
+	public static final String TIMESTAMP_COLUMN_TAG 	= "insert_timestamp_column";
+	public static final String POST_DEL_TAG				= "postDelete";
+	public static final String ERROR_DEL_TAG			= "errorDelete";
+	
+	public JDBCEpr (EPR epr)
+	{
+		copy(epr);
+	}
+	
+	public JDBCEpr (EPR epr, Element header)
+	{
+		copy(epr);
+		
+		NodeList nl = header.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			try
+			{
+				String prefix = nl.item(i).getPrefix();
+				String tag = nl.item(i).getLocalName();
+				
+				if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
+				{
+					if (tag != null)
+					{
+						if (tag.equals(USERNAME_TAG))
+							getAddr().addExtension(USERNAME_TAG, nl.item(i).getTextContent());
+						else
+						{
+							if (tag.equals(PASSWORD_TAG))
+								getAddr().addExtension(PASSWORD_TAG, nl.item(i).getTextContent());
+							else
+							{
+								if (tag.equals(SQL_TAG))
+									getAddr().addExtension(SQL_TAG, nl.item(i).getTextContent());
+								else
+								{
+									if (tag.equals(DRIVER_TAG))
+										getAddr().addExtension(DRIVER_TAG, nl.item(i).getTextContent());
+									else
+									{
+										if (tag.equals(URL_TAG))
+											getAddr().addExtension(URL_TAG, nl.item(i).getTextContent());
+										else
+										{
+											if (tag.equals(TABLE_NAME_TAG))
+												getAddr().addExtension(TABLE_NAME_TAG, nl.item(i).getTextContent());
+											else
+											{
+												if (tag.equals(MESSAGE_ID_COLUMN_TAG))
+													getAddr().addExtension(MESSAGE_ID_COLUMN_TAG, nl.item(i).getTextContent());
+												else
+												{
+													if (tag.equals(STATUS_COLUMN_TAG))
+														getAddr().addExtension(STATUS_COLUMN_TAG, nl.item(i).getTextContent());
+													else
+													{
+														if (tag.equals(DATA_COLUMN_TAG))
+															getAddr().addExtension(DATA_COLUMN_TAG, nl.item(i).getTextContent());
+														else
+														{
+															if (tag.equals(TIMESTAMP_COLUMN_TAG))
+																getAddr().addExtension(TIMESTAMP_COLUMN_TAG, nl.item(i).getTextContent());
+															else
+															{
+																if (tag.equals(POST_DEL_TAG))
+																	getAddr().addExtension(POST_DEL_TAG, nl.item(i).getTextContent());
+																else
+																{
+																	if (tag.equals(ERROR_DEL_TAG))
+																		getAddr().addExtension(ERROR_DEL_TAG, nl.item(i).getTextContent());
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+			catch (Exception ex)
+			{
+				ex.printStackTrace();
+			}
+		}
+	}			
+	
+	public JDBCEpr (String url, String sql) throws URISyntaxException
+	{
+		super(new URI(url));
+		
+		setSQL(sql);
+	}
+
+	public JDBCEpr (String url) throws URISyntaxException
+	{
+		this(url,true,true);
+	}
+
+	public JDBCEpr (String url, boolean postDelete, boolean errorDelete) throws URISyntaxException
+	{
+		super(new URI(url));
+		if (postDelete)
+			getAddr().addExtension(POST_DEL_TAG,Boolean.toString(postDelete));
+		if (errorDelete)
+			getAddr().addExtension(ERROR_DEL_TAG,Boolean.toString(errorDelete));
+	}
+
+	/**
+	 * Set the URL for this endpoint.
+	 * 
+	 * @param url the address.
+	 */
+	
+	public final void setURL (String url)
+	{
+		super.setAddr(new PortReference(url));
+	}
+	
+	/**
+	 * Get the URL address.
+	 * 
+	 * @return the address.
+	 * @throws URISyntaxException thrown if the address is invalid.
+	 */
+	
+	public final String getURL () throws URISyntaxException
+	{
+		return getAddr().getAddress();
+	}
+
+	/**
+	 * Set the username for this FTP EPR.
+	 * 
+	 * @param username the user's name.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setUserName (String username) throws URISyntaxException
+	{
+		if (username == null)
+			throw new IllegalArgumentException();
+		
+		if (userSet)
+			throw new IllegalStateException("Username already set.");
+		
+		getAddr().addExtension(USERNAME_TAG, username);
+		userSet = true;
+	}
+	
+	/**
+	 * @return the user's name associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getUserName () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(USERNAME_TAG);
+	}
+	
+	/**
+	 * Set the password for this FTP EPR.
+	 * 
+	 * @param password the user's name.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setPassword (String password) throws URISyntaxException
+	{
+		if (password == null)
+			throw new IllegalArgumentException();
+		
+		if (passwordSet)
+			throw new IllegalStateException("Password already set.");
+		
+		getAddr().addExtension(PASSWORD_TAG, password);
+		passwordSet = true;
+	}
+	
+	/**
+	 * @return the password associated with this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getPassword () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(PASSWORD_TAG);
+	}
+	
+	/**
+	 * Set the SQL command that is used by this EPR.
+	 * 
+	 * @param sql the statement.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setSQL (String sql) throws URISyntaxException
+	{
+		if (sql == null)
+			throw new IllegalArgumentException();
+		
+		if (sqlSet)
+			throw new IllegalStateException("SQL already set.");
+		
+		getAddr().addExtension(SQL_TAG, sql);
+		sqlSet = true;
+	}
+	
+	/**
+	 * @return the SQL statement for this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getSQL () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(SQL_TAG);
+	}
+	
+	/**
+	 * Set the driver that is used by this EPR.
+	 * 
+	 * @param driver the driver.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setDriver (String driver) throws URISyntaxException
+	{
+		if (driver == null)
+			throw new IllegalArgumentException();
+		
+		if (driverSet)
+			throw new IllegalStateException("Driver already set.");
+		
+		getAddr().addExtension(DRIVER_TAG, driver);
+		driverSet = true;
+	}
+	
+	/**
+	 * @return the driver used by this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getDriver () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(DRIVER_TAG);
+	}
+	
+	/**
+	 * Set the tablename that is used by this EPR.
+	 * 
+	 * @param tableName the table name.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setTableName (String tableName) throws URISyntaxException
+	{
+		if (tableName == null)
+			throw new IllegalArgumentException();
+		
+		if (tableNameSet)
+			throw new IllegalStateException("Table name already set.");
+		
+		getAddr().addExtension(TABLE_NAME_TAG, tableName);
+		tableNameSet = true;
+	}
+	
+	/**
+	 * @return the table name used by this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getTableName () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(TABLE_NAME_TAG);
+	}
+	
+	/**
+	 * Set the message id column name that is used by this EPR.
+	 * 
+	 * @param columnName the column name for the message ID.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setMessageIdColumn (String columnName) throws URISyntaxException
+	{
+		if (columnName == null)
+			throw new IllegalArgumentException();
+		
+		if (messageIdSet)
+			throw new IllegalStateException("Message Id column already set.");
+		
+		getAddr().addExtension(MESSAGE_ID_COLUMN_TAG, columnName);
+		messageIdSet = true;
+	}
+	
+	/**
+	 * @return the message id column used by this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getMessageIdColumn () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(MESSAGE_ID_COLUMN_TAG);
+	}
+	
+	/**
+	 * Set the status column that is used by this EPR.
+	 * 
+	 * @param statusColumn the status column.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setStatusColumn (String statusColumn) throws URISyntaxException
+	{
+		if (statusColumn == null)
+			throw new IllegalArgumentException();
+		
+		if (statusSet)
+			throw new IllegalStateException("Status column already set.");
+		
+		getAddr().addExtension(STATUS_COLUMN_TAG, statusColumn);
+		statusSet = true;
+	}
+	
+	/**
+	 * @return the status column name used by this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getStatusColumn () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(STATUS_COLUMN_TAG);
+	}
+	
+	/**
+	 * Set the column that is used by this EPR to store message data.
+	 * 
+	 * @param dataColumn the column name.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setDataColumn (String dataColumn) throws URISyntaxException
+	{
+		if (dataColumn == null)
+			throw new IllegalArgumentException();
+		
+		if (dataSet)
+			throw new IllegalStateException("Data column already set.");
+		
+		getAddr().addExtension(DATA_COLUMN_TAG, dataColumn);
+		dataSet = true;
+	}
+	
+	/**
+	 * @return the data column name used by this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getDataColumn () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(DATA_COLUMN_TAG);
+	}
+	
+	/**
+	 * Set the column that is used by this EPR to store timestamp when the message was inserted.
+	 * 
+	 * @param timeColumn the column name.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final void setTimestampColumn (String timeColumn) throws URISyntaxException
+	{
+		if (timeColumn == null)
+			throw new IllegalArgumentException();
+		
+		if (timestampSet)
+			throw new IllegalStateException("Timestamp column already set.");
+		
+		getAddr().addExtension(TIMESTAMP_COLUMN_TAG, timeColumn);
+		timestampSet = true;
+	}
+	
+	/**
+	 * @return the timestamp column name used by this EPR.
+	 * @throws URISyntaxException thrown if this EPR is malformed.
+	 */
+	
+	public final String getTimestampColumn () throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(TIMESTAMP_COLUMN_TAG);
+	}
+	
+	
+	public final String getPostDelete() throws URISyntaxException
+	{
+	    return getAddr().getExtensionValue(POST_DEL_TAG);
+	}
+	
+	public final String getErrorDelete() throws URISyntaxException
+	{
+	    return getAddr().getExtensionValue(ERROR_DEL_TAG);
+	}
+	
+	public static final URI type ()
+	{
+	    return _type;
+	}
+	
+	private boolean userSet = false;
+	private boolean passwordSet = false;
+	private boolean sqlSet = false;
+	private boolean driverSet = false;
+	private boolean tableNameSet = false;
+	private boolean messageIdSet = false;
+	private boolean statusSet = false;
+	private boolean dataSet = false;
+	private boolean timestampSet = false;
+	
+	private static URI _type;
+	
+	static
+	{
+	    try
+		{
+		    _type = new URI("urn:jboss/esb/epr/type/jdbc");
+		}
+		catch (Exception ex)
+		{
+		    ex.printStackTrace();
+		    
+		    throw new ExceptionInInitializerError(ex.toString());
+		}
+	}
+	
+} 
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/JMSEpr.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,367 @@
+package org.jboss.soa.esb.addressing.eprs;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.PortReference;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.jboss.soa.esb.helpers.NamingContext;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * A helper class for using JMS style EPRs. Simply create and use instances of
+ * this type.
+ * 
+ * @author marklittle
+ * 
+ */
+
+public class JMSEpr extends EPR
+{
+	public static final String JMS_PROTOCOL = "jms";
+
+	public static final String PROTOCOL_SEPARATOR = "://";
+
+	public static final String ONE_ONE_PROTOCOL = "1.1";
+
+	public static final String ONE_ZERO_TWO_PROTOCOL = "1.0.2b";
+
+	public static final String SPECIFICATION_VERSION_TAG = "specification-version";
+
+	public static final String DESTINATION_TYPE_TAG = "destination-type";
+
+	public static final String DESTINATION_NAME_TAG = "destination-name";
+
+	public static final String CONNECTION_FACTORY_TAG = "connection-factory";
+
+	public static final String JNDI_PKG_PREFIX_TAG = "jndi-pkg-prefix";
+
+	public static final String JNDI_URL_TAG = "jndi-URL";
+
+	public static final String JNDI_CONTEXT_FACTORY_TAG = "jndi-context-factory";
+
+	public static final String MESSAGE_SELECTOR_TAG = "message-selector";
+
+	public static final String QUEUE_TYPE = "queue";
+
+	public static final String TOPIC_TYPE = "topic";
+
+	public JMSEpr(EPR epr)
+	{
+		copy(epr);
+	}
+	
+	public JMSEpr(EPR epr, Element header)
+	{
+		copy(epr);
+		
+		NodeList nl = header.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			String prefix = nl.item(i).getPrefix();
+			String tag = nl.item(i).getLocalName();
+			
+			if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
+			{
+				if (tag != null)
+				{
+					if (tag.equals(SPECIFICATION_VERSION_TAG))
+						getAddr().addExtension(SPECIFICATION_VERSION_TAG, nl.item(i).getTextContent());
+					else
+					{
+						if (tag.equals(DESTINATION_NAME_TAG))
+							getAddr().addExtension(DESTINATION_NAME_TAG, nl.item(i).getTextContent());
+						else
+						{
+							if (tag.equals(CONNECTION_FACTORY_TAG))
+								getAddr().addExtension(CONNECTION_FACTORY_TAG, nl.item(i).getTextContent());
+							else
+							{
+								if (tag.equals(JNDI_CONTEXT_FACTORY_TAG))
+									getAddr().addExtension(JNDI_CONTEXT_FACTORY_TAG, nl.item(i).getTextContent());
+								else
+								{
+									if (tag.equals(JNDI_PKG_PREFIX_TAG))
+										getAddr().addExtension(JNDI_PKG_PREFIX_TAG, nl.item(i).getTextContent());
+									else
+									{
+										if (tag.equals(JNDI_URL_TAG))
+											getAddr().addExtension(JNDI_URL_TAG, nl.item(i).getTextContent());
+										else
+										{
+											if (tag.equals(MESSAGE_SELECTOR_TAG))
+												getAddr().addExtension(MESSAGE_SELECTOR_TAG, nl.item(i).getTextContent());
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Create a new JMS EPR. The protocol version is assumed to be 1.1. ,
+	 * jndi_type=jboss, jndi_url=localhost, messageSelector=null
+	 * 
+	 * @param destinationType
+	 *            the type of destination (queue/topic).
+	 * @param destinationName
+	 *            name of the queue/topic.
+	 * @param connection
+	 *            reference to the connection factory.
+	 */
+
+	public JMSEpr(String destinationType, String destinationName,
+			String connection)
+	{
+		this(ONE_ONE_PROTOCOL, destinationType, destinationName, connection,
+				NamingContext.JBOSS_PROVIDER_URL,
+				NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY, null, null);
+	}
+
+	/**
+	 * Create a new JMS EPR. The protocol version is assumed to be 1.1.
+	 * 
+	 * @param destinationType
+	 *            the type of destination (queue/topic).
+	 * @param destinationName
+	 *            name of the queue/topic.
+	 * @param connection
+	 *            reference to the connection factory.
+	 * @param jndiType
+	 *            reference to the type of jndi to obtain the JMS objects from
+	 * @param jndiUrl
+	 *            reference to the location of the jndi to obtain the JMS
+	 *            objects from
+	 * @param messageSelector
+	 *            reference to the connection factory.
+	 */
+
+	public JMSEpr(String destinationType, String destinationName,
+			String connection, String jndiUrl, String jndiContextFactory,
+			String jndiPkgPrefix, String messageSelector)
+	{
+		this(ONE_ONE_PROTOCOL, destinationType, destinationName, connection,
+				jndiUrl, jndiContextFactory, jndiPkgPrefix, messageSelector);
+	}
+
+	/**
+	 * Create a new JMS EPR.
+	 * 
+	 * @param protocol
+	 *            the protocol version.
+	 * @param destinationType
+	 *            the type of destination (queue/topic).
+	 * @param destinationName
+	 *            name of the queue/topic.
+	 * @param connection
+	 *            reference to the connection factory.
+	 * @param jndiType
+	 *            reference to the type of jndi to obtain the JMS objects from
+	 * @param jndiUrl
+	 *            reference to the location of the jndi to obtain the JMS
+	 *            objects from
+	 * @param messageSelector
+	 *            reference to the connection factory.
+	 */
+
+	public JMSEpr(String protocol, String destinationType,
+			String destinationName, String connection, String jndiUrl,
+			String jndiContextFactory, String jndiPkgPrefix,
+			String messageSelector)
+	{
+		// how many of these do we really need? modify accordingly.
+
+		if ((protocol == null) || (destinationType == null)
+				|| (destinationName == null) || (connection == null))
+			throw new IllegalArgumentException();
+
+		if (protocol.equals(ONE_ONE_PROTOCOL)
+				|| (protocol.equals(ONE_ZERO_TWO_PROTOCOL)))
+		{
+			if (destinationType.equals(QUEUE_TYPE)
+					|| destinationType.equals(TOPIC_TYPE))
+			{
+				PortReference addr = new PortReference(JMS_PROTOCOL
+						+ PROTOCOL_SEPARATOR + destinationType);
+
+				addr.addExtension(SPECIFICATION_VERSION_TAG, protocol);
+
+				if (destinationName != null)
+					addr.addExtension(DESTINATION_NAME_TAG, destinationName);
+
+				if (connection != null)
+					addr.addExtension(CONNECTION_FACTORY_TAG, connection);
+
+				if (jndiContextFactory != null)
+					addr.addExtension(JNDI_CONTEXT_FACTORY_TAG, jndiContextFactory);
+
+				if (jndiPkgPrefix != null)
+					addr.addExtension(JNDI_PKG_PREFIX_TAG, jndiPkgPrefix);
+
+				if (jndiUrl != null)
+					addr.addExtension(JNDI_URL_TAG, jndiUrl);
+
+				if (messageSelector != null)
+					addr.addExtension(MESSAGE_SELECTOR_TAG, messageSelector);
+
+				setAddr(addr);
+			}
+			else
+				throw new IllegalArgumentException("Invalid destination type! "+destinationType);
+		}
+		else
+			throw new IllegalArgumentException("Invalid specification version!");
+	}
+
+	/*
+	 * There are deliberately no setters for the values once the EPR is created.
+	 */
+
+	/**
+	 * @return the destination type used.
+	 * @throws URISyntaxException
+	 *             thrown if the address is malformed.
+	 */
+
+	public final String getDestinationType() throws URISyntaxException
+	{
+		URI uri = new URI(getAddr().getAddress());
+
+		return uri.getHost(); // ;-)
+	}
+
+	/**
+	 * @return the specification version used.
+	 * @throws URISyntaxException
+	 *             thrown if the address is malformed.
+	 */
+
+	public final String getVersion() throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(SPECIFICATION_VERSION_TAG);
+	}
+
+	/**
+	 * @return the destination name used.
+	 * @throws URISyntaxException
+	 *             thrown if the address is malformed.
+	 */
+
+	public final String getDestinationName() throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(DESTINATION_NAME_TAG);
+	}
+
+	/**
+	 * @return the connection factory for this EPR, or <code>null</code> if
+	 *         none is set.
+	 * @throws URISyntaxException
+	 *             thrown if the address is malformed.
+	 */
+
+	public final String getConnectionFactory() throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(CONNECTION_FACTORY_TAG);
+	}
+
+	/**
+	 * @return the jndi context factory for this EPR, or <code>null</code> if
+	 *         none is set.
+	 * @throws URISyntaxException
+	 *             thrown if the address is malformed.
+	 */
+
+	public final String getJndiContextFactory() throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(JNDI_CONTEXT_FACTORY_TAG);
+	}
+
+	/**
+	 * @return the jndi pkg prefix for this EPR, or <code>null</code> if none
+	 *         is set.
+	 * @throws URISyntaxException
+	 *             thrown if the address is malformed.
+	 */
+
+	public final String getJndiPkgPrefix() throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(JNDI_PKG_PREFIX_TAG);
+	}
+
+	/**
+	 * @return the jndi URL for this EPR, or <code>null</code> if none is set.
+	 * @throws URISyntaxException
+	 *             thrown if the address is malformed.
+	 */
+
+	public final String getJndiURL() throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(JNDI_URL_TAG);
+	}
+
+	/**
+	 * @return the message selector for this EPR, or <code>null</code> if none
+	 *         is set.
+	 * @throws URISyntaxException
+	 *             thrown if the address is malformed.
+	 */
+
+	public final String getMessageSelector() throws URISyntaxException
+	{
+		return getAddr().getExtensionValue(MESSAGE_SELECTOR_TAG);
+	}
+
+	public static final URI type()
+	{
+		return _type;
+	}
+
+	private static URI _type;
+
+	static
+	{
+		try
+		{
+			_type = new URI("urn:jboss/esb/epr/type/jms");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+
+			throw new ExceptionInInitializerError(ex.toString());
+		}
+	}
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/SFTPEpr.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/SFTPEpr.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/eprs/SFTPEpr.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,164 @@
+package org.jboss.soa.esb.addressing.eprs;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * This class represents the endpoint reference for services.
+ */
+
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+/**
+ * A helper class for using FTP style EPRs. Simply create instances of this
+ * class instead of the base EPR. Since URLs can use FTP, we try to leverage
+ * that as much as possible.
+ * 
+ * @author marklittle
+ * 
+ */
+public class SFTPEpr extends FTPEpr
+{
+	public static final String CERTIFICATE_TAG = "certificate";
+
+	public SFTPEpr(EPR epr)
+	{
+		super(epr);
+
+		copy(epr);
+	}
+	
+	public SFTPEpr (EPR epr, Element header)
+	{
+		super(epr, header);
+		
+		copy(epr);
+		
+		NodeList nl = header.getChildNodes();
+
+		for (int i = 0; i < nl.getLength(); i++)
+		{
+			String prefix = nl.item(i).getPrefix();
+			String tag = nl.item(i).getLocalName();
+			
+			try
+			{
+				if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
+				{
+					if ((tag != null) && (tag.equals(CERTIFICATE_TAG)))
+						getAddr().addExtension(CERTIFICATE_TAG, nl.item(i).getTextContent());
+				}
+			}
+			catch (Exception ex)
+			{
+				ex.printStackTrace();
+			}
+		}
+	}
+
+	public SFTPEpr(URL url) throws URISyntaxException
+	{
+		super(url);
+	}
+
+	public SFTPEpr(URL url, URL cert) throws URISyntaxException
+	{
+		super(url);
+		
+		setCertificateURL(cert);
+	}
+
+	public SFTPEpr(String url, String cert) throws URISyntaxException, MalformedURLException
+	{
+		super(url);	
+
+		setCertificateURL(new URL(cert));
+	}
+
+	/**
+	 * Set the Certificate URL for this endpoint.
+	 * 
+	 * @param url
+	 *            the address.
+	 * @throws URISyntaxException
+	 *             thrown if this EPR is malformed.
+	 */
+
+	public final void setCertificateURL(URL cert) throws URISyntaxException
+	{
+		if (cert == null)
+			throw new IllegalArgumentException();
+
+		if (certificateSet)
+			throw new IllegalStateException("Certificate URL already set.");
+
+		getAddr().addExtension(CERTIFICATE_TAG, cert.toString());
+		certificateSet = true;
+	}
+
+	/**
+	 * @return the certificate URL for this EPR.
+	 * @throws URISyntaxException
+	 *             thrown if this EPR is malformed.
+	 */
+
+	public final URL getCertificateURL () throws URISyntaxException,
+			MalformedURLException
+	{
+		String cert = getAddr().getExtensionValue(CERTIFICATE_TAG);
+
+		if (cert != null)
+			return new URL(cert);
+		else
+			return null;
+	}
+
+	public static URI type ()
+	{
+		return _type;
+	}
+
+	private boolean certificateSet = false;
+
+	private static URI _type;
+
+	static
+	{
+		try
+		{
+			_type = new URI("urn:jboss/esb/epr/type/sftp");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+
+			throw new ExceptionInInitializerError(ex.toString());
+		}
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/EPRManager.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/EPRManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/EPRManager.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,226 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+
+package org.jboss.soa.esb.addressing.util;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Hashtable;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.jboss.internal.soa.esb.addressing.helpers.EPRHelper;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+
+/**
+ * Allows EPRs to be saved to and loaded from files. Mainly for testing
+ * purposes. This version assumes XML as the output format.
+ * 
+ * @author marklittle
+ * 
+ */
+
+public class EPRManager
+{
+
+	/**
+	 * All EPRs are saves in files within the current working directory.
+	 * 
+	 * @return the manager for the cwd.
+	 */
+
+	public static final EPRManager getInstance()
+	{
+		return getInstance("");
+	}
+
+	/**
+	 * All EPRs are saves in files within a defined directory. Get the right
+	 * manager for that directory.
+	 * 
+	 * @param domain
+	 *            the name of the directory. If <code>null</code> then the
+	 *            null String is assumed.
+	 * @return the manager for the directory. If it does not exist, then one
+	 *         will be created.
+	 */
+
+	public static final EPRManager getInstance(String domain)
+	{
+		if (domain == null)
+			domain = "";
+
+		synchronized (_instances)
+		{
+			EPRManager theInstance = _instances.get(domain);
+
+			if (theInstance == null)
+			{
+				theInstance = new EPRManager(domain);
+
+				_instances.put(domain, theInstance);
+			}
+
+			return theInstance;
+		}
+	}
+
+	public final String getDomain()
+	{
+		return _directory;
+	}
+
+	public boolean equals(Object manager)
+	{
+		if (manager instanceof EPRManager)
+		{
+			EPRManager comp = (EPRManager) manager;
+
+			if (_directory.equals(comp.getDomain()))
+				return true;
+		}
+
+		return false;
+	}
+
+	/**
+	 * Save the EPR into the specified file.
+	 * 
+	 * @param name
+	 *            the name of the file to use (the logical service name).
+	 * @param address
+	 *            the EPR to save.
+	 * 
+	 * @throws IOException
+	 *             thrown if there is an error.
+	 */
+
+	public final void saveEPR(String name, EPR address) throws IOException
+	{
+		if ((name == null) || (address == null))
+			throw new IllegalArgumentException();
+
+		try
+		{
+			String documentAsString = EPRHelper.toXMLString(address);
+
+			FileOutputStream output = new FileOutputStream(_directory
+					+ File.separator + name);
+
+			output.write(documentAsString.getBytes());
+			output.flush();
+			output.getFD().sync(); // make sure it's on disk!
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+		}
+	}
+
+	/**
+	 * Remove the EPR-to-file association.
+	 * 
+	 * @param name
+	 *            the logical name for the service.
+	 * @throws IOException
+	 *             thrown if there are any errors.
+	 */
+
+	public final void removeEPR(String name) throws IOException
+	{
+		if (name == null)
+			throw new IllegalArgumentException();
+
+		File theFile = new File(_directory + File.separator + name);
+
+		if (theFile.exists())
+			theFile.delete();
+		else
+			throw new FileNotFoundException();
+	}
+
+	/**
+	 * Get the EPR specified by the logical name.
+	 * 
+	 * @param name
+	 *            the service name.
+	 * @return the EPR, or <code>null</code> if none exists.
+	 * @throws IOException
+	 *             thrown if there is an error.
+	 */
+
+	public final EPR loadEPR(String name) throws IOException
+	{
+		if (name == null)
+			throw new IllegalArgumentException();
+
+		File theFile = new File(_directory + File.separator + name);
+
+		try
+		{
+			if (theFile.exists())
+			{
+				DocumentBuilderFactory factory = DocumentBuilderFactory
+						.newInstance();
+				
+				factory.setNamespaceAware(true);
+				
+				DocumentBuilder builder = factory.newDocumentBuilder();
+				Document doc = builder.parse(theFile);
+				Element rootElement = doc.getDocumentElement();
+
+				return EPRHelper.fromXML(rootElement);
+			}
+			else
+				throw new FileNotFoundException(theFile.toString());
+		}
+		catch (UnmarshalException ex)
+		{
+			throw new IOException(ex.toString());
+		}
+		catch (SAXException ex)
+		{
+			throw new IOException(ex.toString());
+		}
+		catch (ParserConfigurationException ex)
+		{
+			throw new IllegalArgumentException(ex.toString());
+		}
+	}
+
+	protected EPRManager(String domain)
+	{
+		_directory = domain;
+	}
+
+	private String _directory;
+
+	private static Hashtable<String, EPRManager> _instances = new Hashtable<String, EPRManager>();
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Configuration.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Configuration.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Configuration.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,362 @@
+/*
+ * 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.common;
+
+import javax.jms.ConnectionFactory;
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.helpers.NamingContext;
+
+public class Configuration
+{
+	private static KeyValuePair[] s_oaKV = new KeyValuePair[]
+	{
+			new KeyValuePair(Environment.SMTP_HOST, 					getSmtpHost()),
+			new KeyValuePair(Environment.SMTP_USERNAME, 				getSmtpUsername()),
+			new KeyValuePair(Environment.SMTP_PASSWORD, 				getSmtpPassword()),
+			new KeyValuePair(Environment.SMTP_PORT, 					getSmtpPort()),
+			new KeyValuePair(Environment.SMTP_FROM, 					getSmtpFrom()),
+			new KeyValuePair(Environment.SMTP_AUTH, 					getSmtpAuth()),
+			new KeyValuePair(Environment.JNDI_SERVER_URL, 				getJndiServerURL()),
+			new KeyValuePair(Environment.JNDI_SERVER_CONTEXT_FACTORY,   getJndiServerContextFactory()),
+			new KeyValuePair(Environment.JNDI_SERVER_PKG_PREFIX, 	    getJndiServerPkgPrefix()),
+			new KeyValuePair(Environment.REGISTRY_QUERY_MANAGER_URI, 	getRegistryQueryManageURI()),
+			new KeyValuePair(Environment.REGISTRY_LIFECYCLE_MANAGER_URI,getRegistryLifecycleManagerURI()),
+			new KeyValuePair(Environment.REGISTRY_IMPEMENTATION_CLASS,  getRegistryImplementationClass()),
+			new KeyValuePair(Environment.REGISTRY_FACTORY_CLASS, 		getRegistryFactoryClass()),
+			new KeyValuePair(Environment.REGISTRY_USER, 				getRegistryUser()),
+			new KeyValuePair(Environment.REGISTRY_PASSWORD, 			getRegistryPassword()),
+			new KeyValuePair(Environment.REGISTRY_SCOUT_TRANSPORT_CLASS,getRegistryScoutTransportClass()),
+			new KeyValuePair(Environment.PARAMS_REPOS_IMPL_CLASS,		getParamRepositoryImplClass()),
+			new KeyValuePair(Environment.OBJECT_STORE_CONFIG_FILE, 		getObjStoreConfigFile()),
+			new KeyValuePair(Environment.ENCRYPT_FACTORY_CLASS, 		getEncryptionFactoryClass()),
+			new KeyValuePair(Environment.DB_DRIVER, 					getDbDriver()),
+			new KeyValuePair(Environment.DB_URL, 						getDbUrl()),
+			new KeyValuePair(Environment.DB_USER, 						getDbUser()),
+			new KeyValuePair(Environment.DB_PASSWORD, 					getDbPassword()),
+			new KeyValuePair(Environment.MSG_STORE_DB_CONNECTION_URL, 	getStoreUrl()),
+			new KeyValuePair(Environment.MSG_STORE_DB_JDBC_DRIVER, 		getStoreDriver()),
+			new KeyValuePair(Environment.MSG_STORE_DB_CONNECTION_USER, 	getStoreUser()),
+			new KeyValuePair(Environment.MSG_STORE_DB_CONNECTION_PWD, 	getStorePwd()),
+			new KeyValuePair(Environment.MSG_STORE_DB_POOL_MIN_SIZE, 	getStorePoolMinSize()),
+			new KeyValuePair(Environment.MSG_STORE_DB_POOL_MAX_SIZE, 	getStorePoolMaxSize()),
+			new KeyValuePair(Environment.MSG_STORE_DB_POOL_INITIAL_SIZE,getStorePoolInitialSize()),
+			new KeyValuePair(Environment.MSG_STORE_DB_POOL_TEST_TABLE,  getStorePoolTestTable()),
+			new KeyValuePair(Environment.MSG_STORE_DB_POOL_TIMEOUT_MILLIS,getStorePoolTimeoutMillis()),
+			new KeyValuePair(Environment.MSG_STORE_CONN_FACTORY			 ,getStoreConnectionFactory()),
+			new KeyValuePair(Environment.ROUTER_CBR_CLASS,               getContentBasedRouterImplementationClass())
+	};
+
+	public static String dump()
+	{
+		StringBuilder sb = new StringBuilder("Dump of SystemProperties:\n");
+		for (KeyValuePair oCurr : s_oaKV)
+		{
+			sb.append(oCurr.getKey()).append("=").append(oCurr.getValue())
+					.append("\n");
+		}
+		return sb.append("______________________________________").toString();
+	} // ________________________________
+
+	public static String getSmtpHost()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.SMTP_HOST, Environment.DEFAULT_HOST);
+	}
+
+	public static String getSmtpUsername()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.SMTP_USERNAME,
+				Environment.DEFAULT_USERNAME);
+	}
+
+	public static String getSmtpPassword()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.SMTP_PASSWORD,
+				Environment.DEFAULT_PASSWORD);
+	}
+
+	public static String getSmtpPort()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.SMTP_PORT, Environment.DEFAULT_PORT);
+	}
+
+	public static String getSmtpFrom()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.SMTP_FROM);
+	}
+
+	public static String getSmtpAuth()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).getProperty(Environment.SMTP_AUTH);
+	}
+
+	public static String getJndiServerURL()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperty(Environment.JNDI_SERVER_URL,
+				Environment.DEFAULT_HOST);
+	}
+	
+	public static String getJndiServerContextFactory()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperty(Environment.JNDI_SERVER_CONTEXT_FACTORY,
+				Environment.DEFAULT_JNDI_CONTEXT_FACTORY);
+	}
+	
+	public static String getJndiServerPkgPrefix()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperty(Environment.JNDI_SERVER_PKG_PREFIX,
+				Environment.DEFAULT_JNDI_PKG_PREFIX);
+	}
+	/**
+	 * The Registry Query Manager URI can be used to obtain information about services and their endPoints.
+	 * @return Registry Query Manager URI String
+	 */
+	public static String getRegistryQueryManageURI()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.REGISTRY_MODULE).getProperty(Environment.REGISTRY_QUERY_MANAGER_URI);
+	}
+	/**
+	 * The Registry Lifecycle Manager URI can be use to publish services.
+	 * @return Registry Lifecycle Manager URI String
+	 */
+	public static String getRegistryLifecycleManagerURI()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.REGISTRY_MODULE).getProperty(Environment.REGISTRY_LIFECYCLE_MANAGER_URI);
+	}
+	/**
+	 * The Registry Factory Class setting specifies which JAXR implementation should be used.
+	 * @return Registry Factory Class String
+	 */
+	public static String getRegistryFactoryClass()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.REGISTRY_MODULE).getProperty(Environment.REGISTRY_FACTORY_CLASS);
+	}
+	/**
+	 * The Registry Implememtation Class defines wrapper class
+	 * @return Registry Implementation Class String
+	 */
+	public static String getRegistryImplementationClass()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.REGISTRY_MODULE).getProperty(Environment.REGISTRY_IMPEMENTATION_CLASS);
+	}
+	/**
+	 * The Registry Scout Transport Class defines which communication protocol Scout should use to communicate
+	 * with the UDDI registry. Note that this parameter is Scout specific.
+	 * @return Registry Scout Transport Class String
+	 */
+	public static String getRegistryScoutTransportClass()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.REGISTRY_MODULE).getProperty(Environment.REGISTRY_SCOUT_TRANSPORT_CLASS);
+	}
+	/**
+	 * The Registry User is used to inquire and publish to the Registry.
+	 * @return Registry User String
+	 */
+	public static String getRegistryUser()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.REGISTRY_MODULE).getProperty(Environment.REGISTRY_USER);
+	}
+	/**
+	 * The Registry Password that goes with the Registry User.
+	 * @return Registry Password String
+	 */
+	public static String getRegistryPassword()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.REGISTRY_MODULE).getProperty(Environment.REGISTRY_PASSWORD);
+	}
+	
+	public static String getParamRepositoryImplClass()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperty(Environment.PARAMS_REPOS_IMPL_CLASS);
+	}
+
+	public static String getObjStoreConfigFile()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperty(Environment.OBJECT_STORE_CONFIG_FILE);
+		return property;
+	}
+
+	public static String getEncryptionFactoryClass()
+	{
+		return ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperty(Environment.ENCRYPT_FACTORY_CLASS,
+				org.jboss.soa.esb.services.DefaultEncryptionFactory.class
+						.getName());
+	}
+	
+	public static String getDbDriver()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE).getProperty(Environment.DB_DRIVER);
+		return property;
+	}
+	
+	public static String getDbUrl()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE).getProperty(Environment.DB_URL);
+		return property;
+	}
+	
+	public static String getDbUser()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE).getProperty(Environment.DB_USER);
+		return property;
+	}
+	
+	public static String getDbPassword()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE).getProperty(Environment.DB_PASSWORD);
+		return property;
+	}
+	
+	public static String getStoreUrl()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_CONNECTION_URL);
+		return property;
+	}
+	
+	public static String getStoreDriver()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_JDBC_DRIVER);
+		return property;
+	}	
+	
+	public static String getStorePwd()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_CONNECTION_PWD);
+		return property;
+	}
+	
+	public static String getStoreUser()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_CONNECTION_USER);
+		return property;
+	}
+	
+	public static String getStorePoolInitialSize()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_POOL_INITIAL_SIZE);
+		return property;
+	}
+	
+	public static String getStorePoolMinSize()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_POOL_MIN_SIZE);
+		return property;
+	}
+	
+	public static String getStorePoolMaxSize()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_POOL_MAX_SIZE);
+		return property;
+	}
+	
+	public static String getStorePoolTestTable()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_POOL_TEST_TABLE);
+		return property;
+	}
+	
+	public static String getStorePoolTimeoutMillis()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.DBSTORE_MODULE).getProperty(Environment.MSG_STORE_DB_POOL_TIMEOUT_MILLIS);
+		return property;
+	}
+	
+	public static String getStoreConnectionFactory()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperty(Environment.MSG_STORE_CONN_FACTORY);
+		return property;
+	}
+	
+	public static String getContentBasedRouterImplementationClass()
+	{
+		String property = ModulePropertyManager.getPropertyManager(ModulePropertyManager.ROUTER_MODULE).getProperty(Environment.ROUTER_CBR_CLASS);
+		return property;
+	}
+	
+	/**
+	 * Construct a naming context based on the connection details outlined
+	 * in the named configuration module/section.
+	 * <p/>
+	 * The module/section parameters are:
+	 * <ol>
+	 * 	<li><b>{@link Context#PROVIDER_URL}</b>: Value defaults to "{@link NamingContext#JBOSS_PROVIDER_URL}".</li>
+	 * 	<li><b>{@link Context#INITIAL_CONTEXT_FACTORY}</b>: Value defaults to "{@link NamingContext#JBOSS_INITIAL_CONTEXT_FACTORY}".</li>
+	 * 	<li><b>{@link Context#URL_PKG_PREFIXES}</b>: Value defaults to "{@link NamingContext#JBOSS_URL_PKG_PREFIX}".</li>
+	 * </ol>
+	 * 
+	 * @param contextModuleName Conficuration module/section name.
+	 * @return The context instance.
+	 * @throws ConfigurationException Unable to connect to context.
+	 */
+	public static Context getNamingContext(String contextModuleName) throws ConfigurationException {
+		String providerUrl = ModulePropertyManager.getPropertyManager(contextModuleName).getProperty(Context.PROVIDER_URL, NamingContext.JBOSS_PROVIDER_URL);
+		String initialContextFactory = ModulePropertyManager.getPropertyManager(contextModuleName).getProperty(Context.INITIAL_CONTEXT_FACTORY, NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY);
+		String urlPackagePrefix = ModulePropertyManager.getPropertyManager(contextModuleName).getProperty(Context.URL_PKG_PREFIXES, NamingContext.JBOSS_URL_PKG_PREFIX);
+		Context context;
+		
+		context = NamingContext.getServerContext(providerUrl, initialContextFactory, urlPackagePrefix);
+		if(context == null) {
+			// Would be nice if NamingContext.getServerContext threw an exception with
+			// details attached.
+			throw new ConfigurationException("Failed to JNDI context [" + contextModuleName + "].");
+		}
+		
+		return context;
+	}
+	
+	/**
+	 * Lookup the JMS Connection Factory based on the connection details outlined
+	 * in the named configuration module/section.
+	 * <p/>
+	 * The module/section parameters are:
+	 * <ol>
+	 * 	<li><b>{@link Context#PROVIDER_URL}</b>: Value defaults to "{@link NamingContext#JBOSS_PROVIDER_URL}".</li>
+	 * 	<li><b>{@link Context#INITIAL_CONTEXT_FACTORY}</b>: Value defaults to "{@link NamingContext#JBOSS_INITIAL_CONTEXT_FACTORY}".</li>
+	 * 	<li><b>{@link Context#URL_PKG_PREFIXES}</b>: Value defaults to "{@link NamingContext#JBOSS_URL_PKG_PREFIX}".</li>
+	 * 	<li><b>javax.jms.ConnectionFactory</b>: Value defaults to "".</li>
+	 * </ol>
+	 * 
+	 * @param jmsConnectionFactoryModuleName Configuration module/section name.
+	 * @return The JMS ConnectionFactory instance.
+	 * @throws ConfigurationException Lookup failed either because it was unable to 
+	 * lookup the context, or the ConnectionFactory lookup failed.
+	 */
+	public static ConnectionFactory getJmsConnectionFactory(String jmsConnectionFactoryModuleName) throws ConfigurationException {
+		Context context = getNamingContext(jmsConnectionFactoryModuleName);
+		String connectionFactoryRuntime = ModulePropertyManager.getPropertyManager(jmsConnectionFactoryModuleName).getProperty(ConnectionFactory.class.getName(), "ConnectionFactory");
+		ConnectionFactory factory = null;
+		
+		try {
+			factory = (ConnectionFactory) context.lookup(connectionFactoryRuntime);
+		} catch (NamingException e) {
+			throw new ConfigurationException("JNDI lookup of JMS Connection Factory [" + connectionFactoryRuntime + "] failed.", e);
+		} catch (ClassCastException e) {
+			throw new ConfigurationException("JNDI lookup of JMS Connection Factory failed.  Class [" + connectionFactoryRuntime + "] is not an instance of [" + ConnectionFactory.class.getName() + "].", e);
+		}
+		
+		return factory;
+	}
+}
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Configuration.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Environment.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Environment.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Environment.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,123 @@
+/*
+ * 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.common;
+
+public class Environment
+{
+	public static final String PROPERTIES_FILE = "org.jboss.soa.esb.propertyFile";
+	
+	/*
+	 * Transport specific properties.
+	 */
+	
+	public static final String SMTP_HOST     = "org.jboss.soa.esb.mail.smtp.host";
+	public static final String SMTP_USERNAME = "org.jboss.soa.esb.mail.smtp.user";
+	public static final String SMTP_PASSWORD = "org.jboss.soa.esb.mail.smtp.password";
+	public static final String SMTP_PORT     = "org.jboss.soa.esb.mail.smtp.port";
+	public static final String SMTP_FROM     = "org.jboss.soa.esb.mail.smtp.from";
+	public static final String SMTP_AUTH     = "org.jboss.soa.esb.mail.smtp.auth";
+	
+	public static final String FTP_LOCALDIR  = "org.jboss.soa.esb.ftp.localdir";
+	public static final String FTP_REMOTEDIR = "org.jboss.soa.esb.ftp.remotedir";
+	
+	/*
+	 * Code properties
+	 */
+	public static final String JNDI_SERVER_URL                = "org.jboss.soa.esb.jndi.server.url";
+	public static final String JNDI_SERVER_CONTEXT_FACTORY    = "org.jboss.soa.esb.jndi.server.context.factory";
+	public static final String JNDI_SERVER_PKG_PREFIX         = "org.jboss.soa.esb.jndi.server.pkg.prefix";
+	public static final String PARAMS_REPOS_IMPL_CLASS        = "org.jboss.soa.esb.paramsRepository.class";
+	public static final String OBJECT_STORE_CONFIG_FILE       = "org.jboss.soa.esb.objStore.configFile";
+	public static final String ENCRYPT_FACTORY_CLASS          = "org.jboss.soa.esb.encryption.factory.class";
+	/** 
+	 * The Registry Query Manager URI defines the endPoint where registry queries can be made. 
+	 */
+	public static final String REGISTRY_QUERY_MANAGER_URI     = "org.jboss.soa.esb.registry.queryManagerURI";
+	/** 
+	 * The Registry Lifecycle Manager URI defines the endPoint where service information can be published to.
+	 */
+	public static final String REGISTRY_LIFECYCLE_MANAGER_URI = "org.jboss.soa.esb.registry.lifeCycleManagerURI";
+    /**
+     * The Registry Implementation class, a light wrapper class.
+     */
+	public static final String REGISTRY_IMPEMENTATION_CLASS = "org.jboss.soa.esb.registry.implementationClass";
+	/** 
+	 * The Registry Factory Class setting specifies which JAXR implementation should be used.
+	 */
+	public static final String REGISTRY_FACTORY_CLASS         = "org.jboss.soa.esb.registry.factoryClass";
+	/**
+	 * The user used to query and publish to the registry.
+	 */
+	public static final String REGISTRY_USER                  = "org.jboss.soa.esb.registry.user";
+	/**
+	 * The password for the registry user.
+	 */
+	public static final String REGISTRY_PASSWORD              = "org.jboss.soa.esb.registry.password";
+	/** 
+	 * The Registry Scout Transport Class property defines which communication protocol Scout should use to communicate
+	 * with the UDDI registry. Note that this parameter is Scout specific.
+	 */
+	public static final String REGISTRY_SCOUT_TRANSPORT_CLASS = "org.jboss.soa.esb.scout.proxy.transportClass";
+	/** 
+	 * Property that holds directory to use with the helper EPRManager class.
+	 */
+	public static final String REGISTRY_FILE_HELPER_DIR       = "org.jboss.soa.esb.registry.file.directory";
+	/**
+	 * The Content Based Router class property declares which CBR Implementation should be used.
+	 */
+	public static final String ROUTER_CBR_CLASS               = "org.jboss.soa.esb.routing.cbrClass";
+	/*
+	 * Connection specific properties
+	 */
+	public static String DB_DRIVER = "org.jboss.esb.db.driver";
+	public static String DB_URL = "org.jboss.esb.db.url";
+	public static String DB_USER = "org.jboss.esb.db.user";
+	public static String DB_PASSWORD = "org.jboss.esb.db.password";
+	
+	/*
+	 * Some default values.
+	 */
+	public static final String DEFAULT_PROPERTY_FILE                  = "jbossesb-properties.xml";
+	public static final String DEFAULT_HOST                           = "localhost";
+	public static final String DEFAULT_USERNAME                       = "";
+	public static final String DEFAULT_PASSWORD                       = "";
+	public static final String DEFAULT_PORT                           = "25";
+	public static final String DEFAULT_JNDI_CONTEXT_FACTORY           = "org.jnp.interfaces.NamingContextFactory";
+	public static final String DEFAULT_JNDI_PKG_PREFIX                = "org.jboss.naming:org.jnp.interfaces";
+	
+	/*
+	 * DatabaseMessageStore Persistence Store properties.
+	 */
+	public static final String MSG_STORE_CONN_FACTORY			= "org.jboss.soa.esb.persistence.connection.factory";
+	public static final String MSG_STORE_DB_CONNECTION_URL 		= "org.jboss.soa.esb.persistence.db.connection.url";
+	public static final String MSG_STORE_DB_CONNECTION_USER 	= "org.jboss.soa.esb.persistence.db.user";
+	public static final String MSG_STORE_DB_CONNECTION_PWD 		= "org.jboss.soa.esb.persistence.db.pwd";
+	public static final String MSG_STORE_DB_TABLE_NAME 			= "org.jboss.soa.esb.persistence.db.table";
+	public static final String MSG_STORE_DB_JDBC_DRIVER			= "org.jboss.soa.esb.persistence.db.jdbc.driver";
+	public static final String MSG_STORE_DB_POOL_INITIAL_SIZE	= "org.jboss.soa.esb.persistence.db.pool.initial.size";
+	public static final String MSG_STORE_DB_POOL_MIN_SIZE		= "org.jboss.soa.esb.persistence.db.pool.min.size";
+	public static final String MSG_STORE_DB_POOL_MAX_SIZE		= "org.jboss.soa.esb.persistence.db.pool.max.size";
+	public static final String MSG_STORE_DB_POOL_TEST_TABLE		= "org.jboss.soa.esb.persistence.db.pool.test.table";
+	public static final String MSG_STORE_DB_POOL_TIMEOUT_MILLIS	= "org.jboss.soa.esb.persistence.db.pool.timeout.millis";	
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Factory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Factory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/Factory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+/*
+ * 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.common;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+/**
+ * Base class to find a class on the classpath.
+ * 
+ * @author kurt.stam at redhat.com
+ *
+ */
+public abstract class Factory 
+{
+	private static Logger logger = Logger.getLogger(Factory.class);
+	/**
+	 * Loads the class with the given name.
+	 * @param className - the className to be found
+	 * @return - the class
+	 * @throws ClassNotFoundException
+	 */
+	protected static Class getClassForName(String className) throws ClassNotFoundException
+	{
+		Class clazz = null;
+		try {
+			logger.log(Priority.DEBUG, "Using the Context ClassLoader");
+			ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
+			clazz = Class.forName(className, true, contextClassLoader);
+		} catch (ClassNotFoundException classNotFound) {
+			if (logger.isDebugEnabled()) {
+				logger.log(Priority.WARN, "The Context ClassLoader could not find the class.");
+				logger.log(Priority.WARN, "Using the System ClassLoader");
+			}
+			ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
+			clazz = Class.forName(className, true, systemClassLoader);
+		}
+		return clazz;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/ModulePropertyManager.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/ModulePropertyManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/ModulePropertyManager.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,186 @@
+/*
+ * 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.
+ */
+/*
+ * Copyright (C) 2002
+ *
+ * Arjuna Solutions Limited,
+ * Newcastle upon Tyne,
+ * Tyne and Wear,
+ * UK.
+ *
+ * $Id: arjPropertyManager.java 2342 2006-03-30 13:06:17Z  $
+ */
+
+package org.jboss.soa.esb.common;
+
+import java.util.Hashtable;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.FatalError;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+
+import com.arjuna.common.internal.util.propertyservice.plugins.io.XMLFilePlugin;
+import com.arjuna.common.util.exceptions.LoadPropertiesException;
+import com.arjuna.common.util.propertyservice.PropertyManager;
+import com.arjuna.common.util.propertyservice.PropertyManagerFactory;
+
+/**
+ * The ESB configuration file is split into modules, each concerned with a
+ * specific capability. Each module may also depend upon another module. We use
+ * a PropertyManager per module to manage properties and relationships.
+ * 
+ * All properties are grouped within <properties/> sections and individual
+ * properties by <property/>. If you look at some you'll see that they may be
+ * named and may have a depends value, which relates to another section. This
+ * tells the PropertyManager to load the depends section first. A property value
+ * may be overridden by a dependant section, but the PropertyManager remembers
+ * the hierarchy, so if you want to you can inspect and change the lower level
+ * value and the PropertyManager can be used to preserve these changes if the
+ * values are written back out to the source location.
+ * 
+ * The way the PropertyManager works means that it builds up a list of dependant
+ * modules in a directed acyclic graph. This means that there is a root, which
+ * can see every property below it, but nodes below cannot see properties above
+ * them: there is a level of isolation.
+ * 
+ * When creating PropertyManagers, you need to specify where in the graph it is
+ * to "tie in". This obviously has an affect on what that instance can then see
+ * or do: if it goes in at the wrong level, it won't be able to see properties
+ * it may need (unless they were defined to be "system" properties, and in which
+ * case they are globally accessible.)
+ * 
+ * This means that we now have isolated PropertyManagers for each module. It
+ * helps the management side of things a lot, but does mean that we have to
+ * consider where in the graph a property needs to be, or which PropertyManager
+ * we want to use to try to access it.
+ * 
+ * @author marklittle
+ * 
+ */
+public class ModulePropertyManager
+{
+
+	/*
+	 * The names of the various modules in the property file.
+	 */
+
+	public static final String CORE_MODULE = "core";
+
+	public static final String CONNECTION_MODULE = "connection";
+
+	public static final String REGISTRY_MODULE = "registry";
+
+	public static final String TRANSPORTS_MODULE = "transports";
+
+	public static final String DBSTORE_MODULE = "dbstore";
+
+	public static final String ROUTER_MODULE = "messagerouting";
+
+	/**
+	 * Get the property manager responsible for the module component in the
+	 * file.
+	 * 
+	 * @param name
+	 *            the name of the module.
+	 * @return the relevant property manager.
+	 */
+
+	public static PropertyManager getPropertyManager(String name)
+	{
+		synchronized (managers)
+		{
+			PropertyManager theManager = managers.get(name);
+
+			if (theManager == null)
+			{
+				theManager = initialise(name);
+
+				if (theManager != null)
+				{
+					managers.put(name, theManager);
+				}
+			}
+
+			return theManager;
+		}
+	}
+
+	private static final PropertyManager initialise(String name)
+	{
+		/**
+		 * Retrieve the property manager from the factory and add the ESB
+		 * properties file to it.
+		 * 
+		 * set com.arjuna.common.util.propertyservice.verbosePropertyManager=ON
+		 * for verbose output from the PropertyManager.
+		 */
+
+		try
+		{
+			PropertyManager propertyManager = PropertyManagerFactory
+					.getPropertyManager(
+							"org.jboss.soa.esb.propertymanager." + name, name);
+	
+			String propertiesFilename = System.getProperty(
+					Environment.PROPERTIES_FILE, Environment.DEFAULT_PROPERTY_FILE);
+	
+			/*
+			 * Does not cause reloading of the same file over and over. Once it is
+			 * loaded, subsequent attempts to reload are ignored internally.
+			 */
+	
+			try
+			{
+				propertyManager.load(XMLFilePlugin.class.getName(),
+						propertiesFilename);
+			}
+			catch (LoadPropertiesException ex)
+			{
+				_logger.fatal("ModulePropertyManager failed to load property file "+propertiesFilename);
+				
+				throw new FatalError(ex);
+			}
+			catch (ClassNotFoundException e)
+			{
+				// something seriously wrong; better to terminate.
+				
+				_logger.fatal("ModulePropertyManager failed to load XML plugin", e);
+				
+				throw new FatalError(e);
+			}
+	
+			return propertyManager;
+		}
+		catch (Exception e)
+		{
+			// something seriously wrong; better to terminate.
+			
+			_logger.fatal("ModulePropertyManager failed to load PropertyManager", e);
+			
+			throw new FatalError(e);
+		}
+	}
+
+	private static Hashtable<String, PropertyManager> managers = new Hashtable<String, PropertyManager>();
+	
+	private static Logger _logger = Logger.getLogger(ModulePropertyManager.class);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/TagNames.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/TagNames.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/common/TagNames.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,38 @@
+/*
+ * 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.common;
+
+/**
+ * Base class to hold commonly used tagnames.
+ * <br/>Semantics of what these tags hold will be context sensitive
+ * 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ *
+ */
+public class TagNames 
+{
+	/** Common  **/
+	public static final String URL_TAG    					= "url";
+	public static final String USERNAME_TAG					= "username";
+	public static final String PASSWORD_TAG    				= "password";
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/Courier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/Courier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/Courier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.soa.esb.couriers;
+
+import org.jboss.internal.soa.esb.couriers.DeliverOnlyCourier;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.message.Message;
+/**
+ * Courier interface. Deals relatively low level Message transport options.
+ * 
+ * @author esteban
+ * @author kstam at redhat.com
+ *
+ */
+public interface Courier extends DeliverOnlyCourier
+{
+	/**
+	 * Try to deliver an ESB message. This is a one shot delivery.
+	 * 
+	 * @param message Message - the message to deliver 
+	 * @return boolean - the result of the delivery
+	 * @throws CourierException - if problems were encountered
+	 */
+	public boolean deliver(Message message) throws CourierException, MalformedEPRException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,55 @@
+/*
+ * 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.couriers;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * Dispatch Exception.
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ */
+public class CourierException extends BaseException 
+{
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * Construct an exception instance. 
+     * @param message Exception message.
+     */
+    public CourierException(String message) { super(message); }
+
+    /**
+     * Construct an exception instance. 
+     * @param message Exception message.
+     * @param cause Exception cause.
+     */
+    public CourierException(String message, Throwable cause) { super(message, cause); }
+
+    /**
+     * Construct an exception instance. 
+     * @param cause Exception cause.
+     */
+    public CourierException(Throwable cause) { super(cause); }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,81 @@
+/*
+ * 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.couriers;
+/**
+ * 
+ * @author - esteban
+ * @author - kstam at redhat.com
+ *
+ */
+import org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+
+public class CourierFactory 
+{
+	private static final CourierFactory _instance = new CourierFactory();
+	
+	// private default constructor
+	private CourierFactory() {}
+
+	public static CourierFactory getInstance(Object obj)
+	{
+		return _instance;
+	}
+	/**
+	 * Obtain a courier which can perform deliveries only and prime it with the "to address" (toEPR).
+	 * 
+	 * @param toEPR - the 'to address', the address on where to deliver a Message.
+	 * @return
+	 * @throws CourierException if the specific courier implementation cannot be created.
+	 */
+	public static Courier getCourier(EPR toEPR) throws CourierException, MalformedEPRException
+	{
+		return getCourier(toEPR, null);
+	}
+	/**
+	 * Obtain a courier which can perform pickups only and prime it with the "to address" (toEPR) 
+	 * and the "replyTo address" (replyToEPR). 
+	 * 
+	 * @param toEPR      - the 'to address', the address on where to deliver a Message.
+	 * @parem replyToEPR - the 'replyTo address', the address where to deliver the Message we pickup.
+	 * @return
+	 * @throws CourierException if the specific courier implementation cannot be created.
+	 */
+	public static TwoWayCourier getPickupCourier(EPR replyToEPR) throws CourierException, MalformedEPRException
+	{
+		return getCourier(null, replyToEPR);
+	}
+	/**
+	 * Obtain a courier which can perform both deliveries and pickups and prime it with 
+	 * the "to address" (toEPR) and the "replyTo address" (replyToEPR). 
+	 * 
+	 * @param toEPR      - the 'to address', the address on where to deliver a Message.
+	 * @parem replyToEPR - the 'replyTo address', the address where to deliver the Message we pickup.
+	 * @return
+	 * @throws CourierException if the specific courier implementation cannot be created.
+	 */
+	public static TwoWayCourier getCourier(EPR toEPR, EPR replyToEPR) throws CourierException, MalformedEPRException
+	{
+		return new TwoWayCourierImpl(toEPR, replyToEPR);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierTimeoutException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierTimeoutException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierTimeoutException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,55 @@
+/*
+ * 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.couriers;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * Timeout exception.
+ * 
+ * @author kstam at redhat.com
+ */
+public class CourierTimeoutException extends BaseException 
+{
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * Construct an exception instance. 
+     * @param message Exception message.
+     */
+    public CourierTimeoutException(String message) { super(message); }
+
+    /**
+     * Construct an exception instance. 
+     * @param message Exception message.
+     * @param cause Exception cause.
+     */
+    public CourierTimeoutException(String message, Throwable cause) { super(message, cause); }
+
+    /**
+     * Construct an exception instance. 
+     * @param cause Exception cause.
+     */
+    public CourierTimeoutException(Throwable cause) { super(cause); }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/CourierUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,362 @@
+/*
+ * 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.couriers;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.io.StreamCorruptedException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.DeliverOnlyCourier;
+import org.jboss.internal.soa.esb.couriers.PickUpOnlyCourier;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Util;
+import org.xml.sax.SAXException;
+
+public class CourierUtil
+{
+	public static final String CORRELATION_ID_TAG = "messageCorrelationId";
+
+	private CourierUtil() {}
+
+	public static List<KeyValuePair> propertiesFromSelector(String selector)
+			throws ConfigurationException
+	{
+		// No problem if selector is null - everything in queue will be returned
+		List<KeyValuePair> oRet = new ArrayList<KeyValuePair>();
+		if (!Util.isNullString(selector))
+		{
+			for (String sCurr : selector.split(","))
+			{
+				String[] sa = sCurr.split("=");
+				if (sa.length != 2 || sa[1].charAt(0) != '\''
+						|| sa[1].charAt(-1 + sa[1].length()) != '\'')
+					throw new ConfigurationException("Illegal message selector syntax <"
+							+ selector + ">");
+				KeyValuePair oNew = new KeyValuePair(sa[0], sa[1].substring(0,
+						-1 + sa[1].length()).substring(1));
+				oRet.add(oNew);
+			}
+		}
+		return oRet;
+	}
+
+	/**
+	 * We will be listening the same queue, but with a 'temporary' message
+	 * selector based of a UUID.
+	 * 
+	 * @param message
+	 *            to which we ill add the CORRELATION_ID_TAG.
+	 * @return the generated unique reply selector.
+	 */
+	public static String getReplySelector()
+	{
+		String uuId = UUID.randomUUID().toString();
+		String uniqueReplySelector = new StringBuilder().append(
+				CORRELATION_ID_TAG).append("='").append(uuId).append("'")
+				.toString();
+		return uniqueReplySelector;
+	}
+
+	/**
+	 * Build a temporary replyToEPR, based on the toEpr, to which we can reply
+	 * to.
+	 * <ul>
+	 * <li> for JMS we will use the toEpr, but change the message selector.
+	 * </ul>
+	 * 
+	 * @param toEpr -
+	 *            the toEPR which will be used a basis to generate the
+	 *            replyToEPR.
+	 * @return replyToEPR - the EPR to which the pickup will be delivered.
+	 * @throws URISyntaxException,
+	 *             CourierException
+	 */
+	public static EPR getTemporaryReplyToEpr(EPR toEpr)
+			throws CourierException, MalformedEPRException
+	{
+		try
+		{
+			if (null==toEpr)
+				return null;
+			if (toEpr instanceof JMSEpr)
+			{
+				JMSEpr jpr = (JMSEpr) toEpr;
+				// Setting the replyTo to the queue we specific in the epr we are
+				// going to call
+				// The selectors will do the job.
+				return new JMSEpr(jpr.getDestinationType(), jpr
+						.getDestinationName(), jpr.getConnectionFactory(), jpr
+						.getJndiURL(), jpr.getJndiContextFactory(), jpr
+						.getJndiPkgPrefix(), getReplySelector());
+			}
+			if(toEpr instanceof FileEpr)
+			{
+				FileEpr fpr = (FileEpr)toEpr; 
+				FileEpr temp = new FileEpr(fpr.getURL());
+
+				String selector = getReplySelector();
+				String suffix = fpr.getPostSuffix();
+				if (null!=suffix)
+					selector += suffix;
+				temp.setPostSuffix(suffix);
+
+				return temp;
+			}
+			if(toEpr instanceof FTPEpr)
+			{
+				FTPEpr fpr = (FTPEpr)toEpr; 
+				FTPEpr temp = new FTPEpr(fpr.getURL());
+
+				String selector = getReplySelector();
+				String suffix = fpr.getPostSuffix();
+				if (null!=suffix)
+					selector += suffix;
+				temp.setPostSuffix(suffix);
+
+				return temp;
+			}
+	//TODO  We need to add a 'selector' to the JDBCEpr also, so we can selectively pickup
+//			if(toEpr instanceof JDBCEpr)
+//			{
+//				JDBCEpr fpr = (JDBCEpr)toEpr; 
+//				JDBCEpr temp = new JDBCEpr(fpr.getURL());
+//
+//				String selector = getReplySelector();
+//
+//				return temp;
+//			}
+		}
+		catch (MalformedURLException ex)
+		{
+			throw new MalformedEPRException(ex);
+		}
+		catch (URISyntaxException ex)
+		{
+			throw new MalformedEPRException(ex);
+		}
+
+		throw new CourierException("Unsupported temporary reply to EPR "
+				+toEpr.getClass().getSimpleName());
+	}
+
+	public static File messageToLocalFile(File directory, Message message)
+			throws IOException, ParserConfigurationException
+	{
+		File tmpFile = File.createTempFile("EsbFileCourier_", ".__esbPart",
+				directory);
+		Serializable serial = Util.serialize(message);
+		FileOutputStream writer = null;
+		try
+		{
+			writer = new FileOutputStream(tmpFile);
+			new ObjectOutputStream(writer).writeObject(serial);
+			
+			writer.flush();
+		}
+		finally
+		{
+			if (null != writer)
+				writer.close();
+		}
+		return tmpFile;
+	}
+
+	public static Message messageFromLocalFile(File from)
+			throws FileNotFoundException, IOException, ClassNotFoundException,
+			ClassCastException, ParserConfigurationException, SAXException,
+			CourierException
+	{
+		FileInputStream reader = null;
+		Serializable serial = null;
+		int retry = 10; // TODO magic number
+		
+		/*
+		 * Just because a file is in the file system doesn't mean it
+		 * has been completely written!
+		 */
+		
+		while (retry > 0)
+		{
+			try
+			{
+				reader = new FileInputStream(from);
+				serial = (Serializable) new ObjectInputStream(reader).readObject();
+				return Util.deserialize(serial);
+			}
+			catch (StreamCorruptedException ex)
+			{
+				// file present but not ready to read - wait
+				
+				retry--;
+			}
+			catch (Exception e)
+			{
+				e.printStackTrace();
+				
+				_logger.debug(from+" "+e.toString());
+				throw new CourierException(e);
+			}
+			finally
+			{
+				if (null != reader)
+					reader.close();
+			}
+			
+			try
+			{
+				Thread.sleep(1000);  // TODO magic number
+			}
+			catch (Exception ex)
+			{
+			}
+		}
+		
+		throw new IOException();
+	}
+
+	public static byte[] bytesFromLocalFile(File from) throws IOException
+	{
+		ByteArrayOutputStream out = new ByteArrayOutputStream();
+		FileInputStream in = new FileInputStream(from);
+		byte[] buff = new byte[1000];
+		int iQ = 0;
+		try
+		{
+			while ((iQ = in.read(buff)) >= 0)
+				if (iQ > 0)
+					out.write(buff, 0, iQ);
+		}
+		finally
+		{
+			if (null != in)
+				in.close();
+			if (null != out)
+				out.close();
+		}
+		return out.toByteArray();
+	}
+
+	public static void bytesToLocalFile(byte[] bytes, File to)
+			throws IOException
+	{
+		FileOutputStream out = null;
+		try
+		{
+			out = new FileOutputStream(to);
+			out.write(bytes);
+		}
+		finally
+		{
+			if (null != out)
+				out.close();
+		}
+	}
+
+	public static void deliverMessage(Message message)
+			throws URISyntaxException, CourierException, MalformedEPRException
+	{
+		EPR toEpr = message.getHeader().getCall().getTo();
+		Courier courier = CourierFactory.getCourier(toEpr);
+                try
+                {
+                    courier.deliver(message);
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(courier) ;
+                }
+	}
+
+    public static void cleanCourier (PickUpOnlyCourier courier)
+    {
+        if (null!=courier)
+        {
+            try
+            {
+                courier.cleanup() ;
+            }
+            catch (Exception e)
+            {
+                _logger.error("Problems invoking clean() Method for class "
+                                +courier.getClass().getSimpleName(),e);
+            }
+        }
+    }
+    
+    public static void cleanCourier (DeliverOnlyCourier courier)
+    {
+        if (null!=courier)
+        {
+            try
+            {
+                courier.cleanup() ;
+            }
+            catch (Exception e)
+            {
+                _logger.error("Problems invoking clean() Method for class "
+                                +courier.getClass().getSimpleName(),e);
+            }
+        }
+    }
+    
+    public static void cleanCourier (TwoWayCourier courier)
+    {
+        if (null!=courier)
+        {
+            try
+            {
+                courier.cleanup() ;
+            }
+            catch (Exception e)
+            {
+                _logger.error("Problems invoking clean() Method for class "
+                                +courier.getClass().getSimpleName(),e);
+            }
+        }
+    }
+	    
+
+	protected static Logger _logger = Logger.getLogger(CourierUtil.class);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/TwoWayCourier.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/TwoWayCourier.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/couriers/TwoWayCourier.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+package org.jboss.soa.esb.couriers;
+
+import org.jboss.internal.soa.esb.couriers.PickUpOnlyCourier;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.message.Message;
+
+public interface TwoWayCourier extends Courier, PickUpOnlyCourier
+{
+	/**
+     * Instruct the courier to wait for a pickup in the replyToEpr
+     * 
+     * @param waitTime         - Pickup timeout for before giving up on this pickup. Time in millis.
+     * @return                 - the message that was picked up.
+     * @throws CourierException the courier fails (i.e. gets a flat tire).
+	 * @throws CourierTimeoutException if the pickup timed out (nobody home).
+     */
+	public Message pickup(long waitTime) throws CourierException, CourierTimeoutException;
+	/**
+     * Instruct the courier to wait for a pickup in the specified EPR
+     * 
+     * @param waitTime         - Pickup timeout for before giving up on this pickup. Time in millis.
+     * @param epr              - Pickup address
+     * @return                 - the message that was picked up.
+     * @throws CourierException the courier fails (i.e. gets a flat tire).
+	 * @throws CourierTimeoutException if the pickup timed out (nobody home).
+     */
+	public Message pickup(long waitTime, EPR epr) throws CourierException, CourierTimeoutException, MalformedEPRException;
+	/**
+	 * Sets the toEPR. This can be used if the toEPR is not know at construction time of
+	 * the Courier.
+	 * 
+	 * @param toEPR - EPR specifying the 'to' address.
+	 * @throws CourierException
+	 */
+
+	public void setToEpr(EPR toEPR) throws CourierException, MalformedEPRException;
+	/**
+	 * Sets the replyToEPR. This can be used if the replyToEPR is not know at construction time of
+	 * the Courier.
+	 * 
+	 * @param replyToEPR - EPR specifying the reply to address.
+	 * @throws CourierException
+	 */
+
+	public void setReplyToEpr(EPR replyToEPR) throws CourierException, MalformedEPRException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/dom/YADOMUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/dom/YADOMUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/dom/YADOMUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.dom;
+
+import java.io.File;
+
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+/**
+ * Yet another set of DOM utility methods.
+ * <p/>
+ * PLEASE DO NOT USE THIS CLASS OUTSIDE THIS PACKAGE. It will be removed as soon as we find
+ * equivalent DOM support methods somewhere else, or find a more appropriate home for these.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class YADOMUtil {
+
+	// If there are another set of the same utilities somewhere, or another DOMUtil type class
+	// that we can add them too, we should do that :-)
+	
+	/**
+	 * Create a new W3C Document.
+	 * <p/>
+	 * Handles exceptions etc.
+	 * @return The new Document instance.
+	 * @throws ConfigurationException 
+	 */
+	public static Document createDocument() throws ConfigurationException {
+		Document doc = null;
+		
+		try {
+			doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+		} catch (ParserConfigurationException e) {
+			throw new ConfigurationException("Failed to create ESB Configuration Document instance.", e);
+		}
+		
+		return doc;
+	}
+
+	/**
+	 * Add an Element node to the supplied parent name.
+	 * @param parent The parent to to which the new Element node is to be added.
+	 * @param elementName The name of the Element to be added.
+	 * @return The new Element.
+	 */
+	public static Element addElement(Node parent, String elementName) {
+		Element element = null;
+		
+		if(parent instanceof Document) {
+			element = ((Document)parent).createElement(elementName);
+		} else {
+			element = parent.getOwnerDocument().createElement(elementName);
+		}
+		parent.appendChild(element);
+		
+		return element;
+	}
+	
+	/**
+	 * Remove all attributes having an empty value.
+	 * @param element The element to be processed.
+	 */
+	public static void removeEmptyAttributes(Element element) {
+		NamedNodeMap attributes = element.getAttributes();
+		int attribCount = attributes.getLength();
+		
+		for(int i = attribCount - 1; i >= 0; i--) {
+			Attr attribute = (Attr) attributes.item(i);
+			
+			// Note - doesn't account for namespaces.  Not needed here !
+			if(attribute.getValue().equals("")) {
+				attributes.removeNamedItem(attribute.getName());
+			}
+		}
+	}
+
+	/**
+	 * Serialize the supplied DOM node to the specified file in the specified output directory.
+	 * @param node The DOM node to be serialised.
+	 * @param outdir The directory into which the file is to be serialised.
+	 * @param fileName The name of the file.
+	 * @throws ConfigurationException Unable to serialise the node.
+	 */
+	public static void serialize(Node node, File outdir, String fileName) throws ConfigurationException {
+		serialize(node, new StreamResult(new File(outdir, fileName)));
+	}
+
+	/**
+	 * Serialize the supplied DOM node to the supplied DOM StreamResult instance.
+	 * @param node The DOM node to be serialised.
+	 * @param streamRes The StreamResult into which the node is to be serialised.
+	 * @throws ConfigurationException Unable to serialise the node.
+	 */
+	public static void serialize(Node node, StreamResult streamRes) throws ConfigurationException {
+		DOMSource domSource = new DOMSource(node);
+		
+		try {
+			Transformer transformer = TransformerFactory.newInstance().newTransformer();
+			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+			transformer.transform(domSource, streamRes);
+		} catch (Exception e) {
+			throw new ConfigurationException("Failed to serialize ESB Configuration Document instance.", e);
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/ConfigTree.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/ConfigTree.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/ConfigTree.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,622 @@
+package org.jboss.soa.esb.helpers;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+/**
+ * Objects of this class are to be used for run time configuration of ESB components 
+ * <p/>  This should gradually replace the ConfigTree class
+ * <br/> It is a subset of Tree that accepts a Map of attributes, and a List of children
+ * <br/> children can only be String values, or objects of this class
+ * <p/> fromXml() and toXml() methods allow 'visible' representations of objects of this class
+ * and run time loading/dumping from/to standard XML documents
+ * 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ *
+ */
+public class ConfigTree implements Serializable, Cloneable
+{
+	private static final long serialVersionUID = 1L;
+/**
+ * Constructor of a root node (an uppermost ConfigTree)
+ * @param name String - the element name of 'this'
+ */
+	public ConfigTree(String name) { this(name,null); }
+/**
+ * Constructor of a ConfigTree as a child of another (second arg)
+ * @param name String - element name of 'this'
+ * @param dad ConfigTree - whom 'this' will be hanging from
+ */
+	public ConfigTree(String name, ConfigTree dad)
+	{
+		setName(name);
+		setParent(dad);
+	} // _______________________________
+/**
+ * protected constructor
+ * @param other - Where to get values for deep copy
+ */
+	protected ConfigTree(ConfigTree other)
+	{
+		copyFrom(other);
+	} // _______________________________
+
+	/**
+	 * 
+	 * @return String - the name of this tree (element name for XML representation)
+	 */
+	public String getName() 			{ return _name; }
+	/**
+	 * assign a name to 'this'
+	 * @param name String - The name for this object
+	 */
+	public void   setName(String name) 	
+	{
+		if (null==name)
+			throw new IllegalArgumentException();
+		_name = name; 
+	} // _______________________________
+
+	/**
+	 * whose child is 'this' (null if root)
+	 * @return ConfigTree - the parent tree of 'this' 
+	 */
+	public ConfigTree getParent() 			{ return _dad; }
+	
+	private  void   setParent(ConfigTree dad)	
+	{ 
+		if (null!=_dad && null!=_dad._childs)
+				_dad._childs.remove(this);
+		if (null!=dad)
+			dad.addChild(this); 
+	} 	
+	/**
+	 * assign a value to a named attribute 
+	 * @param name String - the name (key) for the new attribute 
+	 * @param value String - the value assigned to the key (if null - old value will be deleted)
+	 * @return String - old value assigned to the name (null if there was none)
+	 */
+	public String setAttribute(String name,String value)
+	{
+		if (null==name)
+			throw new IllegalArgumentException("Attribute name must be non null");
+		if (null==_attributes)
+			_attributes = new HashMap<String,String>();
+		String oldVal = _attributes.remove(name);
+		if(null!=value)
+			_attributes.put(name,value);
+		return oldVal;
+	} // _______________________________
+	/**
+	 * 
+	 * @return int - the number of non null attributes that this node has been assigned
+	 */
+	public int attributeCount()
+	{
+		return (null==_attributes) ? 0 : _attributes.size();
+	} // _______________________________
+	/**
+	 * Retrieve the value assigned to an attribute key.
+	 * @param name String - the search key.
+	 * @return String - the value assigned to the specified key, or null if the
+	 * attribute is not defined.
+	 */
+	public String getAttribute(String name)
+	{
+		return (null==_attributes) ? null : _attributes.get(name);
+	} // _______________________________
+	/**
+	 * Retrieve the value assigned to an attribute key, returning the supplied default
+	 * if the attribute is not defined.
+	 * @param name String - the search key.
+	 * @param defaultValue String - the default value to return if attribute is not set.
+	 * @return String - the value assigned to the specified key, or the default if
+	 * the value is not defined.
+	 */
+	public String getAttribute(String name, String defaultValue)
+	{
+		String ret = (null==_attributes) ? null : _attributes.get(name);
+		return (ret !=null?ret:defaultValue);
+	} // _______________________________
+	
+	/**
+	 * Get the value of a requred property, throwing a {@link ConfigurationException}
+	 * if the property is not defined. 
+	 * @param name String - the search key.
+	 * @return The value assigned to the specified property.
+	 * @throws ConfigurationException The propery is not defined.
+	 */
+	public String getRequiredAttribute(String name) throws ConfigurationException {
+		String ret = getAttribute(name);
+		
+		if(ret == null) {
+			throw new ConfigurationException("Required configuration property '" + name + "' not defined on configuration '" + _name + "'.");
+		}
+		
+		return ret;
+	}
+	
+	/**
+	 * obtain the list of all attribute names
+	 * @return Set<String>  - the set of keys that have been assigned a non null value
+	 */
+	public Set<String>getAttributeNames() 
+	{ return (null==_attributes) 
+		? new HashSet<String>() 
+		: _attributes.keySet();
+	} // _______________________________
+	/**
+	 * obtain the list of all attribute as a List<KeyValuePair>
+	 * @return List<KeyValuePair> - containing all attributes
+	 */
+	public List<KeyValuePair> attributesAsList() 
+	{
+		List<KeyValuePair> oRet = new ArrayList<KeyValuePair>();
+		if (null!=_attributes) 
+			for (Map.Entry<String,String> oCurr : _attributes.entrySet())
+				oRet.add(new KeyValuePair(oCurr.getKey(),oCurr.getValue()));
+		return oRet;
+	} // _______________________________
+	/**
+	 * obtain the list of all child "property" elements as a List<KeyValuePair>
+	 * @return List<KeyValuePair> - containing all child elements with tag name "property"
+	 */
+	public List<KeyValuePair> childPropertyList() 
+	{
+		List<KeyValuePair> oRet = new ArrayList<KeyValuePair>();
+		for (ConfigTree current : getChildren("property"))
+		{
+			String name = current.getAttribute("name");
+			if (null!=name)
+				oRet.add(new KeyValuePair(name,current.getAttribute("value")));
+		}
+		return oRet;
+	} // _______________________________
+	/**
+	 * concatenated values of all child String values that have been added to 'this'
+	 * <br/>"" (zero length String) if no String child nodes
+	 * @return String - concatenation of all String segments (equivalent to xml text nodes)
+	 */
+	public String getWholeText() 
+	{
+		if (null==_childs)
+			return "";
+		StringBuilder sb = null;
+		for (Child child : _childs)
+		{	if (! (child._obj instanceof String))
+				continue;
+			if (null==sb)
+				sb = new StringBuilder((String)child._obj);
+			else
+				sb.append((String)child._obj);
+		}
+		return sb.toString();
+				
+	} // _______________________________
+/**
+ * <b>first</b> child containing only text, with name=arg0
+ * @param name String - the name to filter
+ * @return full text content of first 'pure text' child element under that name - &lt;null&gt; if none
+ */
+	public String getFirstTextChild(String name) 
+	{
+		if (null==name)
+			throw new IllegalArgumentException();
+		if (null!=_childs)
+			for (Child oCurr : _childs)
+			{
+				ConfigTree tree = oCurr.getTree();
+				if (null != tree && tree.isPureText() && name.equals(tree.getName()))
+					 return tree.getWholeText();
+			}
+		return null;
+	} // _______________________________
+
+	/**
+ * Obtain all String values with the same name
+ * @param name String - filter for child String nodes
+ * @return String[]
+ */
+	public String[] getTextChildren(String name) 
+	{
+		if (null==name)
+			throw new IllegalArgumentException();
+		if (null==_childs)
+			return new String[0];
+		List<String>oRet = new ArrayList<String>();
+		for (Child oCurr : _childs)
+		{
+			ConfigTree tree = oCurr.getTree();
+			if (null != tree && tree.isPureText() && name.equals(tree.getName()))
+				oRet.add(tree.getWholeText());
+		}
+		return oRet.toArray(new String[oRet.size()]);
+	} // _______________________________
+/**
+ * add a child element that consists only of the text in arg0
+ * @param value String - the text to assign to the added child node
+ */
+	public void addTextChild (String value) { new Child(value); }
+	
+	private void addChild(ConfigTree child)	
+		{ child._dad = this; new Child(child); }
+/**
+ * retrieve list of child elements of 'this' that are instances of ConfigTree
+ * @return ConfigTree[] - Array containing all child elements of class ConfigTree
+ */
+	public ConfigTree[] getAllChildren() 
+	{
+		if (null==_childs) 
+			return new ConfigTree[]{};
+		List<ConfigTree>oRet = new ArrayList<ConfigTree>();
+		for (Child oCurr : _childs)
+			if (null != oCurr.getTree())
+				oRet.add(oCurr.getTree());
+		return oRet.toArray(new ConfigTree[oRet.size()]);
+	} // _______________________________
+
+	/**
+	 * list of child elements of 'this' that are instances of ConfigTree, with name = arg0
+	 * @param name String - the name of child nodes to filter
+	 * @return ConfigTree[] - child elements of class ConfigTree with name provided
+	 */
+	public ConfigTree[] getChildren(String name) 
+	{
+		if (null==name)
+			throw new IllegalArgumentException();
+		if (null==_childs)
+			return new ConfigTree[0];
+		List<ConfigTree>oRet = new ArrayList<ConfigTree>();
+		for (Child oCurr : _childs)
+			if (name.equals(oCurr.getName()))
+					oRet.add(oCurr.getTree());
+		return oRet.toArray(new ConfigTree[oRet.size()]);
+	} // _______________________________
+/**
+ * <b>first</b> child of class ConfigTree with name=arg0
+ * @param name String - the name to filter
+ * @return first child element under that name - &lt;null&gt; if none
+ */
+	public ConfigTree getFirstChild(String name) 
+	{
+		if (null==name)
+			throw new IllegalArgumentException();
+		if (null!=_childs)
+			for (Child oCurr : _childs)
+				if (name.equals(oCurr.getName()))
+					return oCurr.getTree();
+		return null;
+	} // _______________________________
+/**
+ * purge the list of children
+ */
+	public void removeAllChildren() 
+	{
+		_childs = null;
+	} // _______________________________
+
+	/**
+	 * remove children by name
+	 * @param name String - only children by that name will be removed
+	 */
+	public void removeChildrenByName(String name) 
+	{
+		if (null==name)
+			throw new IllegalArgumentException();
+		if (null!=_childs)
+			for (ListIterator<Child> II=_childs.listIterator(); II.hasNext();)
+				if (name.equals(II.next().getName()))
+					II.remove();
+	} // __________________________________
+
+	/**
+	 * 
+	 * @return the number of child nodes (of any type)
+	 */
+	public int childCount()
+	{
+		return (null==_childs) ? 0 : _childs.size();
+	} // __________________________________
+
+	@Override
+	public Object clone() { return cloneObj(); }
+
+	/**
+	 * instantiate a new ConfigTree with the same topology and contents of 'this'
+	 * <br/>Contained ConfigTree child elements will also be cloned
+	 * <br/>Transient objects are NOT copied nor cloned
+	 * @return ConfigTree - Deep copy of 'this'
+	 */
+	public ConfigTree cloneObj() {return cloneSubtree(null); } 
+
+	/**
+	 * @return ConfigTree - Deep copy of 'this'
+	 */
+	private ConfigTree cloneSubtree(ConfigTree dad)
+	{
+		ConfigTree oRet = new ConfigTree(_name, dad);
+		if (null!=_attributes)
+			for (Map.Entry<String,String> oAtt: _attributes.entrySet())
+				oRet.setAttribute(oAtt.getKey(),oAtt.getValue());
+		if (null!= _childs)
+			for (Child oChild : _childs)
+			{	
+				ConfigTree tree = oChild.getTree();
+				if (null!=tree)
+					tree.cloneSubtree(oRet);
+				else
+					oRet.addTextChild(oChild._obj.toString());
+			}
+		return oRet;
+	} // __________________________________
+	/**
+	 * Deep copy of other tree
+	 * @param other - from where to copy values
+	 */
+	protected void copyFrom(ConfigTree other)
+	{
+		this.setName(other.getName());
+		this._pureText	= other._pureText;
+
+		if (null != other._attributes)
+			for (Map.Entry<String,String> oneAtt : other._attributes.entrySet())
+				setAttribute(oneAtt.getKey(),oneAtt.getValue());
+		if (null != other._childs)
+			for (Child child : other._childs)
+				new Child(child);
+			
+	} // __________________________________
+/**
+ * obtain an instance of this class, from a 'normalized' xml format, with the default encoding
+ * <p/> the 'normalized' xml format is the output of the toXml() instance method
+ * @param xml String - what to parse
+ * @return ConfigTree - an object of this class
+ * @throws SAXException - if xml format is invalid
+ */
+	public static ConfigTree fromXml(String xml) throws SAXException
+	{
+		try { return fromXml(xml,java.nio.charset.Charset.defaultCharset().toString()); }
+		catch (UnsupportedEncodingException e)
+		{
+			//  This can't happen
+			_logger.fatal("This should not happen",e);
+			return null;
+		}
+	} // __________________________________
+	
+	/**
+	 * obtain an instance of this class, from a 'normalized' xml format, with the encoding defined in arg1
+	 * <p/> the 'normalized' xml format is the output of the toXml() instance method
+	 * @param xml String - what to parse
+	 * @param encoding String - The encoding of arg 0
+	 * @return ConfigTree - an object of this class
+	 * @throws SAXException - if xml format is invalid
+	 */
+	public static ConfigTree fromXml(String xml, String encoding)
+		throws UnsupportedEncodingException, SAXException
+	{
+		if (null==xml)
+			throw new IllegalArgumentException("Xml source String is null");
+		try { return fromInputStream(new ByteArrayInputStream(xml.getBytes(encoding))); }
+		catch (IOException e)
+		{
+			_logger.fatal("This should NOT happen",e);
+			return null;
+		}
+	} // __________________________________
+
+	/**
+	 * obtain an instance of this class, from a 'normalized' xml format contained in an input stream
+	 * <p/> the 'normalized' xml format is the output of the toXml() instance method
+	 * @param input InputStream - where to parse from
+	 * @return ConfigTree - an object of this class
+	 * @throws SAXException - if xml format is invalid
+	 * @throws IOException - if an input/output error occurs
+	 */
+	public static ConfigTree fromInputStream(InputStream input) 
+		throws SAXException, IOException
+	{
+		if (null==input)
+			throw new IllegalArgumentException();
+		DocumentBuilder builder = null;
+		try { builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); }
+		catch (ParserConfigurationException e2)
+		{	_logger.error("Problems with default Parser Configuration",e2);
+			return null;
+		}
+		Document oDoc = builder.parse(input);
+		oDoc.normalize();
+		
+		return fromElement(oDoc.getDocumentElement());
+		
+	} // __________________________________
+
+	private static ConfigTree fromElement(Element elem)
+	{
+		ConfigTree tree = new ConfigTree(elem.getNodeName());
+		NamedNodeMap NM = elem.getAttributes();
+		if (null!=NM)
+			for (int i1=0; i1<NM.getLength(); i1++)
+			{
+				Node node = NM.item(i1);
+				tree.setAttribute(node.getNodeName(),node.getNodeValue());
+			}
+		NodeList NL = elem.getChildNodes();
+		if (null!=NL)
+			for (int i1=0; i1<NL.getLength(); i1++)
+			{
+				Node node = NL.item(i1);
+				switch (node.getNodeType())
+				{	
+					case Node.ELEMENT_NODE:
+						tree.addChild(ConfigTree.fromElement((Element)node));
+						break;
+					case Node.TEXT_NODE:
+						tree.addTextChild(node.getNodeValue());
+						break;
+				}
+			}
+		
+		return tree;
+	} // __________________________________
+
+	private Element toElement(Document doc)
+	{
+		Element elem = doc.createElement(_name);
+		if (null!=_attributes)
+			for (Map.Entry<String,String> oAtt : _attributes.entrySet())
+				elem.setAttribute(oAtt.getKey(),oAtt.getValue());
+		if (null!=_childs)
+			for (Child child : _childs)
+			{
+				ConfigTree tree = child.getTree();
+				if (null!=tree)
+					elem.appendChild(tree.toElement(doc));
+				else
+					elem.appendChild(doc.createTextNode(child._obj.toString()));
+			}
+		return elem;
+	} // __________________________________
+	/**
+	 * Equivalent to a call to toXml()
+	 * @return String - a String with the 'standard' xml representation of 'this',
+	 * using the default encoding
+	 */
+	public String toString() { return toXml(); }
+	/**
+	 * Equivalent to a call to toXml(encoding)
+	 * @param encoding String - 
+	 * @return String - a String with the 'standard' xml representation of 'this',
+	 * using the encoding specified in arg 0
+	 */
+
+	public String toString(String encoding) { return toXml(encoding); }
+	/**
+	 * @return String - a String with the 'standard' xml representation of 'this',
+	 * using the default encoding
+	 */
+	public String toXml()
+	{
+		return toXml(java.nio.charset.Charset.defaultCharset().toString());
+	} // __________________________________
+	
+	/**
+	 * Serialize this object - Transient objects are
+	 * @param encoding String - String 
+	 * @return String - a String with the 'standard' xml representation of 'this',
+	 * using encoding specified in arg0
+	 */
+	public String toXml(String encoding)
+	{
+		Transformer transf = null;
+		try { transf = TransformerFactory.newInstance().newTransformer(); }
+		catch (TransformerConfigurationException e1)
+		{	_logger.error("Cannot obtain transformer to render XML output",e1);
+			return null;
+		}
+		transf.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,"yes");
+		transf.setOutputProperty(OutputKeys.INDENT, "no");
+		transf.setOutputProperty(OutputKeys.ENCODING, encoding);
+
+		DocumentBuilder builder = null;
+		try { builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); }
+		catch (ParserConfigurationException e2)
+		{	_logger.error("Problems with default Parser Configuration",e2);
+			return null;
+		}
+		Document oDoc = builder.newDocument();
+		oDoc.appendChild(toElement(oDoc));
+		oDoc.normalize();
+		DOMSource src = new DOMSource(oDoc);
+
+		ByteArrayOutputStream oStrm = new ByteArrayOutputStream(5000);
+		StreamResult res = new StreamResult(oStrm);
+
+		try { transf.transform(src, res); }
+		catch (TransformerException e3)
+		{	_logger.error("Problems with XML transformation",e3);
+			return null;
+		}
+
+		return oStrm.toString();
+	} // __________________________________
+	
+	/**
+	 * 
+	 * @return boolean - indicating if 'this' element has ONLY text children (and consequently no ConfigTree children)
+	 */
+	public boolean isPureText() { return _pureText; }
+
+	private class Child
+	{
+		Object _obj;
+		ConfigTree getTree() 
+		{	return (_obj instanceof ConfigTree)? (ConfigTree) _obj : null;
+		}
+		String getName() 
+		{	return (_obj instanceof ConfigTree)? ((ConfigTree) _obj)._name : null;
+		}
+		private Child(ConfigTree obj)	{addToDad(obj); _pureText = false;}
+		private Child(String obj)		{addToDad(obj); }
+		private Child(Child other)		
+		{	
+			if (other._obj instanceof ConfigTree)
+			{
+				addToDad(((ConfigTree)other._obj).cloneObj());
+				_pureText	= false;
+				return;
+			}
+			if (other._obj instanceof String)
+			{
+				addToDad((String)other._obj);
+				return;
+			}
+
+		}
+		private void addToDad(Object obj)
+		{	if (null==_childs)
+				_childs = new ArrayList<Child>();
+			_obj	= obj;
+			_childs.add(this);
+		}
+		
+	}
+
+	private boolean				_pureText=true;
+	private ConfigTree 			_dad;
+	private String 				_name;
+	private Map<String,String> 	_attributes;
+	private List<Child>			_childs;
+
+	private static transient Logger			_logger = Logger.getLogger(ConfigTree.class);
+} //____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,439 @@
+/*
+ * 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.helpers;
+
+import java.util.Properties;
+import java.util.StringTokenizer;
+
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
+import javax.mail.Address;
+import javax.mail.Authenticator;
+import javax.mail.BodyPart;
+import javax.mail.MessagingException;
+import javax.mail.Multipart;
+import javax.mail.PasswordAuthentication;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.util.Util;
+
+/**
+ * Simplifies sending of e-mails with attachments from java.
+ * <p/>
+ * The message is sent via a subsequent call to the {@link #sendMessage()}
+ * method.
+ * 
+ * <h3 id="p_oMessageParms">Message Parmeters</h3>
+ * The class constructor is supplied the following parameters via a
+ * {@link org.jboss.soa.esb.helpers.ConfigTree} instance:
+ * <ol>
+ * 	<li><b>FROM</b>: valid e-mail address</li>
+ * 	<li><b>SENDTO</b>: valid comma separated list of e-mail addresses</li>
+ * 	<li><b>SUBJECT</b>: free text that will appear as subject of the e-mail</li>
+ * 	<li><b>MESSAGE</b>: free text that will appear as contents of the e-mail</li>
+ * 	<li><b>ATTACH</b>: list (as Text children) of valid accessible filenames to
+ * 			attach to the e-mail</li>
+ * </ol>
+ * All parameters except 'ATTACH' are attributes of the ConfigTree argument. ATTACH
+ * parameters (attachments) are added as child ConfigTrees of the  supplied
+ * ConfigTree.
+ * 
+ * @author: Heuristica - Buenos Aires - Argentina
+ */
+public class Email {
+	
+	/**
+	 * Class logger.
+	 */
+	private static Logger logger = Logger.getLogger(Email.class);
+	/**
+	 * ConfigTree attribute : will be the contents of the From: field in the
+	 * outgoing message
+	 */
+	public static final String FROM = "from";
+
+	/**
+	 * ConfigTree attribute : comma separated list of recipients
+	 */
+	public static final String SENDTO = "sendTo";
+
+	/**
+	 * ConfigTree attribute : comma separated list of Copy recipients
+	 */
+	public static final String COPYTO = "ccTo";
+
+	/**
+	 * ConfigTree attribute : will be the contents of the Subject: field in the
+	 * outgoing message
+	 */
+	public static final String SUBJECT = "subject";
+
+	/**
+	 * ConfigTree attribute : Value of this attribute will be the content of the
+	 * e-mail's text
+	 */
+	public static final String ATTACH = "attachment";
+
+	/**
+	 * ConfigTree child Text elements : Each child represents the name of a file
+	 * to be attached in the outgoing message
+	 */
+	public static final String MESSAGE = "message";
+    
+    /**
+     * will be the contents of the From: field in the outgoing message
+     */
+    private String from = null;
+
+    /**
+     * comma separated list of recipients
+     */
+    private String sendTo = null;
+
+    /**
+     * comma separated list of copy recipients
+     */
+    private String copyTo = null;
+
+    /**
+     * This attribute will be the content of the subject of the mail message
+     */
+    private String subject = null;
+
+    /**
+     * Comma separated list of attachment file names
+     */
+    private String[] attachments = null;
+    
+    /**
+     * Value of this attribute will be the content of the e-mail's text
+     */
+    private String message = null;    
+
+	/**
+	 * The message to b sent via a subsequent call to {@link #sendMessage()}.
+	 */
+	private MimeMessage mailMessage;
+    
+    /**
+     * The mail Session to use
+     */
+    private Session oMailSess = null;
+
+	/**
+	 * Public constructor.
+	 * <p/>
+	 * Initialises the mail server session and creates the mail message using 
+	 * the information provided in the p_oMessageParms 
+	 * <a href="p_oMessageParms">listed above</a>.
+	 * <p/>
+	 * The message is sent via a subsequent call to the {@link #sendMessage()}
+	 * method.
+	 * 
+	 * @param p_oMessageParms
+	 *            A ConfigTree object containing the elements mentioned above
+	 * @throws MessagingException 
+	 * @throws AddressException 
+	 * @see ConfigTree
+	 * 
+	 */
+	public Email() throws AddressException, MessagingException {
+		// REVIEW: How about typing the parameters a little better??? Looks as though that might have a huge ripple-on effect accross the codebase!!
+		// REVIEW: Does the session need to ne initialised every time???
+		this.oMailSess = initMailServerSession();
+		
+		// Message can be "sent" via a subsequent call to the sendMessage method!
+	} // __________________________________
+
+	/**
+	 * Send the mail message associated with this instance.
+	 * @throws MessagingException Unable to transport the message associated with this
+	 * Email instance.
+	 */
+	public void sendMessage() throws MessagingException {
+		Transport.send(this.getMailMessage());
+	}
+	
+	/**
+	 * Get the {@link MimeMessage mail message} associated with this EsbMail
+	 * instance.
+	 * @return The mailMessage property value.
+	 */
+	public MimeMessage getMailMessage() throws MessagingException {
+        if (this.mailMessage == null){
+            this.mailMessage = this.createMailMessage(this.oMailSess);
+        }
+		return mailMessage;
+	}    
+
+	/**
+     * @return Returns the attachments.
+     */
+    public String[] getAttachments() {
+        return this.attachments;
+    }
+
+    /**
+     * @param attachments The attachments to set.
+     */
+    public void setAttachments(String[] attachments) {
+        this.attachments = attachments;
+    }
+
+    /**
+     * @return Returns the copyTo.
+     */
+    public String getCopyTo() {
+        return this.copyTo;
+    }
+
+    /**
+     * @param copyTo The copyTo to set.
+     */
+    public void setCopyTo(String copyTo) {
+        this.copyTo = copyTo;
+    }
+
+    /**
+     * @return Returns the from.
+     */
+    public String getFrom() {
+        return this.from;
+    }
+
+    /**
+     * @param from The from to set.
+     */
+    public void setFrom(String from) {
+        this.from = from;
+    }
+
+    /**
+     * @return Returns the sendTo.
+     */
+    public String getSendTo() {
+        return this.sendTo;
+    }
+
+    /**
+     * @param sendTo The sendTo to set.
+     */
+    public void setSendTo(String sendTo) {
+        this.sendTo = sendTo;
+    }
+
+    /**
+     * @return Returns the subject.
+     */
+    public String getSubject() {
+        return this.subject;
+    }
+
+    /**
+     * @param subject The subject to set.
+     */
+    public void setSubject(String subject) {
+        this.subject = subject;
+    }
+
+    /**
+     * @return Returns the message.
+     */
+    public String getMessage() {
+        return this.message;
+    }
+
+    /**
+     * @param message The message to set.
+     */
+    public void setMessage(String message) {
+        this.message = message;
+    } 
+
+    /**
+	 * Create the mail message instance to be {@link #sendMessage() sent}.
+	 * @param p_oMessageParms <a href="p_oMessageParms">Message parameters.</a>.
+	 * @param oMailSess Mail session on which the message is to be transported.
+	 * @return The message.
+	 * @throws AddressException
+	 * @throws MessagingException
+	 */
+	private MimeMessage createMailMessage(Session oMailSess) throws AddressException, MessagingException {
+		MimeMessage oMessage = new MimeMessage(oMailSess);
+		
+		// Populate the message with the data supplied in the p_oMessageParms ConfigTree.
+		addMessageAddressing(oMessage);
+		addMessageSubject( oMessage);
+		addMessageContent(oMessage);
+		
+		return oMessage;
+	}
+
+	/**
+	 * Add the message addressing information to the message.
+	 * @param p_oMessageParms <a href="p_oMessageParms">Message parameters.</a>.
+	 * @param oMessage The message.
+	 * @throws AddressException
+	 * @throws MessagingException
+	 */
+	private void addMessageAddressing(MimeMessage oMessage) throws AddressException, MessagingException {		
+		InternetAddress oFrom = new InternetAddress(this.from);
+	
+		oMessage.setFrom(oFrom);
+		oMessage.setReplyTo(new Address[] { oFrom });
+		InternetAddress[] oaTo = 
+			InternetAddress.parse(this.sendTo);
+		
+		for (int i1 = 0; i1 < oaTo.length; i1++) {
+			oMessage.addRecipient(MimeMessage.RecipientType.TO, oaTo[i1]);
+		}
+			
+		if (null != this.copyTo) {
+			oaTo = InternetAddress.parse(this.copyTo);
+			for (int i1 = 0; i1 < oaTo.length; i1++) {
+				oMessage.addRecipient(MimeMessage.RecipientType.CC, oaTo[i1]);
+			}
+		}
+	}
+
+	/**
+	 * Add the message Subject to the message.
+	 * @param p_oMessageParms <a href="p_oMessageParms">Message parameters.</a>.
+	 * @param oMessage The message.
+	 * @throws MessagingException
+	 */
+	private void addMessageSubject(MimeMessage oMessage) throws MessagingException {		
+		if (null != this.subject) {
+			oMessage.setSubject(this.subject);
+		}
+	}
+
+	/**
+	 * Add the message content (body, attachments etc) to from the
+	 * message parameters to the message.
+	 * @param p_oMessageParms <a href="p_oMessageParms">Message parameters.</a>.
+	 * @param oMessage The message.
+	 * @throws MessagingException
+	 */
+	private void addMessageContent(MimeMessage oMessage) throws MessagingException {
+		BodyPart oBodyP = new MimeBodyPart();
+		Multipart oMultiP = new MimeMultipart();
+
+		oMultiP.addBodyPart(oBodyP);
+		oMessage.setContent(oMultiP);
+		if (null == this.message) {
+            this.message = "";
+		}
+		oBodyP.setText(this.message + "\n");
+
+        
+        if (null != attachments) {
+			for (int i1 = 0; i1 < this.attachments.length; i1++) {
+	            oMultiP.addBodyPart(oBodyP = new MimeBodyPart());
+	            String sFile = this.attachments[i1];
+	            oBodyP.setDataHandler(new DataHandler(new FileDataSource(sFile)));
+	            oBodyP.setFileName(sFile.substring(1 + sFile.lastIndexOf("\\")));
+	        }
+        }
+	}
+
+	/**
+	 * Initialise an authenticated {@link javax.mail.Session} with the mail server.
+	 * @return The {@link javax.mail.Session}. 
+	 */
+	private Session initMailServerSession() {
+		Authenticator oAuth = null;
+		String sSmtpUser = Configuration.getSmtpUsername();
+		
+		if (! Util.isNullString(sSmtpUser)) {
+			oAuth = new MyAuth(sSmtpUser, Configuration.getSmtpPassword());			
+		}
+
+		Properties oMailP = new Properties();
+		oMailP.setProperty("mail.smtp.host", Configuration.getSmtpHost());
+		String sAuth = Configuration.getSmtpAuth();
+		if(sAuth != null) {
+			if(!sAuth.trim().equals("")) {
+				logger.warn("'" + Environment.SMTP_AUTH + "' set to an empty value.");
+			}
+			oMailP.setProperty("mail.smtp.auth", sAuth);
+		}
+		
+		try {
+			String sPort = Configuration.getSmtpPort();			
+			this.from = Configuration.getSmtpFrom();
+			Integer.parseInt(sPort);
+			oMailP.setProperty("mail.smtp.port", sPort);						
+		} 
+		catch (Exception e) { /* OK just leave standard port */ }
+
+		logger.info("Initialising mail server sesson. Properties: " + oMailP);
+		javax.mail.Session oMailSess = javax.mail.Session.getDefaultInstance(oMailP, oAuth);
+		
+		return oMailSess;
+	}
+    
+    /**  
+     * Method parsing filename from a string containing a comma separated list of filenames
+     * @param attachments the string containing the comma separated list of filenames
+     * @return a String array containing an entry for every filename in the given comma separated list
+     */
+    @SuppressWarnings("unused")
+	private String[] getFileNamesAsArray(String attachments) {
+        if (attachments.indexOf(',') != -1){
+            StringTokenizer st = new StringTokenizer(attachments,",");
+            String[] attachmentFileNames = new String[st.countTokens()];
+            int index = 0;
+            while (st.hasMoreTokens()) {
+                attachmentFileNames[index] = st.nextToken();
+                index++;
+            }
+            return attachmentFileNames;
+        }
+        return new String[]{attachments};
+    }
+
+	private class MyAuth extends Authenticator {
+		private String m_sUser, m_sPwd;
+
+		private MyAuth(String p_sU, String p_sP) {
+			m_sUser = p_sU;
+			m_sPwd = p_sP;
+		}
+
+		protected PasswordAuthentication getPasswordAuthentication() {
+			return new PasswordAuthentication(m_sUser, m_sPwd);
+		} // ________________________________
+	} // ______________________________________________________
+
+} // ____________________________________________________________________________
+


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/KeyValuePair.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/KeyValuePair.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/KeyValuePair.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,163 @@
+/*
+ * 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.helpers;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class KeyValuePair implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private String mKey, mVal;
+
+	public KeyValuePair(String pKey, String pVal) {
+		if(pKey == null || pKey.trim().equals("")) {
+			throw new IllegalArgumentException("null or empty 'pKey' arg in call.");
+		}
+		
+		mKey = pKey;
+		mVal = pVal;
+	}
+
+	public String getKey() {
+		return mKey;
+	}
+
+	public String getValue() {
+		return mVal;
+	}
+
+	public String toString() {
+		return mVal;
+	}
+
+	public String dump() {
+		return "KVpair[" + mKey + "=" + mVal + "]";
+	}
+    
+    /**
+     * Get the value associated with the specified key from the supplied list of Key Value Pairs.
+     * <p/>
+     * Returns the value from the first matching key.
+     * @param key The key to search for.
+     * @param list The list of KeyValuePairs to search.
+     * @return The value associated with the supplied key, or null if key not found.
+     */
+    public static String getValue(String key, List<KeyValuePair> list) {
+        if(key == null) {
+            throw new IllegalArgumentException("null 'key' arg in call.");
+        }
+        if(list == null) {
+            throw new IllegalArgumentException("null 'list' arg in call.");
+        }
+        
+        for(KeyValuePair kvp : list) {
+            if(kvp.mKey.equals(key)) {
+                return kvp.mVal;
+            }
+        }
+        
+        return null;
+    }
+    
+    /**
+     * Get the value associated with the specified key from the supplied list of Key Value Pairs.
+     * <p/>
+     * Returns the value from the first matching key.
+     * @param key The key to search for.
+     * @param list The list of KeyValuePairs to search.
+     * @param defaultVal The default value to be returned where there's no value available for the specified key. 
+     * @return The value associated with the supplied key, or null if key not found.
+     */
+    public static String getValue(String key, List<KeyValuePair> list, String defaultVal) {
+        String value = getValue(key, list);
+        
+        if(value == null) {
+            return defaultVal;
+        }
+        
+        return value;
+    }
+    
+    /**
+     * Get the boolean equivalent value associated with the specified key 
+     * from the supplied list of Key Value Pairs.
+     * <p/>
+     * Returns:
+     * <ul>
+     *  <li><b><code>true</code></b>: If value equals "true" or "yes" or "y" (ignoring case).</li>
+     *  <li><b><code>false</code></b>: If value equals "false" or "no" or "n" (ignoring case).</li>
+     *  <li><b><i>defaultVal</i></b>: If none of the above hold true.</li>
+     * </ul>
+     * <p/>
+     * Returns the value from the first matching key.
+     * @param key The key to search for.
+     * @param list The list of KeyValuePairs to search.
+     * @param defaultVal The default value to be returned where the above listed conditions do not hold
+     * for the associated value, or the value is not specified.
+     * @return The boolean equivalent value associated with the specified key according to the above specified
+     * rules, otherwise the <b><i>defaultVal</i></b> is returned.
+     */
+    public static boolean getBooleanValue(String key, List<KeyValuePair> list, boolean defaultVal) {
+        String value = getValue(key, list);
+        
+        if(value == null) {
+            return defaultVal;
+        }
+        
+        if(value.equalsIgnoreCase("true") || value.equalsIgnoreCase("y") || value.equalsIgnoreCase("yes")) {
+            return true;
+        } else if(value.equalsIgnoreCase("false") || value.equalsIgnoreCase("n") || value.equalsIgnoreCase("no")) {
+            return false;
+        } else {
+            return defaultVal;
+        }
+    }
+
+    /**
+     * Get the numeric <code>double</code> equivalent value associated with the specified key 
+     * from the supplied list of Key Value Pairs.
+     * <p/>
+     * Returns the value from the first matching key.
+     * @param key The key to search for.
+     * @param list The list of KeyValuePairs to search.
+     * @param defaultVal The default value to be returned where the value is not found or is non-numeric.
+     * @return The <code>double</code> equivalent value associated with the specified key if the value is found
+     * and is numeric, otherwise the <b><i>defaultVal</i></b> is returned.
+     */
+    public static double getDoubleValue(String key, List<KeyValuePair> list, double defaultVal) {
+        String value = getValue(key, list);
+        
+        if(value == null) {
+            return defaultVal;
+        }
+
+        try {
+            return Double.parseDouble(value);
+        } catch(NumberFormatException e) {
+            // return the default...
+        }
+        
+        return defaultVal;
+    }
+}


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/KeyValuePair.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/NamingContext.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/NamingContext.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/NamingContext.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,86 @@
+/*
+ * 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.helpers;
+
+import java.util.Properties;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.apache.log4j.Logger;
+
+/**
+ * Obtains JNDI naming context.
+ * 
+ */
+public abstract class NamingContext 
+{
+	/**
+	 * Logger for this class
+	 */
+	private static final Logger _logger = Logger
+			.getLogger(NamingContext.class);
+
+	public static final int MAX_RETRIES = 10;
+	public static final String JBOSS_PROVIDER_URL = "localhost";
+	public static final String JBOSS_INITIAL_CONTEXT_FACTORY = "org.jnp.interfaces.NamingContextFactory";
+	public static final String JBOSS_URL_PKG_PREFIX = ""; //"org.jboss.naming:org.jnp.interfaces"
+	/**
+	 * Tries to connect to the server to obtain the server Context.
+	 * 
+	 * @param providerUrl
+	 * @param initialContextFactory
+	 * @param urlPkgPrefixes
+	 * @return the InitialContext.
+	 */
+	public static Context getServerContext(String providerUrl, 
+			String initialContextFactory, String urlPkgPrefixes) 
+	{
+		Properties properties = new Properties();
+		properties.setProperty(Context.PROVIDER_URL, providerUrl);
+		properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
+		if (urlPkgPrefixes!=null && !"".equals(urlPkgPrefixes)) {
+			properties.setProperty(Context.URL_PKG_PREFIXES, urlPkgPrefixes);
+		}
+
+		boolean bCtxOK = false;
+		Context oCtx = null;
+		for (int i1 = 0; (!bCtxOK) && i1 < MAX_RETRIES; i1++) {
+			// check if context is valid
+			try {
+				oCtx = new InitialContext(properties);
+				oCtx.list("__dummy2@#$%");
+				bCtxOK = true;
+			} catch (NamingException nex) {
+				bCtxOK = true;
+			}
+		}
+		if (bCtxOK) {
+			return oCtx;
+		} else {
+			_logger.error("Can't connect to JNDI Server <" + providerUrl + ">");
+			return null;
+		}
+	}
+
+}


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/NamingContext.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,254 @@
+/*
+ * 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.helpers.persist;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.sql.DataSource;
+
+import org.apache.log4j.Logger;
+
+public class JdbcCleanConn
+{
+	private DataSource m_oDS = null;
+
+	private Connection m_conn = null;
+
+	protected List<PreparedStatement> m_olPrepSt = new ArrayList<PreparedStatement>();
+
+	protected Logger m_oLogger;
+
+	public JdbcCleanConn(DataSource p_oDS)
+	{
+		m_oDS = p_oDS;
+		m_oLogger = Logger.getLogger(this.getClass());
+	}
+
+	public void commit() throws SQLException
+	{
+		if (null != m_conn)
+		{
+			m_conn.commit();
+		}
+	}
+
+	public void rollback() throws SQLException
+	{
+		if (null != m_conn)
+		{
+			m_conn.rollback();
+		}
+	}
+
+	public void release()
+	{
+		if (null != m_conn)
+		{
+			try
+			{
+				m_conn.rollback();
+			}
+			catch (Exception eRoll)
+			{
+			}
+
+			for (PreparedStatement PS : m_olPrepSt)
+				try
+				{
+					PS.close();
+				}
+				catch (Exception e)
+				{
+				}
+			try
+			{
+				m_conn.close();
+			}
+			catch (Exception e1)
+			{
+			}
+		}
+		m_olPrepSt.clear();
+		m_conn = null;
+	} // __________________________________
+
+	public PreparedStatement prepareStatement(String p_sSt, int p_i1, int p_i2)
+			throws SQLException
+	{
+		if (null == m_conn)
+		{
+			connect();
+		}
+		PreparedStatement PS = m_conn.prepareStatement(p_sSt, p_i1, p_i2);
+		m_olPrepSt.add(PS);
+		return PS;
+	} // __________________________________
+
+	public PreparedStatement prepareStatement(String p_sSt) throws SQLException
+	{
+		if (null == m_conn)
+		{
+			connect();
+		}
+
+		PreparedStatement PS = m_conn.prepareStatement(p_sSt);
+		m_olPrepSt.add(PS);
+		return PS;
+	} // __________________________________
+
+	public ResultSet execQueryWait(PreparedStatement p_PS, int p_iQtry)
+			throws SQLException
+	{
+		if (null == m_conn)
+		{
+			connect();
+		}
+
+		SQLException eRet = null;
+		int iQtry = (p_iQtry < 1) ? 1 : (p_iQtry < 50) ? p_iQtry : 50;
+		for (int i1 = 0; i1 < iQtry; i1++)
+		{
+			try
+			{
+				return p_PS.executeQuery();
+			}
+			catch (SQLException e)
+			{
+				if (null == eRet)
+					eRet = e;
+
+				// TODO magic number!!
+
+				try
+				{
+					Thread.sleep(100 + (new Double(100 * Math.random()))
+							.longValue());
+				}
+				catch (InterruptedException ex)
+				{
+					m_oLogger.warn("Thread interrupted.", ex);
+				}
+			}
+		}
+		m_oLogger.error("execQueryWait() FAILED", eRet);
+		throw eRet;
+	} // __________________________________
+
+	public void execUpdWait(PreparedStatement p_PS, int p_iQtry)
+			throws SQLException
+	{
+		if (null == m_conn)
+		{
+			connect();
+		}
+
+		SQLException eRet = null;
+		int iQtry = (p_iQtry < 1) ? 1 : (p_iQtry < 50) ? p_iQtry : 50;
+		for (int i1 = 0; i1 < iQtry; i1++)
+		{
+			try
+			{
+				p_PS.executeUpdate();
+				return;
+			}
+			catch (SQLException e)
+			{
+				if (null == eRet)
+					eRet = e;
+				
+				try
+				{
+					Thread.sleep(100 + (new Double(100 * Math.random()))
+							.longValue());
+				}
+				catch (InterruptedException ex)
+				{
+					m_oLogger.warn("Thread interrupted.", ex);
+				}
+			}
+		}
+		m_oLogger.error("execUpdWait() FAILED", eRet);
+		throw eRet;
+	} // __________________________________
+
+	private void connect() throws SQLException
+	{
+		if (m_conn != null)
+		{
+			return;
+		}
+
+		SQLException eRet = null;
+		for (int i1 = 0; i1 < 5; i1++)
+		{
+			try
+			{
+				m_conn = m_oDS.getConnection();
+				eRet = null;
+				break;
+			}
+			catch (SQLException e)
+			{
+				if (null == eRet)
+					eRet = e;
+
+				// TODO magic number!!
+
+				try
+				{
+					Thread.sleep(2000 + (new Double(100 * Math.random()))
+							.longValue());
+				}
+				catch (InterruptedException ex)
+				{
+					m_oLogger.warn("Thread interrupted.", ex);
+				}
+			}
+		}
+
+		if (eRet != null)
+		{
+			m_oLogger.error("connect() FAILED", eRet);
+			throw eRet;
+		}
+
+		if (m_conn == null)
+		{
+			m_oLogger.error("connect() FAILED: no connection");
+
+			throw new RuntimeException();
+		}
+
+		m_conn.setAutoCommit(false);
+		m_conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
+
+		m_olPrepSt.clear();
+
+	} // __________________________________
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,166 @@
+/*
+ * 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.helpers.persist;
+
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.DriverManager;
+
+import javax.sql.DataSource;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * <p>
+ * Obtain a connection that implements the DataSource interface
+ * </p>
+ * <p>
+ * Description: Enable compatible use of JdbcCleanConn from outside a J2EE app
+ * container
+ * </p>
+ * 
+ * @version 1.0
+ * @see JdbcCleanConn
+ * @see ConfigTree
+ */
+public class SimpleDataSource implements DataSource
+{
+	private PrintWriter m_oPW = new PrintWriter(System.out);
+
+	private int m_iTO = 10;
+
+	private String m_sUrl, m_sUsr, m_sPwd;
+
+	private Connection m_oConn;
+
+	public static final String DRIVER = "driver-class";
+
+	public static final String URL = "connection-url";
+
+	public static final String USER = "user-name";
+
+	public static final String PASSWORD = "password";
+
+	private static final Logger _logger = Logger
+			.getLogger(SimpleDataSource.class);
+
+	// Disable default constructor
+	private SimpleDataSource ()
+	{
+	}
+
+	/**
+	 * Obtain a DataSource by providing connection parameters. ConfigTree
+	 * argument must contain the following attributes
+	 * <p>
+	 * <li> driver-class</li>
+	 * <li> connection-url</li>
+	 * <li> user-name</li>
+	 * <li> password</li>
+	 * </p>
+	 * 
+	 * @param p_oP
+	 *            ConfigTree - Parameter tree that contains the 4 attributes
+	 *            needed
+	 * @see ConfigTree
+	 * @see SimpleDataSource#SimpleDataSource(String,String,String,String)
+	 * @see javax.sql.DataSource
+	 */
+	public SimpleDataSource (ConfigTree p_oP)
+	{
+		this(p_oP.getAttribute(DRIVER), p_oP.getAttribute(URL), p_oP
+				.getAttribute(USER), p_oP.getAttribute(PASSWORD));
+	} // ________________________________
+
+	/**
+	 * Obtain a connection to a DB using the provided arguments to call
+	 * 
+	 * @param p_sDriver
+	 *            String - Java class of the JDBC driver to use (e.g.
+	 *            org.postgresql.Driver)
+	 * @param p_sDbURL
+	 *            String - The URL of the database (e.g.
+	 *            jdbc:postgresql://chodedb1:5432/cq3)
+	 * @param p_sUsr
+	 *            String - Username
+	 * @param p_sPwd
+	 *            String - Password
+	 * @see DriverManager#getConnection(String,String,String)
+	 * @see javax.sql.DataSource
+	 */
+	public SimpleDataSource (String p_sDriver, String p_sDbURL, String p_sUsr,
+			String p_sPwd)
+	{
+		try
+		{
+			Class.forName(p_sDriver);
+			m_sUrl = p_sDbURL;
+			getConnection(p_sUsr, p_sPwd);
+		}
+		catch (ClassNotFoundException ex)
+		{
+			throw new IllegalArgumentException(ex);
+		}
+	} // ________________________________
+
+	public Connection getConnection ()
+	{
+		return m_oConn;
+	}
+
+	public Connection getConnection (String username, String password)
+	{
+		m_sUsr = username;
+		m_sPwd = password;
+		try
+		{
+			m_oConn = DriverManager.getConnection(m_sUrl, m_sUsr, m_sPwd);
+		}
+		catch (Exception e)
+		{
+			_logger.error("Can't obtain datasource", e);
+			m_oConn = null;
+		}
+		return m_oConn;
+	} // ________________________________
+
+	public int getLoginTimeout ()
+	{
+		return m_iTO;
+	}
+
+	public PrintWriter getLogWriter ()
+	{
+		return m_oPW;
+	}
+
+	public void setLoginTimeout (int seconds)
+	{
+		m_iTO = seconds;
+	}
+
+	public void setLogWriter (PrintWriter out)
+	{
+		m_oPW = out;
+	}
+} // ______________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlDbTable.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlDbTable.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlDbTable.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,202 @@
+/*
+ * 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.helpers.persist;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+
+import org.jboss.soa.esb.ConfigurationException;
+
+public abstract class SqlDbTable
+{
+	protected String m_sTableName;
+
+	protected SqlField[] m_oaFields;
+
+	protected PreparedStatement[] m_oaPS;
+
+	private JdbcCleanConn m_oConn;
+
+	public JdbcCleanConn getConn ()
+	{
+		return m_oConn;
+	}
+
+	public final String getTableName ()
+	{
+		return m_sTableName;
+	}
+
+	public final SqlField[] getAllFields ()
+	{
+		return m_oaFields;
+	}
+
+	private String m_sInsertSql, m_sUpdateSql, m_sDeleteSql;
+
+	protected String m_sSelectSql;
+
+	public SqlDbTable (JdbcCleanConn p_oC, String p_sTblNm) throws SQLException, ConfigurationException
+	{
+		m_oConn = p_oC;
+		m_sTableName = p_sTblNm;
+		initFields();
+	} // ________________________________
+
+	public abstract int setInsValues (PreparedStatement p_PS, Object bobj)
+			throws SQLException;
+
+	public abstract Object getFromRS (ResultSet p_oRS) throws SQLException;
+
+	protected abstract String getSelectFields ();
+
+	public String getFldName (int p_i)
+	{
+		return (null == m_oaFields) ? null : (p_i < 0) ? null : (p_i >= m_oaFields.length) ? null : m_oaFields[p_i]
+				.getFieldName();
+	} // ________________________________
+
+	public String getSelectStatement ()
+	{
+		if (m_sSelectSql != null) return m_sSelectSql;
+		StringBuffer sb = new StringBuffer("select ").append(getSelectFields());
+		m_sSelectSql = sb.append(" from ").append(getTableName()).toString();
+		return m_sSelectSql;
+	} // ________________________________
+
+	public String getInsertStatement ()
+	{
+		if (m_sInsertSql != null) return m_sInsertSql;
+
+		StringBuffer sb = new StringBuffer(256);
+		sb.append("insert into ").append(getTableName());
+
+		sb.append(" values (");
+		for (int i = 0; i < m_oaFields.length; i++)
+			((i < 1) ? sb : sb.append(",")).append('?');
+		sb.append(')');
+
+		return (m_sInsertSql = sb.toString());
+	} // ________________________________
+
+	public String getUpdateStatement ()
+	{
+		if (m_sUpdateSql != null) return m_sUpdateSql;
+
+		StringBuffer sb = new StringBuffer(256);
+		sb.append("update ").append(getTableName()).append(" set ");
+
+		StringBuffer sbWhere = new StringBuffer(" where ");
+
+		int iVal = 0;
+		int iWh = 0;
+		for (int i = 0; i < m_oaFields.length; i++)
+		{
+			SqlField oCurr = m_oaFields[i];
+			if (oCurr.isPrimaryKey()) ((iWh++ < 1) ? sbWhere : sbWhere
+					.append(" and ")).append(oCurr.getFieldName()).append(
+					" = ?");
+			else
+				((iVal++ < 1) ? sb : sb.append(",")).append(
+						oCurr.getFieldName()).append(" = ?");
+		}
+		sb.append(sbWhere);
+
+		return (m_sUpdateSql = sb.toString());
+	} // ________________________________
+
+	public String getDeleteStatement ()
+	{
+		if (m_sDeleteSql != null) return m_sDeleteSql;
+
+		StringBuffer sb = new StringBuffer(256);
+		sb.append("delete from ").append(getTableName()).append(" where ");
+
+		int iWh = 0;
+		for (int i = 0; i < m_oaFields.length; i++)
+		{
+			SqlField oCurr = m_oaFields[i];
+			if (!oCurr.isPrimaryKey()) continue;
+			((iWh++ < 1) ? sb : sb.append(" and "))
+					.append(oCurr.getFieldName()).append(" = ?");
+		}
+
+		return (m_sDeleteSql = sb.toString());
+	} // ________________________________
+
+	public void setObject (PreparedStatement p_PS, int p_iFld, Object p_sFldVal)
+			throws SQLException
+	{
+		if (null != p_sFldVal) if (p_sFldVal instanceof String)
+		{
+			String sTr = ((String) p_sFldVal).trim();
+			p_sFldVal = (sTr.length() > 0) ? sTr : null;
+		}
+		;
+		int iSqlIdx = 1 + p_iFld;
+		if (null == p_sFldVal) p_PS.setNull(iSqlIdx, m_oaFields[p_iFld]
+				.getSqlType());
+		else
+			p_PS.setObject(iSqlIdx, p_sFldVal);
+	} // ________________________________
+
+	public void setLong (PreparedStatement p_PS, int p_iFld, long p_lVal)
+			throws SQLException
+	{
+		p_PS.setLong(1 + p_iFld, p_lVal);
+	} // ________________________________
+
+	public void setInt (PreparedStatement p_PS, int p_iFld, int p_iVal)
+			throws SQLException
+	{
+		p_PS.setInt(1 + p_iFld, p_iVal);
+	} // ________________________________
+
+	private void initFields () throws SQLException, ConfigurationException
+	{
+		PreparedStatement PS = m_oConn.prepareStatement(getSelectStatement());
+
+		ResultSetMetaData MD = m_oConn.execQueryWait(PS, 3).getMetaData();
+		m_oaFields = new SqlField[MD.getColumnCount()];
+		
+		try
+		{
+			for (int i1 = 0; i1 < m_oaFields.length; i1++)
+			{
+				int iCol = 1 + i1;
+				String sFN = MD.getColumnName(iCol);
+				Class oCL = Class.forName(MD.getColumnClassName(iCol));
+				int iTP = MD.getColumnType(iCol);
+				int iSZ = MD.getColumnDisplaySize(iCol);
+				m_oaFields[i1] = new SqlField(sFN, oCL, iTP, iSZ, false);
+			}
+		}
+		catch (ClassNotFoundException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		
+		PS.close();
+	} // ________________________________
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlDbTable.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlField.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlField.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlField.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,83 @@
+/*
+ * 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.helpers.persist;
+
+public class SqlField {
+	private int m_sqlType;
+
+	private Class m_javaType;
+
+	private int m_sqlLength;
+
+	private String m_fieldName;
+
+	private boolean m_primaryKey;
+
+	public SqlField(String pFldName, Class pJavaType, int pSqlType,
+			int pFieldLength, boolean pk) {
+		m_fieldName = pFldName;
+		m_javaType = pJavaType;
+		m_sqlType = pSqlType;
+		m_sqlLength = pFieldLength;
+		m_primaryKey = pk;
+	}
+
+	public int getSqlType() {
+		return m_sqlType;
+	}
+
+	public Class getJavaType() {
+		return m_javaType;
+	}
+
+	public int getSqlLength() {
+		return this.m_sqlLength;
+	}
+
+	public String getFieldName() {
+		return this.m_fieldName;
+	}
+
+	public boolean isPrimaryKey() {
+		return this.m_primaryKey;
+	}
+
+	public void setSqlType(int pSqlType) {
+		m_sqlType = pSqlType;
+	}
+
+	public void setJavaType(Class pJavaType) {
+		m_javaType = pJavaType;
+	}
+
+	public void setSqlLength(int pSqlLength) {
+		m_sqlLength = pSqlLength;
+	}
+
+	public void setFieldName(String pFieldName) {
+		m_fieldName = pFieldName;
+	}
+
+	public void setPrimaryKey(boolean pPrimaryKey) {
+		m_primaryKey = pPrimaryKey;
+	}
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SqlField.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Attachment.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Attachment.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Attachment.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+package org.jboss.soa.esb.message;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Messages may contain attachments that do not appear in the main payload body.
+ * For example, binary document formats, zip files etc.
+ * <br/>Handles both 'named' attachment and a list of 'unnamed' attachments
+ * 
+ * @author Mark Little
+ */
+
+public interface Attachment
+{
+	/**
+	 * Returns the attachment to which this object maps the specified key. 
+	 * Returns null if the there's no value mapped for this key.
+	 * @param name String - The name of the attachment to get
+	 * @return Object - the value mapped to arg0 or &lt;null&gt; if none
+	 */
+	Object get(String name);
+	/**
+	 * Associates the specified value with the specified name
+	 * If there was already a mapping for this name, the old value is replaced by 
+	 * arg1
+	 * @param name String - the name for the object to be stored
+	 * @param value Object - the object to be associated with the name (arg0)
+	 * @return Object - previous value associated with specified name,
+	 * or null  if there was none
+	 */
+	Object put(String name, Object value);
+	/**
+	 * Removes the mapping for this name if it was present
+	 * @param name String - the name of the object to be removed
+	 * @return the value previously associated the name, or null if there was none
+	 */
+	Object remove(String name);
+	/**
+	 * @return String[] - the list of names of the named Objects
+	 */
+	String[] getNames();
+
+	/**
+     * get the item at the specified position in the list of unnamed objects
+     * @param index int - index of element to return
+     * @return Object the element at the specified position in the list of unnamed objects
+     * @throws IndexOutOfBoundsException - if the index is out of range
+     */
+	Object itemAt 		(int index) throws IndexOutOfBoundsException;
+	/**
+	 * Removes the element at the specified position in the list of unnamed objects
+	 * Shifts any subsequent elements to the left 
+	 * @param index int - index of element to remove
+	 * @return Object - the element that was removed from the list
+	 * @throws IndexOutOfBoundsException - if the index is out of range
+	 */
+	Object removeItemAt	(int index) throws IndexOutOfBoundsException;
+	/**
+	 * Replaces the element at the specified position in the list of unnamed objects 
+	 * with the value supplied
+	 * @param index int - index of element to be replaced
+	 * @param  value Object - the object to replace the one previously stored at that index
+	 * @return Object - previous value at that index
+	 * @throws IndexOutOfBoundsException - if the index is out of range
+	 */
+	Object replaceItemAt(int index, Object value) throws IndexOutOfBoundsException;
+	/**
+	 * Appends the specified element to the end of the list of unnamed objects
+	 * <br/>null values are allowed 
+	 * @param value Object - the object to be appended
+	 */
+	void addItem		(Object value);
+	/**
+	 * Replaces the element at the specified position in the list of unnamed objects
+	 * <br/> allows null values
+	 * @param index int - index where to insert the value - Shifts any subsequent elements to the right
+	 * @param value Object - value to be stored at the specified position
+	 * @throws IndexOutOfBoundsException
+	 */
+	void addItemAt	(int index, Object value) throws IndexOutOfBoundsException;
+	/**
+	 * getUnnamedCount()
+	 * @return the count of unnamed objects
+	 */
+	int	getUnnamedCount();
+	/**
+	 * getNamedCount()
+	 * @return the count of named objects
+	 */
+	public int getNamedCount(); 
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Body.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Body.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Body.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,108 @@
+package org.jboss.soa.esb.message;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * The message body holds arbitrary information which represents the
+ * payload as far as clients and services are concerned. A body may contain:
+ * 
+ * (i) a byte array for arbitrary data. How that array is interpreted by the
+ * service is implementation specific and outside the scope of the ESB to
+ * enforce.
+ * 
+ * (ii) a list of Objects of arbitrary types. How these objects are serialized
+ * to/from the message body when it is transmitted is up to the specific
+ * Object type. The plan is to add support for various TYPES of Object and the message
+ * implementation will use external adapters to externalize/internalize the Objects.
+ * Currently we only support Serializable objects.
+ */
+
+public interface Body
+{
+	// TODO error handling exceptions
+	
+	/**
+	 * Add the specified Object to the body.
+	 * 
+	 * @param name the name of the object. MUST be unique within this body.
+	 * @param value the Object to add.
+	 */
+	
+	public void add (String name, Object value);
+	
+	/**
+	 * Get the specified Object, or <code>null</code> if not present.
+	 * 
+	 * @param name the name of the Object to retrieve.
+	 * @return the Object.
+	 */
+	
+	public Object get (String name);
+	
+	/**
+	 * Remove the specified Object and return it, or <code>null</code> if not present.
+	 * 
+	 * @param name the name of the Object to remove.
+	 * @return the Object removed.
+	 */
+	
+	public Object remove (String name);
+	
+	/**
+	 * Set the byte content of the body.
+	 * 
+	 * @param content the message bytes
+	 */
+	
+	public void setContents (byte[] content);
+	
+	/**
+	 * @return the byte content of the body.
+	 */
+	
+	public byte[] getContents ();
+
+	/**
+	 * Replace this body instance with the one given.
+	 * 
+	 * @param b the body to be replaced with.
+	 */
+	
+	public void replace (Body b);
+	
+	/**
+	 * Merge two bodies.
+	 * 
+	 * @param b the body to be merged with.
+	 */
+	
+	public void merge (Body b);
+	
+	/**
+	 * @return get the list of names in this instance.
+	 */
+	
+	public String[] getNames ();
+	
+	// TODO replace an entry in the body
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Context.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Context.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Context.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,33 @@
+package org.jboss.soa.esb.message;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * The context is the section of the message containing information such as session
+ * management, transaction information, security data etc. Entries in the context
+ * may be ordered.
+ */
+
+public interface Context
+{
+	// TODO add some methods!
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Fault.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Fault.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Fault.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,61 @@
+package org.jboss.soa.esb.message;
+
+import java.net.URI;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Faults may be returned from a service in response to receiving and acting upon messages.
+ * A fault consists of a unique code (MANDATORY) and a reason string (OPTIONAL).
+ */
+
+public interface Fault
+{
+	/**
+	 * @return the unique code representing this fault.
+	 */
+	
+	public URI getCode ();
+	
+	/**
+	 * Set the unique code for this fault.
+	 * 
+	 * @param code the code.
+	 */
+	
+	public void setCode (URI code);
+	
+	/**
+	 * @return a String representing the reason for the fault. Typically used for
+	 * logging purposes.
+	 */
+	
+	public String getReason ();
+	
+	/**
+	 * Set the optional reason for this fault.
+	 * 
+	 * @param reason the reason for the fault.
+	 */
+	
+	public void setReason (String reason);
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Header.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Header.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Header.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,45 @@
+package org.jboss.soa.esb.message;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import org.jboss.soa.esb.addressing.Call;
+
+/**
+ * The message header. Contains such things as routing information.
+ */
+
+public interface Header
+{
+	/**
+	 * @return get the Call information for this message.
+	 */
+	
+	public Call getCall ();
+	
+	/**
+	 * Set the call information for this message.
+	 * 
+	 * @param call the information.
+	 */
+	
+	public void setCall (Call call);
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Message.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Message.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Message.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,92 @@
+package org.jboss.soa.esb.message;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.net.URI;
+
+/**
+ * This is the basic internal core message abstraction. A message consists of the following
+ * components:
+ * 
+ * Header: the header information contains information such as the destination EPR, the
+ * sender EPR, where the reply goes etc, i.e., general message-level functional information.
+ * Context: additional information to contextualise the message; for example, transaction or
+ * security data, the identity of the ultimate receiver, or HTTP-cookie like information.
+ * Body: the actual payload of the message.
+ * Fault: any fault information associated with the message.
+ * Attachment: any attachments associated with the message.
+ * Properties: any message specific properties.
+ * 
+ * Each message, once created, has a corresponding element for these 5 components. That element
+ * may be empty (<b>NOT NULL</b>). The object representing the element can then be used to act
+ * on the corresponding data item in the message.
+ * 
+ * @author Mark Little
+ *
+ */
+
+public interface Message
+{
+	/**
+	 * @return get the header component of the message.
+	 */
+	
+	public Header getHeader ();
+
+	/**
+	 * @return get the context component of the message.
+	 */
+	
+	public Context getContext ();
+	
+	/**
+	 * @return get the body component of the message.
+	 */
+	
+	public Body getBody ();
+
+	/**
+	 * @return get any faults associated with the message. These should not
+	 * be application level faults, but comms level.
+	 */
+	
+	public Fault getFault ();
+	
+	/**
+	 * @return get any message attachments.
+	 */
+	
+	public Attachment getAttachment ();
+	
+	/**
+	 * @return the type of this message.
+	 */
+	
+	public URI getType ();
+	
+	/**
+	 * @return Properties - any message properties.
+	 */
+	
+	public Properties getProperties ();
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Properties.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Properties.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Properties.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,88 @@
+/*
+ * 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 schifest at heuristica.com.ar
+ */
+
+package org.jboss.soa.esb.message;
+
+/**
+ * The message properties hold arbitrary information in the form of
+ * &lt;String,Object&gt; pairs
+ * 
+ */
+
+public interface Properties
+{
+	/**
+	 * getProperty(name)
+	 * 
+	 * @param name
+	 *            String - name of property
+	 * @return Object - the value stored under the specified name
+	 */
+	public Object getProperty(String name);
+
+	/**
+	 * getProperty(name,defaultVal)
+	 * 
+	 * @param name
+	 *            String - name of property
+	 * @param defaultVal
+	 *            Object - value to return if no value found
+	 * @return Object - the value stored under the specified name
+	 */
+	public Object getProperty(String name, Object defaultVal);
+
+	/**
+	 * setProperty(name,value)
+	 * 
+	 * @param name
+	 *            String - name of property to store
+	 * @param value
+	 *            Object - value of property to store under specified name
+	 * @return Object - the previous value of the specified name, or null if it
+	 *         did not have one
+	 */
+	public Object setProperty(String name, Object value);
+
+	/**
+	 * remove(name)
+	 * 
+	 * @param name
+	 *            String - name of property to remove
+	 * @return Object - the previous value of the specified name, or null if it
+	 *         did not have one
+	 */
+	public Object remove(String name);
+
+	/**
+	 * size()
+	 * 
+	 * @return int - Returns the number of properties in this object
+	 */
+	public int size();
+
+	/**
+	 * getNames()
+	 * 
+	 * @return String[] - containing the names of all properties
+	 */
+	public String[] getNames();
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessageFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessageFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessageFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+package org.jboss.soa.esb.message.format;
+
+import java.net.URI;
+
+import org.jboss.internal.soa.esb.message.format.MessageFactoryImpl;
+import org.jboss.soa.esb.message.Message;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * You get a message of a specific type when you need it. Obviously that type may not be
+ * suitable for the service (hopefully you've got that contractual information a priori, but
+ * maybe not) and in which case some translation/transformation may be necessary.
+ * 
+ * @author Mark Little
+ *
+ */
+
+public abstract class MessageFactory
+{
+	/**
+	 * @return some default implementation.
+	 */
+	
+	public abstract Message getMessage ();
+	
+	/**
+	 * @param type the unique identifier representing the type of this message.
+	 * @return the message, or <code>null</code> if no suitable plugin is available.
+	 */
+	
+	public abstract Message getMessage (URI type);
+	
+	/**
+	 * @param msg the message to convert.
+	 * @param type the type of the message we want to convert to.
+	 * @return a translated message, or <code>null</code> if no suitable plugin is available.
+	 */
+	
+	public abstract Message getMessage (Message msg, URI type);
+	
+	/**
+	 * Reload the plugins.
+	 */
+	
+	public abstract void reset ();
+	
+	// TODO setters/getters for the plugin programmatically too.
+	
+	public static MessageFactory getInstance ()
+	{
+		return theFactory;
+	}
+	
+	private static final MessageFactory theFactory = new MessageFactoryImpl();
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessagePlugin.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessagePlugin.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessagePlugin.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+package org.jboss.soa.esb.message.format;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Message;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Used to plug in new message formats dynamically. Each plugin is responsible for
+ * returning a message implementation that knows how to serialize its state in a
+ * specific manner, e.g., XML or ASN.1.
+ *  
+ * @author Mark Little
+ *
+ */
+
+public interface MessagePlugin
+{
+	public static final String MESSAGE_PLUGIN = "org.jboss.soa.esb.message.format.plugin";
+	
+	/**
+	 * @return the message instance.
+	 */
+	
+	public Message getMessage ();
+	
+	/**
+	 * @return the unique identifier for this message plugin.
+	 */
+	
+	public URI getType ();
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessageType.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessageType.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/format/MessageType.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,62 @@
+package org.jboss.soa.esb.message.format;
+
+import java.net.URI;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * You get a message of a specific type when you need it. Obviously that type may not be
+ * suitable for the service (hopefully you've got that contractual information a priori, but
+ * maybe not) and in which case some translation/transformation may be necessary.
+ * 
+ * @author Mark Little
+ *
+ */
+
+public abstract class MessageType
+{
+	/*
+	 * DO NOT reorder this list. New types may be added as required.
+	 */
+	
+	public static URI JBOSS_XML = null;
+	public static URI JAVA_SERIALIZED = null;
+
+	public static URI DEFAULT_TYPE = null;
+	
+	static
+	{
+		try
+		{
+			JBOSS_XML = new URI("urn:jboss/esb/message/type/JBOSS_XML");
+			JAVA_SERIALIZED = new URI("urn:jboss/esb/message/type/JAVA_SERIALIZED");
+			
+			DEFAULT_TYPE = JBOSS_XML;
+		}
+		catch (Exception ex)
+		{
+			throw new ExceptionInInitializerError(ex.toString());
+		}
+
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,71 @@
+/*
+ * 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.notification;
+
+/**
+ * Configuration Exception.
+ * 
+ * @author mark.little at jboss.com
+ * @since Version 4.0
+ */
+
+public class NotificationException extends Exception
+{
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param message
+	 *            Exception message.
+	 */
+	public NotificationException (String message)
+	{
+		super(message);
+	}
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param message
+	 *            Exception message.
+	 * @param cause
+	 *            Exception cause.
+	 */
+	public NotificationException (String message, Throwable cause)
+	{
+		super(message, cause);
+	}
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param cause
+	 *            Exception cause.
+	 */
+	public NotificationException (Throwable cause)
+	{
+		super(cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,176 @@
+/*
+ * 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.notification;
+
+import java.io.Serializable;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * Holds lists of NotificationTarget objects so that the NotificationHandler EJB
+ * behaviour can be controlled at runtime by client applications
+ * <p>
+ * Description: Objects of this class will hold a list of objects that extend
+ * the NotificationTarget base class. It's main purpose is to allow Rosetta
+ * users to configure lists of recipients of specific events, and request the
+ * NotificationHandler EJB to take care of triggering the events to each object
+ * specified as a child "target" element
+ * </p>
+ * <p>
+ * Author: Heuristica - Buenos Aires - Argentina
+ * </p>
+ * 
+ * @version 1.0
+ */
+public class NotificationList extends ConfigTree
+{
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Mnemonic name for the XML element name for the serialized form of objects
+	 * of this class
+	 */
+	public static final String ELEMENT = "NotificationList";
+
+	public static final String TYPE = "type";
+
+	public static final String CHILD_TGT = "target";
+
+	private String m_sType;
+
+	protected static Logger _logger = Logger.getLogger(NotificationList.class);
+
+	/**
+	 * Instantiate an object according to the contents of &lt;arg 1&gt;
+	 * 
+	 * @param p_oP
+	 *            ConfigTree - Parameter object containing the information
+	 *            needed to instantiate this object, including child elements
+	 *            named "target" that represent each individual
+	 *            NotificationTarget object
+	 */
+	public NotificationList (ConfigTree p_oP)
+	{
+		super(p_oP);
+		m_sType = p_oP.getAttribute(TYPE);
+		if (null != m_sType) m_sType = m_sType.toLowerCase();
+	} // __________________________________
+
+	private NotificationTarget[] getTargets () throws ConfigurationException
+	{
+		ConfigTree[] oaTgts = super.getChildren(CHILD_TGT);
+		NotificationTarget[] oaRet = new NotificationTarget[oaTgts.length];
+
+		for (int i1 = 0; i1 < oaRet.length; i1++)
+		{
+			oaRet[i1] = NotificationTarget.fromParams(oaTgts[i1]);
+		}
+
+		return oaRet;
+	} // __________________________________
+
+	/**
+	 * Invoke the sendNotification() method for all targets in the list. The
+	 * method iterates along it's NotificationTarget child nodes and invokes the
+	 * sendNotification() method with the same object to all of them
+	 * 
+	 * @param p_o
+	 *            Object - The event to notify to all targets
+	 * @throws NotificationException -
+	 *             use Exception.getMessage() at runtime
+	 */
+	public void sendNotification (Serializable p_o) throws NotificationException
+	{
+		try
+		{
+			NotificationTarget[] oaTgt = getTargets();
+	
+			for (int i1 = 0; i1 < oaTgt.length; i1++)
+			{
+				oaTgt[i1].sendNotification(p_o);
+			}
+		}
+		catch (ConfigurationException ex)
+		{
+			throw new NotificationException(ex);
+		}
+	} // __________________________________
+
+	/**
+	 * Is this an OK (success) NotificationList ?
+	 * 
+	 * @return boolean - Yes, Attribute "type" of constructor parameters starts
+	 *         with "ok", OR there was no "type" attribute in the constructor
+	 *         <li>A NotificationList can be both OK and Error if no "type"
+	 *         attribute was specified at constructor time in the ConfigTree
+	 *         argument</li>
+	 * @see ConfigTree#getAttr(String)
+	 */
+	public boolean isOK ()
+	{
+		return (null == m_sType) ? true : m_sType.startsWith("ok");
+	}
+
+	/**
+	 * Is this an Error (failure) NotificationList ?
+	 * 
+	 * @return boolean - Yes, Attribute "type" of constructor parameters starts
+	 *         with "err", OR there was no "type" attribute in the constructor
+	 *         <li>A NotificationList can be both OK and Error if no "type"
+	 *         attribute was specified at constructor time in the ConfigTree
+	 *         argument</li>
+	 * @see ConfigTree#getAttr(String)
+	 */
+	public boolean isErr ()
+	{
+		return (null == m_sType) ? true : m_sType.startsWith("err");
+	}
+
+	public static void notifyAll (ConfigTree[] list, Serializable content)
+	{
+		for (ConfigTree tree : list)
+		{
+			ConfigTree[] targets = tree.getChildren(NotificationList.CHILD_TGT);
+			for (ConfigTree curr : targets)
+			{
+				try
+				{
+					NotificationTarget target = NotificationTarget
+							.fromParams(curr);
+					target.sendNotification(content);
+				}
+				catch (Exception e)
+				{
+					_logger.error(
+							"Can't instantiate target " + curr.toString(), e);
+				}
+			}
+		}
+	} // ________________________________
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,153 @@
+/*
+ * 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.notification;
+
+import java.lang.reflect.Constructor;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * Abstract class to define expected behaviour of all NotificationTargets and
+ * provide some common functionality to all of them
+ * <p>
+ * Description:
+ * </p>
+ * <p>
+ * Heuristica - Buenos Aires - Argentina
+ * </p>
+ * 
+ * @version 1.0
+ */
+public abstract class NotificationTarget
+{
+	/**
+	 * Derived classes must implement this method to do what has to be done to
+	 * trigger that specific type of notification event
+	 * 
+	 * @param p_o
+	 *            Object - The toString() method of this object will be the
+	 *            actual notification content
+	 * @throws NotificationException -
+	 *             invoke Exception.getMessage() at runtime for this object
+	 * @see ConfigTree
+	 */
+	public abstract void sendNotification (java.io.Serializable p_o)
+			throws NotificationException;
+
+	private static final String NOTIF_PFX = NotificationTarget.class
+			.getPackage().getName();
+
+	public static final String PRM_NOTIF_CLASS = "class";
+
+	/**
+	 * Common object to hold details of object's information - Each derived
+	 * class will hold it's own needs
+	 */
+	protected ConfigTree m_oParms;
+
+	/**
+	 * Instantiate an empty NotificationTarget object
+	 */
+	protected NotificationTarget ()
+	{
+	}
+
+	/**
+	 * Instantiate a NotificationTarget object with the information contained in
+	 * &lt;arg 1&gt;
+	 * 
+	 * @param p_oP
+	 *            ConfigTree - Holds details to instantiate this object
+	 */
+	protected NotificationTarget (ConfigTree p_oP)
+	{
+		m_oParms = p_oP;
+	} // __________________________________
+
+	/**
+	 * A typical Factory.getInstance() method
+	 * 
+	 * @param p_oP
+	 *            ConfigTree - Contents of this argument will determine the type
+	 *            (derived class) of NotificationTarget returned
+	 * @throws ConfigurationException -
+	 *             Arg 1 does not contain a valid structure for currently
+	 *             implemented NotificationTarget subclasses - invoke
+	 *             Exception.getMessage() at runtime for details
+	 * @return NotificationTarget - An object that instantiates the
+	 *         NotificationTarget abstract class
+	 */
+	public static NotificationTarget fromParams (ConfigTree p_oP)
+			throws ConfigurationException
+	{
+		String sClass = p_oP.getAttribute(PRM_NOTIF_CLASS);
+		if (null == sClass)
+			throw new IllegalArgumentException(
+					"Missing '" + PRM_NOTIF_CLASS + "' attribute in parameters");
+		Class oCls = null;
+		try
+		{
+			oCls = Class.forName(NOTIF_PFX + "." + sClass);
+		}
+		catch (Exception e)
+		{
+			try
+			{
+				oCls = Class.forName(sClass);
+			}
+			catch (Exception e1)
+			{/* oCls will be null */
+			}
+		}
+		if (null == oCls)
+			throw new ConfigurationException(
+					"Invalid class <" + sClass + ">, or missing library");
+
+		Constructor oCons = null;
+		try
+		{
+			oCons = oCls.getConstructor(new Class[] { ConfigTree.class });
+		}
+		catch (Exception e)
+		{
+		}
+		if (null == oCons)
+			throw new ConfigurationException(
+					"No valid constructor " + sClass + "(ConfigTree)");
+
+		Object oRet = null;
+		try
+		{
+			oRet = oCons.newInstance(new Object[] { p_oP });
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+		}
+		if (null == oRet || (!(oRet instanceof NotificationTarget)))
+			throw new ConfigurationException(sClass + "  does not extend NotificationTarget");
+
+		return (NotificationTarget) oRet;
+	} // __________________________________
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyConsole.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyConsole.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyConsole.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,23 @@
+package org.jboss.soa.esb.notification;
+
+import java.io.Serializable;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.util.Util;
+
+public class NotifyConsole extends NotificationTarget 
+{
+
+	public NotifyConsole(ConfigTree tree)
+	{
+		super(tree);
+	}
+	
+	@Override
+	public void sendNotification(Serializable content) throws NotificationException 
+	{
+		System.out.println
+			("ConsoleNotifier "+Util.getStamp()+"<"+content+">");
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,137 @@
+/*
+ * 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.notification;
+
+import java.io.Serializable;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.Email;
+import org.jboss.soa.esb.util.Util;
+
+/**
+ * This class will send an e-mail using the Email class
+ * <p>
+ * Description:
+ * </p>
+ * <p>
+ * Author: Heuristica - Buenos Aires - Argentina
+ * </p>
+ * 
+ * @version 1.0
+ */
+public class NotifyEmail extends NotificationTarget
+{
+	/**
+	 * Instantiate a NotifyEmail object using the information contained in
+	 * &lt;arg 1&gt;
+	 * 
+	 * @param p_oP
+	 *            ConfigTree - See attributes and structure needed for the
+	 *            Email() constructor - The MESSAGE attribute will be filled in
+	 *            at sendNotification(Serializable) time
+	 * @throws ConfigurationException
+	 * @see NotifyEmail#sendNotification(Serializable)
+	 */
+	public NotifyEmail (ConfigTree p_oP) throws ConfigurationException
+	{
+		super(p_oP);
+
+		try
+		{
+			String sAtt = (String) m_oParms.getAttribute(Email.FROM);
+			
+			if (null != sAtt) 
+				InternetAddress.parse(sAtt);
+	
+			InternetAddress.parse(m_oParms.getAttribute(Email.SENDTO));
+	
+			sAtt = (String) m_oParms.getAttribute(Email.COPYTO);
+			if (null != sAtt) 
+				InternetAddress.parse(sAtt);
+		}
+		catch (AddressException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	} // __________________________________
+
+	/**
+	 * Send an Email using Email() using p_o.toString() to fill in the message
+	 * text
+	 * 
+	 * @param p_o
+	 *            Object - This object's toString() method will supply contents
+	 *            of mail message
+	 */
+	public void sendNotification (Serializable p_o) throws NotificationException
+	{
+		try
+		{
+			ConfigTree oP = m_oParms.cloneObj();
+			String sMsg = oP.getAttribute(Email.MESSAGE);
+			sMsg = ((null == sMsg) ? p_o.toString() : sMsg + "\n") + p_o
+					.toString();
+			oP.setAttribute(Email.MESSAGE, sMsg);
+			sendEmailNotification(oP);
+		}
+		catch (AddressException e)
+		{
+			Util.getDefaultLogger(this.getClass()).error("Send Mail Failed", e);
+			
+			throw new NotificationException(e);
+		}
+		catch (MessagingException ex)
+		{
+			throw new NotificationException(ex);
+		}
+	} // __________________________________
+
+	/**
+	 * Send an email notification based on the supplied parameters. <p/> This
+	 * method allows overriding for test purposes.
+	 * 
+	 * @param messageParams
+	 *            Message parameters.
+	 */
+	protected void sendEmailNotification (ConfigTree messageParams)
+			throws AddressException, MessagingException
+	{
+
+		Email esbMail = new Email();
+		esbMail.setSendTo(messageParams.getAttribute(Email.SENDTO));
+		esbMail.setFrom(messageParams.getAttribute(Email.FROM));
+		esbMail.setCopyTo(messageParams.getAttribute(Email.COPYTO));
+		esbMail.setSubject(messageParams.getAttribute(Email.SUBJECT));
+
+		esbMail.setAttachments(messageParams.getTextChildren(Email.ATTACH));
+		esbMail.setMessage(messageParams.getAttribute(Email.MESSAGE));
+
+		esbMail.sendMessage();
+	}
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,237 @@
+/*
+ * 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.notification;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.net.URI;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * Write the notification contents into a list of files specified in the
+ * constructor time parameters.
+ * <p>
+ * Description: The constructor searches for all child elements of the
+ * ConfigTree argument having "file" as element name, that will be used to store
+ * (or append) the contents of the argument to the sendNotification(Object)
+ * method, to each and every one of the files contained in the list
+ * </p>
+ * <p>
+ * Author: Heuristica - Buenos Aires - Argentina
+ * </p>
+ * 
+ * @version 1.0
+ */
+public class NotifyFiles extends NotificationTarget
+{
+	/**
+	 * Mnemonic for the child element name that hold the files to write ("file")
+	 */
+	public static final String CHILD_FILE = "file";
+
+	/**
+	 * Attribute name that will be interpreted as the URI of the file to write
+	 * to
+	 */
+	public static final String ATT_URI = "URI";
+
+	/**
+	 * Attribute name of indicator to append to an existing file
+	 * 
+	 * @see Boolean#valueOf(String)
+	 */
+	public static final String ATT_APPEND = "append";
+
+	/**
+	 * The NotificationFile[] that holds the output file list.
+	 */
+	protected NotificationFile[] m_oaOutF;
+
+	/**
+	 * Instantiate a NotifyFiles object according to contents of &lt;arg 1&gt;
+	 * 
+	 * @param p_oP
+	 *            ConfigTree - Should contain a nonempty set of child elements
+	 *            with elementName="file". Each child element must have a "URI"
+	 *            attribute and optionally a "append" element
+	 */
+	public NotifyFiles (ConfigTree p_oP)
+	{
+		super(p_oP);
+		setFiles(p_oP.getChildren(CHILD_FILE));
+
+	} // __________________________________
+
+	/**
+	 * Sets the value of m_oaOutF[] and m_baAppend[] to contents of each element
+	 * of the input argument
+	 * 
+	 * @param p_oaP
+	 *            ConfigTree[] - Each entry must have a "URI" attribute, and can
+	 *            have an optional "append" attribute
+	 * @see ConfigTree#getAttr(String)
+	 */
+	protected void setFiles (ConfigTree[] p_oaP)
+	{
+		m_oaOutF = new NotificationFile[p_oaP.length];
+
+		for (int i = 0; i < p_oaP.length; i++)
+		{
+			String fileURI = p_oaP[i].getAttribute(ATT_URI);
+			String append = p_oaP[i].getAttribute(ATT_APPEND);
+
+			if (null == fileURI)
+			{
+				throw new IllegalArgumentException(
+						"Bad File Notification Configuration: Missing file URI attribute.");
+			}
+
+			try
+			{
+				m_oaOutF[i] = new NotificationFile(new URI(fileURI), Boolean
+						.valueOf(append));
+			}
+			catch (Exception e)
+			{
+				m_oaOutF[i] = new NotificationFile(fileURI, Boolean
+						.valueOf(append));
+			}
+
+			// Make sure the parent folder exists...
+			File parent = m_oaOutF[i].getAbsoluteFile().getParentFile();
+			if (null == parent || !parent.exists())
+			{
+				throw new IllegalArgumentException(
+						"Bad File Notification Configuration: Parent folder for file [" + m_oaOutF[i]
+								.getAbsolutePath() + "] doesn't exist.");
+			}
+		}
+	} // __________________________________
+
+	/**
+	 * Writes the result of p_o into each one of the File objects contained in
+	 * the m_oaOutF array
+	 * 
+	 * @param p_o
+	 *            Object - This object's toString() results will be written to
+	 *            (appended to) each one of the files in m_oaOutF
+	 * @see NotifyFiles#setFiles(ConfigTree[])
+	 * @see NotifyFiles#m_oaOutF
+	 */
+	public void sendNotification (Serializable p_o) throws NotificationException
+	{
+		FileOutputStream fileOutStream = null;
+		
+		for (NotificationFile notificationFile : m_oaOutF)
+		{
+			try
+			{
+				fileOutStream = new FileOutputStream(notificationFile,
+						notificationFile.append);
+				if (p_o instanceof String)
+				{
+					stringNotification(fileOutStream, (String) p_o);
+				}
+				else
+				{
+					objectNotification(fileOutStream, p_o);
+				}
+			}
+			catch (Exception e)
+			{ /* We do nothing here for the time being */
+			} 
+			finally
+			{
+				try
+				{
+					fileOutStream.close();
+				}
+				catch (Exception eCl)
+				{
+					/*
+					 * Unable to Close - What could we do
+					 */
+				}
+			}
+		}
+	} // __________________________________
+
+	private void stringNotification (FileOutputStream p_oF, String p_s)
+	{
+		try
+		{
+			p_oF.write(p_s.getBytes());
+			
+			if (!p_s.endsWith("\n")) 
+				p_oF.write("\n".getBytes());
+		}
+		catch (Exception e)
+		{ /* We do nothing here for the time being */
+		}
+	} // __________________________________
+
+	private void objectNotification (FileOutputStream p_oF, Object p_o)
+	{
+		try
+		{
+			ObjectOutputStream OS = new ObjectOutputStream(p_oF);
+			OS.writeObject(p_o);
+		}
+		catch (Exception e)
+		{ 
+			/* We do nothing here for the time being */
+		}
+	} // __________________________________
+
+	/**
+	 * Notification File. <p/> Simply adds the "append" property to the file.
+	 * 
+	 * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+	 */
+	private class NotificationFile extends File
+	{
+
+		private static final long serialVersionUID = 1L;
+
+		private boolean append = false;
+
+		private NotificationFile (URI fileURI, boolean append)
+		{
+			super(fileURI);
+			this.append = append;
+		}
+
+		/**
+		 * @param file
+		 * @param append2
+		 */
+		public NotificationFile (String file, boolean append)
+		{
+			super(file);
+			this.append = append;
+		}
+	}
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,214 @@
+/*
+ * 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.notification;
+
+import java.io.Serializable;
+import java.util.Iterator;
+import java.util.Properties;
+
+import javax.jms.Connection;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * Abstract class that defines the behaviour of NotifyQueues and NotifyTopics
+ * (and in fact any other javax.jms.Destination object), and provides common
+ * methods to derived classes
+ * <p>
+ * Description:
+ * </p>
+ * <p>
+ * Author: Heuristica - Buenos Aires - Argentina
+ * </p>
+ * 
+ * @version 1.0
+ */
+public abstract class NotifyJMS extends NotificationTarget
+{
+	/**
+	 * Abstract method - All classes that extend NotifyJMS must implement it
+	 * according to their own javax.jms.Destination needs (Queue/Topic)
+	 * 
+	 * @param p_oMsg
+	 *            Message
+	 */
+	protected abstract void sendToAll (Message p_oMsg);
+
+	/**
+	 * Element name mnemonic to search for child elements in the ConfigTree at
+	 * constructor time, that will hold a "name" "value" pair to be included in
+	 * the JMS message header
+	 */
+	public static final String CHILD_MSG_PROP = "messageProp";
+
+	/**
+	 * Attribute name mnemonic for the name of the message property to fill with
+	 * contents of the "value" aattribute
+	 */
+	public static final String ATT_PROP_NAME = "name";
+
+	/**
+	 * Attribute name mnemonic for the value to assign to the corresponding
+	 * message property
+	 */
+	public static final String ATT_PROP_VALUE = "value";
+
+	/**
+	 * Attribute name mnemonic for the att that will hold the JNDI name of the
+	 * destination javax.jms.Destination object
+	 */
+	public static final String ATT_DEST_NAME = "jndiName";
+
+	/**
+	 * This object holds the JNDI naming context that will be used to obtain a
+	 * JMS destination (javax.jms.Destination) to send/publish the notification
+	 * at sendNotification() time
+	 */
+	protected Context m_oCtx;
+
+	private Properties m_oProps = new Properties();
+
+	/**
+	 * The javax.jms.Connection instance used to talk to JMS
+	 */
+	protected Connection m_oConn;
+
+	/**
+	 * The javax.jms.Session instance used to talk to JMS
+	 */
+	protected Session m_oSess;
+
+	/**
+	 * Array with an instance of javax.jms.MessageProducer on each entry that
+	 * will be used to send the notification at sendNotification() time
+	 */
+	protected MessageProducer[] m_oaMssProd;
+
+	/**
+	 * Constructor that will be called by child classes to perform
+	 * initialization tasks that are common to all derived classes
+	 * 
+	 * @param p_oP
+	 *            ConfigTree
+	 *            <p>
+	 *            Will contain a variable number of "messageProp" child elements
+	 *            that will be added to messages sent to
+	 *            </p>
+	 * @throws ConfigurationException
+	 */
+	protected NotifyJMS (ConfigTree p_oP) throws ConfigurationException
+	{
+		super(p_oP);
+
+		ConfigTree[] oaMsgP = p_oP.getChildren(CHILD_MSG_PROP);
+		for (int i1 = 0; i1 < oaMsgP.length; i1++)
+		{
+			String sKey = oaMsgP[i1].getAttribute(ATT_PROP_NAME);
+			if (null == sKey) continue;
+			String sVal = oaMsgP[i1].getAttribute(ATT_PROP_VALUE);
+			if (null == sVal) continue;
+
+			m_oProps.setProperty(sKey.trim(), sVal);
+		}
+
+		try
+		{
+			m_oCtx = new InitialContext();
+		}
+		catch (NamingException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+
+	} // __________________________________
+
+	/**
+	 * Performs an orderly release of all JMS resources utilized - Well behaved
+	 * developers should always call this method before unreferencing this
+	 * object
+	 */
+	public void release ()
+	{
+		if (null != m_oSess) try
+		{
+			m_oSess.close();
+		}
+		catch (Exception e1)
+		{
+		}
+		if (null != m_oConn) try
+		{
+			m_oConn.close();
+		}
+		catch (Exception e2)
+		{
+		}
+	} // __________________________________
+
+	/**
+	 * Send a JMS message using p_o to fill in the message content and the list
+	 * of message properties that will be added to the JMS message header fields
+	 * 
+	 * @param p_o
+	 *            Object - This object or thie object's toString() method will
+	 *            supply contents of JMS message
+	 * @see NotifyJMS#CHILD_MSG_PROP
+	 */
+	public void sendNotification (Serializable p_o) throws NotificationException
+	{
+		try
+		{
+			Message oMsg = null;
+	
+			if (p_o instanceof String)
+			{
+				oMsg = m_oSess.createTextMessage(p_o.toString());
+			}
+			else
+			{
+				oMsg = m_oSess.createObjectMessage((Serializable) p_o);
+			}
+	
+			for (Iterator II = m_oProps.keySet().iterator(); II.hasNext();)
+			{
+				String sKey = (String) II.next();
+				String sVal = m_oProps.getProperty(sKey);
+				oMsg.setStringProperty(sKey, sVal);
+			}
+			sendToAll(oMsg);
+		}
+		catch (JMSException ex)
+		{
+			throw new NotificationException(ex);
+		}
+	} // __________________________________
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,132 @@
+/*
+ * 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.notification;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.NamingException;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+;
+
+/**
+ * This class that implements abstract methods defined in it's superclass
+ * <p>
+ * Description:
+ * </p>
+ * <p>
+ * Author: Heuristica - Buenos Aires - Argentina
+ * </p>
+ * 
+ * @version 1.0
+ */
+public class NotifyQueues extends NotifyJMS
+{
+	/**
+	 * Connection Factory JNDI name.
+	 */
+	public static final String CONNECTION_FACTORY = "ConnectionFactory";
+
+	/**
+	 * Element name mnemonic to search for child elements in the ConfigTree at
+	 * constructor time, that will hold a "jndiName" attribute specifying the
+	 * value to look up in the JNDI context in order to obtain a queue
+	 * 
+	 * @see NotifyJMS#ATT_DEST_NAME
+	 */
+	public static final String CHILD_QUEUE = "queue";
+
+	public NotifyQueues (ConfigTree p_oP) throws ConfigurationException, JMSException
+	{
+		super(p_oP);
+		setQueues(p_oP.getChildren(CHILD_QUEUE));
+	} // __________________________________
+
+	protected void setQueues (ConfigTree[] p_oaP) throws ConfigurationException, JMSException
+	{
+		try
+		{
+			QueueConnectionFactory qcf = lookupQueueConnectionFactory();
+			QueueConnection oQconn = qcf.createQueueConnection();
+			QueueSession oQsess = oQconn.createQueueSession(false,
+					QueueSession.AUTO_ACKNOWLEDGE);
+	
+			m_oaMssProd = new MessageProducer[p_oaP.length];
+			for (int i1 = 0; i1 < p_oaP.length; i1++)
+			{
+				String sAtt = p_oaP[i1].getAttribute(ATT_DEST_NAME);
+				if (null == sAtt) 
+					throw new ConfigurationException("Missing queue jndiName");
+				Queue oQ = (Queue) m_oCtx.lookup(sAtt);
+				m_oaMssProd[i1] = oQsess.createSender(oQ);
+			}
+	
+			m_oConn = oQconn;
+			m_oSess = oQsess;
+			// m_oConn.start(); Only for incoming messages ???
+		}
+		catch (NamingException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	} // __________________________________
+
+	/**
+	 * Get the {@link QueueConnectionFactory} to be used for this instance. <p/>
+	 * Can be overridden for testing.
+	 * 
+	 * @return The QueueConnectionFactory fro the JNDI context.
+	 * @throws NamingException
+	 */
+	protected QueueConnectionFactory lookupQueueConnectionFactory ()
+			throws NamingException
+	{
+		// REVIEW: The connection factory name is hardcoded and is the same as
+		// that of the topic connection factory.
+		return (QueueConnectionFactory) m_oCtx.lookup(CONNECTION_FACTORY);
+	}
+
+	protected void sendToAll (Message p_oMsg)
+	{
+		for (int i1 = 0; i1 < m_oaMssProd.length; i1++)
+		{
+			QueueSender oCurr = (QueueSender) m_oaMssProd[i1];
+			try
+			{
+				oCurr.send(p_oMsg);
+			}
+			catch (Exception e)
+			{
+			}
+		}
+	} // __________________________________
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,147 @@
+/*
+ * 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.notification;
+
+import java.sql.PreparedStatement;
+import java.util.Properties;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.persist.JdbcCleanConn;
+import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
+
+public class NotifySqlTable extends NotificationTarget
+{
+	public static final String CHILD_COLUMN = "column";
+
+	public static final String ATT_TABLE = "table";
+
+	public static final String ATT_DATA = "dataColumn";
+
+	public static final String ATT_NAME = "name";
+
+	public static final String ATT_VALUE = "value";
+
+	protected String m_sDriver, m_sURL, m_sUser, m_sPwd, m_sTable, m_sDataCol;
+
+	protected Properties m_oCols;
+
+	public NotifySqlTable (ConfigTree p_oP) throws ConfigurationException
+	{
+		super(p_oP);
+		m_sDriver = getAttr(SimpleDataSource.DRIVER);
+		m_sURL = getAttr(SimpleDataSource.URL);
+		m_sUser = getAttr(SimpleDataSource.USER);
+		m_sPwd = getAttr(SimpleDataSource.PASSWORD);
+		m_sTable = getAttr(ATT_TABLE);
+		m_sDataCol = getAttr(ATT_DATA);
+
+		m_oCols = new Properties();
+		ConfigTree[] oaP = p_oP.getChildren(CHILD_COLUMN);
+		for (int i1 = 0; i1 < oaP.length; i1++)
+		{
+			ConfigTree oCurr = oaP[i1];
+			String sCol = oCurr.getAttribute(ATT_NAME);
+			if (null == sCol)
+			{
+				continue;
+			}
+			sCol = sCol.trim();
+			if (sCol.length() < 1)
+			{
+				continue;
+			}
+			String sVal = oCurr.getAttribute(ATT_VALUE);
+			if (null == sVal)
+			{
+				sVal = "";
+			}
+			m_oCols.setProperty(sCol, sVal);
+		}
+	} // __________________________________
+
+	private String getAttr (String p_sAtt) throws ConfigurationException
+	{
+		String sRet = m_oParms.getAttribute(p_sAtt);
+		if (null == sRet)
+		{
+			throw new ConfigurationException("Missing " + p_sAtt + " attribute");
+		}
+		sRet = sRet.trim();
+		if (p_sAtt.equals(SimpleDataSource.PASSWORD))
+		{
+			return sRet;
+		}
+		if (sRet.length() < 1)
+		{
+			throw new ConfigurationException("Empty " + p_sAtt + " attribute");
+		}
+		return sRet;
+	} // __________________________________
+
+	public String getInsertStmt ()
+	{
+		String[] saCols = new String[m_oCols.size()];
+		m_oCols.keySet().toArray(saCols);
+
+		StringBuffer sbCol = new StringBuffer("insert into ").append(m_sTable)
+				.append(" ");
+		StringBuffer sbPrm = new StringBuffer(" values ");
+		for (int i1 = 0; i1 < saCols.length; i1++)
+		{
+			String sIn = (i1 == 0) ? "(" : ",";
+			String sCurrCol = saCols[i1];
+			sbCol.append(sIn).append("\"").append(sCurrCol).append("\"");
+			sbPrm.append(sIn).append("'").append(m_oCols.getProperty(sCurrCol))
+					.append("'");
+			// REVIEW: Does the value being inserted not need to be escaped e.g.
+			// what if it has a quote in its value??
+		}
+		return sbCol.append(")").append(sbPrm).append(")").toString();
+	} // __________________________________
+
+	public void sendNotification (java.io.Serializable p_o) throws NotificationException
+	{
+		m_oCols.setProperty(m_sDataCol, p_o.toString());
+		JdbcCleanConn oConn = null;
+		try
+		{
+			oConn = new JdbcCleanConn(new SimpleDataSource(m_sDriver, m_sURL,
+					m_sUser, m_sPwd));
+			PreparedStatement PS = oConn.prepareStatement(getInsertStmt());
+			oConn.execUpdWait(PS, 3);
+			oConn.commit();
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace(System.err);
+		} finally
+		{
+			if (null != oConn)
+			{
+				oConn.release();
+			}
+		}
+	} // __________________________________
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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.notification;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
+import javax.jms.TopicPublisher;
+import javax.jms.TopicSession;
+import javax.naming.NamingException;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+public class NotifyTopics extends NotifyJMS
+{
+
+	public static final String CONNECTION_FACTORY = "ConnectionFactory";
+
+	public static final String CHILD_TOPIC = "topic";
+
+	public NotifyTopics (ConfigTree p_oP) throws ConfigurationException, JMSException
+	{
+		super(p_oP);
+
+		setTopics(p_oP.getChildren(CHILD_TOPIC));
+	} // __________________________________
+
+	protected void setTopics (ConfigTree[] p_oaP) throws ConfigurationException, JMSException
+	{
+		// REVIEW: The connection factory name is hardcoded and is the same as
+		// that of the queue connection factory.
+		TopicConnectionFactory qcf = null;
+		
+		try
+		{
+			qcf = (TopicConnectionFactory) m_oCtx.lookup(CONNECTION_FACTORY);
+		}
+		catch (NamingException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+		
+		TopicConnection oTconn = qcf.createTopicConnection();
+		TopicSession oTsess = oTconn.createTopicSession(false,
+				TopicSession.AUTO_ACKNOWLEDGE);
+
+		m_oaMssProd = new MessageProducer[p_oaP.length];
+		
+		try
+		{
+			for (int i1 = 0; i1 < p_oaP.length; i1++)
+			{
+				String sAtt = p_oaP[i1].getAttribute(ATT_DEST_NAME);
+				if (null == sAtt) throw new ConfigurationException("Missing topic jndiName");
+				Topic oT = (Topic) m_oCtx.lookup(sAtt);
+				m_oaMssProd[i1] = oTsess.createPublisher(oT);
+			}
+		}
+		catch (NamingException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+
+		m_oConn = oTconn;
+		m_oSess = oTsess;
+		// m_oConn.start(); Only for incoming messages ???
+
+	} // __________________________________
+
+	protected void sendToAll (Message p_oMsg)
+	{
+		for (int i1 = 0; i1 < m_oaMssProd.length; i1++)
+		{
+			TopicPublisher oCurr = (TopicPublisher) m_oaMssProd[i1];
+			
+			try
+			{
+				oCurr.publish(p_oMsg);
+			}
+			catch (Exception e)
+			{
+			}
+		}
+	} // __________________________________
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,102 @@
+/*
+ * 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.notification;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.io.Serializable;
+import java.util.Map;
+
+import org.jboss.internal.soa.esb.notification.MacroExpander;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.services.NotificationManager;
+
+public class NotifyUtil
+{
+
+	public static void notifyOK (NotificationManager p_oNH,
+			ConfigTree p_oParent, Serializable p_o, Map p_oCtx)
+	{
+		try
+		{
+			ConfigTree[] oaP = p_oParent.getChildren(NotificationList.ELEMENT);
+			for (int i1 = 0; i1 < oaP.length; i1++)
+			{
+				NotificationList oCurr = new NotificationList(oaP[i1]);
+				if (!oCurr.isOK()) continue;
+				ConfigTree oCpy = oaP[i1].cloneObj();
+				MacroExpander.replaceMacros(oCpy, p_oCtx);
+				p_oNH.sendNotifications(oCpy, p_o);
+			}
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace(System.out);
+		}
+	} // __________________________________
+
+	public static void notifyError (NotificationManager p_oNH,
+			ConfigTree p_oParent, Object p_o, Map p_oCtx, Exception p_e)
+	{
+		ByteArrayOutputStream oBO = new ByteArrayOutputStream();
+		PrintStream oPS = new PrintStream(oBO);
+		try
+		{
+			oPS.println(p_o.toString());
+			if (null != p_e)
+			{
+				p_e.printStackTrace(oPS);
+			}
+			oPS.close();
+
+			String sMsg = oBO.toString();
+			ConfigTree[] oaP = p_oParent.getChildren(NotificationList.ELEMENT);
+			// if (oaP.length<1) // Uncomment this line to send only to the list
+
+			// REVIEW: What's going on here? What's the difference between
+			// sending an
+			// error notification and sending a regular notification apart from
+			// there being an
+			// error message? What's the difference between how the
+			// InotificationHandler
+			// interface is used on the notifyOK and notifyError methods?
+
+			p_oNH.sendNotifications(sMsg);
+			for (int i1 = 0; i1 < oaP.length; i1++)
+			{
+				NotificationList oCurr = new NotificationList(oaP[i1]);
+				if (!oCurr.isErr())
+				{
+					continue;
+				}
+				MacroExpander.replaceMacros(oaP[i1], p_oCtx);
+				p_oNH.sendNotifications(oaP[i1], sMsg);
+			}
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace(System.out);
+		}
+	} // __________________________________
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepository.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepository.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepository.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,71 @@
+/*
+ * 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.parameters;
+
+
+/**
+ * Parameter Repository Definition.
+ * <p/>
+ * A ParamRepository implementation allows persistence, retrieval and removal of
+ * parameter values.
+ * <p/>
+ * Note that it is assumed that implementations are Thread Safe.
+ * 
+ * @author <a href="mailto:schifest at gmail.com">Esteban Shifman</a>
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public interface ParamRepository {
+	
+	// byte[] versions of the add and get methods might be needed on this.
+	// In fact, if this is done - rename the existing add and get methods
+	// to addString and getString and add the new byte[] methods as add/get.
+	
+	/**
+	 * Store a parameter value in the repository.
+	 * @param name The parameter name.  Must not be <code>null</code>.
+	 * @param value The parameter value.  Must not be <code>null</code>.
+	 * @throws ParamRepositoryException Failed to store the specified parameter value.
+	 */
+	public void add(String name, String value) throws ParamRepositoryException;
+
+	/**
+	 * Get the value associated with the named parameter.
+	 * @param name The parameter name.  Must not be <code>null</code>.
+	 * @return The parameter value, or null if the parameter is not available in 
+	 * the repository.
+	 * @throws ParamRepositoryException  The parameter exists, but an error has occured
+	 * while readingit. 
+	 */
+	public String get(String name) throws ParamRepositoryException;
+
+	/**
+	 * Remove a parameter, or a hierarchy of parameters.
+	 * <p/>
+	 * Because the repository is hierarchical in nature, parameters can be addressed
+	 * explicitly or as a group using a hierarchical name.
+	 * @param name The parameter name.  Must not be <code>null</code>.
+	 * @throws ParamRepositoryException Failed to remove the parameter, or hierarchy of parameters,
+	 * from the repository..
+	 */
+	public void remove(String name) throws ParamRepositoryException;
+}


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepository.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepositoryException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepositoryException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepositoryException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,29 @@
+package org.jboss.soa.esb.parameters;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * {@link org.jboss.soa.esb.parameters.ParamRepository} access Exception.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class ParamRepositoryException extends BaseException {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Public Constructor.
+	 * @param message Exception message.
+	 */
+	public ParamRepositoryException(String message) {
+		super(message);
+	}
+
+	/**
+	 * Public Constructor.
+	 * @param message Exception message.
+	 * @param cause Exception cause.
+	 */
+	public ParamRepositoryException(String message, Throwable cause) {
+		super(message, cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepositoryFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepositoryFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/parameters/ParamRepositoryFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,119 @@
+/*
+ * 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.parameters;
+
+import org.jboss.internal.soa.esb.parameters.ParamFileRepository;
+import org.jboss.soa.esb.common.Configuration;
+
+/**
+ * Factory class for Singleton {@link ParamRepository} creation. <p/> Uses the
+ * "org.jboss.soa.esb.paramsRepository.class" system property to determine the
+ * {@link ParamRepository} implementation to be created. If not specified, the
+ * default implementation is the
+ * {@link org.jboss.internal.soa.esb.parameters.ParamFileRepository}.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class ParamRepositoryFactory
+{
+
+	/**
+	 * Singleton instance of the repository.
+	 */
+	private static ParamRepository instance;
+
+	/**
+	 * Factory method for creating the Singleton {@link ParamRepository}
+	 * instance for the system.
+	 * 
+	 * @return The ParamRepository instance for the system.
+	 */
+	public static ParamRepository getInstance()
+	{
+		if (instance == null)
+		{
+			// Hasn't been created yet - lets created it in a synchronized
+			// fashion...
+			instance = synchedGetInstance();
+		}
+
+		return instance;
+	}
+
+	/**
+	 * Synchronizes creation of the Singleton instance.
+	 * 
+	 * @return The Singleton ParamRepository instance.
+	 */
+	private static ParamRepository synchedGetInstance()
+	{
+		synchronized (ParamRepositoryFactory.class)
+		{
+			// The following check ensures that multithreads won't create
+			// multiple instances of the singleton. Threads that are blocked
+			// waiting
+			// at the start of this synch block will simply fall through and
+			// return the
+			// instance created by the thread that got in ahead of them.
+			if (instance == null)
+			{
+				String runtimeClassName = Configuration
+						.getParamRepositoryImplClass();
+
+				if (runtimeClassName == null)
+				{
+					// If there's no repository name configured, return the
+					// default file-based repository...
+					instance = new ParamFileRepository();
+				} else
+				{
+					try
+					{
+						Class<?> runtimeClass = Class.forName(runtimeClassName);
+						instance = (ParamRepository) runtimeClass.newInstance();
+					} catch (Exception e)
+					{
+						new IllegalStateException(
+								"System Configuration Exception: Unable to create system "
+										+ ParamRepository.class.getSimpleName()
+										+ " instance from runtime class name ["
+										+ runtimeClassName + "]", e);
+					}
+				}
+			}
+		}
+
+		return instance;
+	}
+
+	/**
+	 * Resets the factory, allowing creation of a new Singleton instance. <p/>
+	 * Should only need to be used for testing purposes.
+	 */
+	protected static void reset()
+	{
+		synchronized (ParamRepositoryFactory.class)
+		{
+			instance = null;
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/DefaultEncryptionFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/DefaultEncryptionFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/DefaultEncryptionFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+/*
+ * 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.services;
+
+public class DefaultEncryptionFactory
+{
+	public static Encryption getEncrypter()
+	{
+		return new DummyEncrypter();
+
+	} //________________________________
+
+	public static Encryption getEncrypter(Object p_o)
+	{
+		return new DummyEncrypter();
+
+	} //________________________________
+
+	/**
+	 *  This is a dummy class to provide dummy
+	 *  encrypt/decrypt methods for a byte[]
+	 *
+	 */
+	private static class DummyEncrypter implements Encryption
+	{
+//	  private static Cipher s_oCC;
+//	  static
+//	  { try { s_oCC = Cipher.getInstance("DES"); }
+//	    catch (Exception e) { e.printStackTrace(); }
+//	  }
+	  public byte [] encrypt (byte [] p_ba, Object p_oParms)
+	         throws EncryptionFailedException
+	  {
+		  return  p_ba;
+	  } //__________________________________
+
+	  public byte [] decrypt (byte [] p_ba, Object p_oParms)
+	         throws EncryptionFailedException
+	  {
+		  return p_ba;
+	  } //__________________________________
+	} //___________________________________________________
+
+} //____________________________________________________________________________
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/Encryption.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/Encryption.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/Encryption.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,28 @@
+/*
+* 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.services;
+
+public interface Encryption 
+{
+	  public byte [] encrypt (byte [] p_ba, Object p_oParms) throws EncryptionFailedException;
+	  public byte [] decrypt (byte [] p_ba, Object p_oParms) throws EncryptionFailedException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/EncryptionFailedException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/EncryptionFailedException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/EncryptionFailedException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,71 @@
+/*
+ * 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.services;
+
+/**
+ * Configuration Exception.
+ * 
+ * @author mark.little at jboss.com
+ * @since Version 4.0
+ */
+
+public class EncryptionFailedException extends Exception
+{
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param message
+	 *            Exception message.
+	 */
+	public EncryptionFailedException (String message)
+	{
+		super(message);
+	}
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param message
+	 *            Exception message.
+	 * @param cause
+	 *            Exception cause.
+	 */
+	public EncryptionFailedException (String message, Throwable cause)
+	{
+		super(message, cause);
+	}
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param cause
+	 *            Exception cause.
+	 */
+	public EncryptionFailedException (Throwable cause)
+	{
+		super(cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,69 @@
+/*
+ * 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.services;
+
+import java.io.Serializable;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.notification.NotificationException;
+
+/**
+ * Use this interface to group all methods that can be useful to trigger events
+ * that can be caught by listeners, within or outside of the Rosetta framework
+ * 
+ * @author Esteban
+ * 
+ */
+public interface NotificationManager
+{
+
+	// REVIEW: Add some Javadoc for this interface!!!
+	/**
+	 * public void sendNotifications(ConfigTree p_oP, Serializable p_o)
+	 * 
+	 * @param p_oP
+	 *            ConfigTree - A serialized NotificationList object (as a
+	 *            ConfigTree)
+	 * @param p_o
+	 *            The Serializable object that will be sent to all the
+	 *            NotificationTarget objects contained in the NotificationList
+	 * 
+	 * <p/>Implementations of this interface will be responsible of sending the
+	 * Serializable (arg 1) to destinations determined by each
+	 * NotificationTarget contained in the NotificationList represented by arg
+	 * 0. <p/>Please see org.jboss.soa.esb.notification package for existing
+	 * classes that extend NotificationTarget (Files, Queues, Topics,
+	 * SqlTable...)
+	 * 
+	 * <p/> Invoking processes are responsible to provide dynamic content of
+	 * notification <p/> The NotificationTarget objects can define 'static'
+	 * content for (suc as contents of certain columns in SQL, or message
+	 * properties for JMS notification targets, etc.
+	 */
+	public void sendNotifications (ConfigTree p_oP, Serializable p_o)
+			throws ConfigurationException, NotificationException;
+
+	public void sendNotifications (Serializable p_o)
+			throws NotificationException;
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStore.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStore.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStore.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,34 @@
+package org.jboss.soa.esb.services.persistence;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Message;
+
+public interface MessageStore
+{
+	public URI addMessage (Message message) throws MessageStoreException;
+
+	public Message getMessage (URI uid) throws MessageStoreException;
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,53 @@
+package org.jboss.soa.esb.services.persistence;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Thrown if marshalling a message fails. This could be because
+ * conversion to XML encounters problems.
+ */
+
+public class MessageStoreException extends Exception
+{
+	private static final long serialVersionUID = 0xE;
+	
+	public MessageStoreException()
+	{
+		super();
+	}
+
+	public MessageStoreException(String s)
+	{
+		super(s);
+	}
+
+	public MessageStoreException (Exception ex)
+	{
+		super(ex);
+	}
+
+	public MessageStoreException (String message, Exception ex)
+	{
+		super(message, ex);
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/persistence/MessageStoreFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,81 @@
+package org.jboss.soa.esb.services.persistence;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.lang.reflect.Constructor;
+import java.net.URI;
+
+import org.jboss.soa.esb.common.Configuration;
+
+
+
+
+ at SuppressWarnings("unchecked")
+public abstract class MessageStoreFactory {
+	
+	private static MessageStoreFactory theFactory;
+	
+	static
+	{
+		
+		try {			
+//			Class cls = Class.forName("org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl");
+			Class cls = Class.forName(Configuration.getStoreConnectionFactory());
+			Constructor<MessageStoreFactory> c = cls.getConstructor(new Class[]{});
+			theFactory = c.newInstance(new Object[]{});
+		} catch (Exception e) {			
+			e.printStackTrace();
+		}
+		
+		
+	}
+	
+	
+	/**
+	 * @return a default implementation.
+	 */
+	
+	public abstract MessageStore getMessageStore ();
+	
+	/**
+	 * @param type the unique identifier representing the type of this MessageStore.
+	 * @return the MessageStore, or <code>null</code> if no suitable store is available.
+	 */
+	
+	public abstract MessageStore getMessageStore (URI type);
+	
+	
+	public static MessageStoreFactory getInstance ()
+	{
+		return theFactory;
+	}
+	
+	/**
+	 * Reload the plugins.
+	 */
+	
+	public abstract void reset ();
+	
+	
+	
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/TransformationException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/TransformationException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/TransformationException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,60 @@
+/*
+ * 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.services.transform;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * Transformation Service Exception.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class TransformationException extends BaseException {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Public constructor.
+	 * @param message Exception message.
+	 */
+	public TransformationException(String message) {
+		super(message);
+	}
+
+	/**
+	 * Public constructor.
+	 * @param message Exception message.
+	 * @param cause Exception cause.
+	 */
+	public TransformationException(String message, Throwable cause) {
+		super(message, cause);
+	}
+
+	/**
+	 * Public constructor.
+	 * @param cause Exception cause.
+	 */
+	public TransformationException(Throwable cause) {
+		super(cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/TransformationService.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/TransformationService.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/transform/TransformationService.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,40 @@
+/*
+ * 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.services.transform;
+
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Transformation Service interface.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public interface TransformationService {
+	
+	/**
+	 * Transform the supplied message object and return the transformation result.
+	 * @param message The message to be transformed.
+	 * @return The transformed message.
+	 * @throws TransformationException An Exception occured during the transformation process.
+	 */
+	public Message transform(Message message) throws TransformationException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/AbstractCommandVehicle.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/AbstractCommandVehicle.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/AbstractCommandVehicle.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,106 @@
+/*
+ * 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.util;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.util.jbpm.CommandVehicle.Operation;
+/**
+ * Auxiliary class that deals with implementation details of event messages handled by ESB aware applications.
+ * <p/>The '_command' enumeration is inteded to contain all accepted command codes, and should be provided 
+ * by all classes that extend AbstractCommandMessage
+ * <br/>Values that this class is able to render are (arbitrarily) stored in a Map<String,Object>
+ * contained in the message body as a named Object with key getCommandValuesTag()
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a> 
+ *
+ */
+public abstract class AbstractCommandVehicle implements Serializable
+{
+	/**
+	 * Provide a name for the named object to look for in the ESB Message body.
+	 * @return String : intended to be used as the key in Message.getBody().get(arg) 
+	 */
+	public abstract String getCommandValuesTag();
+	
+	/**
+	 * The key for the command operation code in the command values map
+	 * @return String : intended to be used as the key in _values.get(arg) 
+	 */
+	public abstract String getCommandOpcodeKey();
+	
+	protected Map<String,Object>_values = new HashMap<String,Object>();
+
+	protected Enum	_operator;
+	public 	  Enum 	getOperator()				{ return _operator; }
+	protected void 	setOperator(Enum operator)	{ _operator = operator; }
+	
+	protected AbstractCommandVehicle(Enum command)
+	{
+		_operator	= command;
+	}
+	
+	/**
+	 * Populate this event's associated values contained in the ESB message
+	 * <br/>Values that this class is able to render are expected to be in a Map&lt;String,Object&gt;
+	 * contained in the message body as a named Object (key=getCommandValuesTag())
+	 * @param message : Message - the vehicle of this command
+	 */
+	@SuppressWarnings("unchecked")
+	protected AbstractCommandVehicle(Message message)
+	{ 
+		Object obj = message.getBody().get(getCommandValuesTag());
+		if (! (obj instanceof Map))
+			throw new IllegalArgumentException("Message command values must be stored as a Map<String,Object>");
+		_values.putAll((Map)obj);
+		_operator	= Operation.valueOf((String)_values.get(getCommandOpcodeKey()));
+		_values.remove(getCommandValuesTag());
+	} //________________________________
+	
+	/**
+	 * Instantiate a new message, and put values where they belong
+	 * @return Message - a fresh Message, with the command values in the appropriate spot
+	 */
+	public Message toCommandMessage() 			
+	{
+		Message message = MessageFactory.getInstance().getMessage();
+		_values.put(getCommandOpcodeKey(), _operator.toString());
+		message.getBody().add(getCommandValuesTag(), _values);
+			
+		return message;
+	} //________________________________
+	
+	protected Object setValue(String key, Object value)
+	{
+		if (null==key)
+			throw new IllegalArgumentException("Key must not be null");
+		Object oldVal	= _values.get(key);
+		if (null==value)
+			_values.remove(key);
+		else
+			oldVal	= _values.put(key, value);
+		return oldVal;
+	} //________________________________
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,469 @@
+/*
+ * 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.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+
+import com.enterprisedt.net.ftp.FTPClient;
+import com.enterprisedt.net.ftp.FTPConnectMode;
+import com.enterprisedt.net.ftp.FTPException;
+import com.enterprisedt.net.ftp.FTPTransferType;
+
+/**
+ * Simplified FTP transfers
+ * <p>
+ * Description: Implements a simple set of FTP functionality Parameters to
+ * establish the FTP connection are provided at construction time and cannot
+ * change during the lifetime of the object <br/>Hides low level details.
+ * Current implementation is based on the "Entreprise Distributed Technology
+ * edtFTPj" library but this can be changed with no impact to existing code,
+ * just by changing this class without modifying the signature of it's public
+ * methods
+ * </p>
+ */
+
+public class FtpClientUtil
+{
+	public static final String PARMS_FTP_SERVER = "ftpServer";
+
+	public static final String PARMS_USER = "ftpUser";
+
+	public static final String PARMS_PASSWD = "ftpPassword";
+
+	public static final String PARMS_PORT = "ftpPort";
+
+	public static final String PARMS_REMOTE_DIR = "ftpRemoteDir";
+
+	public static final String PARMS_LOCAL_DIR = "ftpLocalDir";
+
+	public static final String PARMS_ASCII = "ftpAscii";
+
+	public static final String PARMS_PASSIVE = "ftpPassive";
+
+	private static final String TMP_SUFFIX = ".rosettaPart";
+
+	public enum XFER_TYPE
+	{
+		ascii, binary
+	};
+
+	private ConfigTree m_oParms;
+
+	private String m_sFtpServer, m_sUser, m_sPasswd;
+
+	private String m_sRemoteDir, m_sLocalDir;
+
+	private int m_iPort;
+
+	private boolean m_bPassive;
+
+	public String getRemoteDir ()
+	{
+		return m_sRemoteDir;
+	}
+
+	private FTPClient m_oConn = new FTPClient();
+
+	private FTPTransferType m_oXferType = FTPTransferType.BINARY;
+
+	/**
+	 * Checks validity and completeness of parameters, and keeps the info
+	 * internally for subsequent FTP requests
+	 * 
+	 * @param p_oP
+	 *            ConfigTree
+	 * @throws ConfigurationException :
+	 *             if parameters are invalid or incomplete
+	 *             <li>Parameters: (XML attributes at the root level) </li>
+	 *             <li> ftpServer = name or IP of FTP server </li>
+	 *             <li> ftpUser = login ID for server </li>
+	 *             <li> ftpPassword </li>
+	 *             <li> localDirURI = absolute path in the local filesystem
+	 *             </li>
+	 *             <li> remoteDirURI = remote path is relative to ftp user home
+	 *             in remote computer </li>
+	 * @throws RemoteFileSystemException
+	 */
+
+	public FtpClientUtil (ConfigTree p_oP, boolean p_bConnect) throws RemoteFileSystemException, ConfigurationException
+	{
+		m_oParms = p_oP;
+		initialize(p_bConnect);
+	} // _________________________________
+
+	public FtpClientUtil (List<KeyValuePair> attribs, boolean connect)
+			throws RemoteFileSystemException, ConfigurationException
+	{
+		m_oParms = new ConfigTree("fromProps");
+		for (KeyValuePair oCurr : attribs)
+			m_oParms.setAttribute(oCurr.getKey(), oCurr.getValue());
+		initialize(connect);
+	} // __________________________________
+
+	private void initialize (boolean bConnect) throws RemoteFileSystemException, ConfigurationException
+	{
+		checkParms();
+		
+		try
+		{
+			if (bConnect)
+			{
+				m_oConn.setRemoteHost(m_sFtpServer);
+				m_oConn.setRemotePort(m_iPort);
+				m_oConn.connect();
+				
+				for (int i1 = 0; i1 < 10 && !m_oConn.connected(); i1++)
+				{
+					try
+					{
+						// TODO magic number
+						Thread.sleep(200);
+					}
+					catch (InterruptedException ex)
+					{
+					}
+				}
+				
+				if (!m_oConn.connected())
+					throw new RemoteFileSystemException("Can't connect to FTP server");
+				m_oConn.user(m_sUser);
+				m_oConn.password(m_sPasswd);
+				m_oConn
+						.setConnectMode((m_bPassive) ? FTPConnectMode.PASV : FTPConnectMode.ACTIVE);
+			}
+		}
+		catch (RemoteFileSystemException ex)
+		{
+			throw ex;
+		}
+		catch (Exception ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	} // __________________________________
+
+	/**
+	 * Terminates ftp session and frees resources
+	 * <li>Well behaved programs should make sure to call this method </li>
+	 */
+	public void quit ()
+	{
+		if (null != m_oConn) try
+		{
+			m_oConn.quit();
+		}
+		catch (Exception e)
+		{
+		}
+	} // _________________________________
+
+	/**
+	 * Deletes specified file in remote directory
+	 * 
+	 * @param p_sFile
+	 *            String : filename to delete. Method will attempt to delete
+	 *            file with rightmost node of argument within remote directory
+	 *            specified in 'remoteDirURI'
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or file cannot be
+	 *             deleted in remote directory
+	 */
+	public void deleteRemoteFile (String p_sFile) throws RemoteFileSystemException
+	{
+		try
+		{
+			m_oConn.delete(getRemoteDir() + "/" + new File(p_sFile).getName());
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	} // _________________________________
+
+	public void remoteDelete (File p_oFile) throws RemoteFileSystemException
+	{
+		try
+		{
+			m_oConn.delete(fileToFtpString(p_oFile));
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	} // _________________________________
+
+	/**
+	 * Gets the list of files in the remote directory that end with arg0
+	 * 
+	 * @param p_sSuffix
+	 *            String : retrieve only files that end with that suffix - all
+	 *            files if null
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or problems
+	 *             encountered
+	 */
+	public String[] getFileListFromRemoteDir (String p_sSuffix)
+			throws RemoteFileSystemException
+	{
+		String sSuffix = (null == p_sSuffix) ? "*" : "*" + p_sSuffix;
+		
+		try
+		{
+			return m_oConn.dir(sSuffix);
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	} // _________________________________
+
+	/**
+	 * Change remote directory
+	 * 
+	 * @param p_sDir
+	 *            String : directory to set
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or problems
+	 *             encountered
+	 */
+	public void setRemoteDir (String p_sDir) throws RemoteFileSystemException
+	{
+		try
+		{
+			m_oConn.chdir(p_sDir);
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	} // _________________________________
+
+	/**
+	 * Renames specified file in remote directory to specified new name
+	 * 
+	 * @param p_sFrom
+	 *            String : filename to rename
+	 * @param p_sTo
+	 *            String : new filename
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or file cannot be
+	 *             renamed to new name in remote directory
+	 *             <li>Method will attempt to rename file with rightmost node
+	 *             of argument within remote directory specified in
+	 *             'remoteDirURI', to new name inside the SAME remote directory
+	 */
+	public void renameInRemoteDir (String p_sFrom, String p_sTo)
+			throws RemoteFileSystemException
+	{
+		String sRmtFrom = new File(p_sFrom).getName();
+		String sRmtTo = new File(p_sTo).getName();
+
+		try
+		{
+			m_oConn.rename(getRemoteDir() + "/" + sRmtFrom,
+					getRemoteDir() + "/" + sRmtTo);
+		}
+		catch (Exception e)
+		{
+			String sMess = this.getClass().getSimpleName() + " can't rename in remote directory <" + e
+					.getMessage() + ">";
+			throw new RemoteFileSystemException(sMess);
+		}
+	} // _________________________________
+
+	public void remoteRename (File p_oFrom, File p_oTo) throws RemoteFileSystemException
+	{
+		try
+		{
+			m_oConn.rename(fileToFtpString(p_oFrom), fileToFtpString(p_oTo));
+		}
+		catch (Exception e)
+		{
+			String sMess = this.getClass().getSimpleName() + " can't rename in remote directory <" + e
+					.getMessage() + ">";
+			throw new RemoteFileSystemException(sMess);
+		}
+	} // _________________________________
+
+	/**
+	 * Uploads specified file from local directory (localDirURI) to remote
+	 * directory (remoteDirURI)
+	 * 
+	 * @param p_sFile
+	 *            String : filename to upload
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or file cannot be
+	 *             uploaded
+	 *             <li> local file will be renamed during transfer
+	 *             ('.xferNotReady' appended to name)</li>
+	 *             <li> upon successful completion. the suffix '.xferDone' will
+	 *             be appended to the original filename </li>
+	 */
+	public void uploadFile (File p_oFile, String p_sRemoteName)
+			throws RemoteFileSystemException
+	{
+		String sRemoteOK = getRemoteDir() + "/" + p_sRemoteName;
+		String sRemoteTmp = sRemoteOK + TMP_SUFFIX;
+		
+		try
+		{
+			m_oConn.setType(m_oXferType);
+			m_oConn.put(fileToFtpString(p_oFile), sRemoteTmp);
+			m_oConn.rename(sRemoteTmp, sRemoteOK);
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	} // _________________________________
+
+	/**
+	 * Downloads specified file from remote directory (remoteDirURI) to local
+	 * directory (localDirURI)
+	 * 
+	 * @param p_sFile
+	 *            String : filename to download
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or file cannot be
+	 *             downloaded
+	 *             <li> local file is assigned a temporary name during transfer
+	 *             </li>
+	 *             <li> upon successful completion, local temporary file will be
+	 *             renamed to name specified in argument, and suffix '.xferDone'
+	 *             will be appended to the original filename in the remote
+	 *             directory </li>
+	 */
+	public void downloadFile (String p_sFile, String p_sFinalName)
+			throws RemoteFileSystemException
+	{
+		try
+		{
+			File oLocalDir = new File(m_sLocalDir);
+			File oLclFile = File.createTempFile("Rosetta_", TMP_SUFFIX, oLocalDir);
+	
+			try
+			{
+				oLclFile.delete();
+			}
+			catch (Exception e)
+			{
+			}
+			
+			m_oConn.setType(m_oXferType);
+			m_oConn.get(fileToFtpString(oLclFile), p_sFile);
+	
+			File oNew = new File(oLocalDir, p_sFinalName);
+			
+			if (oNew.exists()) 
+				oNew.delete();
+			
+			oLclFile.renameTo(oNew);
+		}
+		catch (FTPException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+		catch (IOException ex)
+		{
+			throw new RemoteFileSystemException(ex);
+		}
+	} // _________________________________
+
+	// Beware !!! The logic here seems wrong, but it works
+	// It appears that there's some kind of bug in the edtftpj.jar library
+	// The !XFER_TYPE.ascii.equals(p_oMode) should NOT be negated
+	// But it works when negated (newlines from Unix to DOS)
+	private void setXferType (XFER_TYPE p_oMode)
+	{
+		m_oXferType = !XFER_TYPE.ascii.equals(p_oMode) ? FTPTransferType.ASCII : FTPTransferType.BINARY;
+	} // _________________________________
+
+	private void checkParms () throws ConfigurationException
+	{
+		m_sFtpServer = m_oParms.getAttribute(PARMS_FTP_SERVER);
+		if (null == m_sFtpServer)
+			throw new ConfigurationException("No FTP server specified");
+
+		m_sUser = m_oParms.getAttribute(PARMS_USER);
+		if (null == m_sUser)
+			throw new ConfigurationException("No username specified for FTP");
+
+		m_sPasswd = m_oParms.getAttribute(PARMS_PASSWD);
+		if (null == m_sPasswd)
+			throw new ConfigurationException("No password specified for FTP");
+
+		m_sRemoteDir = m_oParms.getAttribute(PARMS_REMOTE_DIR);
+		if (null == m_sRemoteDir) 
+			m_sRemoteDir = "";
+
+		m_sLocalDir = m_oParms.getAttribute(PARMS_LOCAL_DIR);
+		if (null == m_sLocalDir) 
+			m_sLocalDir = ".";
+
+		String sAux = m_oParms.getAttribute(PARMS_PORT);
+		m_iPort = (null == sAux) ? 21 : Integer.parseInt(sAux);
+
+		boolean bAscii = false;
+		sAux = m_oParms.getAttribute(PARMS_ASCII);
+		
+		if (null != sAux) 
+			bAscii = Boolean.parseBoolean(sAux);
+		
+		setXferType((bAscii) ? XFER_TYPE.ascii : XFER_TYPE.binary);
+
+		m_bPassive = false;
+		sAux = m_oParms.getAttribute(PARMS_PASSIVE);
+		m_bPassive = (null != sAux) && Boolean.parseBoolean(sAux);
+	} // __________________________________
+
+	public static String fileToFtpString (File p_oF)
+	{
+		return (null == p_oF) ? null : p_oF.toString().replace("\\", "/");
+	} // ________________________________
+
+} // ____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocator.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocator.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,93 @@
+/*
+* 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.util;
+
+import java.io.Serializable;
+
+ at SuppressWarnings("serial")
+public class ObjLocator implements Serializable
+{
+  private long        m_lUid;
+  private Object []   m_oaLocs;
+
+  public  long        getUid() { return m_lUid; }
+  public  String []   getStrings() { return (String []) m_oaLocs; }
+  public int getColumnCount()
+  { return (null == m_oaLocs) ? 0 : m_oaLocs.length;
+  } //__________________________________
+
+  public ObjLocator(long p_lUid, Object [] p_sa)
+  { m_lUid    = p_lUid;
+    m_oaLocs  = (null == p_sa) ? new Object [0] : p_sa;
+    for (int i1=0; i1<m_oaLocs.length;i1++)
+      if (null == m_oaLocs[i1]) m_oaLocs[i1]="";
+  } //__________________________________
+
+  public Object get(int p_iCol)
+  { return (null == m_oaLocs) ? ""
+        :(p_iCol < 0 || p_iCol >= m_oaLocs.length) ? ""
+        : m_oaLocs[p_iCol];
+  } //__________________________________
+
+  public void set(int p_iCol, Object p_o)
+  { if (null == m_oaLocs)                         return;
+    if (p_iCol < 0 || p_iCol >= m_oaLocs.length)  return;
+    m_oaLocs[p_iCol]    = p_o;
+  } //__________________________________
+
+  public boolean    equals(Object p_o)
+  { return (p_o instanceof ObjLocator)
+      ? m_lUid == ((ObjLocator)p_o).getUid()
+      : false;
+  } //__________________________________
+
+  public static ObjLocator find(long p_l, ObjLocator[] p_ola)
+  { ObjLocator oRet;
+    if (null != p_ola)
+      for (int i1=0; i1<p_ola.length;i1++)
+        if (p_l == (oRet = p_ola[i1]).getUid()) return oRet;
+    return null;
+  } //__________________________________
+
+  public String toString()
+  { StringBuffer sb = new StringBuffer(200);
+    sb.append("ObjLocator: ").append(m_lUid).append(" <");
+    for (int i1=0; i1<m_oaLocs.length;i1++)
+    { if (i1 > 0) sb.append(" ");
+      sb.append(m_oaLocs[i1].toString());
+    }
+    sb.append(">");
+    return sb.toString();
+  } //__________________________________
+
+  public static long [] getUids(ObjLocator[] p_ola)
+  { long [] laRet = new long [] {};
+    if (null == p_ola)  return laRet;
+    if (p_ola.length<1) return laRet;
+    laRet = new long[p_ola.length];
+    for (int i1=0; i1<laRet.length; i1++)
+      laRet[i1] = p_ola[i1].getUid();
+
+    return laRet;
+  } //__________________________________
+
+} //____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocator.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocatorSorter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocatorSorter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocatorSorter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,87 @@
+/*
+* 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.util;
+
+import java.util.Arrays;
+import java.util.Comparator;
+
+public class ObjLocatorSorter
+{
+  private java.util.List<ObjLocator> m_olRows;
+  private int m_iQcols;
+  private char[] m_caSrt;
+
+  public ObjLocatorSorter(ObjLocator[] p_oa)
+  { m_iQcols  = (null==p_oa) ? 0
+      : p_oa.length<1 ? 0
+      : p_oa[0].getColumnCount();
+    m_olRows = Arrays.asList(p_oa);
+  } //________________________________
+
+  public ObjLocator[] sort (int p_iCol)
+  { if (null == m_caSrt)
+    { m_caSrt = new char[m_iQcols];
+      for (int i1=0; i1<m_caSrt.length; i1++) m_caSrt[i1]='d';
+    }
+    ObjLocator [] oaLoc = new ObjLocator[m_olRows.size()];
+    m_olRows.toArray(oaLoc);
+    Arrays.sort(oaLoc,new RowCmp(p_iCol,ascOrDesc(oaLoc,p_iCol)));
+    m_olRows  = Arrays.asList(oaLoc);
+    return oaLoc;
+  } //________________________________
+  private static char ascOrDesc(ObjLocator[] p_oa, int p_iCol)
+  {
+    String sMin = "";
+    for (int i1=0; i1<p_oa.length;i1++)
+    { Object oCurr = p_oa[i1].get(p_iCol);
+      if (! (oCurr instanceof String))    continue;
+      if (sMin.compareToIgnoreCase((String)oCurr) > 0)
+          return 'a';
+      sMin  = (String) oCurr;
+    }
+    return 'd';
+  } //________________________________
+
+  // ---------------------------------------------------------
+  //  Comparator for Table Columns
+  // ---------------------------------------------------------
+  private class RowCmp implements Comparator<ObjLocator>
+  {
+    int m_iCol;
+    boolean m_bAsc;
+
+    RowCmp(int p_i, char p_c)
+    {
+      m_iCol = p_i;
+      m_bAsc = 'a'==Character.toLowerCase(p_c);
+    } //______________________________
+
+    public int compare(ObjLocator o1, ObjLocator o2)
+    {
+      String s1 = (String) o1.get(m_iCol);
+      String s2 = (String) o2.get(m_iCol);
+      int iCmp = s1.compareToIgnoreCase(s2);
+      return (m_bAsc) ? iCmp : -iCmp;
+    } //______________________________
+  } //_______________________________________________
+} //______________________________________________________
+


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/ObjLocatorSorter.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,166 @@
+/*
+ * 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.util;
+
+import java.io.File;
+import java.io.IOException;
+
+public interface RemoteFileSystem
+{
+
+	public static final String FTP_PROTOCOL = "ftp";
+
+	public static final String SFTP_PROTOCOL = "sftp";
+
+	public static final String FTPS_PROTOCOL = "ftps";
+
+	public static final String PARMS_PROTOCOL = "protocol";
+
+	public static final String PARMS_FTP_SERVER = "ftpServer";
+
+	public static final String PARMS_USER = "ftpUser";
+
+	public static final String PARMS_PASSWD = "ftpPassword";
+
+	public static final String PARMS_PORT = "ftpPort";
+
+	public static final String PARMS_REMOTE_DIR = "ftpRemoteDir";
+
+	public static final String PARMS_LOCAL_DIR = "ftpLocalDir";
+
+	public static final String PARMS_ASCII = "ftpAscii";
+
+	public static final String PARMS_PASSIVE = "ftpPassive";
+
+	public static final String PARMS_CERTIFICATE = "certificate";
+
+	public String getRemoteDir ();
+
+	/**
+	 * Terminates ftp session and frees resources
+	 * <li>Well behaved programs should make sure to call this method </li>
+	 */
+	public void quit (); // _________________________________
+
+	/**
+	 * Deletes specified file in remote directory
+	 * 
+	 * @param p_sFile
+	 *            String : filename to delete. Method will attempt to delete
+	 *            file with rightmost node of argument within remote directory
+	 *            specified in 'remoteDirURI'
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or file cannot be
+	 *             deleted in remote directory
+	 */
+	public void deleteRemoteFile (String p_sFile) throws RemoteFileSystemException; // _________________________________
+
+	public void remoteDelete (File p_oFile) throws RemoteFileSystemException; // _________________________________
+
+	/**
+	 * Gets the list of files in the remote directory that end with arg0
+	 * 
+	 * @param p_sSuffix
+	 *            String : retrieve only files that end with that suffix - all
+	 *            files if null
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or problems
+	 *             encountered
+	 */
+	public String[] getFileListFromRemoteDir (String p_sSuffix)
+			throws IOException, RemoteFileSystemException; // _________________________________
+
+	/**
+	 * Change remote directory
+	 * 
+	 * @param p_sDir
+	 *            String : directory to set
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or problems
+	 *             encountered
+	 */
+	public void setRemoteDir (String p_sDir) throws RemoteFileSystemException; // _________________________________
+
+	/**
+	 * Renames specified file in remote directory to specified new name
+	 * 
+	 * @param p_sFrom
+	 *            String : filename to rename
+	 * @param p_sTo
+	 *            String : new filename
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or file cannot be
+	 *             renamed to new name in remote directory
+	 *             <li>Method will attempt to rename file with rightmost node
+	 *             of argument within remote directory specified in
+	 *             'remoteDirURI', to new name inside the SAME remote directory
+	 */
+	public void renameInRemoteDir (String p_sFrom, String p_sTo)
+			throws RemoteFileSystemException; // _________________________________
+
+	/**
+	 * 
+	 * @param p_oFrom
+	 * @param p_oTo
+	 * @throws IOException if file not found.
+	 * @throws RemoteFileSystemException
+	 */
+	public void remoteRename (File p_oFrom, File p_oTo) throws IOException, RemoteFileSystemException; // _________________________________
+
+	/**
+	 * Uploads specified file from local directory (localDirURI) to remote
+	 * directory (remoteDirURI)
+	 * 
+	 * @param p_sFile
+	 *            String : filename to upload
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or file cannot be
+	 *             uploaded
+	 *             <li> local file will be renamed during transfer
+	 *             ('.xferNotReady' appended to name)</li>
+	 *             <li> upon successful completion. the suffix '.xferDone' will
+	 *             be appended to the original filename </li>
+	 */
+	public void uploadFile (File p_oFile, String p_sRemoteName)
+			throws RemoteFileSystemException; // _________________________________
+
+	/**
+	 * Downloads specified file from remote directory (remoteDirURI) to local
+	 * directory (localDirURI)
+	 * 
+	 * @param p_sFile
+	 *            String : filename to download
+	 * @throws RemoteFileSystemException :
+	 *             if ftp connection cannot be established, or file cannot be
+	 *             downloaded
+	 *             <li> local file is assigned a temporary name during transfer
+	 *             </li>
+	 *             <li> upon successful completion, local temporary file will be
+	 *             renamed to name specified in argument, and suffix '.xferDone'
+	 *             will be appended to the original filename in the remote
+	 *             directory </li>
+	 */
+	public void downloadFile (String p_sFile, String p_sFinalName)
+			throws IOException, RemoteFileSystemException; // _________________________________
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,55 @@
+/*
+ * 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.util;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * Remote File System exception.
+ * @author b_georges
+ * @since Version 4.0
+ */
+public class RemoteFileSystemException extends BaseException 
+{
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * Construct an exception instance. 
+     * @param message Exception message.
+     */
+    public RemoteFileSystemException(String message) { super(message); }
+
+    /**
+     * Construct an exception instance. 
+     * @param message Exception message.
+     * @param cause Exception cause.
+     */
+    public RemoteFileSystemException(String message, Throwable cause) { super(message, cause); }
+
+    /**
+     * Construct an exception instance. 
+     * @param cause Exception cause.
+     */
+    public RemoteFileSystemException(Throwable cause) { super(cause); }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystemFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,78 @@
+/*
+ * 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.util;
+
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import org.jboss.internal.soa.esb.util.EdtFtpImpl;
+import org.jboss.internal.soa.esb.util.SecureFtpImpl;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
+
+public class RemoteFileSystemFactory
+{
+
+	// private default constructor
+	private RemoteFileSystemFactory()
+	{
+	}
+
+	/**
+	 * This method returns a RemoteFileSystem Implementation at runtime.
+	 * The implementation depends on which protocol is specified in the 
+	 * URL of the RemoteFileSystem.
+	 * We currently support "ftp" and "sftp" 
+	 * Refactoring related to JIRA Tasks: JBESB-127 and JBESB-197 
+	 * @param p_oEpr
+	 * @param p_bConnect
+	 * @return
+	 * @throws RemoteFileSystemException
+	 */
+	public static RemoteFileSystem getRemoteFileSystem(FTPEpr p_oEpr,
+			boolean p_bConnect) throws RemoteFileSystemException
+	{
+		URL url = null;
+		try
+		{
+			url = p_oEpr.getURL();
+			if (url.getProtocol().equals(RemoteFileSystem.FTP_PROTOCOL))
+				return new EdtFtpImpl((FTPEpr) p_oEpr, p_bConnect);
+			else if (url.getProtocol().equals(RemoteFileSystem.SFTP_PROTOCOL))
+				return new SecureFtpImpl((SFTPEpr) p_oEpr, p_bConnect);
+
+		} catch (MalformedURLException e)
+		{
+			throw new RemoteFileSystemException(e);
+		} catch (URISyntaxException e)
+		{
+			throw new RemoteFileSystemException(e);
+		} catch (Exception e)
+		{
+			throw new RemoteFileSystemException(e);
+		}
+		throw new RemoteFileSystemException("Unknown or unsupported protocol");
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,254 @@
+/*
+ * 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.util;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintStream;
+import java.io.Serializable;
+import java.io.StringWriter;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.log4j.Appender;
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Logger;
+import org.apache.log4j.TTCCLayout;
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
+import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+public class Util
+{
+	private Util()
+	{
+	}
+
+	public static void dumpSysProps(PrintStream p_OS)
+	{
+		String[] sa = new String[ModulePropertyManager.getPropertyManager(
+				ModulePropertyManager.TRANSPORTS_MODULE).getProperties().size()];
+		ModulePropertyManager.getPropertyManager(
+				ModulePropertyManager.TRANSPORTS_MODULE).getProperties()
+				.keySet().toArray(sa);
+		Arrays.sort(sa);
+		for (String sCurr : sa)
+			p_OS.println(sCurr
+					+ "="
+					+ ModulePropertyManager.getPropertyManager(
+							ModulePropertyManager.TRANSPORTS_MODULE)
+							.getProperty(sCurr));
+	} // __________________________________
+
+	public static boolean isNullString(String p_s)
+	{
+		return (null == p_s) ? true : p_s.trim().length() < 1;
+	} // __________________________________
+
+	public static boolean isLong(String p_s)
+	{
+		if (isNullString(p_s))
+			return false;
+		
+		try
+		{
+			Long.parseLong(p_s);
+			return true;
+		}
+		catch (Exception e)
+		{
+			return false;
+		}
+	} // __________________________________
+
+	public static boolean isPositiveLong(String p_s)
+	{
+		if (isNullString(p_s))
+			return false;
+		
+		try
+		{
+			long lBk = Long.parseLong(p_s);
+			return lBk > 0;
+		}
+		catch (Exception e)
+		{
+			return false;
+		}
+	} // __________________________________
+
+	public static int parseInt(String s)
+	{
+		if (s == null)
+			return 0;
+		
+		String sVal = s.trim();
+		
+		if (sVal.length() < 1)
+			return 0;
+		else
+		{
+			try
+			{
+				return Integer.parseInt(s);
+			}
+			catch (NumberFormatException ex)
+			{
+				return 0;
+			}
+		}
+	} // __________________________________
+
+	public static long parseLong(String s)
+	{
+		if (s == null)
+			return 0;
+		
+		String sVal = s.trim();
+		
+		if (sVal.length() < 1)
+			return 0;
+		else
+		{
+			try
+			{
+				return Long.parseLong(s);
+			}
+			catch (NumberFormatException ex)
+			{
+				return 0;
+			}
+		}
+	} // __________________________________
+
+	public static Logger getDefaultLogger(Class p_oCls)
+	{
+		Logger oRet = Logger.getLogger(p_oCls.getName());
+		Appender oApp = new ConsoleAppender(new TTCCLayout("ISO8601"));
+		oRet.addAppender(oApp);
+		return oRet;
+	} // __________________________________
+
+	public static Serializable serialize(Message message)
+			throws ParserConfigurationException, IOException
+	{
+		if (message.getType().equals(
+				org.jboss.soa.esb.message.format.MessageType.JAVA_SERIALIZED))
+			return (Serializable) message;
+
+		try
+		{
+			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+			
+			factory.setNamespaceAware(true);
+			
+			Document doc = factory.newDocumentBuilder().newDocument();
+			((org.jboss.internal.soa.esb.message.format.xml.MessageImpl) message)
+					.toXML(doc);
+			StringWriter sWriter = new StringWriter();
+			OutputFormat format = new OutputFormat();
+			format.setIndenting(true);
+			XMLSerializer xmlS = new XMLSerializer(sWriter, format);
+			xmlS.asDOMSerializer();
+			xmlS.serialize(doc);
+			return sWriter.toString();
+		}
+		catch (MarshalException ex)
+		{
+			throw new IOException(ex.toString());
+		}
+	}// ________________________________
+
+	public static Message deserialize(Serializable serial)
+			throws ParserConfigurationException, SAXException, IOException
+	{
+		if (serial instanceof MessageImpl) // MessageType.JAVA_SERIALIZED
+			return (Message) serial;
+
+		try
+		{
+			// MessageType.JBOSS_XML
+			InputStream inStream = new ByteArrayInputStream(((String) serial)
+					.getBytes());
+			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+			factory.setNamespaceAware(true);
+			
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.parse(inStream);
+	
+			org.jboss.internal.soa.esb.message.format.xml.MessageImpl message = new org.jboss.internal.soa.esb.message.format.xml.MessageImpl();
+			message.fromXML(doc);
+			return message;
+		}
+		catch (UnmarshalException ex)
+		{
+			throw new IOException(ex.toString());
+		}
+	} // ________________________________
+
+	public static List<KeyValuePair> propertiesFromSelector(String selector)
+	{
+		// No problem if selector is null - everything in queue will be returned
+		List<KeyValuePair> oRet = new ArrayList<KeyValuePair>();
+		
+		if (!Util.isNullString(selector))
+		{
+			for (String sCurr : selector.trim().split(","))
+			{
+				String[] sa = sCurr.split("=");
+				if (sa.length != 2 || sa[1].charAt(0) != '\''
+						|| sa[1].charAt(-1 + sa[1].length()) != '\'')
+					throw new IllegalArgumentException("Illegal message selector syntax <"
+							+ selector + ">");
+				KeyValuePair oNew = new KeyValuePair(sa[0], sa[1].substring(0,
+						-1 + sa[1].length()).substring(1));
+				oRet.add(oNew);
+			}
+		}
+		
+		return oRet;
+	} // ________________________________
+
+	public static String getStamp()
+	{
+		return s_oTS.format(new java.util.Date(System.currentTimeMillis()));
+	}
+
+	private static final SimpleDateFormat s_oTS = new SimpleDateFormat(
+			"yyyy/MM/dd hh:mm:ss.SSS");
+
+} // ____________________________________________________________________________


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/Util.java
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/jbpm/CommandVehicle.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/jbpm/CommandVehicle.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/jbpm/CommandVehicle.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,135 @@
+/*
+ * 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.util.jbpm;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.AbstractCommandVehicle;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.jpdl.JpdlException;
+
+/**
+ * 
+ * Base class to use when a jBPM command should go through the wire to a jBPM aware ESB action class.
+ * 
+ * <p/>When more commands are added to the 'Command' enumeration, corresponding action class 
+ * (org.jboss.soa.esb.actions.JbpmCommandInterpreter) should be modified accordingly in order to 
+ * execute new commands
+ * 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a> 
+ *
+ */
+public class CommandVehicle extends AbstractCommandVehicle 
+{
+	private static final long serialVersionUID = 1L;
+
+	@Override
+	public String getCommandValuesTag() { return "jBPMCommandValues"; }
+	@Override
+	public String getCommandOpcodeKey() { return "jBPMOpCode";}
+	
+	public static final String PROCESS_DEFINITION			="processDefinition";
+	public static final String PROCESS_DEFINITION_NAME		="processDefName";
+	public static final String PROCESS_DEFINITION_VERSION	="processDefVersion";
+	public static final String PROCESS_INSTANCE_ID			="instanceId";
+	public static final String TOKEN_ID						="tokenId";
+	public static final String TRANSITION_NAME				="transitionName";
+	public static final String CURRENT_NODE_NAME			="currentNodeName";
+	public static final String VARIABLE_NAMES_LIST			="variableNamesList";
+	public static final String VARIABLE_VALUES				="variableValuesMap";
+	public static final String USER_OBJECT					="userObject";
+	public static final String EXCEPTION     				="jbpmException";
+	public static final String ERROR_MESSAGE   				="errorMsg";
+
+	public static final String RETURN_CODE					="returnCode";
+	
+	public static final String RETCODE_OK					="OK";
+	public static final String RETCODE_INVALID_OPCODE		="invalidOpCode";
+	public static final String RETCODE_EXCEPTION			="exceptionThrown";
+	public static final String RETCODE_ERROR				="error";
+	
+
+	public enum Operation
+	{
+		// Operations that the CommandInterpreter can perform
+		deployProcessDefinition
+		,newProcessInstance
+		,signalProcess
+		,signalToken
+		,getProcessInstanceVariables
+		,setProcessInstanceVariables
+		,getTokenVariables
+		,setTokenVariables
+		,hasInstanceEnded
+		
+		// Operations originated in jBPM ActionHandlers
+		,responseToRequest
+		,sendMessageToEsb
+	}
+	
+	public CommandVehicle(Enum command) 	 { super(command); }
+	public CommandVehicle(Message message){ super(message); }
+
+	public Object getReturnCode		()			{ return			_values.get(RETURN_CODE); }
+	public ProcessDefinition getProcessDefinition()	{ return (ProcessDefinition)_values.get(PROCESS_DEFINITION); }
+	public String getProcessDefinitionName	()	{ return (String)	_values.get(PROCESS_DEFINITION_NAME); }
+	public int	  getProcessVersion	() 			{ return (Integer)	_values.get(PROCESS_DEFINITION_VERSION); }
+	public long	  getInstanceId		() 			{ return (Long)		_values.get(PROCESS_INSTANCE_ID); }
+	public long   getTokenId		() 			{ return (Long)		_values.get(TOKEN_ID); }
+	public String getTransitionName	() 			{ return (String)	_values.get(TRANSITION_NAME); }
+	public String getCurrentNodeName() 			{ return (String)	_values.get(CURRENT_NODE_NAME); }
+	@SuppressWarnings("unchecked")
+	public Set<String> getVariableNames	()		{ return (Set<String>)_values.get(VARIABLE_NAMES_LIST); }
+	@SuppressWarnings("unchecked")
+	public Map<String,Object>getVariableValues()
+	{ 
+		return (Map)_values.get(VARIABLE_VALUES); 
+	}
+	public Object getUserObject			()		{ return _values.get(USER_OBJECT); }
+	public Exception getException		()		{ return (Exception)_values.get(EXCEPTION); }
+	public String	getErrorMessage		()		{ return (String)	_values.get(ERROR_MESSAGE); }
+
+	public void	setReturnCode		(Object obj){ super.setValue(RETURN_CODE			,obj); }
+	public void	setProcessDefinition(ProcessDefinition obj) 
+		{ super.setValue(PROCESS_DEFINITION	,obj); }
+	public void	setProcessDefinition(String xmlString) throws JpdlException 
+	{ 
+		super.setValue(PROCESS_DEFINITION	,ProcessDefinition.parseXmlString(xmlString)); 
+	}
+	public void	setProcessDefinitionName(String obj){ super.setValue(PROCESS_DEFINITION_NAME,obj); }
+	public void	setProcessVersion	(int	obj){ super.setValue(PROCESS_DEFINITION_VERSION,obj); }
+	public void	setInstanceId		(long	obj){ super.setValue(PROCESS_INSTANCE_ID	,obj); }
+	public void	setTokenId			(long	obj){ super.setValue(TOKEN_ID				,obj); }
+	public void	setTransitionName 	(String	obj){ super.setValue(TRANSITION_NAME		,obj); }
+	public void	setCurrentNodeName 	(String	obj){ super.setValue(CURRENT_NODE_NAME		,obj); }
+	public void setVariableNames	(Set<String> obj){ super.setValue(VARIABLE_NAMES_LIST,obj); }
+	public void setVariableValues(Map<String,Object>obj)
+	{ 
+		super.setValue(VARIABLE_VALUES,obj); 
+	}
+	public void	setUserObject	(Object obj)	{ super.setValue(USER_OBJECT,obj); }
+	public void	setException	(Exception obj) { super.setValue(EXCEPTION, obj); }
+	public void	setErrorMessage	(String	  obj)	{ super.setValue(ERROR_MESSAGE, obj); }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,220 @@
+<?xml version="1.0"?>
+<project name="build.rosetta.tests" default="org.jboss.esb.rosetta.tests.compile" basedir=".">
+
+	<property name="org.jboss.esb.internal.dest" location="../../../build"/>
+    <property name="org.jboss.esb.module.src.dir" location="../src"/>
+    <property name="org.jboss.esb.module.classes.dir" location="${org.jboss.esb.internal.dest}/classes/rosetta"/>
+    <property name="org.jboss.esb.module.tests.src.dir" location="src"/>
+    <property name="org.jboss.esb.tests.classes.dir" location="${org.jboss.esb.internal.dest}/tests"/>
+    <property name="org.jboss.esb.tests.report.dir" location="${org.jboss.esb.internal.dest}/tests/junit"/>
+    <property name="org.jboss.esb.root.dir" location="../.."/>
+    <property name="org.jboss.esb.module.tests.coverage.dir" location="${org.jboss.esb.internal.dest}/tests/coverage/rosetta"/>
+    <property name="org.jboss.esb.module.classes.instr.dir" location="${org.jboss.esb.module.tests.coverage.dir}/instr" />
+    <property environment="env"/>
+    <property name="org.jboss.esb.ext.lib.dir" location="${org.jboss.esb.root.dir}/lib/ext"/>
+	<!-- Set deployment properties filename -->
+	<property name="org.jboss.esb.deployment.properties" location="../../../install/deployment.properties"/>
+	<!-- Load deployment properties File -->
+	<property file="${org.jboss.esb.deployment.properties}"/>
+	
+        <property name="org.jboss.esb.test.ftp.hostname" value="localhost"/>
+        <property name="org.jboss.esb.test.ftp.user" value="ftpuser"/>
+        <property name="org.jboss.esb.test.ftp.pwd" value="ftppassword"/>
+        <property name="org.jboss.esb.test.ftp.dir" value="/tmp"/>
+        <property name="org.jboss.esb.test.persistdb.dir" location="${org.jboss.esb.internal.dest}/testdb"/>
+    <condition property="org.jboss.esb.ext.lib.dir" value="${org.jboss.esb.jboss.home}/client">
+        <equals arg1="${org.jboss.esb.frominstall}" arg2="yes"/>
+    </condition>
+
+    <path id="org.jboss.esb.tests.base.classpath">
+        <fileset dir="${org.jboss.esb.ext.lib.dir}" includes="*.jar"/>
+    	<pathelement location="${org.jboss.esb.root.dir}/core/rosetta/tests/resources/etc"/>
+        <pathelement location="${org.jboss.esb.module.classes.dir}"/>
+    </path>
+
+    <target name="org.jboss.esb.tests.init">
+        <tstamp>
+            <format property="TODAY" pattern="dd-MM-yy"/>
+        </tstamp>
+
+        <mkdir dir="${org.jboss.esb.tests.classes.dir}"/>
+        <mkdir dir="${org.jboss.esb.tests.report.dir}"/>
+    </target>
+
+    <target name="clean">
+        <delete dir="${org.jboss.esb.tests.classes.dir}"/>
+        <delete file="TESTS-TestSuites.xml"/>
+    </target>
+
+    <target name="org.jboss.esb.rosetta.tests.compile" if="org.jboss.esb.buildtests" depends="org.jboss.esb.tests.init">
+
+        <javac
+                destdir="${org.jboss.esb.tests.classes.dir}"
+                classpathref="org.jboss.esb.tests.base.classpath"
+                debug="${org.jboss.esb.debug}"
+                optimize="${org.jboss.esb.optimize}"
+                >
+            <src path="${org.jboss.esb.module.tests.src.dir}"/>
+        </javac>
+
+    </target>
+
+	<!-- ====================================================================== -->
+    <!--                             T E S T                                    -->
+    <!-- ====================================================================== -->
+    <target name="org.jboss.esb.rosetta.internal.test">
+		<!-- Instrument the code for code coverage - using emma... -->
+    	<delete dir="${org.jboss.esb.module.tests.coverage.dir}" />
+	    <mkdir dir="${org.jboss.esb.module.classes.instr.dir}" />
+	    <emma>
+			<instr 	instrpath="${org.jboss.esb.module.classes.dir}" 
+					destdir="${org.jboss.esb.module.classes.instr.dir}" 
+					metadatafile="${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+	    </emma>        
+
+    	<!-- Run the tests -->
+        <antcall target="org.jboss.esb.services.internal.test.exec"/>        
+
+    	<!-- Generate the coverage report -->
+	    <emma>
+			<report sourcepath="${org.jboss.esb.module.src.dir}" sort="+block,+name,+method,+class" metrics="method:70,block:80,line:80,class:100">
+		        <fileset dir="${org.jboss.esb.module.tests.coverage.dir}" >
+					<include name="*.emma" />
+		        </fileset>
+		        <html outfile="${org.jboss.esb.module.tests.coverage.dir}/index.html" depth="method" columns="name,line,class,method,block"/>
+			</report>
+	    </emma>
+    </target>
+
+    <!-- ====================================================================== -->
+    <!--         U N I T   A N D   F U N C T I O N A L   T E S T S              -->
+    <!-- ====================================================================== -->
+    <target name="org.jboss.esb.services.internal.test.exec">
+        <echo message="Running tests for module, excluding integration"/>
+        <delete dir="${org.jboss.esb.test.persistdb.dir}" failonerror="false"/>
+        <mkdir dir="${org.jboss.esb.test.persistdb.dir}"/>
+        <copy todir="${org.jboss.esb.test.persistdb.dir}">
+            <fileset dir="resources/etc/" includes="persistUnitTestDB*"/>
+        </copy>
+
+        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
+            <formatter type="plain" usefile="false"/>
+            <formatter type="xml"/>
+            <batchtest todir="${org.jboss.esb.tests.report.dir}">
+                <fileset dir="${org.jboss.esb.module.tests.src.dir}">
+                    <include name="**/**UnitTest.java"/>
+                    <include name="**/**FuncTest.java"/>
+                </fileset>
+            </batchtest>
+            <classpath>
+        		<!-- using instrumented code for code coverage -->
+                <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
+                <pathelement location="${org.jboss.esb.tests.classes.dir}"/>
+            	<!-- Need the tests src folder because there may be non-compiled test resources -->
+                <pathelement location="${org.jboss.esb.module.tests.src.dir}"/>
+                <path refid="org.jboss.esb.tests.base.classpath"/>
+            </classpath>
+			<!-- emma jvm args -->
+			<jvmarg value="-Demma.coverage.out.file=${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+			<jvmarg value="-Demma.coverage.out.merge=true" />
+        	
+        	<sysproperty key="org.jboss.esb.test.db.driver" value="${org.jboss.esb.test.db.driver}"/>
+        	<sysproperty key="org.jboss.esb.test.db.url" value="${org.jboss.esb.test.db.url}"/>
+        	<sysproperty key="org.jboss.esb.test.db.user" value="${org.jboss.esb.test.db.user}"/>
+        	<sysproperty key="org.jboss.esb.test.db.password" value="${org.jboss.esb.test.db.password}"/>
+        	<sysproperty key="org.jboss.esb.test.ftp.hostname" value="${org.jboss.esb.test.ftp.hostname}"/>
+        	<sysproperty key="org.jboss.esb.test.ftp.user" value="${org.jboss.esb.test.ftp.user}"/>
+        	<sysproperty key="org.jboss.esb.test.ftp.pwd" value="${org.jboss.esb.test.ftp.pwd}"/>
+        	<sysproperty key="org.jboss.esb.test.ftp.dir" value="${org.jboss.esb.test.ftp.dir}"/>
+                <sysproperty key="org.jboss.esb.test.persistdb.dir" value="${org.jboss.esb.test.persistdb.dir}"/>
+        	<sysproperty key="log4j.configuration" value="log4j.xml"/>
+        </junit>
+        <junitreport>
+            <fileset dir="${org.jboss.esb.tests.report.dir}">
+                <include name="*.xml"/>
+            </fileset>
+            <report format="frames" todir="${org.jboss.esb.tests.report.dir}"/>
+            <report format="noframes" todir="${org.jboss.esb.tests.report.dir}"/>
+        </junitreport>
+    </target>
+	
+	<!-- ====================================================================== -->
+	    <!--                            INTEGRATION  T E S T                                    -->
+	    <!-- ====================================================================== -->
+	    <target name="org.jboss.esb.rosetta.internal.integration.test">
+			<!-- Instrument the code for code coverage - using emma... -->
+	    	<delete dir="${org.jboss.esb.module.tests.coverage.dir}" />
+		    <mkdir dir="${org.jboss.esb.module.classes.instr.dir}" />
+		    <emma>
+				<instr 	instrpath="${org.jboss.esb.module.classes.dir}" 
+						destdir="${org.jboss.esb.module.classes.instr.dir}" 
+						metadatafile="${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+		    </emma>        
+
+	    	<!-- Run the tests -->
+	        <antcall target="org.jboss.esb.services.internal.integration.test.exec"/>        
+
+	    	<!-- Generate the coverage report -->
+		    <emma>
+				<report sourcepath="${org.jboss.esb.module.src.dir}" sort="+block,+name,+method,+class" metrics="method:70,block:80,line:80,class:100">
+			        <fileset dir="${org.jboss.esb.module.tests.coverage.dir}" >
+						<include name="*.emma" />
+			        </fileset>
+			        <html outfile="${org.jboss.esb.module.tests.coverage.dir}/index.html" depth="method" columns="name,line,class,method,block"/>
+				</report>
+		    </emma>
+	    </target>
+
+	    <!-- ====================================================================== -->
+	    <!--         INTEGRATION   T E S T S              -->
+	    <!-- ====================================================================== -->
+	    <target name="org.jboss.esb.services.internal.integration.test.exec">
+	        <echo message="Running all tests for module"/>
+                <delete dir="${org.jboss.esb.test.persistdb.dir}" failonerror="false"/>
+                <mkdir dir="${org.jboss.esb.test.persistdb.dir}"/>
+                <copy todir="${org.jboss.esb.test.persistdb.dir}">
+                    <fileset dir="resources/etc/" includes="persistUnitTestDB*"/>
+                </copy>
+
+	        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
+	            <formatter type="plain" usefile="false"/>
+	            <formatter type="xml"/>
+	            <batchtest todir="${org.jboss.esb.tests.report.dir}">
+	                <fileset dir="${org.jboss.esb.module.tests.src.dir}">
+	                	<include name="**/**IntegrationTest.java"/>
+	                	<include name="**/**UnitTest.java"/>
+	                	<include name="**/**FuncTest.java"/>
+	                </fileset>
+	            </batchtest>
+	            <classpath>
+	        		<!-- using instrumented code for code coverage -->
+	                <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
+	                <pathelement location="${org.jboss.esb.tests.classes.dir}"/>
+	            	<!-- Need the tests src folder because there may be non-compiled test resources -->
+	                <pathelement location="${org.jboss.esb.module.tests.src.dir}"/>
+	                <path refid="org.jboss.esb.tests.base.classpath"/>
+	            </classpath>
+				<!-- emma jvm args -->
+				<jvmarg value="-Demma.coverage.out.file=${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+				<jvmarg value="-Demma.coverage.out.merge=true" />
+	        	
+	        	<sysproperty key="org.jboss.esb.test.db.driver" value="${org.jboss.esb.test.db.driver}"/>
+	        	<sysproperty key="org.jboss.esb.test.db.url" value="${org.jboss.esb.test.db.url}"/>
+	        	<sysproperty key="org.jboss.esb.test.db.user" value="${org.jboss.esb.test.db.user}"/>
+	        	<sysproperty key="org.jboss.esb.test.db.password" value="${org.jboss.esb.test.db.password}"/>
+	        	<sysproperty key="org.jboss.esb.test.ftp.hostname" value="${org.jboss.esb.test.ftp.hostname}"/>
+	        	<sysproperty key="org.jboss.esb.test.ftp.user" value="${org.jboss.esb.test.ftp.user}"/>
+	        	<sysproperty key="org.jboss.esb.test.ftp.pwd" value="${org.jboss.esb.test.ftp.pwd}"/>
+	        	<sysproperty key="org.jboss.esb.test.ftp.dir" value="${org.jboss.esb.test.ftp.dir}"/>
+                        <sysproperty key="org.jboss.esb.test.persistdb.dir" value="${org.jboss.esb.test.persistdb.dir}"/>
+	        	<sysproperty key="log4j.configuration" value="log4j.xml"/>
+	        </junit>
+	        <junitreport>
+	            <fileset dir="${org.jboss.esb.tests.report.dir}">
+	                <include name="*.xml"/>
+	            </fileset>
+	            <report format="frames" todir="${org.jboss.esb.tests.report.dir}"/>
+	            <report format="noframes" todir="${org.jboss.esb.tests.report.dir}"/>
+	        </junitreport>
+	    </target>
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/device-profile.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/device-profile.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/device-profile.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!DOCTYPE device-profiles PUBLIC "-//MILYN//DTD TINAK 1.0//EN" "http://www.milyn.org/dtd/device-profile-1.0.dtd">
+
+<device-profiles>
+	<device-profile name="type:Acme-Order-XML" list="profile1,profile2"/>
+	<device-profile name="from:Acme" list="profile23,profile24"/>
+	<device-profile name="to:AcmePartner" list="profile55,profile56"/>
+
+	<device-profile name="profile1" list="A"/>
+	<device-profile name="profile2" list="B"/>
+	<device-profile name="profile23" list="C"/>
+	<device-profile name="profile24" list="D"/>
+	<device-profile name="profile55" list="E"/>
+	<device-profile name="profile56" list="E"/>
+</device-profiles>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/jbossesb-test-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/jbossesb-test-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/jbossesb-test-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,40 @@
+<?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: default-jbossesb-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.context.factory" value="foobar"/>
+		<property name="org.jboss.soa.esb.objStore.configFile" value="file:config.xml"/>
+    </properties>
+    <properties name="transports" depends="core">
+    	<property name="org.jboss.soa.esb.mail.smtp.host" value="thishost"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/persistUnitTestDB.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/persistUnitTestDB.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/persistUnitTestDB.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,17 @@
+#HSQL Database Engine
+#Wed Dec 20 22:13:18 GMT 2006
+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=no
+hsqldb.cache_version=1.7.0
+hsqldb.original_version=1.8.0
+hsqldb.compatible_version=1.8.0

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/persistUnitTestDB.script
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/persistUnitTestDB.script	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/resources/etc/persistUnitTestDB.script	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,159 @@
+CREATE SCHEMA PUBLIC AUTHORIZATION DBA
+CREATE MEMORY TABLE "pooltest"(A CHAR(1))
+CREATE MEMORY TABLE MESSAGE(UUID VARCHAR NOT NULL,TYPE VARCHAR NOT NULL,MESSAGE VARCHAR NOT NULL,CONSTRAINT PK_UID PRIMARY KEY(UUID))
+CREATE MEMORY TABLE BUSINESS_ENTITY(BUSINESS_KEY VARCHAR(41) NOT NULL PRIMARY KEY,AUTHORIZED_NAME VARCHAR(255) NOT NULL,PUBLISHER_ID VARCHAR(20),OPERATOR VARCHAR(255) NOT NULL,LAST_UPDATE TIMESTAMP NOT NULL)
+CREATE MEMORY TABLE BUSINESS_DESCR(BUSINESS_KEY VARCHAR(41) NOT NULL,BUSINESS_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,BUSINESS_DESCR_ID),CONSTRAINT SYS_FK_163 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE BUSINESS_CATEGORY(BUSINESS_KEY VARCHAR(41) NOT NULL,CATEGORY_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(41),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CATEGORY_ID),CONSTRAINT SYS_FK_167 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE BUSINESS_IDENTIFIER(BUSINESS_KEY VARCHAR(41) NOT NULL,IDENTIFIER_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(41),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,IDENTIFIER_ID),CONSTRAINT SYS_FK_171 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE BUSINESS_NAME(BUSINESS_KEY VARCHAR(41) NOT NULL,BUSINESS_NAME_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),NAME VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,BUSINESS_NAME_ID),CONSTRAINT SYS_FK_175 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE CONTACT(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255),PERSON_NAME VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CONTACT_ID),CONSTRAINT SYS_FK_179 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE CONTACT_DESCR(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,CONTACT_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),CONSTRAINT SYS_FK_183 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID) REFERENCES CONTACT(BUSINESS_KEY,CONTACT_ID))
+CREATE MEMORY TABLE ADDRESS(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,ADDRESS_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255),SORT_CODE VARCHAR(10),TMODEL_KEY VARCHAR(41),PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),CONSTRAINT SYS_FK_187 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID) REFERENCES CONTACT(BUSINESS_KEY,CONTACT_ID))
+CREATE MEMORY TABLE ADDRESS_LINE(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,ADDRESS_ID INTEGER NOT NULL,ADDRESS_LINE_ID INTEGER NOT NULL,LINE VARCHAR(80) NOT NULL,KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255),PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),CONSTRAINT SYS_FK_191 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID,ADDRESS_ID) REFERENCES ADDRESS(BUSINESS_KEY,CONTACT_ID,ADDRESS_ID))
+CREATE MEMORY TABLE EMAIL(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,EMAIL_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255),EMAIL_ADDRESS VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,EMAIL_ID),CONSTRAINT SYS_FK_195 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID) REFERENCES CONTACT(BUSINESS_KEY,CONTACT_ID))
+CREATE MEMORY TABLE PHONE(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,PHONE_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255),PHONE_NUMBER VARCHAR(50) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,PHONE_ID),CONSTRAINT SYS_FK_199 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID) REFERENCES CONTACT(BUSINESS_KEY,CONTACT_ID))
+CREATE MEMORY TABLE DISCOVERY_URL(BUSINESS_KEY VARCHAR(41) NOT NULL,DISCOVERY_URL_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255) NOT NULL,URL VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,DISCOVERY_URL_ID),CONSTRAINT SYS_FK_203 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE BUSINESS_SERVICE(BUSINESS_KEY VARCHAR(41) NOT NULL,SERVICE_KEY VARCHAR(41) NOT NULL PRIMARY KEY,LAST_UPDATE TIMESTAMP NOT NULL,CONSTRAINT SYS_FK_207 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE SERVICE_DESCR(SERVICE_KEY VARCHAR(41) NOT NULL,SERVICE_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(SERVICE_KEY,SERVICE_DESCR_ID),CONSTRAINT SYS_FK_211 FOREIGN KEY(SERVICE_KEY) REFERENCES BUSINESS_SERVICE(SERVICE_KEY))
+CREATE MEMORY TABLE SERVICE_CATEGORY(SERVICE_KEY VARCHAR(41) NOT NULL,CATEGORY_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(41),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(SERVICE_KEY,CATEGORY_ID),CONSTRAINT SYS_FK_215 FOREIGN KEY(SERVICE_KEY) REFERENCES BUSINESS_SERVICE(SERVICE_KEY))
+CREATE MEMORY TABLE SERVICE_NAME(SERVICE_KEY VARCHAR(41) NOT NULL,SERVICE_NAME_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),NAME VARCHAR(255) NOT NULL,PRIMARY KEY(SERVICE_KEY,SERVICE_NAME_ID),CONSTRAINT SYS_FK_219 FOREIGN KEY(SERVICE_KEY) REFERENCES BUSINESS_SERVICE(SERVICE_KEY))
+CREATE MEMORY TABLE BINDING_TEMPLATE(SERVICE_KEY VARCHAR(41) NOT NULL,BINDING_KEY VARCHAR(41) NOT NULL PRIMARY KEY,ACCESS_POINT_TYPE VARCHAR(20),ACCESS_POINT_URL VARCHAR(255),HOSTING_REDIRECTOR VARCHAR(255),LAST_UPDATE TIMESTAMP NOT NULL,CONSTRAINT SYS_FK_223 FOREIGN KEY(SERVICE_KEY) REFERENCES BUSINESS_SERVICE(SERVICE_KEY))
+CREATE MEMORY TABLE BINDING_CATEGORY(BINDING_KEY VARCHAR(41) NOT NULL,CATEGORY_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(41),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,CATEGORY_ID),CONSTRAINT SYS_FK_227 FOREIGN KEY(BINDING_KEY) REFERENCES BINDING_TEMPLATE(BINDING_KEY))
+CREATE MEMORY TABLE BINDING_DESCR(BINDING_KEY VARCHAR(41) NOT NULL,BINDING_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,BINDING_DESCR_ID),CONSTRAINT SYS_FK_231 FOREIGN KEY(BINDING_KEY) REFERENCES BINDING_TEMPLATE(BINDING_KEY))
+CREATE MEMORY TABLE TMODEL_INSTANCE_INFO(BINDING_KEY VARCHAR(41) NOT NULL,TMODEL_INSTANCE_INFO_ID INTEGER NOT NULL,TMODEL_KEY VARCHAR(41) NOT NULL,OVERVIEW_URL VARCHAR(255),INSTANCE_PARMS VARCHAR(255),PRIMARY KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID),CONSTRAINT SYS_FK_235 FOREIGN KEY(BINDING_KEY) REFERENCES BINDING_TEMPLATE(BINDING_KEY))
+CREATE MEMORY TABLE TMODEL_INSTANCE_INFO_DESCR(BINDING_KEY VARCHAR(41) NOT NULL,TMODEL_INSTANCE_INFO_ID INTEGER NOT NULL,TMODEL_INSTANCE_INFO_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),CONSTRAINT SYS_FK_239 FOREIGN KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO(BINDING_KEY,TMODEL_INSTANCE_INFO_ID))
+CREATE MEMORY TABLE INSTANCE_DETAILS_DESCR(BINDING_KEY VARCHAR(41) NOT NULL,TMODEL_INSTANCE_INFO_ID INTEGER NOT NULL,INSTANCE_DETAILS_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),CONSTRAINT SYS_FK_243 FOREIGN KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO(BINDING_KEY,TMODEL_INSTANCE_INFO_ID))
+CREATE MEMORY TABLE INSTANCE_DETAILS_DOC_DESCR(BINDING_KEY VARCHAR(41) NOT NULL,TMODEL_INSTANCE_INFO_ID INTEGER NOT NULL,INSTANCE_DETAILS_DOC_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),CONSTRAINT SYS_FK_247 FOREIGN KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO(BINDING_KEY,TMODEL_INSTANCE_INFO_ID))
+CREATE MEMORY TABLE TMODEL(TMODEL_KEY VARCHAR(41) NOT NULL PRIMARY KEY,AUTHORIZED_NAME VARCHAR(255) NOT NULL,PUBLISHER_ID VARCHAR(20),OPERATOR VARCHAR(255) NOT NULL,NAME VARCHAR(255) NOT NULL,OVERVIEW_URL VARCHAR(255),DELETED VARCHAR(5),LAST_UPDATE TIMESTAMP NOT NULL)
+CREATE MEMORY TABLE TMODEL_DESCR(TMODEL_KEY VARCHAR(41) NOT NULL,TMODEL_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(TMODEL_KEY,TMODEL_DESCR_ID),CONSTRAINT SYS_FK_252 FOREIGN KEY(TMODEL_KEY) REFERENCES TMODEL(TMODEL_KEY))
+CREATE MEMORY TABLE TMODEL_CATEGORY(TMODEL_KEY VARCHAR(41) NOT NULL,CATEGORY_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(255),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(TMODEL_KEY,CATEGORY_ID),CONSTRAINT SYS_FK_256 FOREIGN KEY(TMODEL_KEY) REFERENCES TMODEL(TMODEL_KEY))
+CREATE MEMORY TABLE TMODEL_IDENTIFIER(TMODEL_KEY VARCHAR(41) NOT NULL,IDENTIFIER_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(255),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(TMODEL_KEY,IDENTIFIER_ID),CONSTRAINT SYS_FK_260 FOREIGN KEY(TMODEL_KEY) REFERENCES TMODEL(TMODEL_KEY))
+CREATE MEMORY TABLE TMODEL_DOC_DESCR(TMODEL_KEY VARCHAR(41) NOT NULL,TMODEL_DOC_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(TMODEL_KEY,TMODEL_DOC_DESCR_ID),CONSTRAINT SYS_FK_264 FOREIGN KEY(TMODEL_KEY) REFERENCES TMODEL(TMODEL_KEY))
+CREATE MEMORY TABLE PUBLISHER_ASSERTION(FROM_KEY VARCHAR(41) NOT NULL,TO_KEY VARCHAR(41) NOT NULL,TMODEL_KEY VARCHAR(41) NOT NULL,KEY_NAME VARCHAR(255) NOT NULL,KEY_VALUE VARCHAR(255) NOT NULL,FROM_CHECK VARCHAR(5) NOT NULL,TO_CHECK VARCHAR(5) NOT NULL,CONSTRAINT SYS_FK_268 FOREIGN KEY(FROM_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY),CONSTRAINT SYS_FK_269 FOREIGN KEY(TO_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE PUBLISHER(PUBLISHER_ID VARCHAR(20) NOT NULL PRIMARY KEY,PUBLISHER_NAME VARCHAR(255) NOT NULL,EMAIL_ADDRESS VARCHAR(255),IS_ADMIN VARCHAR(5),IS_ENABLED VARCHAR(5),MAX_BUSINESSES INTEGER,MAX_SERVICES_PER_BUSINESS INTEGER,MAX_BINDINGS_PER_SERVICE INTEGER,MAX_TMODELS INTEGER)
+CREATE MEMORY TABLE AUTH_TOKEN(AUTH_TOKEN VARCHAR(51) NOT NULL PRIMARY KEY,PUBLISHER_ID VARCHAR(20) NOT NULL,PUBLISHER_NAME VARCHAR(255) NOT NULL,CREATED TIMESTAMP NOT NULL,LAST_USED TIMESTAMP NOT NULL,NUMBER_OF_USES INTEGER NOT NULL,TOKEN_STATE INTEGER NOT NULL)
+CREATE USER SA PASSWORD ""
+GRANT DBA TO SA
+SET WRITE_DELAY 20
+SET SCHEMA PUBLIC
+INSERT INTO MESSAGE VALUES('urn:jboss:esb:message:UID:674a50d0-c925-412a-b9cf-cb485a4d109f','urn:jboss:esb:message:type:JAVA_SERIALIZED','rO0ABXNyAEBvcmcuamJvc3MuaW50ZXJuYWwuc29hLmVzYi5tZXNzYWdlLmZvcm1hdC5zZXJpYWxp\u000aemVkLk1lc3NhZ2VJbXBsAAAAAAAAAAACAAZMAAtfcHJvcGVydGllc3QAJkxvcmcvamJvc3Mvc29h\u000aL2VzYi9tZXNzYWdlL1Byb3BlcnRpZXM7TAAOX3RoZUF0dGFjaG1lbnR0AEVMb3JnL2pib3NzL2lu\u000adGVybmFsL3NvYS9lc2IvbWVzc2FnZS9mb3JtYXQvc2VyaWFsaXplZC9BdHRhY2htZW50SW1wbDtM\u000aAAhfdGhlQm9keXQAP0xvcmcvamJvc3MvaW50ZXJuYWwvc29hL2VzYi9tZXNzYWdlL2Zvcm1hdC9z\u000aZXJpYWxpemVkL0JvZHlJbXBsO0wAC190aGVDb250ZXh0dABCTG9yZy9qYm9zcy9pbnRlcm5hbC9z\u000ab2EvZXNiL21lc3NhZ2UvZm9ybWF0L3NlcmlhbGl6ZWQvQ29udGV4dEltcGw7TAAJX3RoZUZhdWx0\u000adABATG9yZy9qYm9zcy9pbnRlcm5hbC9zb2EvZXNiL21lc3NhZ2UvZm9ybWF0L3NlcmlhbGl6ZWQv\u000aRmF1bHRJbXBsO0wACl90aGVIZWFkZXJ0AEFMb3JnL2pib3NzL2ludGVybmFsL3NvYS9lc2IvbWVz\u000ac2FnZS9mb3JtYXQvc2VyaWFsaXplZC9IZWFkZXJJbXBsO3hwc3IAQ29yZy5qYm9zcy5pbnRlcm5h\u000abC5zb2EuZXNiLm1lc3NhZ2UuZm9ybW!
 F0LnNlcmlhbGl6ZWQuUHJvcGVydGllc0ltcGwAAAAAAAAA\u000aAAIAAUwABl90YWJsZXQAFUxqYXZhL3V0aWwvSGFzaHRhYmxlO3hwc3IAE2phdmEudXRpbC5IYXNo\u000adGFibGUTuw8lIUrkuAMAAkYACmxvYWRGYWN0b3JJAAl0aHJlc2hvbGR4cD9AAAAAAAAIdwgAAAAL\u000aAAAAAnQABXByb3AydAAEdmFsMnQABXByb3AxdAAEdmFsMXhzcgBDb3JnLmpib3NzLmludGVybmFs\u000aLnNvYS5lc2IubWVzc2FnZS5mb3JtYXQuc2VyaWFsaXplZC5BdHRhY2htZW50SW1wbAAAAAAAAAAA\u000aAgACTAAFX2xpc3R0ABVMamF2YS91dGlsL0FycmF5TGlzdDtMAAZfdGFibGVxAH4ACXhwc3IAE2ph\u000admEudXRpbC5BcnJheUxpc3R4gdIdmcdhnQMAAUkABHNpemV4cAAAAAJ3BAAAAAp0ABBURVNUIEFU\u000aVEFDSE1FTlQxdAAQVEVTVCBBVFRBQ0hNRU5UMnhzcQB+AAs/QAAAAAAACHcIAAAACwAAAAB4c3IA\u000aPW9yZy5qYm9zcy5pbnRlcm5hbC5zb2EuZXNiLm1lc3NhZ2UuZm9ybWF0LnNlcmlhbGl6ZWQuQm9k\u000aeUltcGwAAAAAAAAAAAIAAlsACF9jb250ZW50dAACW0JMAAhfb2JqZWN0c3EAfgAJeHB1cgACW0Ks\u000a8xf4BghU4AIAAHhwAAAACVRFU1QgQk9EWXNxAH4ACz9AAAAAAAAIdwgAAAALAAAAAHhzcgBAb3Jn\u000aLmpib3NzLmludGVybmFsLnNvYS5lc2IubWVzc2FnZS5mb3JtYXQuc2VyaWFsaXplZC5Db250ZXh0\u000aSW1wbAAAAAAAAAAAAgAAeHBzcgA+b3JnLm!
 pib3NzLmludGVybmFsLnNvYS5lc2IubWVzc2FnZS5m\u000ab3JtYXQuc2VyaWFsaXplZC
5GYXVsdEltcGwAAAAAAAAAAAIAAkwABV9jb2RldAAOTGphdmEvbmV0\u000aL1VSSTtMAAdfcmVhc29udAASTGphdmEvbGFuZy9TdHJpbmc7eHBwcHNyAD9vcmcuamJvc3MuaW50\u000aZXJuYWwuc29hLmVzYi5tZXNzYWdlLmZvcm1hdC5zZXJpYWxpemVkLkhlYWRlckltcGwAAAAAAAAA\u000aAAIAAUwABV9jYWxsdAAjTG9yZy9qYm9zcy9zb2EvZXNiL2FkZHJlc3NpbmcvQ2FsbDt4cHA=')
+INSERT INTO MESSAGE VALUES('urn:jboss:esb:message:UID:a89a113b-5211-4465-8dd1-75b76a3c17ac','urn:jboss:esb:message:type:JBOSS_XML','rO0ABXQB4Dw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CjxFbnZlbG9wZT4K\u000aICAgIDxIZWFkZXIvPgogICAgPENvbnRleHQvPgogICAgPEJvZHk+CiAgICAgICAgPEJ5dGVzPjwh\u000aW0NEQVRBW1ZFVlRWQ0JDVDBSWl1dPjwvQnl0ZXM+CiAgICA8L0JvZHk+CiAgICA8QXR0YWNobWVu\u000adD4KICAgICAgICA8VW5OYW1lZD48IVtDREFUQVtyTzBBQlhRQUVGUkZVMVFnUVZSVVFVTklUVVZP\u000aVkRFPV1dPjwvVW5OYW1lZD4KICAgICAgICA8VW5OYW1lZD48IVtDREFUQVtyTzBBQlhRQUVGUkZV\u000aMVFnUVZSVVFVTklUVVZPVkRJPV1dPjwvVW5OYW1lZD4KICAgIDwvQXR0YWNobWVudD4KICAgIDxQ\u000acm9wZXJ0aWVzPgogICAgICAgIDxwcm9wMj48IVtDREFUQVtyTzBBQlhRQUJIWmhiREk9XV0+PC9w\u000acm9wMj4KICAgICAgICA8cHJvcDE+PCFbQ0RBVEFbck8wQUJYUUFCSFpoYkRFPV1dPjwvcHJvcDE+\u000aCiAgICA8L1Byb3BlcnRpZXM+CjwvRW52ZWxvcGU+Cg==')
+INSERT INTO BUSINESS_ENTITY VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D','JBoss ESB User','jbossesb','jUDDI.org','2006-12-13 19:59:46.310000000')
+INSERT INTO BUSINESS_DESCR VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,'','Red Hat/JBoss Professional Open Source, Services for the JBossESB')
+INSERT INTO BUSINESS_NAME VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,'en','Red Hat/JBossESB')
+INSERT INTO CONTACT VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,NULL,'JBossESB')
+INSERT INTO ADDRESS VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,NULL,NULL,NULL)
+INSERT INTO ADDRESS_LINE VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,0,'','STREET_NUMBER','3340')
+INSERT INTO ADDRESS_LINE VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,1,'','STREET','Peachtree Road, NE, Suite 1200')
+INSERT INTO ADDRESS_LINE VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,2,'','CITY','Atlanta')
+INSERT INTO ADDRESS_LINE VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,3,'','COUNTRY','USA')
+INSERT INTO ADDRESS_LINE VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,4,'','POSTALCODE','30326')
+INSERT INTO ADDRESS_LINE VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,5,'','STATE','GA')
+INSERT INTO EMAIL VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,NULL,'jbossesb at jboss.com')
+INSERT INTO PHONE VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,0,NULL,'404 467-8555')
+INSERT INTO DISCOVERY_URL VALUES('63A6CB40-8B0E-11DB-8B40-B10B88B41A9D',0,'businessEntity','http://localhost:8080/juddi/uddiget.jsp?businesskey=63A6CB40-8B0E-11DB-8B40-B10B88B41A9D')
+INSERT INTO TMODEL VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','admin','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','admin','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','admin','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','admin','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','admin','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','admin','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','admin','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','admin','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','admin','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','admin','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','admin','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','admin','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',NULL,'2006-12-13 00:00:00.0')
+INSERT INTO TMODEL_DESCR VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel')
+INSERT INTO TMODEL_DESCR VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names')
+INSERT INTO TMODEL_DESCR VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.')
+INSERT INTO TMODEL_DESCR VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.')
+INSERT INTO TMODEL_DESCR VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.')
+INSERT INTO TMODEL_DESCR VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)')
+INSERT INTO TMODEL_DESCR VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System')
+INSERT INTO TMODEL_DESCR VALUES('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol')
+INSERT INTO TMODEL_DESCR VALUES('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships')
+INSERT INTO TMODEL_DESCR VALUES('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S\u00c6 Number')
+INSERT INTO TMODEL_DESCR VALUES('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces')
+INSERT INTO TMODEL_DESCR VALUES('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol')
+INSERT INTO TMODEL_DESCR VALUES('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.')
+INSERT INTO TMODEL_DESCR VALUES('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers')
+INSERT INTO TMODEL_DESCR VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)')
+INSERT INTO TMODEL_DESCR VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy')
+INSERT INTO TMODEL_DESCR VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)')
+INSERT INTO TMODEL_DESCR VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces')
+INSERT INTO TMODEL_DESCR VALUES('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)')
+INSERT INTO TMODEL_DESCR VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used')
+INSERT INTO TMODEL_DESCR VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S\u00c6 Number identifier.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.')
+INSERT INTO PUBLISHER VALUES('jbossesb','JBoss ESB User','kurt.stam at jboss.org','true','true',25,20,10,100)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6398E890-8B0E-11DB-A890-BD3378DEEA8D','jbossesb','JBoss ESB User','2006-12-13 19:59:45.483000000','2006-12-13 19:59:45.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63B08F40-8B0E-11DB-8F40-B83B3B891F3B','jbossesb','JBoss ESB User','2006-12-13 19:59:45.612000000','2006-12-13 19:59:45.631000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63C17F30-8B0E-11DB-BF30-ADDE2FF4F176','jbossesb','JBoss ESB User','2006-12-13 19:59:45.704000000','2006-12-13 19:59:45.721000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63CCA2C0-8B0E-11DB-A2C0-8EA621ECD068','jbossesb','JBoss ESB User','2006-12-13 19:59:45.787000000','2006-12-13 19:59:45.808000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63D55550-8B0E-11DB-9550-9A038CCD580B','jbossesb','JBoss ESB User','2006-12-13 19:59:45.836000000','2006-12-13 19:59:45.849000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6404A2B0-8B0E-11DB-A2B0-8E8E8812A522','jbossesb','JBoss ESB User','2006-12-13 19:59:46.139000000','2006-12-13 19:59:46.152000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64101460-8B0E-11DB-9460-B33C0E8B0E1F','jbossesb','JBoss ESB User','2006-12-13 19:59:46.221000000','2006-12-13 19:59:46.235000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6419B150-8B0E-11DB-B150-85E328013947','jbossesb','JBoss ESB User','2006-12-13 19:59:46.278000000','2006-12-13 19:59:46.298000000',1,1)

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierIntegrationTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierIntegrationTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierIntegrationTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,122 @@
+/*
+ * 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.couriers.tests;
+
+import java.io.File;
+import java.net.URI;
+import java.net.URL;
+import java.util.UUID;
+
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.common.tests.BaseTest;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.TwoWayCourier;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+/**
+ * Tests for internal FtpFileHandler class
+ * 
+ * @since Version 4.0
+ * 
+ */
+
+public class CourierIntegrationTest extends BaseTest
+{
+
+	public void testDeliverFile () throws Exception
+	{
+		final File file = new File(System.getProperty("java.io.tmpdir")) ;
+		deliver(file.toURL().toExternalForm());
+		
+		file.delete();
+	}
+	
+	public void testDeliverFTP () throws Exception
+	{
+		if (getFtpPwd() != null)
+			deliver("ftp://"+getFtpUser()+":"+getFtpPwd()+"@"+getFtpHostname()+"/"+getFtpDir());
+		else
+			deliver("ftp://"+getFtpUser()+"@"+getFtpHostname()+"/"+getFtpDir());
+	}
+	
+	public void testPickupFile () throws Exception
+	{
+		final File file = new File(System.getProperty("java.io.tmpdir")) ;
+		deliver(file.toURL().toExternalForm());
+		
+		pickup(file.toURL().toExternalForm());
+		
+		file.delete();
+	}
+	
+	public void testPickupFTP () throws Exception
+	{
+		testDeliverFTP();
+		
+		if (getFtpPwd() != null)
+			pickup("ftp://"+getFtpUser()+":"+getFtpPwd()+"@"+getFtpHostname()+"/"+getFtpDir());
+		else
+			pickup("ftp://"+getFtpUser()+"@"+getFtpHostname()+"/"+getFtpDir());
+	}
+	
+	private final FileEpr getEpr(String sUrl) throws Exception
+	{
+		String protocol = new URL(sUrl).getProtocol();
+
+		if ("ftp".equals(protocol))
+			return new FTPEpr(sUrl);
+		if ("file".equals(protocol))
+			return new FileEpr(sUrl);
+
+		throw new IllegalArgumentException("Not a recognised protocol!");
+	}
+	
+	private final void pickup (String url) throws Exception
+	{
+		FileEpr epr = getEpr(url);
+		epr.setInputSuffix(".esbMessage");
+		epr.setPostDelete(true);
+		TwoWayCourier courier = CourierFactory.getPickupCourier(epr);
+
+		Message message = null;
+		while (null != (message = courier.pickup(100)))
+			System.out.println(message.getHeader().getCall().getMessageID());
+	}
+
+	private final void deliver (String url) throws Exception
+	{
+		Call call = new Call(getEpr(url));
+		call.setMessageID(new URI(UUID.randomUUID().toString()));
+
+		Message message = MessageFactory.getInstance().getMessage();
+		message.getHeader().setCall(call);
+		message.getBody().setContents("Hello World".getBytes());
+		Courier courier = CourierFactory.getCourier(call.getTo());
+
+		courier.deliver(message);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierUtilUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierUtilUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/CourierUtilUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,94 @@
+/*
+ * 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.couriers.tests;
+
+import java.io.File;
+import java.net.URI;
+
+import junit.framework.Assert;
+import junit.framework.JUnit4TestAdapter;
+
+import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
+import org.jboss.soa.esb.common.tests.BaseTest;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.junit.Test;
+
+/**
+ * Tests for internal FtpFileHandler class
+ * 
+ * @since Version 4.0
+ * 
+ */
+public class CourierUtilUnitTest extends BaseTest
+{
+	public static junit.framework.Test suite()
+	{
+		return new JUnit4TestAdapter(CourierUtilUnitTest.class);
+	}
+	
+	@Test
+	public void testMessageToFile () throws Exception
+	{
+		Message msg1 = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+		
+		msg1.getBody().add("foo", "bar");
+		msg1.getHeader().getCall().setTo(new HTTPEpr("http://foo.bar"));
+		msg1.getHeader().getCall().setMessageID(new URI("urn:1234"));
+		
+		System.err.println("Saving: "+msg1.getHeader().getCall());
+		
+		File f = CourierUtil.messageToLocalFile(new File("."), msg1);
+		
+		f.delete();
+	}
+	
+	@Test
+	public void testMessageFromFile () throws Exception
+	{
+		Message msg1 = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+		
+		msg1.getBody().add("foo", "bar");
+		msg1.getHeader().getCall().setTo(new HTTPEpr("http://foo.bar"));
+		msg1.getHeader().getCall().setMessageID(new URI("urn:1234"));
+		
+		Assert.assertEquals(msg1.getHeader().getCall().getTo().getAddr().toString(), "PortReference < http://foo.bar >");
+		
+		File theFile = new File(".");
+		File tmpFile = CourierUtil.messageToLocalFile(theFile, msg1);
+		
+		Message msg2 = CourierUtil.messageFromLocalFile(tmpFile);
+		
+		System.err.println("Restored: "+msg2.getHeader().getCall());
+		
+		tmpFile.delete();
+		
+		Assert.assertNotNull(msg2);
+		Assert.assertEquals(msg2.getBody().get("foo"), "bar");
+		Assert.assertEquals(msg2.getHeader().getCall().getMessageID().toString(), "urn:1234");
+		Assert.assertEquals(msg2.getHeader().getCall().getTo().getAddr().toString(), "PortReference < http://foo.bar >");
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,253 @@
+/*
+ * 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.couriers.tests;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.io.PrintStream;
+import java.net.URI;
+import java.util.UUID;
+
+import junit.framework.Assert;
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.couriers.TwoWayCourier;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Tests for internal FileCourier class 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ *
+ */
+public class FileCourierUnitTest 
+{
+	private static Logger _logger		= Logger.getLogger(FileCourierUnitTest.class);
+	private static final String TMP_DIR = System.getProperty("java.io.tmpdir");
+	
+	static File _tmpDir = new File(TMP_DIR);
+	static String TEST_SUFFIX	= ".testMessage";
+	static String ERROR_SUFFIX	= ".myErrorSuffix";
+	static String WORK_SUFFIX	= ".inProcessMessage";
+	static String DONE_SUFFIX	= ".doneMessage";
+	
+	@BeforeClass
+	public static void setUp() throws Exception
+	{
+		_logger.setLevel(Level.DEBUG);
+		_logger.debug("tmp directory = <"+_tmpDir+">");
+		purgeStaleFiles();
+	}
+	
+	@AfterClass
+	public static void tearDown() throws Exception
+	{
+		purgeStaleFiles();
+	}
+
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(FileCourierUnitTest.class);
+	}
+	
+	private static void purgeStaleFiles()
+	{
+		FileFilter ff = new FileFilter() 
+		{
+				public boolean accept(File file)
+				{
+					return 
+						(  file.getName().endsWith(TEST_SUFFIX)
+						 ||file.getName().endsWith(WORK_SUFFIX)
+						 ||file.getName().endsWith(DONE_SUFFIX)
+						 ||file.getName().endsWith(ERROR_SUFFIX)
+						);
+				}
+			};
+		for (File file:_tmpDir.listFiles(ff))
+		{
+			_logger.debug("delete of "+file.toString()+" = "+file.delete());
+		}
+		
+	}
+
+	@Test
+	public void testStoreRetrieve() throws Exception 
+    {
+		String contents = "This is the text that travels in the Message body";
+
+		// toEpr for files must be a directory
+		FileEpr toEpr = new FileEpr(_tmpDir.toURL());
+		// FileEpr uses the postSuffix as the extension for messages delivered (default = ".esbMessage")
+		toEpr.setPostSuffix(TEST_SUFFIX);
+		
+		Message msg = MessageFactory.getInstance().getMessage();
+		msg.getBody().setContents(contents.getBytes());
+
+		Call call = new Call(toEpr);
+		String uid = UUID.randomUUID().toString();
+		call.setMessageID(new URI(uid));
+		msg.getHeader().setCall(call);
+		
+		CourierUtil.deliverMessage(msg);
+		File theFile = new File(_tmpDir,uid+TEST_SUFFIX);
+		Assert.assertTrue(theFile.exists());
+		_logger.info("Message file "+theFile.toString()+" successfully created");
+				
+		FileEpr fromEpr = new FileEpr(toEpr.getURL());
+		fromEpr.setInputSuffix(TEST_SUFFIX);
+		fromEpr.setPostSuffix(DONE_SUFFIX);
+		
+		TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
+		Message retrieved = pickUp.pickup(1000);
+		Assert.assertFalse("Null message retrieved",null==retrieved);
+		
+		String back = new String(retrieved.getBody().getContents());
+		Assert.assertEquals(contents,back);
+		_logger.info("Contents of retrieved msg equal original text <"+back+">");
+		
+		theFile = new File(_tmpDir,uid+TEST_SUFFIX+DONE_SUFFIX);
+		Assert.assertTrue(theFile.exists());
+		_logger.info("Retrieved message properly renamed to <"+theFile.toString()+">");
+		
+		purgeStaleFiles();
+    }
+
+	@Test
+	public void testStoreAndDelete() throws Exception 
+    {
+		String contents = "This is the text that travels in the Message body";
+
+		// toEpr for files must be a directory
+		FileEpr toEpr = new FileEpr(_tmpDir.toURL());
+		// FileEpr uses the postSuffix as the extension for messages delivered (default = ".esbMessage")
+		toEpr.setPostSuffix(TEST_SUFFIX);
+		
+		Message msg = MessageFactory.getInstance().getMessage();
+		msg.getBody().setContents(contents.getBytes());
+
+		Call call = new Call(toEpr);
+		final String uid = UUID.randomUUID().toString();
+		call.setMessageID(new URI(uid));
+		msg.getHeader().setCall(call);
+		
+		CourierUtil.deliverMessage(msg);
+		File theFile = new File(_tmpDir,uid+TEST_SUFFIX);
+		Assert.assertTrue(theFile.exists());
+		_logger.info("Message file "+theFile.toString()+" successfully created");
+				
+		FileEpr fromEpr = new FileEpr(toEpr.getURL());
+		fromEpr.setInputSuffix(TEST_SUFFIX);
+		// setting postdelete to true will delete input Message files, if they were picked up
+		fromEpr.setPostDelete(true);
+		
+		TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
+		Message retrieved = pickUp.pickup(1000);
+		Assert.assertFalse("Null message retrieved",null==retrieved);
+		
+		String back = new String(retrieved.getBody().getContents());
+		Assert.assertEquals(contents,back);
+		_logger.info("Contents of retrieved msg equal original text <"+back+">");
+		
+		FileFilter ff = new FileFilter()
+		{ public boolean accept(File file)
+			{return file.getName().startsWith(uid); }
+		};
+		File[] all = new File(TMP_DIR).listFiles(ff);
+		Assert.assertTrue(null==all || all.length<1);
+		_logger.info("Good message file properly deleted ");
+		
+		purgeStaleFiles();
+    }
+
+	@Test
+	public void testBadMessageRename() throws Exception 
+    {
+		String uid = UUID.randomUUID().toString();
+		File theFile = new File(_tmpDir,uid+TEST_SUFFIX);
+		PrintStream out = new PrintStream(theFile);
+		out.print("This is an invalid message");
+		out.close();
+		Assert.assertTrue(theFile.exists());
+		_logger.info("Invalid Message file "+theFile.toString()+" successfully created");
+				
+		FileEpr fromEpr = new FileEpr(_tmpDir.toURL()) ;
+		fromEpr.setInputSuffix(TEST_SUFFIX);
+		fromEpr.setPostSuffix(DONE_SUFFIX);
+		fromEpr.setErrorSuffix(ERROR_SUFFIX);
+		// Don't delete - default is to delete files in error
+		fromEpr.setErrorDelete(false);
+		
+		TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
+		Message retrieved = pickUp.pickup(1000);
+		Assert.assertTrue("Null message retrieved",null==retrieved);
+		
+		theFile = new File(_tmpDir,uid+TEST_SUFFIX+ERROR_SUFFIX);
+		Assert.assertTrue(theFile.exists());
+		_logger.info("Message file properly renamed to "+theFile.toString());
+		
+		purgeStaleFiles();
+    }
+
+	@Test
+	public void testBadMessageDelete() throws Exception 
+    {
+		final String uid = UUID.randomUUID().toString();
+		File theFile = new File(_tmpDir,uid+TEST_SUFFIX);
+		PrintStream out = new PrintStream(theFile);
+		out.print("This is an invalid message");
+		out.close();
+		Assert.assertTrue(theFile.exists());
+		_logger.info("Invalid Message file "+theFile.toString()+" successfully created");
+				
+		FileEpr fromEpr = new FileEpr(_tmpDir.toURL());
+		fromEpr.setInputSuffix(TEST_SUFFIX);
+		fromEpr.setPostSuffix(DONE_SUFFIX);
+		fromEpr.setErrorSuffix(ERROR_SUFFIX);
+		// Not using setErrorDelete(false) should delete files in error
+		
+		TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
+		Message retrieved = pickUp.pickup(1000);
+		Assert.assertTrue("Null message retrieved",null==retrieved);
+		
+		FileFilter ff = new FileFilter()
+		{ public boolean accept(File file)
+			{return file.getName().startsWith(uid); }
+		};
+		File[] all = new File(TMP_DIR).listFiles(ff);
+		Assert.assertTrue(null==all || all.length<1);
+		_logger.info("Bad message file properly deleted ");
+		
+		purgeStaleFiles();
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FtpFileHandlerIntegrationTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FtpFileHandlerIntegrationTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FtpFileHandlerIntegrationTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,280 @@
+/*
+ * 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.couriers.tests;
+
+import java.io.File;
+
+import junit.framework.Assert;
+import junit.framework.JUnit4TestAdapter;
+
+import org.jboss.internal.soa.esb.couriers.helpers.FileHandlerFactory;
+import org.jboss.internal.soa.esb.couriers.helpers.FtpFileHandler;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.common.tests.BaseTest;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.junit.Test;
+
+/**
+ * Tests for internal FtpFileHandler class
+ * 
+ * @since Version 4.0
+ * 
+ */
+public class FtpFileHandlerIntegrationTest extends BaseTest
+{
+	public static junit.framework.Test suite()
+	{
+		System.err.println("<------------------------------------------>");
+		System.err.println("<- FTPFileHandlerIntegrationTest requires ->");
+		System.err.println("<- an available FTP server to work.       ->");
+		System.err.println("<------------------------------------------>");
+		
+		return new JUnit4TestAdapter(FtpFileHandlerIntegrationTest.class);
+	}
+	
+	@Test
+	public void testConstructor () throws Exception
+	{
+		FTPEpr ftpEpr = new FTPEpr("ftp://test:password@foo.bar");
+
+		try
+		{
+			@SuppressWarnings("unused")
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+		
+		ftpEpr = new FTPEpr("ftp://foo.bar");
+		
+		try
+		{
+			@SuppressWarnings("unused")
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+	}
+	
+	@Test
+	public void testInvalidConnect () throws Exception
+	{
+		File theFile = new File("test.txt");
+		FTPEpr ftpEpr = new FTPEpr("ftp://test:password@foo.bar");
+
+		try
+		{
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+			
+			@SuppressWarnings("unused")
+			byte[] content = handler.getFileContents(theFile);
+		}
+		catch (CourierException ex)
+		{
+			// good!!
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+	
+		ftpEpr = new FTPEpr("ftp://" + getFtpUser() + "@" + getFtpHostname() + ":9090");
+		
+		try
+		{
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+			
+			@SuppressWarnings("unused")
+			byte[] content = handler.getFileContents(theFile);
+		}
+		catch (CourierException ex)
+		{
+			// good!!
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+		
+		ftpEpr = new FTPEpr("ftp://" + getFtpUser() + "@" + getFtpHostname());
+		
+		try
+		{
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+			
+			@SuppressWarnings("unused")
+			byte[] content = handler.getFileContents(theFile);
+		}
+		catch (CourierException ex)
+		{
+			// good!!
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+	}
+	
+	@Test
+	public void testValidConnect () throws Exception
+	{
+		FTPEpr ftpEpr = null;
+		
+		if (getFtpPwd() != null)
+			ftpEpr = new FTPEpr("ftp://" + getFtpUser() + ":" + getFtpPwd()+ "@" + getFtpHostname() + getFtpDir());
+		else
+			ftpEpr = new FTPEpr("ftp://" + getFtpUser() + "@" + getFtpHostname() + getFtpDir());
+
+		try
+		{
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+			
+			@SuppressWarnings("unused")
+			File[] files = handler.getFileList();
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+	}
+	
+	@Test
+	public void testDeleteBadFile () throws Exception
+	{
+		File theFile = new File("test1234567890.txt");
+		FTPEpr ftpEpr = new FTPEpr("ftp://" + getFtpUser() + "@" + getFtpHostname() + getFtpDir());
+
+		try
+		{
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+			
+			handler.deleteFile(theFile);
+		}
+		catch (CourierException ex)
+		{
+			// TODO should really look for false being returned to indicate no such file!
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+	}
+	
+	@Test
+	public void testGetFileList () throws Exception
+	{
+		FTPEpr ftpEpr = null;
+		
+		if (getFtpPwd() != null)
+			ftpEpr = new FTPEpr("ftp://" + getFtpUser() + ":" + getFtpPwd()+ "@" + getFtpHostname() + getFtpDir());
+		else
+			ftpEpr = new FTPEpr("ftp://" + getFtpUser() + "@" + getFtpHostname() + getFtpDir());
+			
+		try
+		{
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+			
+			File[] files = handler.getFileList();
+			
+			System.err.print("Received information on ");
+			
+			if (files != null)
+				System.err.println(files.length+" files");
+			else
+				System.err.println("zero files");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+	}
+	
+	@Test
+	public void testGetFile () throws Exception
+	{
+		FTPEpr ftpEpr = null;
+		
+		if (getFtpPwd() != null)
+			ftpEpr = new FTPEpr("ftp://" + getFtpUser() + ":" + getFtpPwd()+ "@" + getFtpHostname() + getFtpDir());
+		else
+			ftpEpr = new FTPEpr("ftp://" + getFtpUser() + "@" + getFtpHostname() + getFtpDir());
+
+		try
+		{
+			FtpFileHandler handler = (FtpFileHandler) FileHandlerFactory.getInstance().getFileHandler(ftpEpr);
+			
+			File[] files = handler.getFileList();
+			
+			if ((files != null) && (files.length > 0))
+			{
+				System.err.println("Getting file "+files[0]);
+				
+				/*
+				 * This may return files within subdirectories. Unfortunately
+				 * the FTP Courier doesn't cope with them. At least it now
+				 * ignores them safely.
+				 */
+				
+				byte[] contents = handler.getFileContents(files[0]);
+				
+				if (contents != null)
+				{
+					String theFile = new String(contents);
+					
+					System.err.println("Received:\n"+theFile);
+				}
+				else
+					System.err.println("Received: no file contents. Probably a directory.");
+			}
+			else
+				System.err.println("No files on remote server.");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			Assert.fail();
+		}
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/SecureFtpTestConfig.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/SecureFtpTestConfig.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/SecureFtpTestConfig.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,18 @@
+<JBossESB parameterReloadSecs="120">
+	<FtpDownloadTest listenerClass="org.jboss.soa.esb.listeners.gateway.SecureFtpGateway" 
+		actionClass="org.jboss.soa.esb.actions.FtpDownloader" 
+		pollLatencySecs="30" 
+		maxThreads="1" 
+		inputDir="/logs" 
+		inputSuffix=".zip" 
+		workSuffix=".INPROC" 
+		errorDir="/" 
+		errorSuffix=".ERR" 
+		postDelete="true" 
+		ftpServer="ftp.xxx.xx" 
+		ftpUser="user" 
+		ftpPassword="password" 
+		ftpLocalDir="/home/dbrum/dev/beta1/fromFTP" ftpAscii="true">
+		ftpPassive="true"
+        </FtpDownloadTest>
+</JBossESB>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/StreamUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/StreamUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/StreamUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,57 @@
+/*
+ * 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;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+
+/**
+ * Stream handling utilities for testing.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class StreamUtils {
+
+	/**
+	 * Read the supplied InputStream and return as an array of bytes.
+	 * @param stream The stream to read.
+	 * @return The stream contents in an array of bytes.
+	 */
+	public static byte[] readStream(InputStream stream) {
+		ByteArrayOutputStream outBuffer = new ByteArrayOutputStream();
+		byte[] buffer = new byte[256];
+		int readCount = 0;
+		
+		try {
+			while((readCount = stream.read(buffer)) != -1) {
+				outBuffer.write(buffer, 0, readCount);
+			}
+		} catch (IOException e) {
+			e.printStackTrace();
+			TestCase.fail("Error reading input stream - See above stack trace.");
+		}		
+		
+		return outBuffer.toByteArray();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/StringUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/StringUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/StringUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,70 @@
+/*
+ * 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;
+
+/**
+ * Utility methods for string manipulation and testing.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class StringUtils {
+
+	/**
+	 * Compare the supplied strings, ignoring line break characters.
+	 * @param string1 The 1st string.
+	 * @param string2 The 2nd string.
+	 * @param ignorecase True if a case insensitive comparison is to
+	 * be performed, otherwise false. 
+	 * @return True if the strings are equal, otherwise false.
+	 */
+	public static boolean equalsIgnoreLinebreaks(String string1, String string2, boolean ignorecase) {
+		string1 = removeChar(string1, '\r');
+		string1 = removeChar(string1, '\n');
+		string2 = removeChar(string2, '\r');
+		string2 = removeChar(string2, '\n');
+
+		if(ignorecase) {
+			return string1.equalsIgnoreCase(string2);
+		} else {
+			return string1.equals(string2);
+		}
+	}
+	
+	/**
+	 * Delete all instances of the specified character from the supplied string.
+	 * @param string The string to be opperated on.
+	 * @param character The character to be removed.
+	 */
+	public static String removeChar(String string, char character) {
+		StringBuffer stringBuf = new StringBuffer(string);
+		int index = 0;
+		
+		while(index < stringBuf.length()) {
+			if(stringBuf.charAt(index) == character) {
+				stringBuf.deleteCharAt(index);
+			} else {
+				index++;
+			}
+		}
+		
+		return stringBuf.toString();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/W3CDomUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/W3CDomUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/W3CDomUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,35 @@
+package org.jboss.soa.esb;
+
+import java.io.ByteArrayOutputStream;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import junit.framework.TestCase;
+
+import org.w3c.dom.Document;
+
+public abstract class W3CDomUtils {
+
+	public static String serialize(Document document) {
+		DOMSource src = new DOMSource(document);
+
+		ByteArrayOutputStream byteBuf = new ByteArrayOutputStream(5000);
+		StreamResult res = new StreamResult(byteBuf);
+
+		try {
+			Transformer transformer = TransformerFactory.newInstance().newTransformer();
+			transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+			transformer.transform(src, res);
+		} catch (Exception e) {
+			e.printStackTrace();
+			TestCase.fail("Failed to serialise doc.  See above stack trace.");
+		}
+		
+		return byteBuf.toString();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/EmailUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/EmailUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/EmailUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,68 @@
+/*
+ * 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.addressing.helpers.tests;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+
+/**
+ * Unit tests for the EPR class.
+ * 
+ * @author Mark Little
+ */
+
+public class EmailUnitTest extends TestCase
+{
+
+	public void testConstructor ()
+	{
+		try
+		{
+			new EmailEpr(EmailEpr.SMTP_PROTOCOL, "myhost", "25", "foo", "bar");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGet ()
+	{
+		try
+		{
+			EmailEpr em = new EmailEpr(EmailEpr.SMTP_PROTOCOL, "myhost", "25", "foo", "bar");
+			
+			assertEquals(em.getHost(), "myhost");
+			assertEquals(em.getProtocol(), EmailEpr.SMTP_PROTOCOL);
+			assertEquals(em.getPort(), 25);
+			assertEquals(em.getUserName(), "foo");
+			assertEquals(em.getPassword(), "bar");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/FTPUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/FTPUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/FTPUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.soa.esb.addressing.helpers.tests;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+
+/**
+ * Unit tests for the EPR class.
+ * 
+ * @author Mark Little
+ */
+
+public class FTPUnitTest extends TestCase
+{
+
+	public void testConstructor ()
+	{
+		try
+		{
+			new FTPEpr("ftp://foo.com");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGet ()
+	{
+		try
+		{
+			FTPEpr ftp = new FTPEpr("ftp://foo.com");
+			
+			assertEquals(ftp.getURL().toString(), "ftp://foo.com");
+			assertEquals(ftp.getURL().getHost(), "foo.com");
+			assertEquals(ftp.getURL().getProtocol(), "ftp");
+			
+			ftp.setPassword("foobar");
+			assertEquals(ftp.getPassword(), "foobar");
+			
+			ftp.setUserName("barfoo");
+			assertEquals(ftp.getUserName(), "barfoo");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/HTTPUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/HTTPUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/HTTPUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,73 @@
+/*
+ * 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.addressing.helpers.tests;
+
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
+
+/**
+ * Unit tests for the EPR class.
+ * 
+ * @author Mark Little
+ */
+
+public class HTTPUnitTest extends TestCase
+{
+
+	public void testConstructor ()
+	{
+		try
+		{
+			String url1 = "http://www.local.bar:8080";
+			new HTTPEpr(url1);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGet ()
+	{
+		try
+		{
+			String url1 = "http://www.local.bar:8080";
+			HTTPEpr epr = new HTTPEpr(url1);
+			
+			assertEquals(epr.getURL().toString(), url1);
+			
+			String url2 = "http://foo.com";
+			epr.setURL(new URL(url2));
+			
+			assertEquals(epr.getURL().toString(), url2);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/JDBCUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/JDBCUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/JDBCUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,91 @@
+/*
+ * 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.addressing.helpers.tests;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+
+/**
+ * Unit tests for the EPR class.
+ * 
+ * @author Mark Little
+ */
+
+public class JDBCUnitTest extends TestCase
+{
+
+	public void testConstructor ()
+	{
+		try
+		{
+			new JDBCEpr("jdbc:arjuna:oracle:thin", "CREATE TABLE foo");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGet ()
+	{
+		try
+		{
+			JDBCEpr em = new JDBCEpr("jdbc:arjuna:oracle:thin", "CREATE TABLE foo");
+			
+			assertEquals(em.getURL(), "jdbc:arjuna:oracle:thin");
+			assertEquals(em.getSQL(), "CREATE TABLE foo");
+			
+			em.setURL("jdbc:arjuna:oracle:thin");
+			assertEquals(em.getURL(), "jdbc:arjuna:oracle:thin");
+			
+			em.setUserName("me");
+			assertEquals(em.getUserName(), "me");
+			
+			em.setPassword("foobar");
+			assertEquals(em.getPassword(), "foobar");
+			
+			try
+			{
+				em.setSQL("INVALID");
+				
+				fail();
+			}
+			catch (IllegalStateException ex)
+			{
+			}
+			catch (Exception ex)
+			{
+				fail(ex.toString());
+			}
+			
+			em.setDriver("cloudscape");
+			assertEquals(em.getDriver(), "cloudscape");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/JMSUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/JMSUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/JMSUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+/*
+ * 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.addressing.helpers.tests;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+
+/**
+ * Unit tests for the EPR class.
+ * 
+ * @author Mark Little
+ */
+
+public class JMSUnitTest extends TestCase
+{
+
+	public void testConstructor ()
+	{
+		try
+		{
+			new JMSEpr(JMSEpr.ONE_ONE_PROTOCOL, JMSEpr.QUEUE_TYPE, "bar", "foobar",null,null,null,null);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGet ()
+	{
+		try
+		{
+			JMSEpr jms = new JMSEpr(JMSEpr.ONE_ONE_PROTOCOL, JMSEpr.QUEUE_TYPE, "bar", "foobar", null,null,null,null);
+			
+			assertEquals(jms.getVersion(), JMSEpr.ONE_ONE_PROTOCOL);
+			assertEquals(jms.getConnectionFactory(), "foobar");
+			assertEquals(jms.getDestinationType(), JMSEpr.QUEUE_TYPE);
+			assertEquals(jms.getDestinationName(), "bar");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/CallUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/CallUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/CallUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,195 @@
+/*
+ * 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.addressing.tests;
+
+import java.net.URI;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class CallUnitTest extends TestCase
+{
+	public void testConstructor ()
+	{
+		Call call = new Call();
+		
+		try
+		{
+			assertEquals((call.getTo() == null), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testEPRConstructor ()
+	{
+		try
+		{
+			EPR epr = new EPR(new URI("http://localhost"));
+			Call call = new Call(epr);
+			
+			assertEquals(call.getTo().equals(epr), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGetTo ()
+	{
+		Call call = new Call();
+		
+		try
+		{
+			EPR epr = new EPR(new URI("http://localhost"));
+			
+			call.setTo(epr);
+			
+			assertEquals(call.getTo().equals(epr), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGetFrom ()
+	{
+		Call call = new Call();
+		
+		try
+		{
+			EPR epr = new EPR(new URI("http://localhost"));
+			
+			call.setFrom(epr);
+			
+			assertEquals(call.getFrom().equals(epr), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGetReplyTo ()
+	{
+		Call call = new Call();
+		
+		try
+		{
+			EPR epr = new EPR(new URI("http://localhost"));
+			
+			call.setReplyTo(epr);
+			
+			assertEquals(call.getReplyTo().equals(epr), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGetFaultTo ()
+	{
+		Call call = new Call();
+		
+		try
+		{
+			EPR epr = new EPR(new URI("http://localhost"));
+			
+			call.setFaultTo(epr);
+			
+			assertEquals(call.getFaultTo().equals(epr), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGetRelatesTo ()
+	{
+		Call call = new Call();
+		
+		try
+		{
+			URI uri = new URI("urn:1234");
+			
+			call.setRelatesTo(uri);
+			
+			assertEquals(call.getRelatesTo().equals(uri), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGetAction ()
+	{
+		Call call = new Call();
+		
+		try
+		{
+			URI uri = new URI("urn:1234");
+			
+			call.setAction(uri);
+			
+			assertEquals(call.getAction().equals(uri), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetGetMessageID ()
+	{
+		Call call = new Call();
+		
+		try
+		{
+			URI uri = new URI("urn:1234");
+			
+			call.setMessageID(uri);
+			
+			assertEquals(call.getMessageID().equals(uri), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/EPRUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/EPRUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/tests/EPRUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,168 @@
+/*
+ * 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.addressing.tests;
+
+import java.io.StringWriter;
+import java.net.URI;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.addressing.helpers.PortReferenceHelper;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.PortReference;
+import org.jboss.soa.esb.addressing.XMLUtil;
+import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import com.sun.org.apache.xml.internal.serialize.OutputFormat;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
+/**
+ * Unit tests for the EPR class.
+ * 
+ * @author Mark Little
+ */
+
+public class EPRUnitTest extends TestCase
+{
+
+	public void testConstructor ()
+	{
+		EPR epr = new EPR();
+		
+		System.err.println("Default EPR: "+epr);
+	}
+	
+	public void testPortReferenceConstructor ()
+	{
+		EPR epr = new EPR(new PortReference("http://localhost:8080"));
+		
+		assertEquals(epr.toString(), "EPR: PortReference < http://localhost:8080 >");
+	}
+	
+	public void testURIConstructor ()
+	{
+		try
+		{
+			EPR epr = new EPR(new URI("urn:foo/bar"));
+			
+			assertEquals(epr.toString(), "EPR: PortReference < urn:foo/bar >");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testGetAddr ()
+	{
+		try
+		{
+			EPR epr = new EPR(new URI("urn:foo/bar"));
+		
+			assertEquals(epr.getAddr().getAddress(), "urn:foo/bar");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSetAddr ()
+	{
+		EPR epr = new EPR();
+		
+		epr.setAddr(new PortReference("http://localhost"));
+
+		try
+		{
+			assertEquals(epr.getAddr().getAddress(), "http://localhost");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testToFromXML ()
+	{
+		try
+		{
+			EmailEpr email = new EmailEpr(EmailEpr.SMTP_PROTOCOL, "foobar", "25", "me", "letmein");
+			
+			final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+			final DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.newDocument();
+			Element header = doc.createElement("header");
+			Element fromElement = doc.createElementNS(XMLUtil.WSA_NAMESPACE_URI, XMLUtil.WSA_PREFIX+":"+XMLUtil.FROM_TAG);
+			
+			doc.appendChild(header);
+			header.appendChild(fromElement);
+			
+			PortReferenceHelper.toXML(header, doc, fromElement, email.getAddr(), false);
+
+			final StringWriter sWriter = new StringWriter() ;
+			final OutputFormat format = new OutputFormat() ;
+			format.setIndenting(true) ;
+
+			final XMLSerializer xmlS = new XMLSerializer(sWriter, format) ;
+
+			xmlS.asDOMSerializer() ;
+			xmlS.serialize(doc) ;
+
+			System.err.println("Exported XML: "+sWriter.toString());
+			
+			PortReference pr = PortReferenceHelper.fromXML(fromElement, false);			
+			
+			EPR basicEpr = new EPR(pr);
+			EmailEpr nEpr = new EmailEpr(basicEpr);
+
+			assertEquals(nEpr.getAddr().getAddress(), email.getAddr().getAddress());
+		}
+		catch (Exception ex)
+		{
+			fail();
+		}		
+	}
+	
+	public void testEquals ()
+	{
+		try
+		{
+			EPR epr1 = new EPR(new URI("http://localhost"));
+			EPR epr2 = new EPR(new URI("http://localhost"));
+			EPR epr3 = new EPR(new URI("http://localhost:8080"));
+			
+			assertEquals(epr1.equals(epr2), true);
+			assertEquals(epr1.equals(epr3), false);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRHelperUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRHelperUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRHelperUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,59 @@
+/*
+ * 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.addressing.util.tests;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.addressing.helpers.EPRHelper;
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class EPRHelperUnitTest extends TestCase
+{
+	
+	public void testToFromXMLString () throws MarshalException, UnmarshalException
+	{
+		EmailEpr email = new EmailEpr(EmailEpr.SMTP_PROTOCOL, "foobar", "25", "me", "letmein");
+		
+		String xmlString = EPRHelper.toXMLString(email);
+		
+		System.err.println("xmlString is: "+xmlString);
+		
+		EPR epr = EPRHelper.fromXMLString(xmlString);
+		
+		if (epr instanceof EmailEpr)
+		{
+		}
+		else
+		    fail();
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.addressing.util.tests;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+import org.jboss.soa.esb.addressing.util.EPRManager;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class EPRManagerUnitTest extends TestCase
+{
+	public void testCreate ()
+	{
+		EPRManager manager1 = EPRManager.getInstance(null);
+		EPRManager manager2 = EPRManager.getInstance("");
+		EPRManager manager3 = EPRManager.getInstance("/tmp");
+		
+		assertEquals(manager1.equals(manager2), true);
+		assertEquals(manager1.equals(manager3), false);
+	}
+	
+	public void testInputOutput ()
+	{
+		EmailEpr email = new EmailEpr(EmailEpr.SMTP_PROTOCOL, "foobar", "25", "me", "letmein");
+		
+		String tmpDir = System.getProperty("java.io.tmpdir");
+		EPRManager manager = EPRManager.getInstance(tmpDir);
+
+		try
+		{
+			manager.saveEPR("MyEmail", email);
+
+			EmailEpr loaded = new EmailEpr(manager.loadEPR("MyEmail"));
+		
+			assertEquals(loaded.getHost().equals("foobar"), true);
+			assertEquals(loaded.getPassword().equals("letmein"), true);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+		finally
+		{
+			try
+			{
+				manager.removeEPR("MyEmail");
+			}
+			catch (Exception ex)
+			{
+			}
+		}
+	}
+	
+	public void testSpecificInputOutput ()
+	{
+		EmailEpr email = new EmailEpr(EmailEpr.SMTP_PROTOCOL, "foobar", "25", "me", "letmein");
+		
+		String tmpDir = System.getProperty("java.io.tmpdir");
+		EPRManager manager = EPRManager.getInstance(tmpDir);
+
+		try
+		{
+			manager.saveEPR("MyEmail", email);
+			
+			EPR epr = manager.loadEPR("MyEmail");
+			
+			if (epr instanceof EmailEpr)
+			{
+			    
+			}
+			else
+			    fail();
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+		finally
+		{
+			try
+			{
+				manager.removeEPR("MyEmail");
+			}
+			catch (Exception ex)
+			{
+			}
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/InMemoryCommandQueueUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/InMemoryCommandQueueUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/InMemoryCommandQueueUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,124 @@
+package org.jboss.soa.esb.command;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.command.CommandQueue;
+import org.jboss.internal.soa.esb.command.CommandQueueException;
+import org.jboss.internal.soa.esb.command.InMemoryCommandQueue;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+public class InMemoryCommandQueueUnitTest extends TestCase {
+
+	public void test_args() throws CommandQueueException {
+		InMemoryCommandQueue commandQueue = new InMemoryCommandQueue();
+		
+		try {
+			commandQueue.open(null);
+			fail("Expected IllegalArgumentException.");
+		} catch (IllegalArgumentException e) {
+			// OK
+		}
+
+		ConfigTree config = new ConfigTree("config");
+		try {
+			commandQueue.open(config);
+			fail("Expected CommandQueueException.");
+		} catch (CommandQueueException e) {
+			// OK
+		}
+	}
+	
+	public void test_queue_open_close() throws CommandQueueException {
+		ConfigTree config = new ConfigTree("config");
+		InMemoryCommandQueue commandQueue = new InMemoryCommandQueue();
+
+		config.setAttribute(InMemoryCommandQueue.COMMAND_QUEUE_NAME, "test-queue");
+		assertEquals(null, InMemoryCommandQueue.getQueue("test-queue"));
+		commandQueue.open(config);
+		assertEquals(commandQueue, InMemoryCommandQueue.getQueue("test-queue"));
+		commandQueue.close();
+		assertEquals(null, InMemoryCommandQueue.getQueue("test-queue"));
+	}
+	
+	public void test_queue_receive() throws CommandQueueException, InterruptedException {
+		ConfigTree config = new ConfigTree("config");
+		InMemoryCommandQueue commandQueue = new InMemoryCommandQueue();
+
+		// receive should fail if the queue hasn't been opened yet...
+		try {
+			commandQueue.receiveCommand(0);
+			fail("Expected CommandQueueException.");
+		} catch (CommandQueueException e) {
+			// OK
+		}
+		
+		config.setAttribute(InMemoryCommandQueue.COMMAND_QUEUE_NAME, "test-queue");
+		commandQueue.open(config);
+		
+		// Start the consumer thread - it will receive the commands from the queue.
+		CommandConsumerThread consumerThread = new CommandConsumerThread(commandQueue);
+		consumerThread.start();
+		
+		// Make sure the thread is running.
+		assertTrue(consumerThread.isRunning);
+		
+		commandQueue.addCommand("command1");
+		assertCommandReceived(consumerThread, "command1", 0);
+		commandQueue.addCommand("command2");
+		assertCommandReceived(consumerThread, "command2", 1);
+		commandQueue.addCommand("command3");
+		assertCommandReceived(consumerThread, "command3", 2);
+		
+		// Stop the queue thread...
+		commandQueue.addCommand("stop");
+		Thread.sleep(50);
+		assertTrue(!consumerThread.isRunning);  // this flag being reset proves the stop command was consumed and so the queue is really working
+		assertEquals(4, consumerThread.unblockCount); // Should have unblocked 4 times - once for each command.
+		
+		// receive should fail if the queue has been closed...
+		commandQueue.close();
+		try {
+			commandQueue.receiveCommand(0);
+			fail("Expected CommandQueueException.");
+		} catch (CommandQueueException e) {
+			// OK
+		}
+	}
+	
+	private void assertCommandReceived(CommandConsumerThread consumerThread, String expected, int index) throws InterruptedException {
+		Thread.sleep(50);
+		assertEquals("Received commands queue is not the expected length.", index + 1, consumerThread.commandsReceived.size());
+		assertEquals("Command not found as last added command.", expected, consumerThread.commandsReceived.get(index));
+	}
+
+	private class CommandConsumerThread extends Thread {
+
+		private List<String> commandsReceived = new ArrayList<String>();
+		private CommandQueue commandQueue;
+		private boolean isRunning = true;
+		private int unblockCount = 0;
+		
+		private CommandConsumerThread(CommandQueue commandQueue) {
+			this.commandQueue = commandQueue;
+		}
+		
+		@Override
+		public void run() {
+			String command = null;
+			
+			while(!"stop".equals(command)) {
+				try {
+					command = commandQueue.receiveCommand(0);
+					commandsReceived.add(command);
+				} catch (CommandQueueException e) {
+					fail("CommandQueue Exception: " + e.getMessage());
+				}
+				unblockCount++;
+			}
+			isRunning = false;
+		}		
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/BaseTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/BaseTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/BaseTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,236 @@
+/*
+ * 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.common.tests;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.HashMap;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+
+/**
+ * Base test class for esb test classes, uses jboss logging.
+ * 
+ * @author <a href="mailto:arvinder.singh at indigo-logic.com">Arvinder Singh</a>
+ * @version <tt>$Revision:$</tt> $Id:$
+ */
+
+/*
+ * This should probably use its own property file.
+ */
+
+public class BaseTest extends TestCase
+{
+
+	/** The Database driver used for unit tests */
+	public static String DB_DRIVER = "org.jboss.esb.test.db.driver";
+
+	/** The Database connection url used for unit tests */
+	public static String DB_URL = "org.jboss.esb.test.db.url";
+
+	/** The Database user name used for unit tests */
+	public static String DB_USERNAME = "org.jboss.esb.test.db.user";
+
+	/** The Database password used for unit tests */
+	public static String DB_PASSWORD = "org.jboss.esb.test.db.password";
+	
+	/** The FTP hostname used for unit tests **/
+	public static String FTP_HOSTNAME = "org.jboss.esb.test.ftp.hostname" ;
+	
+	/** The FTP user used for unit tests **/
+	public static String FTP_USER = "org.jboss.esb.test.ftp.user" ;
+	
+	/** The FTP directory used for unit tests **/
+	public static String FTP_DIR = "org.jboss.esb.test.ftp.dir" ;
+	
+	/** The FTP password for unit tests **/
+	public static String FTP_PWD = "org.jboss.esb.test.ftp.pwd";
+
+	/** The Logger. */
+	protected Logger log = Logger.getLogger(getClass());
+
+	/** Contains user and or deployment specific paramater */
+	public static HashMap<String, String> SYSTEM_PARAMETERS;
+
+	/**
+	 * Default class constructor.
+	 */
+	public BaseTest()
+	{
+		SYSTEM_PARAMETERS = readSystemParameters();
+	}
+
+	/**
+	 * Utility constructor.
+	 * 
+	 * @param name
+	 *            The test name.
+	 */
+	public BaseTest(String name)
+	{
+		super(name);
+		SYSTEM_PARAMETERS = readSystemParameters();
+	}
+
+	/**
+	 * Reading system parameter that are set by the ant build when invoking the
+	 * junit call. The parameter values should be set in the
+	 * deployment.properties file. If the particular parameter is not found it
+	 * will receive a default value.
+	 */
+	private HashMap<String, String> readSystemParameters()
+	{
+		// Reading system parameter
+		String dbDriver = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE)
+				.getProperty(DB_DRIVER, "org.hsqldb.jdbcDriver");
+		String dbUrl = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE)
+				.getProperty(DB_URL, "jdbc:hsqldb:.");
+		String dbUsername = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE)
+				.getProperty(DB_USERNAME, "sa");
+		String dbPassword = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE)
+				.getProperty(DB_PASSWORD, "");
+		String ftpHostname = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE)
+		.getProperty(FTP_HOSTNAME, "ftp.ncl.ac.uk");
+		String ftpUser = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE)
+		.getProperty(FTP_USER, "anonymous");
+		String ftpDir = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE)
+		.getProperty(FTP_DIR, "/pub/DNS");
+		String ftpPwd = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CONNECTION_MODULE)
+		.getProperty(FTP_PWD, "");
+
+		// Setting the paremeters in the HashMap
+		HashMap<String, String> systemParameters = new HashMap<String, String>();
+		systemParameters.put(DB_DRIVER, dbDriver);
+		systemParameters.put(DB_URL, dbUrl);
+		systemParameters.put(DB_USERNAME, dbUsername);
+		systemParameters.put(DB_PASSWORD, dbPassword);
+		systemParameters.put(FTP_HOSTNAME, ftpHostname);
+		systemParameters.put(FTP_USER, ftpUser);
+		systemParameters.put(FTP_DIR, ftpDir);
+		systemParameters.put(FTP_PWD, ftpPwd);
+
+		log.log(Priority.INFO, "DB parameters:");
+		log.log(Priority.INFO, "Driver=" + dbDriver);
+		log.log(Priority.INFO, "url=" + dbUrl);
+		log.log(Priority.INFO, "username=" + dbUsername);
+		log.log(Priority.INFO, "password=" + dbPassword);
+		log.log(Priority.INFO, "FTP parameters:");
+		log.log(Priority.INFO, "Hostname=" + ftpHostname);
+		log.log(Priority.INFO, "User=" + ftpUser);
+		log.log(Priority.INFO, "Dir=" + ftpDir);
+		log.log(Priority.INFO, "Password="+ftpPwd);
+
+		return systemParameters;
+	}
+
+	protected String getDbUrl()
+	{
+		return SYSTEM_PARAMETERS.get(DB_URL);
+	}
+
+	protected String getDbUser()
+	{
+		return SYSTEM_PARAMETERS.get(DB_USERNAME);
+	}
+
+	protected String getDbPassword()
+	{
+		return SYSTEM_PARAMETERS.get(DB_PASSWORD);
+	}
+
+	protected String getDbDriver()
+	{
+		return SYSTEM_PARAMETERS.get(DB_DRIVER);
+	}
+	
+	protected String getFtpHostname()
+	{
+		return SYSTEM_PARAMETERS.get(FTP_HOSTNAME) ;
+	}
+	
+	protected String getFtpUser()
+	{
+		return SYSTEM_PARAMETERS.get(FTP_USER) ;
+	}
+	
+	protected String getFtpDir()
+	{
+		return SYSTEM_PARAMETERS.get(FTP_DIR) ;
+	}
+	
+	protected String getFtpPwd ()
+	{
+		return SYSTEM_PARAMETERS.get(FTP_PWD);
+	}
+
+	public Connection getDbConnection() throws SQLException
+	{
+		registerJdbcDriver();
+		return DriverManager.getConnection(getDbUrl(), getDbUser(),
+				getDbPassword());
+	}
+
+	public Connection getDbConnection(String username, String password)
+			throws SQLException
+	{
+		registerJdbcDriver();
+		return DriverManager.getConnection(getDbUrl(), username, password);
+	}
+
+	/**
+	 * Set the test ObjStoreConfigFile location in the classpath/filesystem.
+	 * 
+	 * @param filePath
+	 *            Classpath/filesystem location.
+	 */
+	public void setObjStoreConfigFile(String filePath)
+	{
+		if (filePath == null)
+		{
+			ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperties()
+					.remove(Environment.OBJECT_STORE_CONFIG_FILE);
+		} else
+		{
+			ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).setProperty(
+					Environment.OBJECT_STORE_CONFIG_FILE, filePath);
+		}
+	}
+
+	private void registerJdbcDriver()
+	{
+		try
+		{
+			Class.forName(getDbDriver()).newInstance();
+		} catch (Exception e)
+		{
+			e.printStackTrace();
+			fail("JDBC Driver [" + getDbDriver()
+					+ "] not available in classpath.");
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/MockDataSource.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/MockDataSource.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/MockDataSource.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,94 @@
+/*
+ * 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.common.tests;
+
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+
+
+/**
+ * Mock {@link javax.sql.DataSource} implementation.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MockDataSource implements DataSource {
+
+	private BaseTest testClass;
+	private int loginTimeout;
+	private PrintWriter printWriter;
+
+	/**
+	 * Construct from a BaseTest 
+	 */
+	public MockDataSource(BaseTest testClass) {
+		if(testClass == null) {
+			throw new IllegalArgumentException("null 'testClass' arg.");
+		}
+		this.testClass = testClass;
+		printWriter = new PrintWriter(System.out);
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.sql.DataSource#getConnection()
+	 */
+	public Connection getConnection() throws SQLException {
+		return testClass.getDbConnection();
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.sql.DataSource#getConnection(java.lang.String, java.lang.String)
+	 */
+	public Connection getConnection(String username, String password) throws SQLException {
+		return testClass.getDbConnection(username, password);
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.sql.DataSource#getLogWriter()
+	 */
+	public PrintWriter getLogWriter() throws SQLException {
+		return printWriter;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.sql.DataSource#setLogWriter(java.io.PrintWriter)
+	 */
+	public void setLogWriter(PrintWriter printWriter) throws SQLException {
+		this.printWriter = printWriter;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.sql.DataSource#getLoginTimeout()
+	 */
+	public int getLoginTimeout() throws SQLException {
+		return loginTimeout;
+	}
+
+	/* (non-Javadoc)
+	 * @see javax.sql.DataSource#setLoginTimeout(int)
+	 */
+	public void setLoginTimeout(int loginTimeout) throws SQLException {
+		this.loginTimeout = loginTimeout;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/PropertyManagerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/PropertyManagerUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/propertymanager/PropertyManagerUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,87 @@
+/*
+ * 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.common.tests.propertymanager;
+
+import junit.framework.ComparisonFailure;
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.common.Environment;
+
+import com.arjuna.common.internal.util.propertyservice.plugins.io.XMLFilePlugin;
+import com.arjuna.common.util.propertyservice.PropertyManager;
+import com.arjuna.common.util.propertyservice.PropertyManagerFactory;
+
+public class PropertyManagerUnitTest extends TestCase
+{
+
+	public void testPropertyManager ()
+	{
+		System.setProperty("com.arjuna.common.util.propertyservice.verbosePropertyManager", "ON");
+		
+		PropertyManager corepm = PropertyManagerFactory.getPropertyManager("test.core", "core");
+		
+		try
+        {
+            corepm.load(XMLFilePlugin.class.getName(), "jbossesb-test-properties.xml");
+        }
+        catch (Exception e)
+        {
+        	e.printStackTrace();
+        	
+            fail(e.toString());
+        }
+        
+		assertEquals(corepm.getProperty(Environment.JNDI_SERVER_CONTEXT_FACTORY), "foobar");		
+		assertEquals(corepm.getProperty(Environment.OBJECT_STORE_CONFIG_FILE), "file:config.xml");
+		
+		try
+		{
+			assertEquals(corepm.getProperty(Environment.SMTP_HOST), "thishost");
+			
+			fail();
+		}
+		catch (ComparisonFailure ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+		
+		PropertyManager transportpm = PropertyManagerFactory.getPropertyManager("test.transports", "transports");
+		
+		try
+        {
+            transportpm.load(XMLFilePlugin.class.getName(), "jbossesb-test-properties.xml");
+        }
+        catch (Exception e)
+        {
+        	e.printStackTrace();
+        	
+            fail(e.toString());
+        }
+        
+        assertEquals(transportpm.getProperty(Environment.JNDI_SERVER_CONTEXT_FACTORY), "foobar");
+        assertEquals(transportpm.getProperty(Environment.SMTP_HOST), "thishost");
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/DrainQueuesAndTopics.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/DrainQueuesAndTopics.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/common/tests/utils/DrainQueuesAndTopics.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,124 @@
+/*
+ * 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.common.tests.utils;
+
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueReceiver;
+import javax.jms.QueueSession;
+import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
+import javax.jms.TopicSession;
+import javax.jms.TopicSubscriber;
+import javax.naming.Context;
+
+import org.jboss.soa.esb.helpers.NamingContext;
+
+public class DrainQueuesAndTopics
+{
+  private static final int	  MAX_TIMES_NOMSG = 10;
+ 
+  private Context m_oCtx;
+  
+  public DrainQueuesAndTopics() throws Exception
+  {
+	  purgeQueueTopic("queue/A");
+	  purgeQueueTopic("queue/B");
+	  purgeQueueTopic("topic/testTopic");
+  } //__________________________________
+  
+  public int purgeQueueTopic(String p_sName) throws Exception
+  { 
+	int iRet = 0;
+	m_oCtx = NamingContext.getServerContext(
+			NamingContext.JBOSS_PROVIDER_URL, 
+			NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY,
+			NamingContext.JBOSS_URL_PKG_PREFIX);
+	
+	System.out.println(p_sName);
+	MessageConsumer oCns = null;
+	switch(p_sName.toLowerCase().charAt(0))
+	{	case 't' : oCns = getTopic(p_sName);	break;
+		case 'q' : oCns = getQueue(p_sName);	break;
+	}
+	if (null==oCns)
+		return 0;
+	
+	for (int iNoRcv=0; iNoRcv < MAX_TIMES_NOMSG; )
+	{	Message oMsg = oCns.receive(200);
+		if (null==oMsg)
+		{	iNoRcv++;
+			System.out.print(".");
+			continue;
+		}
+		iRet++;
+		dumpMessage(oMsg);
+		iNoRcv = 0;
+	}
+	System.out.println();
+	return iRet;
+  } //__________________________________
+  
+  void dumpMessage(Message pM)
+  {
+	  System.out.println(pM);
+  } //__________________________________
+  
+  QueueReceiver getQueue(String p_sJndi) throws Exception
+  {
+	QueueConnection oQconn = null;
+	QueueSession 	oQsess = null;
+	QueueConnectionFactory qcf = (QueueConnectionFactory) m_oCtx
+		.lookup("ConnectionFactory");
+
+	oQconn = qcf.createQueueConnection();
+	oQsess = oQconn.createQueueSession(false
+			,QueueSession.AUTO_ACKNOWLEDGE);
+    Queue oQueue
+    	= (Queue) m_oCtx.lookup(p_sJndi);
+
+    QueueReceiver oRcv = oQsess.createReceiver(oQueue);
+    oQconn.start();
+    return oRcv;
+  } //__________________________________
+
+  TopicSubscriber getTopic(String p_sJndi) throws Exception
+  {
+	TopicConnection oTconn = null;
+	TopicSession 	oTsess = null;
+	TopicConnectionFactory qcf = (TopicConnectionFactory) m_oCtx
+		.lookup("ConnectionFactory");
+
+	oTconn = qcf.createTopicConnection();
+	oTsess = oTconn.createTopicSession(false
+			,QueueSession.AUTO_ACKNOWLEDGE);
+    Topic oT = (Topic) m_oCtx.lookup(p_sJndi);
+
+    TopicSubscriber oRcv = oTsess.createSubscriber(oT);
+    oTconn.start();
+    return oRcv;
+  } //__________________________________ 
+} //____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/AppServerContextUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/AppServerContextUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/AppServerContextUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,48 @@
+/*
+ * 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.helpers;
+
+import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import junit.framework.TestCase;
+
+/**
+ * AppServerContex unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class AppServerContextUnitTest extends TestCase {
+
+	public void test_AppServerContext() throws NamingException {
+		Context ctx = NamingContext.getServerContext("http://localhost:1234", 
+				NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY,
+				NamingContext.JBOSS_URL_PKG_PREFIX);
+		
+		Hashtable props = ctx.getEnvironment();
+		System.out.println(props);
+		assertEquals("org.jnp.interfaces.NamingContextFactory", props.get(Context.INITIAL_CONTEXT_FACTORY));
+		assertEquals("http://localhost:1234", props.get(Context.PROVIDER_URL));
+		assertEquals(null, props.get("java.naming.factory.url.pkgs"));
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,261 @@
+/*
+ * 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.helpers;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Arrays;
+
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.StringUtils;
+import org.jboss.soa.esb.common.tests.BaseTest;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+/**
+ * Unit tests for the ConfigTree class.
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ */
+public class ConfigTreeUnitTest extends BaseTest {
+
+	public void test_fromInputStream_args() throws SAXException, IOException {
+		try {
+			ConfigTree.fromInputStream(null);
+			fail("Expected IllegalArgumentException on null stream.");
+		} catch(IllegalArgumentException e) {
+			// Expected
+		}
+	}
+	
+	private InputStream getStream(String sName)
+	{
+		InputStream oRet =getClass().getResourceAsStream(sName);
+		if (null==oRet)
+			try { oRet = new FileInputStream(sName); }
+			catch(IOException e) { /* OK  Just fall through */}
+		return oRet;
+	}
+	
+	public void test_fromInputStream_and_toXML() throws SAXException, IOException
+	{
+		ConfigTree confTree = ConfigTree.fromInputStream(getStream("testfile1.xml"));
+		byte[] expected = StreamUtils.readStream(getStream("expected_01.xml"));
+		
+		// Create the ConfigTree from a Stream.  Then...
+		// Dump the XML to a buffer and compare it with the expected - checking that the
+		// Created ConfigTree DOM is the same as what was supplied in the stream.  Also
+		// tests the toXML method.  If this fails, either fromInputStream is not working correctly
+		// or the toXML method is not serialising correctly.
+		String output = null;
+		try { output = confTree.toXml(); }
+		catch (Exception e) 
+		{ 
+			e.printStackTrace();
+		}
+		assertTrue("ConfigTree creation from a stream failed, or, ConfigTree toXML failed - failed to produce the same XML.", 
+				StringUtils.equalsIgnoreLinebreaks(new String(expected), output, false));
+	}
+
+	public void test_fromXML_args() throws SAXException, IOException
+	{		
+		try {
+			ConfigTree.fromXml(null);
+			fail("Expected IllegalArgumentException on null String.");
+		} catch(IllegalArgumentException e) {
+			// Expected
+		}
+		try {
+			ConfigTree.fromXml(" ");
+			fail("Expected SAXParseException on null String.");
+		} catch(SAXParseException e) {
+			// Expected
+		}
+	}
+
+	public void test_fromXML_and_toXML() throws SAXException, IOException
+	{
+		byte[] source = StreamUtils.readStream(getStream("expected_01.xml"));
+		ConfigTree confTree = ConfigTree.fromXml(new String(source));
+		byte[] expected = source;
+		
+		// Create the ConfigTree from a String.  Then...
+		// Dump the XML to a buffer and compare it with the expected - checking that the
+		// Created ConfigTree DOM is the same as what was supplied in the stream.  Also
+		// tests the toXML method.  If this fails, either fromInputStream is not working correctly
+		// or the toXML method is not serialising correctly.
+		String output = confTree.toXml();
+		assertTrue("ConfigTree creation from a String failed, or, ConfigTree toXML failed - failed to produce the same XML.", 
+				StringUtils.equalsIgnoreLinebreaks(new String(expected), output, false));
+	}
+
+	public void test_Constructor_Clone() throws SAXException, IOException {
+		ConfigTree conf1 = ConfigTree.fromInputStream(getStream("testfile1.xml"));
+//		ByteArrayOutputStream output;
+		byte[] expected = StreamUtils.readStream(getStream("expected_01.xml"));	
+		// Create a new ConfigTree from an existing one and compare it with the expected.
+		ConfigTree conf2 = conf1.cloneObj();
+		assertTrue("ConfigTree creation from a stream failed, or, cloneObj failed - failed to produce the same XML.", 
+				StringUtils.equalsIgnoreLinebreaks(new String(expected), conf2.toXml(), false));
+	}
+
+	public void test_Constructor_String_withoutparent() throws SAXException, IOException {
+		// Create a new ConfigTree from without a parent ConfigTree.
+		ConfigTree confTree = new ConfigTree("newConfigTree",null);
+		
+		assertEquals("New ConfigTree invalid.", "<newConfigTree/>" , confTree.toXml());
+	}
+	
+	public void test_getName() {
+		ConfigTree confTree = new ConfigTree("newConfigTree",null);
+		assertEquals("getName returned invalid data.", "newConfigTree", confTree.getName());
+	}
+	
+	public void test_getAttrKeys_hasnokeys() throws SAXException, IOException {
+		ConfigTree confTree = new ConfigTree("newConfigTree",null);		
+		assertTrue("invalid attribute name list", confTree.attributeCount()== 0);
+	}
+	
+	public void test_getAttrKeys_haskeys() throws SAXException, IOException {
+		ConfigTree confTree = ConfigTree.fromInputStream(getStream("testfile2.xml"));
+		String[] expected = new String[] {"attrib1", "attrib2", "attrib3"};
+		Arrays.sort(expected);
+		String[] actual = confTree.getAttributeNames().toArray(new String[confTree.attributeCount()]);
+		Arrays.sort(actual);
+		
+		assertTrue("invalid attribute name list", Arrays.equals(expected, actual));
+	}
+	
+	public void test_getAttr() throws SAXException, IOException {
+		ConfigTree confTree = ConfigTree.fromInputStream(getStream("testfile2.xml"));
+		
+		assertEquals("invalid attribute value", "value2", confTree.getAttribute("attrib2"));
+		assertEquals("invalid attribute value", null, confTree.getAttribute("attribXX"));
+	}
+	
+	public void test_getTextChildren() throws SAXException, IOException {
+		// This test also tests the static method getTextValue. 
+		ConfigTree confTree = ConfigTree.fromInputStream(getStream("testfile3.xml"));
+		
+		// REVIEW: These tests capture the current behavior of the getTextChildren method.  I'm not convinced this behavior is correct!!
+		// I think perhaps this method should not be depending on getTextValue because getTextValue
+		// concatentates the child text nodes.
+		assertTrue("invalid Text Children list", 
+				"Some root text... and some more root text...".equals(confTree.getWholeText()));
+		assertTrue("invalid Text Children list", 
+				Arrays.equals(new String[] {"", "Some nested text..."}, confTree.getTextChildren("el")));
+	}
+
+	public void test_getElementChildren() throws SAXException, IOException {
+		ConfigTree confTree = ConfigTree.fromInputStream(getStream("testfile3.xml"));
+		ConfigTree[] confTrees;
+
+		String expected = new String(StreamUtils.readStream(getStream("expected_03.xml"))).trim();
+		assertEquals("Wrong ConfigTree ElementChild value.", expected, confTree.toString().trim());
+
+		// Test the nested <el> elements - of which there are 2...
+		confTrees = confTree.getChildren("el");
+		assertEquals("Wrong number of ConfigTree ElementChildren.", 2, confTrees.length);
+		assertEquals("Wrong ConfigTree ElementChild value.", "<el index=\"1\"/>", confTrees[0].toString().trim());
+		assertEquals("Wrong ConfigTree ElementChild value.", "<el index=\"2\">Some nested text...</el>", confTrees[1].toString().trim());
+
+		// Test for a non-existant element...
+		confTrees = confTree.getChildren("xxxx");
+		assertEquals("Wrong number of ConfigTree ElementChildren.", 0, confTrees.length);
+	}
+	
+	public void test_getFirstElementChild() throws SAXException, IOException {
+		ConfigTree confTree = ConfigTree.fromInputStream(getStream("testfile3.xml"));
+		
+		String expected = new String(StreamUtils.readStream(getStream("expected_03.xml"))).trim();
+		assertEquals("Wrong ConfigTree ElementChild value.", expected, confTree.toString().trim());
+
+		// Test the nested <el> elements - of which there are 2...
+		confTree = confTree.getFirstChild("el");
+		assertEquals("Wrong ConfigTree ElementChild value.", "<el index=\"1\"/>", confTree.toString().trim());
+
+		// Test for a non-existant element...
+		confTree = confTree.getFirstChild("xxxx");
+		assertEquals("Expected null ConfigTree ElementChildren for non-existant element.", null, confTree);
+	}
+
+	public void test_getAllElemChildren() throws SAXException, IOException {
+		ConfigTree confTree = ConfigTree.fromInputStream(getStream("testfile3.xml"));
+		ConfigTree[] confTrees;
+
+		confTrees = confTree.getAllChildren();
+		assertEquals("Wrong number of ConfigTree ElementChildren.", 2, confTrees.length);
+		assertEquals("Wrong ConfigTree ElementChild value.", "<el index=\"1\"/>", confTrees[0].toString().trim());
+		assertEquals("Wrong ConfigTree ElementChild value.", "<el index=\"2\">Some nested text...</el>", confTrees[1].toString().trim());
+
+		// REVIEW: Note, this method only returns ConfigTree instances for the child elements
+		// of the document root node. Comparing this to the behaviour of getFirstElementChild
+		// would seem to demonstrate an inconsitency???  To be consistent, I would expect this method 
+		// to return a list of 3 ConfigTree instances - the <root> and 2 <el> elements.
+	}
+	
+	public void test_setAttr() throws SAXException, IOException {
+		ConfigTree confTree = new ConfigTree("newConfigTree");
+		
+		confTree.setAttribute("attrib1", "value1");
+		assertEquals("value1", confTree.getAttribute("attrib1"));
+
+		// A null value removes the attribute.
+		confTree.setAttribute("attrib1", null);
+		assertEquals(null, confTree.getAttribute("attrib1"));
+
+		try { confTree.setAttribute(null, null); }
+		catch (IllegalArgumentException e) {/* OK  we expect this */}
+		catch (Exception e2) {fail(e2.getMessage());}
+	}
+	
+	public void test_addElemChild() throws SAXException, IOException {
+		ConfigTree ConfigTree1 = new ConfigTree("newConfigTree");
+		ConfigTree ConfigTreeX = new ConfigTree("X",ConfigTree1);
+		new ConfigTree("Y1",ConfigTree1);
+		new ConfigTree("Y2",ConfigTreeX);
+		
+		assertEquals("<newConfigTree><X><Y2/></X><Y1/></newConfigTree>", ConfigTree1.toString().trim());
+	}
+	
+	public void test_rmvChildsByName() throws SAXException, IOException {
+		ConfigTree ConfigTree1 = new ConfigTree("newConfigTree");
+		ConfigTree ConfigTreeX = new ConfigTree("X",ConfigTree1);
+		new ConfigTree("Y1",ConfigTree1);
+		new ConfigTree("Y2",ConfigTreeX);
+		
+		assertEquals("<newConfigTree><X><Y2/></X><Y1/></newConfigTree>", ConfigTree1.toString().trim());
+		ConfigTree1.removeChildrenByName("Y1");
+		assertEquals("<newConfigTree><X><Y2/></X></newConfigTree>", ConfigTree1.toString().trim());
+	}
+	
+	public void test_cloneObj() throws SAXException, IOException {
+		ConfigTree ConfigTree1 = new ConfigTree("newConfigTree");
+		new ConfigTree("X",ConfigTree1);
+		new ConfigTree("Y",ConfigTree1);
+		
+		ConfigTree clone = ConfigTree1.cloneObj();
+		
+		assertTrue("Clone should produce a completely different object", (ConfigTree1 != clone));
+		assertEquals("Clone should produce the same XML", ConfigTree1.toString(), clone.toString());
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,94 @@
+/*
+ * 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.helpers;
+
+import java.io.IOException;
+
+import javax.mail.Address;
+import javax.mail.MessagingException;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests for the EsbEmail class.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class EmailUnitTest extends TestCase {
+
+	private ConfigTree mailParams;
+	
+	@Override
+	protected void setUp() throws Exception {
+		mailParams = ConfigTree.fromInputStream(getClass().getResourceAsStream("testfile4.xml"));
+	}
+
+	public void test_Email() throws AddressException, MessagingException, IOException {
+		// Look at the source message in testfile4.xml before reading this test.
+		
+        Email esbMail = new Email();
+        esbMail.setSendTo(mailParams.getAttribute(Email.SENDTO));
+        esbMail.setFrom(mailParams.getAttribute(Email.FROM));
+        esbMail.setCopyTo(mailParams.getAttribute(Email.COPYTO));
+        esbMail.setSubject(mailParams.getAttribute(Email.SUBJECT));
+
+        esbMail.setAttachments(mailParams.getTextChildren(Email.ATTACH));
+        esbMail.setMessage(mailParams.getAttribute(Email.MESSAGE));
+		MimeMessage message = esbMail.getMailMessage();
+		Address[] addresses;
+
+		// Check the "from" address details...
+		addresses = message.getFrom();
+		assertEquals(1, addresses.length);
+		assertEquals("x.x at x.com", addresses[0].toString());
+		
+		// Check the "to" address details...
+		addresses = message.getRecipients(MimeMessage.RecipientType.TO); 
+		assertEquals(2, addresses.length);
+		assertEquals("b.b at b.com", addresses[0].toString());
+		assertEquals("c.c at c.com", addresses[1].toString());
+		
+		// Check the "cc" address details...
+		addresses = message.getRecipients(MimeMessage.RecipientType.CC); 
+		assertEquals(2, addresses.length);
+		assertEquals("d.d at c.com", addresses[0].toString());
+		assertEquals("e.e at e.com", addresses[1].toString());
+		
+		// Check the "subject"...
+		assertEquals("Unit Test - Subject", message.getSubject());
+		
+		// Check the message body, including attachments...
+		MimeMultipart content = (MimeMultipart) message.getContent(); // expect a cast exception if it's not the expected type!
+		assertEquals(3, content.getCount()); // the message and the 2 attachments - see testfile4.xml
+		MimeBodyPart part = (MimeBodyPart) content.getBodyPart(0); // the message
+		assertEquals("Unit Test - Message", ((String)part.getContent()).trim());
+		part = (MimeBodyPart) content.getBodyPart(1); // attachement 1
+		assertEquals("attachment1.txt", ((String)part.getFileName()).trim());
+		part = (MimeBodyPart) content.getBodyPart(2); // attachement 2
+		assertEquals("attachment2.txt", ((String)part.getFileName()).trim());
+	}
+	
+	// TODO: Add some negative tests!!!
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/KeyValuePairUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/KeyValuePairUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/KeyValuePairUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,84 @@
+/*
+ * 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.helpers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+/**
+ * Unit tests for the KeyValuePair class.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class KeyValuePairUnitTest extends TestCase {
+
+	public void test_Constructor_args() {
+		try {
+			new KeyValuePair(null, "aaa");
+			fail("Expected IllegalArgumentException");
+		} catch(IllegalArgumentException e) {
+			// expected
+		}
+		try {
+			new KeyValuePair(" ", "aaa");
+			fail("Expected IllegalArgumentException");
+		} catch(IllegalArgumentException e) {
+			// expected
+		}
+		new KeyValuePair("a", "aaa");
+		new KeyValuePair("a", null);
+		new KeyValuePair("a", "");
+	}
+
+	public void test_methods() {
+		KeyValuePair kvp = new KeyValuePair("key", "value");
+		
+		assertEquals("key", kvp.getKey());
+		assertEquals("value", kvp.getValue());
+		assertEquals("value", kvp.toString());
+		assertEquals("KVpair[key=value]", kvp.dump());
+	}
+
+    public void test_list() {
+        List<KeyValuePair> list = new ArrayList<KeyValuePair>();
+        
+        list.add(new KeyValuePair("key1", "value1"));
+        list.add(new KeyValuePair("key2", "true"));
+        list.add(new KeyValuePair("key3", "false"));
+        list.add(new KeyValuePair("key4", "2"));
+        list.add(new KeyValuePair("key5", "10.8"));
+
+        assertEquals("value1", KeyValuePair.getValue("key1", list));
+        assertEquals("true", KeyValuePair.getValue("key2", list));
+        assertEquals("false", KeyValuePair.getValue("key3", list));
+        assertEquals("2", KeyValuePair.getValue("key4", list));
+
+        assertEquals(true, KeyValuePair.getBooleanValue("key2", list, false));
+        assertEquals(false, KeyValuePair.getBooleanValue("key3", list, true));
+        assertEquals(true, KeyValuePair.getBooleanValue("key1", list, true));
+
+        assertEquals(2.0, KeyValuePair.getDoubleValue("key4", list, 10.0));
+        assertEquals(10.8, KeyValuePair.getDoubleValue("key5", list, 2.0));
+        assertEquals(100.0, KeyValuePair.getDoubleValue("key1", list, 100.0));
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_01.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_01.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_01.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+<test>
+	<el index="1"/>
+	<el index="2">
+		<el index="2.1"/>
+		And some text...
+	</el>
+</test>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_02.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_02.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_02.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<test>&#10;<el index="1"/>&#10;<el index="2">&#10;<el index="2.1"/>&#10;And some text...&#10;</el>&#10;</test>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_03.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_03.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/expected_03.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<root><el index="1"/>Some root text...<el index="2">Some nested text...</el> and some more root text...</root>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConnUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConnUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConnUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,131 @@
+/*
+ * 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.helpers.persist;
+
+import static org.junit.Assert.assertTrue;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Unit tests for the JdbcCleanConn class.
+ *
+ * @author <a href="mailto:jplenhart at yahoo.com">jplenhart at yahoo.com</a>
+ */
+
+
+public class JdbcCleanConnUnitTest
+{
+
+    private static final String PERSIST_DB_DIR = System.getProperty("org.jboss.esb.test.persistdb.dir",
+    		"./core/rosetta/tests/resources/etc") ;
+    private static String mDbDriver ="org.hsqldb.jdbcDriver";
+    private static String mDbUrl = "jdbc:hsqldb:file:" + PERSIST_DB_DIR + "/persistUnitTestDB";
+    private static String mDbUsername = "sa";
+    private static String mDbPassword ="";
+
+    /**
+     * Setup the database.
+     */
+    @BeforeClass
+    public static void runBeforeAllTests()
+    {
+        try
+        {
+            HsqldbUtil.startHsqldb(PERSIST_DB_DIR + "/persistUnitTestDB", "persistUnitTestDB");
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+            System.out.println("No Database Available - Stop Testing");
+            assertTrue(false);
+        }
+
+    }
+
+
+    /**
+     *
+     * Instantiate with all Correct Parameters
+     * Using our SimpleDataSource and verify we can
+     * connect to the database
+     */
+    @Test
+    public void instantiateWithSimpleDataSource()
+    {
+        try
+        {
+            SimpleDataSource ds = new SimpleDataSource(mDbDriver, mDbUrl, mDbUsername, mDbPassword);
+            JdbcCleanConn jClnConn = new JdbcCleanConn(ds);
+            PreparedStatement pstat = jClnConn.prepareStatement("select * from message", ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
+            //Now Execute the PreparedStatement
+            ResultSet rs = jClnConn.execQueryWait(pstat,1);
+
+            if(rs.next())
+                assertTrue(true);
+            else
+                assertTrue(false);
+
+
+        }
+        catch (Exception _ex)
+        {
+            _ex.printStackTrace();
+            assertTrue(false);
+        }
+
+    }
+
+
+
+
+    /**
+     * Shutdown the database
+     *
+     * @throws Exception
+     */
+    @AfterClass
+    public static void runAfterAllTests() throws Exception
+    {
+        if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+        {
+            HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
+            System.out.println("Database Shutdown Complete");
+        }
+
+    }
+
+    public static junit.framework.Test suite()
+    {
+        return new JUnit4TestAdapter(JdbcCleanConnUnitTest.class);
+    }
+
+
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/SimpleDataSourceUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/SimpleDataSourceUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/persist/SimpleDataSourceUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,184 @@
+/*
+ * 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.helpers.persist;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Unit tests for the SimpleDataSource class.
+ *
+ * @author <a href="mailto:jplenhart at yahoo.com">jplenhart at yahoo.com</a>
+ */
+
+
+public class SimpleDataSourceUnitTest
+{
+
+    private static final String PERSIST_DB_DIR = System.getProperty("org.jboss.esb.test.persistdb.dir",
+    		"./core/rosetta/tests/resources/etc") ;
+    private static String mDbDriver ="org.hsqldb.jdbcDriver";
+    private static String mDbUrl = "jdbc:hsqldb:file:" + PERSIST_DB_DIR + "/persistUnitTestDB";
+    private static String mDbUsername = "sa";
+    private static String mDbPassword ="";
+
+    private Logger logger = Logger.getLogger(this.getClass());
+
+
+
+
+    /**
+     * Setup the database.
+     */
+    @BeforeClass
+    public static void runBeforeAllTests()
+    {
+        try
+        {
+            HsqldbUtil.startHsqldb(PERSIST_DB_DIR + "/persistUnitTestDB", "persistUnitTestDB");
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+            System.out.println("No Database Available - Stop Testing");
+            assertTrue(false);
+        }
+
+    }
+
+
+    /**
+     *
+     * Instantiate with all Correct Parameters
+     * Connect to the Database validate timeout
+     */
+    @Test
+    public void instantiateAndSetTimeout()
+    {
+        try
+        {
+            SimpleDataSource simpleDS = new SimpleDataSource(mDbDriver, mDbUrl, mDbUsername, mDbPassword);
+
+            simpleDS.setLoginTimeout(10000);
+            assertEquals(simpleDS.getLoginTimeout(),10000);
+        }
+        catch (Exception _ex)
+        {
+            logger.log(Priority.ERROR, _ex.getLocalizedMessage(), _ex);
+            assertTrue(false);
+        }
+
+    }
+
+    /**
+     *
+     * Instantiate with all Correct Parameters
+     * Connect to the Database and Run a Simple
+     * Query
+     */
+    @Test
+    public void instantiateWithCorrectParameters()
+    {
+
+        try
+        {
+            SimpleDataSource simpleDS = new SimpleDataSource(mDbDriver, mDbUrl, mDbUsername, mDbPassword);
+            // Grab the connection created and do a simple Query - we expect a result
+            Connection con = simpleDS.getConnection();
+            Statement stat = con.createStatement();
+            ResultSet rs = stat.executeQuery("select * from message");
+
+            if(rs.next())
+                assertTrue(true);
+            else
+                assertTrue(false);
+        }
+        catch (Exception _ex)
+        {
+            logger.log(Priority.ERROR, _ex.getLocalizedMessage(), _ex);
+            assertTrue(false);
+        }
+    }
+
+    /**
+     *
+     * Instantiate with InCorrect Parameters
+     * Connect to the Database - verify it errors properly
+     * by throwing an Exception
+     */
+    @Test
+    public void instantiateWithInCorrectParameters()
+    {
+
+        try
+        {
+            // Setting a Bogus Driver
+            SimpleDataSource simpleDS = new SimpleDataSource("bogusDriver", mDbUrl, mDbUsername, mDbPassword);
+            logger.log(Priority.INFO, simpleDS); 
+            assertTrue(false);
+        }
+        catch (Exception _ex)
+        {
+            // This is Expected
+            assertTrue(true);
+        }
+
+    }
+
+
+
+    /**
+     * Shutdown the database
+     *
+     * @throws Exception
+     */
+    @AfterClass
+    public static void runAfterAllTests() throws Exception
+    {
+        if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+        {
+            HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
+            System.out.println("Database Shutdown Complete");
+        }
+    }
+
+    public static junit.framework.Test suite()
+    {
+        return new JUnit4TestAdapter(SimpleDataSourceUnitTest.class);
+    }
+
+
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile1.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile1.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile1.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+<test>
+	<el index="1"/>
+	<el index="2">
+		<el index="2.1"/>
+		And some text...
+	</el>
+</test>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile2.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile2.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile2.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<test attrib1="value1" attrib2="value2" attrib3="valu3" />
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile3.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile3.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile3.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<root><el index="1"/>Some root text...<el index="2">Some nested text...</el> and some more root text...</root>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile4.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile4.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile4.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,9 @@
+<mailParams	from="x.x at x.com" 
+			sendTo="b.b at b.com,c.c at c.com" 
+			ccTo="d.d at c.com,e.e at e.com" 
+			subject="Unit Test - Subject" message="Unit Test - Message">
+			
+	<attachment>attachment1.txt</attachment>
+	<attachment>attachment2.txt</attachment>
+	
+</mailParams>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessageImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessageImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessageImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,117 @@
+package org.jboss.soa.esb.message.format.tests;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Attachment;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Context;
+import org.jboss.soa.esb.message.Fault;
+import org.jboss.soa.esb.message.Header;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Properties;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Used to plug in new message formats dynamically. Each plugin is responsible for
+ * returning a message implementation that knows how to serialize its state in a
+ * specific manner, e.g., XML or ASN.1.
+ *  
+ * @author Mark Little
+ *
+ */
+
+public class ExampleMessageImpl implements Message
+{
+	
+	/**
+	 * @return get the header component of the message.
+	 */
+	
+	public Header getHeader ()
+	{
+		return null;
+	}
+
+	/**
+	 * @return get the context component of the message.
+	 */
+	
+	public Context getContext ()
+	{
+		return null;
+	}
+	
+	/**
+	 * @return get the body component of the message.
+	 */
+	
+	public Body getBody ()
+	{
+		return null;
+	}
+
+	/**
+	 * @return get any faults associated with the message. These should not
+	 * be application level faults, but comms level.
+	 */
+	
+	public Fault getFault ()
+	{
+		return null;
+	}
+	
+	/**
+	 * @return get any message attachments.
+	 */
+	
+	public Attachment getAttachment ()
+	{
+		return null;
+	}
+	/**
+	 * @return get any message properties 
+	 */	
+	public Properties getProperties() 
+	{
+		return null;
+	}
+	
+	/**
+	 * @return the type of this message.
+	 */
+	
+	public URI getType ()
+	{
+		try
+		{
+			return new URI(ExampleMessagePlugin.URN);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			return null;
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessagePlugin.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessagePlugin.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/ExampleMessagePlugin.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,69 @@
+package org.jboss.soa.esb.message.format.tests;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessagePlugin;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+/**
+ * Used to plug in new message formats dynamically. Each plugin is responsible for
+ * returning a message implementation that knows how to serialize its state in a
+ * specific manner, e.g., XML or ASN.1.
+ *  
+ * @author Mark Little
+ *
+ */
+
+public class ExampleMessagePlugin implements MessagePlugin
+{
+	
+	public static final String URN = "foobar";
+	
+	/**
+	 * @return the message instance.
+	 */
+	
+	public Message getMessage ()
+	{
+		return new ExampleMessageImpl();
+	}
+	
+	/**
+	 * @return the unique identifier for this message plugin.
+	 */
+	
+	public URI getType ()
+	{
+		try
+		{
+			return new URI(URN);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			return null;
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/MessageFactoryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/MessageFactoryUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/format/tests/MessageFactoryUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,131 @@
+/*
+ * 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.message.format.tests;
+
+import java.net.URI;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessagePlugin;
+import org.jboss.soa.esb.message.format.MessageType;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class MessageFactoryUnitTest extends TestCase
+{
+	public void testDefaultMessage ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage();
+		
+		assertEquals((msg != null), true);
+	}
+	
+	public void testURIMessage ()
+	{
+		Message msg1 = MessageFactory.getInstance().getMessage(MessageType.DEFAULT_TYPE);
+		Message msg2 = MessageFactory.getInstance().getMessage();
+		
+		assertEquals(msg1.getType().equals(msg2.getType()), true);
+		
+		Message msg3 = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+		
+		assertEquals(msg1.getType().equals(msg3.getType()), false);
+	}
+	
+	public void testInvalidURIMessage ()
+	{
+		try
+		{
+			Message msg = MessageFactory.getInstance().getMessage(new URI("urn:foo"));
+			
+			assertEquals((msg == null), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testNullURIMessage ()
+	{
+		try
+		{
+			@SuppressWarnings("unused")
+			Message msg = MessageFactory.getInstance().getMessage(null);
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+			// success
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testNullURIConvertMessage ()
+	{
+		try
+		{
+			@SuppressWarnings("unused")
+			Message msg = MessageFactory.getInstance().getMessage(null, null);
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+			// success
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testPlugin ()
+	{
+		System.setProperty(MessagePlugin.MESSAGE_PLUGIN+"1", ExampleMessagePlugin.class.getName());
+		
+		MessageFactory.getInstance().reset();
+		
+		try
+		{
+			URI uri = new URI(ExampleMessagePlugin.URN);
+			Message msg = MessageFactory.getInstance().getMessage(uri);
+
+			assertEquals(msg.getType().equals(uri), true);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/AttachmentUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/AttachmentUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/AttachmentUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,207 @@
+/*
+ * 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.message.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.StringWriter;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
+import org.jboss.soa.esb.message.Attachment;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.w3c.dom.Document;
+
+import com.sun.org.apache.xml.internal.serialize.OutputFormat;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class AttachmentUnitTest extends TestCase
+{
+
+	public void testSerializeAttachment()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		Attachment at = msg.getAttachment();
+
+		assertEquals((msg != null), true);
+
+		at.addItem(new ExampleObject(0)); // un-named
+		at.addItemAt(0, new ExampleObject(0)); // un-named;
+
+		try
+		{
+			at.addItem(new Object());
+
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+
+		assertEquals(at.getUnnamedCount(), 2);
+
+		assertEquals(at.get("foo"), null);
+
+		at.put("foobar", new ExampleObject(1));
+
+		assertEquals(at.getNamedCount(), 1);
+
+		at.addItem(new ExampleObject(1));
+		at.addItem(new ExampleObject(2));
+
+		assertEquals((at.getNames() != null), true);
+
+		assertEquals((at.removeItemAt(0) != null), true);
+
+		at.replaceItemAt(0, new ExampleObject(2));
+
+		int count = at.getUnnamedCount();
+
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+
+			o.writeObject(msg);
+			o.close();
+
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+
+			assertEquals(nImpl.getAttachment().getUnnamedCount(), count);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+	public void testXMLAttachment()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertEquals((msg != null), true);
+
+		Attachment at = msg.getAttachment();
+
+		assertEquals((msg != null), true);
+
+		at.addItem(new ExampleObject(0)); // un-named
+		at.addItemAt(0, new ExampleObject(0)); // un-named;
+
+		try
+		{
+			at.addItem(new Object());
+
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+
+		assertEquals(at.getUnnamedCount(), 2);
+
+		assertEquals(at.get("foo"), null);
+
+		at.put("foobar", new ExampleObject(1));
+
+		assertEquals(at.getNamedCount(), 1);
+
+		at.addItem(new ExampleObject(1));
+		at.addItem(new ExampleObject(2));
+
+		assertEquals((at.getNames() != null), true);
+
+		assertEquals((at.removeItemAt(0) != null), true);
+
+		at.replaceItemAt(0, new ExampleObject(2));
+
+		int count = at.getUnnamedCount();
+
+		try
+		{
+			DocumentBuilderFactory factory = DocumentBuilderFactory
+					.newInstance();
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.newDocument();
+			org.jboss.internal.soa.esb.message.format.xml.MessageImpl theImpl = (org.jboss.internal.soa.esb.message.format.xml.MessageImpl) msg;
+
+			doc = theImpl.toXML(doc);
+
+			StringWriter sWriter = new StringWriter();
+			OutputFormat format = new OutputFormat();
+			format.setIndenting(true);
+
+			XMLSerializer xmlS = new XMLSerializer(sWriter, format);
+
+			xmlS.asDOMSerializer();
+			xmlS.serialize(doc);
+
+			String documentAsString = sWriter.toString();
+
+			System.err.println("Message looks like: " + documentAsString);
+
+			org.jboss.internal.soa.esb.message.format.xml.MessageImpl nImpl = new org.jboss.internal.soa.esb.message.format.xml.MessageImpl();
+
+			nImpl.fromXML(doc);
+
+			assertEquals(nImpl.getAttachment().getUnnamedCount(), count);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/BodyUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/BodyUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/BodyUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,227 @@
+/*
+ * 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.message.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.StringWriter;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.message.format.xml.MessageImpl;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.w3c.dom.Document;
+
+import com.sun.org.apache.xml.internal.serialize.OutputFormat;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class BodyUnitTest extends TestCase
+{
+
+	public void testXMLAddString ()
+	{
+		// get XML message
+
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			msg.getBody().add("foo", "bar");
+			
+			assertEquals(msg.getBody().get("foo"), "bar");
+			
+			DocumentBuilderFactory factory = DocumentBuilderFactory
+					.newInstance();
+			
+			factory.setNamespaceAware(true);
+			
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.newDocument();
+			MessageImpl theImpl = (MessageImpl) msg;
+
+			doc = theImpl.toXML(doc);
+
+			StringWriter sWriter = new StringWriter();
+			OutputFormat format = new OutputFormat();
+			format.setIndenting(true);
+
+			XMLSerializer xmlS = new XMLSerializer(sWriter, format);
+
+			xmlS.asDOMSerializer();
+			xmlS.serialize(doc);
+
+			String documentAsString = sWriter.toString();
+
+			MessageImpl nImpl = new MessageImpl();
+
+			System.err.println("Document is "+documentAsString);
+			
+			nImpl.fromXML(doc);
+			
+			assertEquals(nImpl.getBody().get("foo"), "bar");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testXMLAddBoolean ()
+	{
+		// get XML message
+
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			msg.getBody().add("foo", new Boolean(true));
+			
+			assertEquals(msg.getBody().get("foo"), new Boolean(true));
+			
+			DocumentBuilderFactory factory = DocumentBuilderFactory
+					.newInstance();
+			factory.setNamespaceAware(true);
+			
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.newDocument();
+			MessageImpl theImpl = (MessageImpl) msg;
+
+			doc = theImpl.toXML(doc);
+
+			StringWriter sWriter = new StringWriter();
+			OutputFormat format = new OutputFormat();
+			format.setIndenting(true);
+
+			XMLSerializer xmlS = new XMLSerializer(sWriter, format);
+
+			xmlS.asDOMSerializer();
+			xmlS.serialize(doc);
+
+			String documentAsString = sWriter.toString();
+
+			MessageImpl nImpl = new MessageImpl();
+
+			System.err.println("Document is "+documentAsString);
+			
+			nImpl.fromXML(doc);
+			
+			assertEquals(nImpl.getBody().get("foo"), new Boolean(true));
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSerializedAddString ()
+	{
+		// get XML message
+
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			msg.getBody().add("foo", "bar");
+			
+			assertEquals(msg.getBody().get("foo"), "bar");
+			
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+			
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			org.jboss.internal.soa.esb.message.format.serialized.MessageImpl nImpl = (org.jboss.internal.soa.esb.message.format.serialized.MessageImpl) io.readObject();
+			
+			o.close();
+
+			assertEquals(nImpl.getBody().get("foo"), "bar");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSerializedAddBoolean ()
+	{
+		// get XML message
+
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			msg.getBody().add("foo", new Boolean(true));
+			
+			assertEquals(msg.getBody().get("foo"), new Boolean(true));
+			
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+			
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			org.jboss.internal.soa.esb.message.format.serialized.MessageImpl nImpl = (org.jboss.internal.soa.esb.message.format.serialized.MessageImpl) io.readObject();
+			
+			assertEquals(nImpl.getBody().get("foo"), new Boolean(true));
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/ExampleObject.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/ExampleObject.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/ExampleObject.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,49 @@
+/*
+ * 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.message.tests;
+
+import java.io.Serializable;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class ExampleObject implements Serializable
+{
+	private static final long serialVersionUID = 0x0;
+
+	public ExampleObject (long val)
+	{
+		value = val;
+	}
+	
+	public long getValue ()
+	{
+		return value;
+	}
+	
+	private long value;
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/FaultUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/FaultUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/FaultUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,143 @@
+/*
+ * 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.message.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.StringWriter;
+import java.net.URI;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.w3c.dom.Document;
+
+import com.sun.org.apache.xml.internal.serialize.OutputFormat;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class FaultUnitTest extends TestCase
+{
+
+	public void testSerializeFault ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			URI code = new URI("urn:code");
+		
+			msg.getFault().setCode(code);
+			msg.getFault().setReason("because");
+			
+			assertEquals(msg.getFault().getCode(), code);
+			assertEquals(msg.getFault().getReason(), "because");
+
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+
+			o.writeObject(msg);
+			o.close();
+
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+
+			assertEquals(nImpl.getFault().getReason(), "because");
+			
+			o.close();
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+	public void testXMLFault ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			URI code = new URI("urn:code");
+			
+			msg.getFault().setCode(code);
+			msg.getFault().setReason("because");
+			
+			assertEquals(msg.getFault().getCode(), code);
+			assertEquals(msg.getFault().getReason(), "because");
+		
+			DocumentBuilderFactory factory = DocumentBuilderFactory
+					.newInstance();
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.newDocument();
+			org.jboss.internal.soa.esb.message.format.xml.MessageImpl theImpl = (org.jboss.internal.soa.esb.message.format.xml.MessageImpl) msg;
+
+			doc = theImpl.toXML(doc);
+
+			StringWriter sWriter = new StringWriter();
+			OutputFormat format = new OutputFormat();
+			format.setIndenting(true);
+
+			XMLSerializer xmlS = new XMLSerializer(sWriter, format);
+
+			xmlS.asDOMSerializer();
+			xmlS.serialize(doc);
+
+			String documentAsString = sWriter.toString();
+
+			System.err.println("Message looks like: " + documentAsString);
+			
+			org.jboss.internal.soa.esb.message.format.xml.MessageImpl nImpl = new org.jboss.internal.soa.esb.message.format.xml.MessageImpl();
+			
+			nImpl.fromXML(doc);
+
+			assertEquals(nImpl.getFault().getReason(), "because");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/MessageUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/MessageUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/MessageUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+/*
+ * 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.message.tests;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class MessageUnitTest extends TestCase
+{
+	
+	public void testDefaultMessageFields ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage();
+		
+		assertEquals((msg.getBody() != null), true);
+		assertEquals((msg.getHeader() != null), true);
+		assertEquals((msg.getContext() != null), true);
+		assertEquals((msg.getAttachment() != null), true);
+		assertEquals((msg.getFault() != null), true);
+		assertEquals((msg.getProperties() != null), true);
+	}
+	
+	public void testXMLMessageFields ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+		
+		assertEquals((msg.getBody() != null), true);
+		assertEquals((msg.getHeader() != null), true);
+		assertEquals((msg.getContext() != null), true);
+		assertEquals((msg.getAttachment() != null), true);
+		assertEquals((msg.getFault() != null), true);
+		assertEquals((msg.getProperties() != null), true);
+	}
+	
+	public void testSerializedMessageFields ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+		
+		assertEquals((msg.getBody() != null), true);
+		assertEquals((msg.getHeader() != null), true);
+		assertEquals((msg.getContext() != null), true);
+		assertEquals((msg.getAttachment() != null), true);
+		assertEquals((msg.getFault() != null), true);
+		assertEquals((msg.getProperties() != null), true);
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/PropertiesUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/PropertiesUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/PropertiesUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,161 @@
+/*
+ * 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.message.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.w3c.dom.Document;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class PropertiesUnitTest extends TestCase
+{
+
+	public void testSerializeProperties()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		msg.getProperties().setProperty("foo", "bar");
+
+		assertEquals(msg.getProperties().getProperty("foo"), "bar");
+		assertEquals((msg.getProperties().getProperty("foobar") == null), true);
+
+		assertEquals(msg.getProperties().getProperty("foobar", "barfoo"),
+				"barfoo");
+
+		try
+		{
+			msg.getProperties().setProperty("1234", new Object());
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+		
+		msg.getProperties().getNames();
+		
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+
+			o.writeObject(msg);
+			o.close();
+
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+
+			assertEquals(nImpl.getProperties().getProperty("foo"), "bar");
+
+			o.close();
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+
+		assertEquals(msg.getProperties().remove("foo"), "bar");
+	}
+
+	public void testXMLProperties()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertEquals((msg != null), true);
+
+		msg.getProperties().setProperty("foo", "bar");
+
+		assertEquals(msg.getProperties().getProperty("foo"), "bar");
+		assertEquals((msg.getProperties().getProperty("foobar") == null), true);
+
+		assertEquals(msg.getProperties().getProperty("foobar", "barfoo"),
+				"barfoo");
+
+		try
+		{
+			msg.getProperties().setProperty("1234", new Object());
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+		
+		msg.getProperties().getNames();
+		
+		try
+		{
+			DocumentBuilderFactory factory = DocumentBuilderFactory
+					.newInstance();
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.newDocument();
+			org.jboss.internal.soa.esb.message.format.xml.MessageImpl theImpl = (org.jboss.internal.soa.esb.message.format.xml.MessageImpl) msg;
+
+			doc = theImpl.toXML(doc);
+
+			org.jboss.internal.soa.esb.message.format.xml.MessageImpl nImpl = new org.jboss.internal.soa.esb.message.format.xml.MessageImpl();
+			
+			nImpl.fromXML(doc);
+
+			assertEquals(nImpl.getProperties().getProperty("foo"), "bar");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+
+		assertEquals(msg.getProperties().remove("foo"), "bar");
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,667 @@
+/*
+ * 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.message.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.message.format.serialized.MessageImpl;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class SerializedMessageUnitTest extends TestCase
+{
+
+	public void testSerialize()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+		
+	}
+
+	public void testDeserialize()
+	{
+		// get XML message
+
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+			
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			@SuppressWarnings("unused")
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testHeader ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		Call call = new Call();
+
+		msg.getHeader().setCall(call);
+		
+		call = msg.getHeader().getCall();
+		
+		assertEquals((call != null), true);
+		
+		try
+		{
+			msg.getHeader().setCall(null);
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testInvalidAdd ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+		
+		try
+		{
+			msg.getBody().add(null, null);
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+	public void testAddBytes ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+		
+		String testString = "test";
+		
+		msg.getBody().setContents(testString.getBytes());
+		
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+			
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			String val = new String(nImpl.getBody().getContents());
+			
+			assertEquals(val, testString);
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testReplace ()
+	{
+		Message msg1 = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg1 != null), true);
+		
+		String foo = "foo";
+		
+		Message msg2 = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg2 != null), true);
+		
+		String bar = "bar";
+		
+		msg1.getBody().setContents(foo.getBytes());
+		msg2.getBody().setContents(bar.getBytes());
+		
+		msg1.getBody().replace(msg2.getBody());
+		
+		String foobar = new String(msg1.getBody().getContents());
+		
+		assertEquals(foobar.equals("bar"), true);
+	}
+	
+	public void testMerge ()
+	{
+		Message msg1 = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg1 != null), true);
+		
+		String foo = "foo";
+		
+		Message msg2 = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg2 != null), true);
+		
+		String bar = "bar";
+		
+		msg1.getBody().setContents(foo.getBytes());
+		msg2.getBody().setContents(bar.getBytes());
+		
+		msg1.getBody().merge(msg2.getBody());
+		
+		String foobar = new String(msg1.getBody().getContents());
+		
+		assertEquals(foobar, "foobar");
+	}
+	
+	public void testAddObjects ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+		
+		ExampleObject value = new ExampleObject(1234);
+		
+		msg.getBody().add("foo", value);
+		
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+			
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			ExampleObject foo = (ExampleObject) nImpl.getBody().get("foo");
+			
+			assertEquals((foo.getValue() == value.getValue()), true);
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testGetNames ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+		
+		ExampleObject value = new ExampleObject(1234);
+		
+		msg.getBody().add("foo", value);
+		msg.getBody().add("bar", value);
+		
+		String[] names = msg.getBody().getNames();
+		
+		assertNotNull(names);
+		
+		assertEquals(names.length, 2);
+		
+		/*
+		 * The array comes back ordered alphabetically.
+		 */
+		
+		assertEquals(names[0], "bar");
+		assertEquals(names[1], "foo");
+		
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+			
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			ExampleObject foo = (ExampleObject) nImpl.getBody().get("foo");
+			
+			assertEquals((foo.getValue() == value.getValue()), true);
+			
+			names = nImpl.getBody().getNames();
+			
+			assertNotNull(names);
+			
+			assertEquals(names.length, 2);
+			assertEquals(names[0], "foo");
+			assertEquals(names[1], "bar");
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testAddInvalidObject ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+
+		try
+		{
+			msg.getBody().add("foo", new Object());
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testRemoveObjects ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+
+		assertEquals((msg != null), true);
+		
+		ExampleObject value = new ExampleObject(1234);
+		
+		msg.getBody().add("bar", value);
+		
+		msg.getBody().remove("bar");
+		
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+			
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			ExampleObject foo = (ExampleObject) nImpl.getBody().get("bar");
+			
+			assertEquals((foo == null), true);
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}	
+	}
+	
+	public void testJmsEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+		JMSEpr epr = new JMSEpr(JMSEpr.TOPIC_TYPE, "foo", "bar");
+		
+		msg.getHeader().getCall().setTo(epr);
+		
+		try
+		{
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+		
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+
+			assertEquals(theEpr instanceof JMSEpr, true);
+			
+			assertEquals(((JMSEpr) theEpr).getConnectionFactory(), "bar");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testHttpEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+
+		try
+		{
+			HTTPEpr epr = new HTTPEpr("http://www.foo.bar");
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+		
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+
+			assertEquals(theEpr instanceof HTTPEpr, true);
+			
+			assertEquals(((HTTPEpr) theEpr).getURL().toString(), "http://www.foo.bar");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testEmailEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+
+		try
+		{
+			EmailEpr epr = new EmailEpr(EmailEpr.SMTP_PROTOCOL, "foo.bar", "25", "me", "password");
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+		
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+
+			assertEquals(theEpr instanceof EmailEpr, true);
+			
+			assertEquals(((EmailEpr) theEpr).getPassword(), "password");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testFtpEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+
+		try
+		{
+			FTPEpr epr = new FTPEpr("http://www.foo.bar");
+			
+			epr.setPassive(true);
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+		
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+
+			assertEquals(theEpr instanceof FTPEpr, true);
+			
+			assertEquals(((FTPEpr) theEpr).getPassive(), true);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testJdbcEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+
+		try
+		{
+			JDBCEpr epr = new JDBCEpr("http://www.foo.bar", "SOME FAKE SQL");
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+		
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+
+			assertEquals(theEpr instanceof JDBCEpr, true);
+			
+			assertEquals(((JDBCEpr) theEpr).getSQL(), "SOME FAKE SQL");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testFileEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+
+		try
+		{
+			FileEpr epr = new FileEpr("file://tmp/bar.txt");
+			
+			epr.setErrorDelete(true);
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+		
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+
+			assertEquals(theEpr instanceof FileEpr, true);
+			
+			assertEquals(((FileEpr) theEpr).getErrorDelete(), true);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSFtpEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+
+		try
+		{
+			SFTPEpr epr = new SFTPEpr(new URL("http://www.foo.bar"), new URL("http://www.bar.foo"));
+
+			assertEquals(epr.getCertificateURL().toString(), "http://www.bar.foo");
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			ByteArrayOutputStream s = new ByteArrayOutputStream();
+			ObjectOutputStream o = new ObjectOutputStream(s);
+	
+			o.writeObject(msg);
+			o.close();
+		
+			ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+			ObjectInputStream io = new ObjectInputStream(is);
+
+			MessageImpl nImpl = (MessageImpl) io.readObject();
+			
+			o.close();
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+
+			assertEquals(theEpr instanceof SFTPEpr, true);
+			
+			assertEquals(((SFTPEpr) theEpr).getCertificateURL().toString(), "http://www.bar.foo");
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,590 @@
+/*
+ * 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.message.tests;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.net.URL;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.message.format.xml.MessageImpl;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.EmailEpr;
+import org.jboss.soa.esb.addressing.eprs.FTPEpr;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.addressing.eprs.HTTPEpr;
+import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.addressing.eprs.SFTPEpr;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+
+import com.sun.org.apache.xml.internal.serialize.OutputFormat;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
+/**
+ * Unit tests for the Class class.
+ * 
+ * @author Mark Little
+ */
+
+public class XMLMessageUnitTest extends TestCase
+{
+
+	public void testToXML()
+	{
+		// get XML message
+
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg);
+
+		try
+		{
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+
+			System.err.println("Message looks like: " + xmlRepresentation);
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+	public void testFromXML()
+	{
+		// get XML message
+
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg);
+
+		try
+		{
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			@SuppressWarnings("unused")
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+	public void testHeader ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg);
+
+		Call call = new Call();
+
+		msg.getHeader().setCall(call);
+		
+		call = msg.getHeader().getCall();
+		
+		assertNotNull("message call", call);
+		
+		try
+		{
+			msg.getHeader().setCall(null);
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+
+	public void testInvalidAdd ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg);
+		
+		try
+		{
+			msg.getBody().add(null, null);
+			
+			fail();
+		}
+		catch (IllegalArgumentException ex)
+		{
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testAddBytes ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg);
+		
+		String testString = "test";
+		
+		msg.getBody().setContents(testString.getBytes());
+		
+		try
+		{
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			String val = new String(nImpl.getBody().getContents());
+			
+			assertEquals(val, testString);
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testReplace ()
+	{
+		Message msg1 = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg1);
+		
+		String foo = "foo";
+		
+		Message msg2 = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("second created message", msg2);
+		
+		String bar = "bar";
+		
+		msg1.getBody().setContents(foo.getBytes());
+		msg2.getBody().setContents(bar.getBytes());
+		
+		msg1.getBody().replace(msg2.getBody());
+		
+		String foobar = new String(msg1.getBody().getContents());
+		
+		assertEquals(foobar, "bar");
+	}
+	
+	public void testMerge ()
+	{
+		Message msg1 = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg1);
+		
+		String foo = "foo";
+		
+		Message msg2 = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("second created message", msg2);
+		
+		String bar = "bar";
+		
+		msg1.getBody().setContents(foo.getBytes());
+		msg2.getBody().setContents(bar.getBytes());
+		
+		msg1.getBody().merge(msg2.getBody());
+		
+		String foobar = new String(msg1.getBody().getContents());
+		
+		assertEquals(foobar, "foobar");
+	}
+	
+	public void testAddObjects ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg);
+		
+		ExampleObject value = new ExampleObject(1234);
+		
+		msg.getBody().add("foo", value);
+		
+		try
+		{
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			ExampleObject foo = (ExampleObject) nImpl.getBody().get("foo");
+			
+			assertNotNull("deserialised example object", foo) ;
+			
+			assertEquals((foo.getValue() == value.getValue()), true);
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testGetNames ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg);
+		
+		ExampleObject value = new ExampleObject(1234);
+		
+		msg.getBody().add("foo", value);
+		msg.getBody().add("bar", value);
+		
+		String[] names = msg.getBody().getNames();
+		
+		assertNotNull(names);
+		
+		assertEquals(names.length, 2);
+		
+		/*
+		 * The array comes back ordered alphabetically.
+		 */
+		
+		assertEquals(names[0], "bar");
+		assertEquals(names[1], "foo");
+		
+		try
+		{
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			ExampleObject foo = (ExampleObject) nImpl.getBody().get("foo");
+			
+			assertNotNull("deserialised example object", foo) ;
+			
+			assertEquals((foo.getValue() == value.getValue()), true);
+			
+			names = nImpl.getBody().getNames();
+			
+			assertNotNull(names);
+			
+			assertEquals(names.length, 2);	
+			
+			/*
+			 * The array comes back ordered alphabetically.
+			 */
+			
+			assertEquals(names[0], "bar");
+			assertEquals(names[1], "foo");
+		}
+		catch (Exception ex)
+		{
+			fail(ex.toString());
+		}
+	}
+	
+	public void testRemoveObjects ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+
+		assertNotNull("created message", msg);
+		
+		ExampleObject value = new ExampleObject(1234);
+		
+		msg.getBody().add("bar", value);
+		
+		msg.getBody().remove("bar");
+		
+		try
+		{
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			ExampleObject foo = (ExampleObject) nImpl.getBody().get("bar");
+			
+			assertNull("deserialised example object", foo);
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}	
+	}
+	
+	public void testJmsEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+		JMSEpr epr = new JMSEpr(JMSEpr.TOPIC_TYPE, "foo", "bar");
+		
+		msg.getHeader().getCall().setTo(epr);
+		
+		try
+		{
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+			
+			assertEquals(theEpr instanceof JMSEpr, true);
+			
+			assertEquals(((JMSEpr) theEpr).getConnectionFactory(), "bar");
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testHttpEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+
+		try
+		{
+			HTTPEpr epr = new HTTPEpr("http://www.foo.bar");
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+			
+			assertEquals(theEpr instanceof HTTPEpr, true);
+			
+			assertEquals(((HTTPEpr) theEpr).getURL().toString(), "http://www.foo.bar");
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testEmailEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+
+		try
+		{
+			EmailEpr epr = new EmailEpr(EmailEpr.SMTP_PROTOCOL, "foo.bar", "25", "me", "password");
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+			
+			assertEquals(theEpr instanceof EmailEpr, true);
+			
+			assertEquals(((EmailEpr) theEpr).getPassword(), "password");
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testFtpEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+
+		try
+		{
+			FTPEpr epr = new FTPEpr("http://www.foo.bar");
+			
+			epr.setPassive(true);
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+			
+			assertEquals(theEpr instanceof FTPEpr, true);
+			
+			assertEquals(((FTPEpr) theEpr).getPassive(), true);
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testJdbcEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+
+		try
+		{
+			JDBCEpr epr = new JDBCEpr("http://www.foo.bar", "SOME FAKE SQL");
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+			
+			assertEquals(theEpr instanceof JDBCEpr, true);
+			
+			assertEquals(((JDBCEpr) theEpr).getSQL(), "SOME FAKE SQL");
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testFileEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+
+		try
+		{
+			FileEpr epr = new FileEpr("file://tmp/bar.txt");
+			
+			epr.setErrorDelete(true);
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+			
+			assertEquals(theEpr instanceof FileEpr, true);
+			
+			assertEquals(((FileEpr) theEpr).getErrorDelete(), true);
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	public void testSFtpEPRType ()
+	{
+		Message msg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+
+		try
+		{
+			SFTPEpr epr = new SFTPEpr(new URL("http://www.foo.bar"), new URL("http://www.bar.foo"));
+
+			assertEquals(epr.getCertificateURL().toString(), "http://www.bar.foo");
+			
+			msg.getHeader().getCall().setTo(epr);
+			
+			final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+			System.err.println("Document is "+xmlRepresentation);
+			
+			final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+			
+			EPR theEpr = nImpl.getHeader().getCall().getTo();
+			
+			assertEquals(theEpr instanceof SFTPEpr, true);
+			
+			assertEquals(((SFTPEpr) theEpr).getCertificateURL().toString(), "http://www.bar.foo");
+		}
+		catch (Exception ex)
+		{			
+			fail(ex.toString());
+		}
+	}
+	
+	private String msgToXML(final MessageImpl msg)
+		throws Exception
+	{
+		final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance() ;
+		
+		factory.setNamespaceAware(true);
+		
+		final DocumentBuilder builder = factory.newDocumentBuilder() ;
+		Document doc = builder.newDocument() ;
+		
+		doc = msg.toXML(doc) ;
+		
+		final StringWriter sWriter = new StringWriter() ;
+		final OutputFormat format = new OutputFormat() ;
+		format.setIndenting(true) ;
+
+		final XMLSerializer xmlS = new XMLSerializer(sWriter, format) ;
+
+		xmlS.asDOMSerializer() ;
+		xmlS.serialize(doc) ;
+
+		return sWriter.toString() ;
+	}
+	
+	private MessageImpl msgFromXML(final String xmlRepresentation)
+		throws Exception
+	{
+		final StringReader stringReader = new StringReader(xmlRepresentation) ;
+		final InputSource inputSource = new InputSource(stringReader) ;
+		
+		final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance() ;
+		
+		factory.setNamespaceAware(true);
+		
+		final DocumentBuilder builder = factory.newDocumentBuilder() ;
+		final Document doc = builder.parse(inputSource) ;
+
+		final MessageImpl message = new MessageImpl() ;
+		message.fromXML(doc) ;
+		return message ;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.soa.esb.notification;
+
+import java.util.HashMap;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.notification.MacroExpander;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * MacroExpander unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MacroExpanderUnitTest extends TestCase {
+
+	public void testReplaceMacros() {
+		ConfigTree rootDomEl = new ConfigTree("rootEl");
+		HashMap<String, String> map = new HashMap<String, String>();
+		
+		ConfigTree childDomEl = new ConfigTree("childEl",rootDomEl);
+		rootDomEl.setAttribute("attrb1", "value1");
+		rootDomEl.setAttribute("attrb2", MacroExpander.CTX_BATCH_NUM + "BatchNumValue");
+		childDomEl.setAttribute("attrb1", MacroExpander.CTX_BATCH_UID + "UIDValue");
+		map.put(MacroExpander.CTX_BATCH_NUM, "ReplacementBNV!");
+		map.put(MacroExpander.CTX_BATCH_UID, "ReplacementUIDV!");
+		
+		MacroExpander.replaceMacros(rootDomEl, map);
+		String expected = new String(StreamUtils.readStream(getClass().getResourceAsStream("MacroExpanderUnitTest_expected1.xml")));
+		assertEquals(expected.trim(), rootDomEl.toString().trim());
+	}	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest_expected1.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest_expected1.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest_expected1.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<rootEl attrb1="value1" attrb2="ReplacementBNV!BatchNumValue"><childEl attrb1="ReplacementUIDV!UIDValue"/></rootEl>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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.notification;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * NotificationList unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class NotificationListUnitTest extends TestCase {
+
+	public void test_NotificationList() throws Exception {
+		ConfigTree domEl = ConfigTree.fromInputStream(getClass().getResourceAsStream("NotificationListUnitTest_testfile1.xml"));
+		NotificationList nList = new NotificationList(domEl);
+		
+		List<String> messageList = new ArrayList<String>();
+		TestNotificationTarget1.messageList = messageList; 
+		TestNotificationTarget2.messageList = messageList;
+		
+		nList.sendNotification("tom");
+		assertEquals(4, messageList.size());
+		assertEquals("message 1-tom", messageList.get(0));
+		assertEquals("message 2-tom", messageList.get(1));
+		assertEquals("message 3-tom", messageList.get(2));
+		assertEquals("message 4-tom", messageList.get(3));
+	}
+	
+	public void test_assertionMethods() throws Exception {
+		ConfigTree domEl;
+		NotificationList nList;
+		
+		domEl = new ConfigTree("notif");
+		nList = new NotificationList(domEl);
+		assertTrue(nList.isOK());
+		assertTrue(nList.isErr());
+		// REVIEW: Is this behavior OK??  Can be OK and Err at the same time!!
+		
+		domEl = new ConfigTree("notif");
+		domEl.setAttribute(NotificationList.TYPE, "ok");
+		nList = new NotificationList(domEl);
+		assertTrue(nList.isOK());
+		assertTrue(!nList.isErr());
+
+		domEl = new ConfigTree("notif");
+		domEl.setAttribute(NotificationList.TYPE, "err");
+		nList = new NotificationList(domEl);
+		assertTrue(!nList.isOK());
+		assertTrue(nList.isErr());
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest_testfile1.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest_testfile1.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest_testfile1.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+<notif type="ok">
+	<target class="TestNotificationTarget1" message="message 1" />
+	<target class="TestNotificationTarget1" message="message 2" />
+	<target class="TestNotificationTarget2" message="message 3" />
+	<target class="TestNotificationTarget2" message="message 4" />
+</notif>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyEmailUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyEmailUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyEmailUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+/*
+ * 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.notification;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.AddressException;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.Email;
+
+/**
+ * NotifyEmail unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class NotifyEmailUnitTest extends TestCase {
+
+	public void test_NotifyEmail() throws Exception {
+		ConfigTree emailMessageEl = new ConfigTree("email");
+		
+		emailMessageEl.setAttribute(Email.FROM, "a.b at c.com");
+		emailMessageEl.setAttribute(Email.SENDTO, "d.e at f.com");
+		emailMessageEl.setAttribute(Email.COPYTO, "g.h at i.com");
+		emailMessageEl.setAttribute(Email.MESSAGE, "Hi there!!!");
+		
+		NotifyEmail ne = new TestNotifyEmail(emailMessageEl);
+		ne.sendNotification("Hello");
+	}
+	
+	private class TestNotifyEmail extends NotifyEmail {
+		public TestNotifyEmail(ConfigTree p_oP) throws Exception {
+			super(p_oP);
+		}
+		protected void sendEmailNotification(ConfigTree messageParams) throws AddressException, MessagingException {
+			assertEquals("Hi there!!!\nHello", messageParams.getAttribute(Email.MESSAGE));
+		}		
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyFilesUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyFilesUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyFilesUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,124 @@
+/*
+ * 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.notification;
+
+import java.io.File;
+import java.io.Serializable;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * NotifyFiles unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class NotifyFilesUnitTest extends TestCase {
+	
+	public void test_BadFolderInfo() throws Exception {
+		ConfigTree rootEl = new ConfigTree("notif");
+		ConfigTree fileEl = new ConfigTree("file",rootEl);
+			
+		// No file attribute defined on the ConfigTree
+		try {
+			new NotifyFiles(rootEl);
+			fail("Expected IllegalArgumentException");
+		} catch(IllegalArgumentException e) {
+			// Expected
+		}
+		// File attribute defined on the ConfigTree, but parent folder doesn't exist...
+		fileEl.setAttribute("URI", new File("./").toURI().toString() + "/xyzzyx/a.txt");
+		try {
+			new NotifyFiles(rootEl);
+			fail("Expected IllegalArgumentException");
+		} catch(IllegalArgumentException e) {
+			// Expected
+		}
+	}
+	
+	public void test_StringObj() throws Exception {
+		sendNotification("Hello");
+	}
+
+	public void test_NonStringObj() throws Exception {
+		sendNotification(new Integer(1234));
+	}
+	
+	public void sendNotification(Serializable obj) throws Exception {
+		ConfigTree rootEl = new ConfigTree("notif");
+		NotifyFiles notifyFiles;
+		
+		// Add the file configs to the config DOM for 4 files...
+		addFileConfig(rootEl, "file1.notif", true);
+		addFileConfig(rootEl, "file2.notif", true);
+		addFileConfig(rootEl, "file3.notif", false);
+		addFileConfig(rootEl, "file4.notif", null);
+		
+		// Create the class and call the sendNotification method twice...
+		notifyFiles = new NotifyFiles(rootEl);		
+		notifyFiles.sendNotification(obj);
+		notifyFiles.sendNotification(obj);
+
+		// Test the files. Files 1 and 2 should be the same size. Files 3 and 4 should be the
+		// same size. Files 1 and 2 should be twice as big as files 3 and 4 because append was set
+		// "true" on 1 and 2 and sendNotification() was called twice... 
+		File file1Obj = getFileObject("file1.notif");
+		File file2Obj = getFileObject("file2.notif");
+		File file3Obj = getFileObject("file3.notif");
+		File file4Obj = getFileObject("file4.notif");
+		assertEquals(file1Obj.length(), file2Obj.length());
+		assertEquals(file3Obj.length(), file4Obj.length());
+		assertEquals(file1Obj.length(), file3Obj.length() * 2);
+	}
+	
+	private void addFileConfig(ConfigTree rootEl, String file, Boolean append) {
+		File fileObj = getFileObject(file);
+		ConfigTree fileEl = new ConfigTree("file",rootEl);
+		
+		fileEl.setAttribute("URI", fileObj.toURI().toString());
+		fileEl.setAttribute("append", (append != null?append.toString():null));
+		
+		// Also want to delete the file incase the tests are being rerun...
+		fileObj.delete();
+	}
+
+	private File getFileObject(String file) {
+		// TF: Excuse this hack!!!  It's the safest way of calculating a 
+		// relative URI within the test structure.  It will prob cause
+		// Maven some issues i.e. getting it to work for both Ant and Maven :-(
+		// This code assumes that the working dir is the "product" folder.
+		
+		File fileObj = new File("build/tests/" + getPKg() + "/" + file);
+		if(!fileObj.getParentFile().exists()) {
+			// The build folder may not exist e.g. if running this test from
+			// inside your IDE.
+			fileObj.getParentFile().mkdirs();
+		}
+		
+		return fileObj;
+	}
+
+	private String getPKg() {
+		String javaPackage = NotifyFilesUnitTest.class.getPackage().getName();
+		return javaPackage.replace('.', '/');
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,138 @@
+/*
+ * 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.notification;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.ObjectMessage;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.mockejb.jms.MockQueue;
+import org.mockejb.jms.MockTopic;
+import org.mockejb.jms.QueueConnectionFactoryImpl;
+import org.mockejb.jndi.MockContextFactory;
+
+/**
+ * NotifyQueues unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class NotifyQueuesUnitTest extends TestCase {
+
+	private MockQueue mockQueue1;;
+	private MockQueue mockQueue2;
+	private NotifyQueues notifyQueues;
+	
+	protected void setUp() throws Exception {
+		MockContextFactory.setAsInitial();		
+		Context ctx = new InitialContext();
+		ctx.rebind(NotifyQueues.CONNECTION_FACTORY, new QueueConnectionFactoryImpl());
+
+		ConfigTree rootEl = new ConfigTree("rootEl");
+
+		addMessagePropertyConfigs(rootEl);
+		addQueueConfig(rootEl, "queue1");
+		addQueueConfig(rootEl, "queue2");
+		mockQueue1 = createAndBindQueue("queue1");
+		mockQueue2 = createAndBindQueue("queue2");
+		
+		notifyQueues = new NotifyQueues(rootEl);
+	}
+
+	protected void tearDown() throws Exception {
+		notifyQueues.release();
+		MockContextFactory.revertSetAsInitial();		
+	}
+
+	public void test_StringObj() throws Exception {
+		notifyQueues.sendNotification("Hello");
+		
+		checkQueueTextMessage(mockQueue1, 0, "Hello");
+		checkQueueTextMessage(mockQueue2, 0, "Hello");
+	}
+	
+	public void test_NonStringObj() throws Exception {
+		notifyQueues.sendNotification(new Integer(123));
+		
+		checkQueueObjectMessage(mockQueue1, 0, new Integer(123));
+		checkQueueObjectMessage(mockQueue2, 0, new Integer(123));
+	}
+
+	private void checkQueueTextMessage(MockQueue mockQueue, int messageIdx, String expectedText) throws JMSException {
+		assertTrue(mockQueue.getMessages().size() > messageIdx);		
+		Message message = mockQueue.getMessageAt(0);
+		assertTrue(message instanceof TextMessage);
+		assertEquals(expectedText, ((TextMessage)message).getText());
+		assertEquals("testpropvalue", message.getStringProperty("testpropname"));
+	}
+
+	private void checkQueueObjectMessage(MockQueue mockQueue, int messageIdx, Object expectedObj) throws JMSException {
+		assertTrue(mockQueue.getMessages().size() > messageIdx);		
+		Message message = mockQueue.getMessageAt(0);
+		assertTrue(message instanceof ObjectMessage);
+		assertEquals(expectedObj, ((ObjectMessage)message).getObject());
+		
+		// Note that the property bindings don't seem to work in this test i.e.
+		// it's returning null but should be returning the same as for a 
+		// TextMessage (See above).  This is most likely a mockejb lib issue
+		// and so we're ignoring it :-)
+		assertEquals(null, message.getStringProperty("testpropname"));
+	}
+	
+	private void addMessagePropertyConfigs(ConfigTree rootEl) {
+
+		ConfigTree propEl = new ConfigTree(NotifyQueues.CHILD_MSG_PROP,rootEl);
+		
+		propEl.setAttribute(NotifyJMS.ATT_PROP_NAME, "testpropname");
+		propEl.setAttribute(NotifyJMS.ATT_PROP_VALUE, "testpropvalue");
+	}
+
+	private void addQueueConfig(ConfigTree rootEl, String queueName) {
+		ConfigTree queueEl = new ConfigTree(NotifyQueues.CHILD_QUEUE,rootEl);
+		
+		queueEl.setAttribute(NotifyJMS.ATT_DEST_NAME, queueName);
+	}
+
+	private MockQueue createAndBindQueue(String queueName) throws NamingException {
+		MockQueue mockQueue = new MockQueue(queueName);
+				
+		Context ctx = new InitialContext();
+		ctx.rebind(queueName, mockQueue);
+		
+		return mockQueue;
+	}
+
+	@SuppressWarnings("unused")
+	private MockTopic createAndBindTopic(String topicName) throws NamingException {
+		MockTopic mockTopic = new MockTopic(topicName);
+		
+		Context ctx = new InitialContext();
+		ctx.rebind(topicName, mockTopic);
+		
+		return mockTopic;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTableUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTableUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTableUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+/*
+ * 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.notification;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * NotifySqlTable unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class NotifySqlTableUnitTest extends TestCase {
+
+	public void test_NotifySqlTable() throws Exception {
+		ConfigTree domEl = ConfigTree.fromInputStream(getClass().getResourceAsStream("NotifySqlTable_testfile1.xml"));
+		NotifySqlTable nst = new NotifySqlTable(domEl);
+		
+		assertEquals("driver-class", nst.m_sDriver);
+		assertEquals("connection-url", nst.m_sURL);
+		assertEquals("user-name", nst.m_sUser);
+		assertEquals("password", nst.m_sPwd);
+		assertEquals("table", nst.m_sTable);
+		assertEquals("dataColumn", nst.m_sDataCol);
+		
+		assertEquals(3, nst.m_oCols.size());
+		assertEquals("colvalue1", nst.m_oCols.getProperty("colname1"));
+		assertEquals("colvalue2", nst.m_oCols.getProperty("colname2"));
+		assertEquals("colvalue3", nst.m_oCols.getProperty("colname3"));
+
+		assertEquals("insert into table (\"colname3\",\"colname2\",\"colname1\") values ('colvalue3','colvalue2','colvalue1')", nst.getInsertStmt());
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTable_testfile1.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTable_testfile1.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTable_testfile1.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<notif	driver-class="driver-class" 
+		connection-url="connection-url" 
+		user-name="user-name" 
+		password="password" 
+		table="table"
+		dataColumn="dataColumn">
+		
+		<column name="colname1" value="colvalue1"/>
+		<column name="colname2" value="colvalue2"/>
+		<column name="colname3" value="colvalue3"/>
+		
+</notif>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyTopicsUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyTopicsUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyTopicsUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,126 @@
+/*
+ * 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.notification;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.ObjectMessage;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.mockejb.jms.MockTopic;
+import org.mockejb.jms.TopicConnectionFactoryImpl;
+import org.mockejb.jndi.MockContextFactory;
+
+/**
+ * NotifyTopics unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class NotifyTopicsUnitTest extends TestCase {
+
+	private MockTopic mockTopic1;;
+	private MockTopic mockTopic2;
+	private NotifyTopics notifyTopics;
+	
+	protected void setUp() throws Exception {
+		MockContextFactory.setAsInitial();		
+		Context ctx = new InitialContext();
+		ctx.rebind(NotifyTopics.CONNECTION_FACTORY, new TopicConnectionFactoryImpl());
+
+		ConfigTree rootEl = new ConfigTree("rootEl");
+
+		addMessagePropertyConfigs(rootEl);
+		addTopicConfig(rootEl, "topic1");
+		addTopicConfig(rootEl, "topic2");
+		mockTopic1 = createAndBindTopic("topic1");
+		mockTopic2 = createAndBindTopic("topic2");
+		
+		notifyTopics = new NotifyTopics(rootEl);
+	}
+
+	protected void tearDown() throws Exception {
+		notifyTopics.release();
+		MockContextFactory.revertSetAsInitial();		
+	}
+
+	public void test_StringObj() throws Exception {
+		notifyTopics.sendNotification("Hello");
+		
+		checkTopicTextMessage(mockTopic1, 0, "Hello");
+		checkTopicTextMessage(mockTopic2, 0, "Hello");
+	}
+	
+	public void test_NonStringObj() throws Exception {
+		notifyTopics.sendNotification(new Integer(123));
+		
+		checkTopicObjectMessage(mockTopic1, 0, new Integer(123));
+		checkTopicObjectMessage(mockTopic2, 0, new Integer(123));
+	}
+
+	private void checkTopicTextMessage(MockTopic mockTopic, int messageIdx, String expectedText) throws JMSException {
+		assertTrue(mockTopic.getMessages().size() > messageIdx);		
+		Message message = mockTopic.getMessageAt(0);
+		assertTrue(message instanceof TextMessage);
+		assertEquals(expectedText, ((TextMessage)message).getText());
+		assertEquals("testpropvalue", message.getStringProperty("testpropname"));
+	}
+
+	private void checkTopicObjectMessage(MockTopic mockTopic, int messageIdx, Object expectedObj) throws JMSException {
+		assertTrue(mockTopic.getMessages().size() > messageIdx);		
+		Message message = mockTopic.getMessageAt(0);
+		assertTrue(message instanceof ObjectMessage);
+		assertEquals(expectedObj, ((ObjectMessage)message).getObject());
+		
+		// Note that the property bindings don't seem to work in this test i.e.
+		// it's returning null but should be returning the same as for a 
+		// TextMessage (See above).  This is most likely a mockejb lib issue
+		// and so we're ignoring it :-)
+		assertEquals(null, message.getStringProperty("testpropname"));
+	}
+	
+	private void addMessagePropertyConfigs(ConfigTree rootEl) {
+		ConfigTree propEl = new ConfigTree(NotifyTopics.CHILD_MSG_PROP,rootEl);
+		
+		propEl.setAttribute(NotifyJMS.ATT_PROP_NAME, "testpropname");
+		propEl.setAttribute(NotifyJMS.ATT_PROP_VALUE, "testpropvalue");
+	}
+
+	private void addTopicConfig(ConfigTree rootEl, String topicName) {
+		ConfigTree topicEl = new ConfigTree(NotifyTopics.CHILD_TOPIC,rootEl);
+		
+		topicEl.setAttribute(NotifyJMS.ATT_DEST_NAME, topicName);
+	}
+
+	private MockTopic createAndBindTopic(String topicName) throws NamingException {
+		MockTopic mockTopic = new MockTopic(topicName);
+		
+		Context ctx = new InitialContext();
+		ctx.rebind(topicName, mockTopic);
+		
+		return mockTopic;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyUtilUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyUtilUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyUtilUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,89 @@
+/*
+ * 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.notification;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.services.NotificationManager;
+
+/**
+ * NotifyUtil unit tests.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class NotifyUtilUnitTest extends TestCase
+{
+
+	public void test_NotifyUtil ()
+	{
+		ConfigTree rootEl = new ConfigTree("rootEl");
+
+		addNotificationConfig(rootEl, "message1", "ok");
+		addNotificationConfig(rootEl, "message2", "err");
+		addNotificationConfig(rootEl, "message3", "ok");
+		addNotificationConfig(rootEl, "message4", "err");
+
+		TestNotificationHandler handler = new TestNotificationHandler();
+		NotifyUtil.notifyOK(handler, rootEl, "somemessage", new HashMap());
+		assertEquals(2, handler.messages.size());
+		assertEquals("message1 - somemessage", handler.messages.get(0));
+		assertEquals("message3 - somemessage", handler.messages.get(1));
+
+		handler.messages.clear();
+		NotifyUtil.notifyError(handler, rootEl, "somemessage", new HashMap(),
+				new Exception("test"));
+		assertEquals(3, handler.messages.size());
+		assertTrue(handler.messages.get(0).startsWith("somemessage"));
+		assertTrue(handler.messages.get(1).startsWith("message2 - somemessage"));
+		assertTrue(handler.messages.get(2).startsWith("message4 - somemessage"));
+	}
+
+	private void addNotificationConfig (ConfigTree rootEl, String message,
+			String type)
+	{
+		ConfigTree notifEl = new ConfigTree(NotificationList.ELEMENT, rootEl);
+		notifEl.setAttribute("message", message);
+		notifEl.setAttribute(NotificationList.TYPE, type);
+	}
+
+	private class TestNotificationHandler implements NotificationManager
+	{
+		private List<String> messages = new ArrayList<String>();
+
+		public void sendNotifications (ConfigTree p_oP, Serializable p_o)
+				throws NotificationException
+		{
+			messages.add(p_oP.getAttribute("message") + " - " + p_o);
+		}
+
+		public void sendNotifications (Serializable p_o) throws NotificationException
+		{
+			messages.add(p_o.toString());
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget1.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget1.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget1.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,27 @@
+package org.jboss.soa.esb.notification;
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+public class TestNotificationTarget1 extends NotificationTarget
+{
+
+	private ConfigTree config;
+
+	public static List<String> messageList;
+
+	public TestNotificationTarget1 (ConfigTree targetConf)
+	{
+		super(targetConf);
+		config = targetConf;
+	}
+
+	@Override
+	public void sendNotification (Serializable obj)
+			throws NotificationException
+	{
+		messageList.add(config.getAttribute("message") + "-" + obj);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget2.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget2.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget2.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,10 @@
+package org.jboss.soa.esb.notification;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+public class TestNotificationTarget2 extends TestNotificationTarget1 {
+
+	public TestNotificationTarget2(ConfigTree targetConf) {
+		super(targetConf);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/ParamRepositoryFactoryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/ParamRepositoryFactoryUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/ParamRepositoryFactoryUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.soa.esb.parameters;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.parameters.ParamFileRepository;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+
+/**
+ * ParamRepositoryFactory unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class ParamRepositoryFactoryUnitTest extends TestCase {
+
+	public void test_ParamRepositoryFactory() {
+		ParamRepository repo;
+		
+		repo = ParamRepositoryFactory.getInstance();
+		assertTrue(repo instanceof ParamFileRepository);
+		
+		ParamRepositoryFactory.reset();
+		ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).setProperty(Environment.PARAMS_REPOS_IMPL_CLASS, TestParamRepo.class.getName());
+		repo = ParamRepositoryFactory.getInstance();
+		assertTrue(repo instanceof TestParamRepo);
+	}
+	
+	public void test_ParamRepositoryException() {
+		// for the coverage results ;-)
+		new ParamRepositoryException("message");
+		new ParamRepositoryException("message", new Exception());
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/ParamsFileRepositoryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/ParamsFileRepositoryUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/ParamsFileRepositoryUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,142 @@
+/*
+ * 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.parameters;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.parameters.ParamFileRepository;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+
+/**
+ * ParamFileRepository unit tests.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class ParamsFileRepositoryUnitTest extends TestCase
+{
+
+	public void test_ParamsFileRepository() throws Exception
+	{
+		File root;
+		ParamFileRepository fileRepo;
+
+		// Check it defaults to the working dir...
+		root = new File("./");
+		fileRepo = new ParamFileRepository();
+		assertEquals(root, fileRepo.getRoot());
+
+		// Check it can pick up from the System prop...
+		root = new File("build/tests/");
+		ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).setProperty(
+				ParamFileRepository.FILE_PARAMS_REPOS_ROOT, root.getPath());
+		fileRepo = new ParamFileRepository();
+		assertEquals(root, fileRepo.getRoot());
+
+		// Check for error on invalid System prop...
+		ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).setProperty(
+				ParamFileRepository.FILE_PARAMS_REPOS_ROOT, "blah/blah");
+		try
+		{
+			new ParamFileRepository();
+			fail("expected IllegalStateException");
+		} catch (IllegalStateException e)
+		{
+			// expected
+		}
+	}
+
+	public void test_add_get_remove_badargs() throws Exception
+	{
+		ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).setProperty(
+				ParamFileRepository.FILE_PARAMS_REPOS_ROOT, "build/tests/");
+		ParamFileRepository fileRepo = new ParamFileRepository();
+
+		test_add_badargs(fileRepo, null, "val");
+		test_add_badargs(fileRepo, "", "val");
+		test_add_badargs(fileRepo, "", "val");
+		test_add_badargs(fileRepo, "xxx/yyy", null);
+
+		test_get_badargs(fileRepo, null);
+		test_get_badargs(fileRepo, "");
+
+		test_remove_badargs(fileRepo, null);
+		test_remove_badargs(fileRepo, "");
+	}
+
+	private void test_add_badargs(ParamFileRepository fileRepo, String name,
+			String value) throws ParamRepositoryException
+	{
+		try
+		{
+			fileRepo.add(name, value);
+			fail("expected IllegalArgumentException");
+		} catch (IllegalArgumentException e)
+		{
+			// expected
+		}
+	}
+
+	private void test_get_badargs(ParamFileRepository fileRepo, String name)
+			throws ParamRepositoryException
+	{
+		try
+		{
+			fileRepo.get(name);
+			fail("expected IllegalArgumentException");
+		} catch (IllegalArgumentException e)
+		{
+			// expected
+		}
+	}
+
+	private void test_remove_badargs(ParamFileRepository fileRepo, String name)
+	{
+		try
+		{
+			fileRepo.remove(name);
+			fail("expected IllegalArgumentException");
+		} catch (IllegalArgumentException e)
+		{
+			// expected
+		}
+	}
+
+	public void test_add_get_remove() throws Exception
+	{
+		ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).setProperty(
+				ParamFileRepository.FILE_PARAMS_REPOS_ROOT, "build/tests/");
+		ParamFileRepository fileRepo = new ParamFileRepository();
+		String name = "repostests/jboss/testparam";
+
+		// Make sure the parameter doesn't already exist...
+		assertEquals(null, fileRepo.get(name));
+
+		// Now the tests...
+		assertEquals(null, fileRepo.get(name));
+		fileRepo.add(name, "tomtestvalue");
+		assertEquals("tomtestvalue", fileRepo.get(name));
+		fileRepo.remove(name);
+		assertEquals(null, fileRepo.get(name));
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/TestParamRepo.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/TestParamRepo.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/parameters/TestParamRepo.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,26 @@
+package org.jboss.soa.esb.parameters;
+
+public class TestParamRepo implements ParamRepository {
+
+	public TestParamRepo() {
+		super();
+		// TODO Auto-generated constructor stub
+	}
+
+	public void add(String name, String value)
+			throws ParamRepositoryException {
+		// TODO Auto-generated method stub
+
+	}
+
+	public String get(String name) throws ParamRepositoryException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public void remove(String name) throws ParamRepositoryException {
+		// TODO Auto-generated method stub
+
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/FileUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/FileUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/FileUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,83 @@
+/*
+* 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.testutils;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+/**
+ * Utility class for reading a file into a String and back.
+ * @author kstam
+ */
+public class FileUtil {
+    /**
+     * Read the file into a String.
+     * @param file - the file to be read
+     * @return String with the content of the file
+     * @throws IOException - when we can't read the file
+     */
+    public static String readTextFile(File file) throws IOException 
+    {
+        StringBuffer sb = new StringBuffer(1024);
+        BufferedReader reader = new BufferedReader(new FileReader(file.getPath()));
+        char[] chars = new char[1];
+        while( (reader.read(chars)) > -1){
+            sb.append(String.valueOf(chars)); 
+            chars = new char[1];
+        }
+        reader.close();
+        return sb.toString();
+    }
+    /**
+     * 
+     */
+    public static String readStream(InputStream inputStream) throws IOException
+    {
+    	StringBuffer sb = new StringBuffer(1024);
+        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
+        char[] chars = new char[1];
+        while( (reader.read(chars)) > -1){
+            sb.append(String.valueOf(chars)); 
+            chars = new char[1];
+        }
+        reader.close();
+        return sb.toString();
+    }
+    /**
+     * Write a String into a file.
+     * @param file - File to which we write the String
+     * @param str - string which will be written
+     * @throws IOException - when we can't write to the file
+     */
+    public static void writeTextFile(File file, String str) throws IOException 
+    {
+        BufferedWriter writer = new BufferedWriter(new FileWriter(file.getPath()));
+        writer.write(str);
+        writer.close();
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/HsqldbUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/HsqldbUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/HsqldbUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,64 @@
+package org.jboss.soa.esb.testutils;
+
+import java.sql.DriverManager;
+import java.sql.Statement;
+
+import org.hsqldb.Server;
+/**
+ * Utility to start and stop a hsql Database.
+ * 
+ * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
+ *
+ */
+public class HsqldbUtil 
+{
+	final private static String THREAD_NAME = "hypersonic-unittest";
+	/**
+	 * Starts the hsql database in it's own thread. 
+	 * Don't forget to shut it down when you're done.
+	 * 
+	 * @param databaseFile - i.e. build/hsqltestdb
+	 * @param databaseName - i.e. jbossesb
+	 * @throws Exception
+	 */
+	public static void startHsqldb(final String databaseFile,
+			final String databaseName) throws Exception 
+	{
+		// Start DB in new thread, or else it will block us
+		Thread serverThread = new Thread(THREAD_NAME) {
+			public void run() {
+				try {
+					// Create startup arguments
+					final String[] args = {
+							"-database.0", databaseFile,
+							"-dbname.0", databaseName,
+							"-no_system_exit", "true"
+						} ;
+
+					// Start server
+					Server.main(args);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+				//log.error("Failed to start database", e);
+			}
+		};
+		serverThread.run();
+	}
+	/**
+	 * 
+	 * @param url
+	 * @param username
+	 * @param password
+	 * @throws Exception
+	 */
+	public static void stopHsqldb(String url, String username, String password) throws Exception {
+		java.sql.Connection connection = DriverManager.getConnection(
+				url, username, password);
+		Statement statement = connection.createStatement();
+		String shutdownCommand = "SHUTDOWN COMPACT";
+		statement.executeQuery(shutdownCommand);
+	}
+
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,95 @@
+package org.jboss.soa.esb.testutils;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+
+public class TestEnvironmentUtil 
+{
+	private static Logger log = Logger.getLogger(TestEnvironmentUtil.class);
+	
+	public static String getUserDir()
+	{
+		return getUserDir("product");
+	}
+	/**
+	 * When performing file system interaction, the user.dir may differ (i.e. running the
+	 * tests from within eclipse).
+	 */
+	public static String getUserDir(String dir)
+	{
+		String userDir="";
+		String baseDir = System.getProperty("user.dir");
+		log.log(Priority.INFO, baseDir);
+		if (!baseDir.endsWith(dir)) {
+			userDir = dir + "/";
+		}
+		return userDir;
+	}
+	
+	/**
+	 * When performing file system interaction, the user.dir may differ (i.e. running the
+	 * tests from within eclipse).
+	 */
+	public static String getUserDir(String eclipseDir, String antDir)
+	{
+		String userDir="";
+		String baseDir = System.getProperty("user.dir");
+		log.log(Priority.INFO, baseDir);
+		if (!baseDir.endsWith(eclipseDir)) {
+			if (baseDir.endsWith("qa")) {
+				userDir = antDir + "/";
+			} else {
+				userDir = eclipseDir + "/";
+			}
+		} else {
+			userDir = antDir;
+		}
+		log.log(Priority.INFO, userDir);
+		return userDir;
+	}
+	
+	public static void setESBPropertiesFileToUse()
+	{
+		//Set the jbossesb properties file in System, so we can pick up the one for testing
+		String jbossesbPropertiesFile = getUserDir() + "/etc/test/resources/jbossesb-unittest-properties.xml";
+		System.setProperty("org.jboss.soa.esb.propertyFile", jbossesbPropertiesFile);
+	}
+	/**
+	 * Sets the jbossesb-properties.xml to use for test
+	 */
+	public static void setESBPropertiesFileToUse(String dir)
+	{
+		//Set the jbossesb properties file in System, so we can pick up the one for testing
+		String jbossesbPropertiesFile = getUserDir(dir) + "/etc/test/resources/jbossesb-unittest-properties.xml";
+		System.setProperty("org.jboss.soa.esb.propertyFile", jbossesbPropertiesFile);
+	}
+	
+	/**
+	 * Sets the jbossesb-properties.xml to use for test
+	 */
+	public static void setESBPropertiesFileToUse(String eclipseDir, String antDir)
+	{
+		//Set the jbossesb properties file in System, so we can pick up the one for testing
+		String jbossesbPropertiesFile = getUserDir(eclipseDir, antDir) + "/etc/test/resources/jbossesb-unittest-properties.xml";
+		System.setProperty("org.jboss.soa.esb.propertyFile", jbossesbPropertiesFile);
+	}
+	
+	public static String readTextFile(File file) throws IOException 
+    {
+        StringBuffer sb = new StringBuffer(1024);
+        BufferedReader reader = new BufferedReader(new FileReader(file.getPath()));
+        char[] chars = new char[1];
+        while( (reader.read(chars)) > -1){
+            sb.append(String.valueOf(chars)); 
+            chars = new char[1];
+        }
+        reader.close();
+        return sb.toString();
+    }
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/StreamUtilsUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/StreamUtilsUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/StreamUtilsUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,59 @@
+/*
+ * 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.util;
+
+import java.io.ByteArrayInputStream;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.util.StreamUtils;
+
+/**
+ * StreamUtils unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class StreamUtilsUnitTest extends TestCase {
+
+	public void test_readStream_badargs() {
+		try {
+			StreamUtils.readStream(null);
+			fail("expected IllegalArgumentException");
+		} catch(IllegalArgumentException e) {
+			// expected
+		}
+	}
+	
+	public void test_readStream() {
+		StringBuffer testBuf = new StringBuffer(500);
+		@SuppressWarnings("unused")
+		byte[] resStream;
+		
+		while(testBuf.length() < 500) {
+			testBuf.append("12121212121212121212121212121212121212121212121212");
+		}
+
+		String testString = testBuf.toString();
+		String resString = new String(StreamUtils.readStream(new ByteArrayInputStream(testString.getBytes())));
+		
+		assertEquals(testString, resString);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/UtilUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/UtilUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/util/UtilUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,113 @@
+/*
+ * 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.util;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.util.Properties;
+
+import junit.framework.TestCase;
+
+/**
+ * Util unit tests.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class UtilUnitTest extends TestCase {
+
+	public void testDumpSysProps() throws IOException 
+	{
+		ByteArrayOutputStream buf = new ByteArrayOutputStream();
+		
+		Util.dumpSysProps(new PrintStream(buf));
+		
+		Properties props = new Properties();
+		String env = buf.toString();
+		//escape backslashes to fix running under cygwin
+		env = env.replaceAll("\\\\", "\\\\\\\\");
+		props.load(new ByteArrayInputStream(env.getBytes()));
+		
+		// Just make sure that something was dumped to the printstream
+		// by checking for a property we know will be in the System...
+		assertTrue(props.containsKey("file.separator"));
+	}
+
+	public void testIsNullString() {
+		assertTrue(Util.isNullString(null));
+		assertTrue(Util.isNullString(""));
+		assertTrue(Util.isNullString(" "));
+		assertTrue(!Util.isNullString("a"));
+	}
+
+	public void testIsLong() {
+		assertTrue(!Util.isLong(null));
+		assertTrue(!Util.isLong(""));
+		assertTrue(!Util.isLong(" "));
+		assertTrue(!Util.isLong("a"));
+		assertTrue(!Util.isLong(" 1"));
+		assertTrue(!Util.isLong("1 "));
+		assertTrue(!Util.isLong("1.1"));
+		assertTrue(Util.isLong("1"));
+		assertTrue(Util.isLong("-1"));
+	}
+
+	public void testIsPositiveLong() {
+		assertTrue(!Util.isPositiveLong(null));
+		assertTrue(!Util.isPositiveLong(""));
+		assertTrue(!Util.isPositiveLong(" "));
+		assertTrue(!Util.isPositiveLong("a"));
+		assertTrue(!Util.isPositiveLong(" 1"));
+		assertTrue(!Util.isPositiveLong("1 "));
+		assertTrue(!Util.isPositiveLong("1.1"));
+		assertTrue(Util.isPositiveLong("1"));
+		assertTrue(!Util.isPositiveLong("0"));
+		assertTrue(!Util.isPositiveLong("-1"));
+	}
+
+	public void testParseInt() {
+		assertEquals(0, Util.parseInt("a"));
+		assertEquals(0, Util.parseInt(""));
+		assertEquals(0, Util.parseInt(" "));
+		assertEquals(0, Util.parseInt(" 1"));
+		assertEquals(0, Util.parseInt("1 "));
+		assertEquals(0, Util.parseInt("0"));
+		assertEquals(1, Util.parseInt("1"));
+		assertEquals(-1, Util.parseInt("-1"));
+	}
+
+	public void testParseLong() {
+		assertEquals(0L, Util.parseLong("a"));
+		assertEquals(0L, Util.parseLong(""));
+		assertEquals(0L, Util.parseLong(" "));
+		assertEquals(0L, Util.parseLong(" 1"));
+		assertEquals(0L, Util.parseLong("1 "));
+		assertEquals(0L, Util.parseLong("0"));
+		assertEquals(1L, Util.parseLong("1"));
+		assertEquals(-1L, Util.parseLong("-1"));
+	}
+
+	public void testGetDefaultLogger() {
+		// Cheating here - just getting the coverage results up a little more :-)
+		Util.getDefaultLogger(Util.class);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/ant.bat
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/ant.bat	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/ant.bat	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+ at echo off
+set ANT_CMD_LINE_ARGS=%1
+if ""%1""=="""" goto doneStart
+shift
+:setupArgs
+if ""%1""=="""" goto doneStart
+set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1
+shift
+goto setupArgs
+:doneStart
+%ANT_HOME%\bin\ant %ANT_CMD_LINE_ARGS%
+


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/ant.bat
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<project name="JbossEsbServices" default="org.jboss.esb.services.compile" basedir=".">
+
+	<property name="org.jboss.esb.internal.dest" location="../../build"/>
+		
+    <property name="org.jboss.esb.services.name.jar" value="${ant.project.name}.jar"/>
+	<property name="org.jboss.esb.services.dist.dir" location="${org.jboss.esb.internal.dest}/jbossesb"/>
+    <property name="org.jboss.esb.services.appl.dir" location="../.."/>
+    <property name="org.jboss.esb.services.metainf.dir" location="src/META-INF"/>
+
+	<property name="org.jboss.esb.services.classes.dir" location="${org.jboss.esb.internal.dest}/classes/services"/>
+	<property name="org.jboss.esb.services.src.dir" location="src"/>
+	<property name="org.jboss.esb.services.rules.dir" location="rules"/>
+	<property name="org.jboss.esb.root.dir" location="../.."/>
+	<property environment="env"/>
+
+	<property name="org.jboss.esb.ext.serverlib.dir" location="${org.jboss.esb.root.dir}/lib/ext"/>
+	<condition property="org.jboss.esb.ext.serverlib.dir" value="${org.jboss.esb.jboss.home}/server/all/lib">
+		<equals arg1="${org.jboss.esb.frominstall}" arg2="yes"/>
+	</condition>
+	
+	<property name="org.jboss.esb.ext.lib.dir" location="${org.jboss.esb.root.dir}/lib/ext"/>
+	<condition property="org.jboss.esb.ext.lib.dir" value="${org.jboss.esb.jboss.home}/lib">
+		<equals arg1="${org.jboss.esb.frominstall}" arg2="yes"/>
+	</condition>
+	
+	    <!-- =================================================================== -->
+	    <!-- Define the class path                                               -->
+	    <!-- =================================================================== -->
+	    <path id="org.jboss.esb.services.base.classpath">
+	        <fileset dir="${org.jboss.esb.ext.lib.dir}"  includes="*.jar" excludes="jbossall-client.jar"/>
+	    	<pathelement location="${org.jboss.esb.internal.dest}/classes/rosetta"/>
+	    </path>
+
+	    <!-- =================================================================== -->
+	    <!-- Initialize                                                          -->
+	    <!-- =================================================================== -->
+	    <target name="org.jboss.esb.services.init">
+	        <tstamp>
+	            <format property="TODAY" pattern="dd-MM-yy"/>
+	        </tstamp>
+	    </target>
+
+	    <!-- =================================================================== -->
+	    <!-- Prepares the directory structure                                    -->
+	    <!-- =================================================================== -->
+	    <target name="org.jboss.esb.services.prepare" depends="org.jboss.esb.services.init">
+	        <mkdir dir="${org.jboss.esb.services.classes.dir}"/>
+	    </target>
+
+	    <!-- =================================================================== -->
+	    <!-- Compiles all the classes                                            -->
+	    <!-- =================================================================== -->
+
+        <target name="org.jboss.esb.services.compile">
+            <!-- Compile services -->
+            <antcall target="org.jboss.esb.services.internal.compile"/>
+            <!-- Compile services tests -->
+            <ant inheritAll="true" dir="tests" target="org.jboss.esb.services.tests.compile"/>
+        </target>
+
+        <target name="org.jboss.esb.services.internal.compile" depends="org.jboss.esb.services.prepare"
+	        description="Compile all classes">
+
+	        <javac
+	            destdir="${org.jboss.esb.services.classes.dir}"
+	            classpathref="org.jboss.esb.services.default.classpath"
+	            debug="${org.jboss.esb.debug}"
+	            optimize="${org.jboss.esb.optimize}"
+	            >
+	            <src path="${org.jboss.esb.services.src.dir}"/>
+	        </javac>
+
+	    </target>
+
+	    <!-- =================================================================== -->
+	    <!-- Recompiles all the classes                                            -->
+	    <!-- =================================================================== -->
+
+	    <target name="recompile" depends="clean,org.jboss.esb.services.compile"
+	        description="Clean and compile"/>
+
+	    <!-- =================================================================== -->
+	    <!-- Clean                                                               -->
+	    <!-- =================================================================== -->
+	    <target name="clean" description="Remove classes directory">
+			<ant dir="tests" target="clean"/>
+			<delete dir="${org.jboss.esb.services.classes.dir}"/>
+	    </target>
+	
+	    <!-- =================================================================== -->
+	    <!-- Rebuild everything from scratch                                     -->
+	    <!-- =================================================================== -->
+	    <target name="all" depends="recompile,jar" />
+	
+    <path id="org.jboss.esb.services.default.classpath">
+        <path refid="org.jboss.esb.services.base.classpath"/>
+		<pathelement location="${org.jboss.esb.internal.dest}/classes/rosetta"/>
+    	<pathelement location="${org.jboss.esb.internal.dest}/classes/listeners"/>
+    </path>
+
+    <!-- =================================================================== -->
+    <!-- Jar                                                               -->
+    <!-- =================================================================== -->
+    <target name="jar" description="Assemble jar files"
+    	depends="org.jboss.esb.services.compile"
+	>
+        <jar    destfile="${org.jboss.esb.services.dist.dir}/lib/jbossesb-services.jar"
+                basedir="${org.jboss.esb.services.classes.dir}"
+                includes="**/*.class"
+                />
+    	<jar    destfile="${org.jboss.esb.services.dist.dir}/lib/jbossesb-rules.jar"
+    	                basedir="${org.jboss.esb.services.rules.dir}"
+    	                includes="**/*.drl,**/*.dsl"
+    	                />
+
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Test                                                               -->
+    <!-- =================================================================== -->
+    <target name="org.jboss.esb.services.test" description="Run tests for this module, excluding integration">
+        <!-- Compile tests -->
+        <ant dir="tests" target="org.jboss.esb.services.internal.test"/>
+    </target>
+	
+	<!-- =================================================================== -->
+	    <!-- Integration Test                                                               -->
+	    <!-- =================================================================== -->
+	    <target name="org.jboss.esb.services.integration.test" description="Run all tests for this module">
+	        <!-- Compile tests -->
+	        <ant dir="tests" target="org.jboss.esb.services.internal.integration.test"/>
+	    </target>
+
+</project>


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/build.xml
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/JBossESBRules-XPath.drl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/JBossESBRules-XPath.drl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/JBossESBRules-XPath.drl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+#created on: Nov 8, 2006
+package com.jboss.soa.esb.routing.cbr
+
+#list any import classes here.
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+
+expander XPathLanguage.dsl
+
+#declare any global variables here
+global java.util.List destinations;
+
+rule "Routing Rule using XPATH match"
+	
+	when
+		xpathMatch "/jbossesb"
+	then 
+		Log : "XPath Matched";
+		Destination : "XML_XPath_Destination";
+end
+
+rule "Routing Rule using XPATH equals"
+	
+	when
+		xpathEquals "/Dave", "rocks"
+	then 
+		Log : "XPath Equals";
+		Destination : "XML_XPath_Dave_Destination";
+end
+
+rule "Routing Rule using XPATH greater than"
+	
+	when
+	    xpathGreaterThan "/price" , "1.00"
+	then 
+		Log : "XPath Greater Then";
+		Destination : "XML_XPath_GreaterThan_Destination";
+end
+
+rule "Routing Rule using XPATH less than"
+	
+	when
+		xpathLessThan "/price", "1.00"
+	then 
+		Log : "XPath Less Then";
+		Destination : "XML_XPath_LessThan_Destination";
+end

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/JBossESBRules.drl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/JBossESBRules.drl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/JBossESBRules.drl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,29 @@
+#created on: Oct 30, 2006
+package com.jboss.soa.esb.routing.cbr
+
+#list any import classes here.
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+
+#declare any global variables here
+global java.util.List destinations;
+
+
+rule "Routing Rule - Serialized based message"
+	
+	when
+		Message( type == MessageType.JAVA_SERIALIZED)
+	then
+		System.out.println("Serialized");
+		destinations.add("serialized-destination");
+		
+end
+
+rule "Routing Rule - XML based message"
+	
+	when
+		Message( type == MessageType.JBOSS_XML)
+	then 
+		System.out.println("JBoss_XML"); 
+		destinations.add("xml-destination");
+end
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/XPathLanguage.dsl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/XPathLanguage.dsl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/rules/XPathLanguage.dsl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+#JBossESB Content Based Routing using XPath DSL
+[when]xpathMatch "{xpath}"=msg : Message( type == MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentMatches(msg, "{xpath}") )
+[when]xpathEquals "{xpath}", "{value}"=msg : Message( type == MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentEquals(msg, "{xpath}", "{value}") )
+[when]xpathGreaterThan "{xpath}", "{value}"=msg : Message( type == MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentGreaterThan(msg, "{xpath}", "{value}") )
+[when]xpathLessThan "{xpath}", "{value}"=msg : Message( type == MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentLessThan(msg, "{xpath}", "{value}") )
+[then]Log : "{message}"=System.out.println("{message}");
+[then]Destination : "{message}"=destinations.add("{message}");

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/MessageStoreFactoryImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/MessageStoreFactoryImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/MessageStoreFactoryImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,113 @@
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+
+package org.jboss.internal.soa.esb.persistence.format;
+
+import java.net.URI;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Properties;
+
+import org.jboss.internal.soa.esb.persistence.format.db.DBMessageStorePlugin;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
+import org.jboss.soa.esb.services.persistence.MessageStoreType;
+
+public class MessageStoreFactoryImpl extends MessageStoreFactory {
+	
+	private final Hashtable<URI, MessageStorePlugin> messageStoreFormats = new Hashtable<URI, MessageStorePlugin>();
+
+	
+	public MessageStoreFactoryImpl() {
+		reset();
+	}
+	
+	public MessageStore getMessageStore() {
+		return ((MessageStorePlugin) messageStoreFormats.get(MessageStoreType.DEFAULT_TYPE)).getMessageStore();
+	}
+	
+	public MessageStore getMessageStore(URI type) {
+		if (type == null)
+			throw new IllegalArgumentException();
+
+		MessageStorePlugin plugin = messageStoreFormats.get(type);
+
+		if (plugin != null)
+			return plugin.getMessageStore();
+		else
+			return null;
+	}
+	
+	public void reset ()
+	{
+		messageStoreFormats.clear();
+		/*
+		 * Go through the properties loaded from the property file. Anything
+		 * starting with MessageStorePlugin.MESSAGE_STORE_PLUGIN is assumed to be a plugin
+		 * that we load and add to the list.
+		 */		
+		
+//		Properties properties = System.getProperties();
+		Properties properties = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperties();
+		
+		if (properties != null)
+		{
+			Enumeration names = properties.propertyNames();
+
+			while (names.hasMoreElements())
+			{
+				String attrName = (String) names.nextElement();
+				
+				if (attrName.startsWith(MessageStorePlugin. MESSAGE_STORE_PLUGIN))
+				{
+					try
+					{
+						String pluginName = properties.getProperty(attrName);
+						Class c = Class.forName(pluginName);
+						MessageStorePlugin thePlugin = (MessageStorePlugin) c.newInstance();
+
+						messageStoreFormats.put(thePlugin.getType(), thePlugin);
+					}
+					catch (ClassNotFoundException ex)
+					{
+						ex.printStackTrace();
+					}
+					catch (IllegalAccessException ex)
+					{
+						ex.printStackTrace();
+					}
+					catch (InstantiationException ex)
+					{
+						ex.printStackTrace();
+					}
+				}
+			}
+		}
+	         
+		/*
+		 * Now add the default(s).
+		 */		
+		messageStoreFormats.put(MessageStoreType.DATABASE, new DBMessageStorePlugin());		
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/MessageStorePlugin.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/MessageStorePlugin.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/MessageStorePlugin.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,54 @@
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+package org.jboss.internal.soa.esb.persistence.format;
+
+import java.net.URI;
+
+import org.jboss.soa.esb.services.persistence.MessageStore;
+
+
+/**
+* Used to plug in new message stores dynamically. Each plugin is responsible for
+* returning a message store implementation that knows how to handle its own persistence
+* mechanism, i.e: database, file, etc.
+*  
+* @author Daniel Brum
+*
+*/
+
+public interface MessageStorePlugin {
+	
+public static final String MESSAGE_STORE_PLUGIN = "org.jboss.soa.esb.persistence.base.plugin";
+	
+	/**
+	 * @return the message instance.
+	 */
+	
+	public MessageStore getMessageStore ();
+	
+	/**
+	 * @return the unique identifier for this message store plugin.
+	 */
+	
+	public URI getType ();
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBConnectionManager.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBConnectionManager.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBConnectionManager.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,136 @@
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+package org.jboss.internal.soa.esb.persistence.format.db;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.common.Configuration;
+
+import com.mchange.v2.c3p0.ComboPooledDataSource;
+
+public class DBConnectionManager
+{
+
+	private static DBConnectionManager instance = null;
+
+	protected ComboPooledDataSource pooledDS = null;
+
+	private static final Object foo = new Integer(0);
+
+	private static Logger _logger = Logger.getLogger(DBConnectionManager.class);
+
+	protected DBConnectionManager ()
+	{
+	}
+
+	public static DBConnectionManager getInstance ()
+	{
+		if (null != instance)
+		{
+			return instance;
+		}
+		
+		synchronized (foo)
+		{
+			if (null != instance) 
+				return instance;
+			
+			try
+			{
+				instance = new DBConnectionManager();
+				instance.init();
+			}
+			catch (Exception e)
+			{
+				_logger.error("Could not initialise instance.", e);
+				
+				return null;
+			}
+
+			return instance;
+		}
+	}
+
+	private void init () throws ConfigurationException
+	{
+		_logger.info("Initializing DBConnectionManager");
+		pooledDS = new ComboPooledDataSource();
+
+		try
+		{
+			pooledDS.setDriverClass(Configuration.getStoreDriver());
+			pooledDS.setJdbcUrl(Configuration.getStoreUrl());
+			pooledDS.setUser(Configuration.getStoreUser());
+			pooledDS.setPassword(Configuration.getStorePwd());
+			pooledDS.setMinPoolSize(Integer.valueOf(Configuration
+					.getStorePoolMinSize()));
+			pooledDS.setInitialPoolSize(Integer.valueOf(Configuration
+					.getStorePoolInitialSize()));
+			pooledDS.setMaxPoolSize(Integer.valueOf(Configuration
+					.getStorePoolMaxSize()));
+			pooledDS.setAutomaticTestTable(Configuration.getStorePoolTestTable());
+			pooledDS.setCheckoutTimeout(Integer.valueOf(Configuration
+					.getStorePoolTimeoutMillis()));
+		}
+		catch (Exception ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	}
+
+	public Connection getConnection () throws SQLException
+	{
+		Connection conn = null;
+
+		// TODO: figure out why this is neccessary - pool should never return
+		// null if DB is up and can connect
+		// testing showed null was being returned from pool in QA test
+		// MessageStoreTest
+		
+		while (true)
+		{
+			if (null != pooledDS)
+			{
+				if (null != (conn = pooledDS.getConnection())) 
+					break;
+				else
+					_logger.error("Null pooledDS");
+			}
+			
+			try
+			{
+				// TODO magic number
+				
+				Thread.sleep(1000);
+			}
+			catch (Exception e)
+			{
+			}
+		}
+
+		return conn;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBConnectionManagerDBCP.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBConnectionManagerDBCP.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBConnectionManagerDBCP.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,119 @@
+//THIS CLASS IS NOT USED RIGHT NOW
+
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+package org.jboss.internal.soa.esb.persistence.format.db;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import org.apache.commons.dbcp.ConnectionFactory;
+import org.apache.commons.dbcp.DriverManagerConnectionFactory;
+import org.apache.commons.dbcp.PoolableConnectionFactory;
+import org.apache.commons.dbcp.PoolingDataSource;
+import org.apache.commons.pool.ObjectPool;
+import org.apache.commons.pool.impl.GenericObjectPool;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.common.Configuration;
+
+/*
+ * the DBConnectionManager class (singleton) is used by classes implenting the
+ * MessageStore interface to obtain a connection to the persistence store
+ * database. This class uses the Apache Commons DB Connection Pooling to handle
+ * all aspects of managing the connections in a pool. $author Daniel Brum
+ */
+
+public class DBConnectionManagerDBCP
+{
+
+	private static DBConnectionManagerDBCP instance = null;
+
+	private PoolingDataSource dataSource = null;
+
+	protected DBConnectionManagerDBCP ()
+	{
+	}
+
+	public static DBConnectionManagerDBCP getInstance ()
+	{
+		if (null == instance)
+		{
+			try
+			{
+				instance = new DBConnectionManagerDBCP();
+				instance.init();
+			}
+			catch (Exception e)
+			{
+				e.printStackTrace();
+				return null;
+			}
+		}
+		return instance;
+	}
+
+	private void init () throws ConfigurationException
+	{
+		try
+		{
+			String connectURL = Configuration.getStoreUrl();
+			Class.forName(Configuration.getStoreDriver());
+	
+			ObjectPool connectionPool = new GenericObjectPool(null);
+	
+			ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(
+					connectURL, Configuration.getStoreUser(), Configuration
+							.getStorePwd());
+	
+			@SuppressWarnings("unused")
+			PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(
+					connectionFactory, connectionPool, null, null, false, false);
+	
+			int poolSize = Integer.valueOf(Configuration.getStorePoolInitialSize());
+	
+			// add the max # of connections into the pool
+			for (int i = 0; i < poolSize; i++)
+			{
+				try
+				{
+					connectionPool.addObject();
+				}
+				catch (Exception e)
+				{
+					e.printStackTrace();
+				}
+			}
+			
+			dataSource = new PoolingDataSource(connectionPool);
+		}
+		catch (ClassNotFoundException ex)
+		{
+			throw new ConfigurationException(ex);
+		}
+	}
+
+	public Connection getConnection () throws SQLException
+	{
+		return dataSource.getConnection();
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBMessageStoreImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBMessageStoreImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBMessageStoreImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,162 @@
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+package org.jboss.internal.soa.esb.persistence.format.db;
+
+import java.io.Serializable;
+import java.net.URI;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.UUID;
+
+import org.jboss.internal.soa.esb.thirdparty.Base64;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreException;
+import org.jboss.soa.esb.util.Util;
+
+public class DBMessageStoreImpl implements MessageStore
+{
+
+	protected DBConnectionManager mgr = null;
+
+	protected Connection conn = null;
+
+	protected ResultSet rs = null;
+
+	protected PreparedStatement ps = null;
+
+	public DBMessageStoreImpl ()
+	{
+		mgr = DBConnectionManager.getInstance();
+	}
+
+	public synchronized URI addMessage (Message message) throws MessageStoreException
+	{
+
+		// String messageString = null;
+		URI uid = null;
+
+		try
+		{
+			conn = mgr.getConnection();
+
+			uid = new URI("urn:jboss/esb/message/UID#" + UUID.randomUUID()
+					.toString());
+
+			String messageString = Base64.encodeObject(Util.serialize(message));
+
+			// insert into the database
+			String sql = "insert into message(uuid, type, message) values(?,?,?)";
+			ps = conn.prepareStatement(sql);
+			ps.setString(1, uid.toString());
+			ps.setString(2, message.getType().toString());
+			ps.setString(3, messageString);
+			ps.execute();
+
+		}
+		catch (Exception e)
+		{
+			throw new MessageStoreException(e);
+		} 
+		finally
+		{
+			release();
+		}
+
+		return uid;
+	}
+
+	public synchronized Message getMessage (URI uid)
+			throws MessageStoreException
+	{
+
+		String sql = "select uuid,type,message from message where uuid=?";
+		Message message = null;
+
+		try
+		{
+			conn = mgr.getConnection();
+			ps = conn.prepareStatement(sql);
+			ps.setString(1, uid.toString());
+
+			rs = ps.executeQuery();
+			if (!rs.next())
+				throw new MessageStoreException("Non existing Message for UUID: " + uid);
+
+			message = Util.deserialize((Serializable) Base64.decodeToObject(rs
+					.getString(3)));
+
+		}
+		catch (SQLException e)
+		{
+			throw new MessageStoreException(e);
+		}
+		catch (Exception e)
+		{
+			throw new MessageStoreException(e);
+		} 
+		finally
+		{
+			release();
+		}
+
+		return message;
+
+	}
+
+	private void release ()
+	{
+
+		if (conn != null)
+		{
+			if (rs != null)
+			{
+				try
+				{
+					rs.close();
+				}
+				catch (Exception e)
+				{
+				}
+			}
+			
+			try
+			{
+				ps.close();
+			}
+			catch (Exception e1)
+			{
+			}
+			
+			try
+			{
+				conn.close();
+			}
+			catch (Exception e2)
+			{
+			}
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBMessageStorePlugin.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBMessageStorePlugin.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/db/DBMessageStorePlugin.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+package org.jboss.internal.soa.esb.persistence.format.db;
+
+import java.net.URI;
+
+import org.jboss.internal.soa.esb.persistence.format.MessageStorePlugin;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreType;
+
+/**
+ * @author dbrum
+ *
+ */
+public class DBMessageStorePlugin implements MessageStorePlugin {
+
+	
+	public MessageStore getMessageStore() {
+		return new DBMessageStoreImpl();
+	}
+
+	
+	public URI getType() {
+		return MessageStoreType.DATABASE;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,671 @@
+/*
+* 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.services.registry;
+
+import java.net.PasswordAuthentication;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.xml.registry.BulkResponse;
+import javax.xml.registry.BusinessLifeCycleManager;
+import javax.xml.registry.BusinessQueryManager;
+import javax.xml.registry.Connection;
+import javax.xml.registry.ConnectionFactory;
+import javax.xml.registry.FindQualifier;
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.JAXRResponse;
+import javax.xml.registry.RegistryService;
+import javax.xml.registry.infomodel.EmailAddress;
+import javax.xml.registry.infomodel.Key;
+import javax.xml.registry.infomodel.Organization;
+import javax.xml.registry.infomodel.PersonName;
+import javax.xml.registry.infomodel.PostalAddress;
+import javax.xml.registry.infomodel.RegistryObject;
+import javax.xml.registry.infomodel.Service;
+import javax.xml.registry.infomodel.ServiceBinding;
+import javax.xml.registry.infomodel.TelephoneNumber;
+import javax.xml.registry.infomodel.User;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.internal.soa.esb.addressing.helpers.EPRHelper;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+/**
+ * Utility class for the Registry.
+ * If need be we can extract the interface from here, add a factory and have JAXR as a plugin, allowing
+ * for other RegistryAPIs.
+ *
+ * @author Kurt Stam
+ */
+public class JAXRRegistryImpl implements Registry
+{
+	private static Logger logger = Logger.getLogger(JAXRRegistryImpl.class);
+	public static Set<PasswordAuthentication> creds = new HashSet<PasswordAuthentication>();
+	private static Properties props = new Properties();
+	private static Organization jbossESBOrganization;
+	
+	private synchronized static void init() 
+	{
+	    props = new Properties();
+	    props.setProperty("javax.xml.registry.queryManagerURL", Configuration.getRegistryQueryManageURI());
+	    props.setProperty("javax.xml.registry.lifeCycleManagerURL", Configuration.getRegistryLifecycleManagerURI());
+	    props.setProperty("javax.xml.registry.factoryClass", Configuration.getRegistryFactoryClass());
+	    props.setProperty("scout.proxy.transportClass", Configuration.getRegistryScoutTransportClass());
+	    String user = Configuration.getRegistryUser();
+	    String password = Configuration.getRegistryPassword();
+	    PasswordAuthentication passwdAuth = new PasswordAuthentication(user, password.toCharArray());
+        creds.add(passwdAuth);
+	}
+
+	/** 
+	 * Creates a connecton to a JAXR capable registy.
+	 * 
+	 * @return Connection to a Registry using JAXR. 
+	 */
+	protected synchronized static Connection getConnection() 
+	{
+		Connection connection = null;
+		init();
+	    try
+	    {   // Create the connection, passing it the configuration properties
+	        ConnectionFactory factory = ConnectionFactory.newInstance();
+	        factory.setProperties(props);
+	        connection = factory.createConnection();
+	    } catch (JAXRException e) {
+	        logger.log(Priority.ERROR, "Could not set up a connection to the Registry. " + e.getMessage(), e);
+	    }
+	    return connection;
+	}
+	/**
+	 * Closes the connection to the Registry
+	 */
+	protected synchronized static void closeConnection(Connection connection)
+	{
+		try {
+			if (connection!=null && !connection.isClosed()) {
+				connection.close();
+			}
+		} catch (JAXRException je) {
+			logger.log(Priority.ERROR, je.getMessage(), je);
+		}
+	}
+	/** 
+	 * Publish an EPR to the Registry
+	 */
+	protected Service registerService(String category, String serviceName, String serviceDescription) throws JAXRException 
+	{
+		Service service =null;
+		Organization organization = getJBossESBOrganization();
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			connection.setCredentials(JAXRRegistryImpl.creds);
+			RegistryService rs = connection.getRegistryService();
+			BusinessLifeCycleManager blm = rs.getBusinessLifeCycleManager();
+		    //Adding the category as prefix for the name
+			service = blm.createService(blm.createInternationalString(category + ":" + serviceName));
+			service.setDescription(blm.createInternationalString(serviceDescription));
+//			ClassificationScheme cScheme = getClassificationScheme(blm, "uddi-org:general_keywords", "");
+//			Classification classification = blm.createClassification(cScheme, "JBossESB" + category, category);
+//			service.addClassification(classification);
+			organization.addService(service);
+			saveRegistryObject(service);
+		} finally {
+			closeConnection(connection);
+		}
+		return service;
+	}
+	/** 
+	 * Remove an EPR from the Registry
+	 */
+	public void unRegisterService(String category, String serviceName) throws RegistryException{
+		try {
+			Organization organization = getJBossESBOrganization();
+			for (Iterator i=organization.getServices().iterator(); i.hasNext();) {
+				Service service = (Service) i.next();
+				if (service.getName().getValue().equals(category + ":" + serviceName)) {
+					organization.removeService(service);
+					saveRegistryObject(organization);
+					return;
+				}
+			}
+		} catch (JAXRException je) {
+			throw new RegistryException(je.getLocalizedMessage(), je);
+		}
+	}
+	/** 
+	 * Publish an EPR to the Registry
+	 */
+	public void registerEPR(String category, String serviceName, String serviceDescription, EPR epr, String eprDescription) 
+		throws RegistryException
+	{
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			//Find the service
+
+			Service service = findService(category,serviceName);
+			if (service==null) {
+				logger.log(Priority.DEBUG, "Service " + serviceName + " does not yet exist, creating now..");
+				service = registerService(category, serviceName, serviceDescription);
+			}
+
+			connection.setCredentials(JAXRRegistryImpl.creds);
+			RegistryService rs = connection.getRegistryService();
+			BusinessLifeCycleManager blm = rs.getBusinessLifeCycleManager();
+//			BusinessQueryManager bqm = rs.getBusinessQueryManager();
+			ServiceBinding serviceBinding = blm.createServiceBinding();
+			serviceBinding.setDescription(blm.createInternationalString(eprDescription));
+			String xml = EPRHelper.toXMLString(epr);
+			serviceBinding.setAccessURI(URLEncoder.encode(xml,"UTF-8"));
+
+//			The following code would store the EPR xml as an ExtrinsicObject, but scout does not
+//          have an implementation for it.
+//			DataHandler repositoryItem = new DataHandler(xml,"text/xml");
+//			ExtrinsicObject eo = blm.createExtrinsicObject(repositoryItem);
+//			eo.setName(blm.createInternationalString("EPR"));
+//			eo.setMimeType("text/xml");
+//			String conceptId = "urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject:XML";
+//			Concept objectTypeConcept = (Concept) bqm.getRegistryObject(conceptId);
+//				((ExtrinsicObjectImpl)eo).setObjectType(objectTypeConcept); 
+			
+//			Concept specConcept = blm.createConcept(null, "HelloConcept", "");
+//			String schemeName = "uddi-org:types";
+//			ClassificationScheme uddiOrgTypes =
+//			     bqm.findClassificationSchemeByName(null, schemeName);
+//			Classification wsdlSpecClassification = 
+//			     blm.createClassification(uddiOrgTypes,
+//			       "eprSpec", xml);
+//			   specConcept.addClassification(wsdlSpecClassification);
+//			Collection<Concept> concepts = new ArrayList<Concept>();
+//			concepts.add(specConcept);
+//			BulkResponse br=blm.saveConcepts(concepts);
+//			Key conceptKey = null;
+//			if (br.getStatus() == JAXRResponse.STATUS_SUCCESS) {
+//				Collection keys = br.getCollection();
+//				for (Iterator i=keys.iterator();i.hasNext();){
+//					conceptKey = (Key) i.next();
+//					break;
+//				}
+//			} else {
+//				throw new RegistryException("Could not save the EPR as Concept");
+//			}
+//			//now adding this concept to the binding
+//			Concept specificationConcept = (Concept) bqm.getRegistryObject(conceptKey.getId(), LifeCycleManager.CONCEPT);
+//			SpecificationLink specificationLink = blm.createSpecificationLink();
+//			specificationLink.setSpecificationObject(specificationConcept);
+//			serviceBinding.addSpecificationLink(specificationLink);
+		
+		    ArrayList<ServiceBinding> serviceBindings = new ArrayList<ServiceBinding>();
+		    serviceBindings.add(serviceBinding);
+		    service.addServiceBindings(serviceBindings);
+			saveRegistryObject(serviceBinding);
+		} catch (Exception je) {
+			throw new RegistryException(je.getLocalizedMessage(), je);
+		} finally {
+			closeConnection(connection);
+		}
+	}
+	/** 
+	 * Remove an EPR from the Registry
+	 */
+	public void unRegisterEPR(String category, String serviceName, EPR toBeDeletedEPR) throws RegistryException{
+		//first find the ServiceBindings for this service
+		try {
+			Service service = findService(category, serviceName);
+			Collection serviceBindings = findServiceBindings(service);
+			service.addServiceBindings(serviceBindings);
+			for (Iterator i=serviceBindings.iterator();i.hasNext();){
+				ServiceBinding serviceBinding = (ServiceBinding) i.next();
+				String xml = URLDecoder.decode(serviceBinding.getAccessURI(), "UTF-8");
+				if (xml.equals(EPRHelper.toXMLString(toBeDeletedEPR))) {
+					service.removeServiceBinding(serviceBinding);
+					i.remove();
+					service.setProvidingOrganization(getJBossESBOrganization());
+					saveRegistryObject(service);
+					//adding the other bindings back in. Workaround for this scout bug.
+					for (Iterator j=service.getServiceBindings().iterator();j.hasNext();){
+						serviceBinding = (ServiceBinding) j.next();
+						serviceBinding.setKey(null);
+						saveRegistryObject(serviceBinding);
+					}
+					return;
+				}
+			}
+			//We should not end up here or else we did not match any EPRs
+			throw new RegistryException("No such EPR found for service with name = " 
+					+ serviceName + " and EPR=" + toBeDeletedEPR);
+		} catch (Exception je) {
+			throw new RegistryException(je.getLocalizedMessage(), je);
+		}
+	}
+	
+	/** 
+	 * {@inheritDoc}
+	 * @return collection services
+	 */
+	public Collection<String> findAllServices() throws RegistryException
+	{
+		Collection<String> serviceNames = new ArrayList<String>();
+		try {
+			Collection services = getJBossESBOrganization().getServices();
+			for (Iterator i=services.iterator();i.hasNext();) {
+				String serviceName = ((Service)i.next()).getName().getValue();
+				serviceNames.add(serviceName);
+			}
+		} catch (JAXRException je) {
+			throw new RegistryException(je.getLocalizedMessage(), je);
+		}
+		return serviceNames;
+	}
+	/**
+	 * Find Services based on a category ("transformation").
+	 * 
+	 * @param serviceType
+	 * @return collection services
+	 */
+	public Collection<String> findServices(String category) throws RegistryException
+	{
+		Collection<String>serviceNames = new ArrayList<String>();
+		try {
+			Collection<Service>services = findServicesForCategory(category);
+			for (Iterator<Service> i=services.iterator();i.hasNext();) {
+				String serviceName = i.next().getName().getValue();
+				serviceNames.add(serviceName);
+			}
+		} catch (JAXRException je) {
+			throw new RegistryException(je.getLocalizedMessage(), je);
+		}
+		return serviceNames;
+	}
+	/**
+	 * 
+	 * @param service
+	 * @return
+	 */
+	public Collection<EPR> findEPRs(String category, String serviceName) throws RegistryException
+	{
+		Collection<EPR> eprs = new ArrayList<EPR>();
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			Service service = findService(category, serviceName);
+			if (service==null){
+				throw new RegistryException("Could not find service with category=" + category + " and serviceName=" + serviceName);
+			}
+			// Get registry service and business query manager
+			Collection<ServiceBinding> serviceBindings = findServiceBindings(service);
+			//Converting them to EPRs
+			for (Iterator i=serviceBindings.iterator();i.hasNext();) {
+				ServiceBinding serviceBinding = (ServiceBinding) i.next();
+				@SuppressWarnings("unused")
+				String eprXML = URLDecoder.decode(serviceBinding.getAccessURI(),"UTF-8");
+				EPR epr = EPRHelper.fromXMLString(eprXML);
+				eprs.add(epr);
+			}
+		} catch (Exception je) {
+			throw new RegistryException(je.getLocalizedMessage(), je);
+		} finally {
+			closeConnection(connection);
+		}
+		return eprs;
+	}
+	/**
+	 * 
+	 * @param service
+	 * @return
+	 */
+	public EPR findEPR(String category, String serviceName) throws RegistryException
+	{
+		EPR epr = null;
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			Service service = findService(category, serviceName);
+			if (service==null){
+				throw new RegistryException("Could not find service with category=" + category + " and serviceName=" + serviceName);
+			}
+			// Get registry service and business query manager
+			Collection<ServiceBinding> serviceBindings = findServiceBindings(service);
+			if (serviceBindings.iterator().hasNext()) {
+				ServiceBinding serviceBinding = (ServiceBinding) serviceBindings.iterator().next();
+				String eprXML = URLDecoder.decode(serviceBinding.getAccessURI(),"UTF-8");
+				epr = EPRHelper.fromXMLString(eprXML);
+			}
+		} catch (Exception je) {
+			throw new RegistryException(je.getLocalizedMessage(), je);
+		} finally {
+			closeConnection(connection);
+		}
+		return epr;
+	}
+	/**
+	 * Find all Organizations with a name mathing the queryString parameter.
+	 * 
+	 * @param organizationName used to match with the name of the organization.
+	 * @return the Organization.
+	 */
+	protected synchronized static Organization findOrganization(String organizationName) throws JAXRException
+	{
+	    if (organizationName==null) {
+	    	organizationName="";
+	    }
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			// Get registry service and business query manager
+			RegistryService rs = connection.getRegistryService();
+			BusinessQueryManager bqm = rs.getBusinessQueryManager();
+			// Define find qualifiers and name patterns
+			Collection<String> findQualifiers = new ArrayList<String>();
+			findQualifiers.add(FindQualifier.SORT_BY_NAME_ASC);
+			Collection<String> namePatterns = new ArrayList<String>();
+			namePatterns.add("%" + organizationName + "%");
+	        //Find based upon qualifier type and values
+			logger.log(Priority.DEBUG,"Going to query the registry for name pattern " + namePatterns);
+			BulkResponse response = bqm.findOrganizations(findQualifiers,
+					namePatterns, null, null, null, null);
+			if (response.getStatus()==JAXRResponse.STATUS_SUCCESS) {
+				for (Iterator orgIter = response.getCollection().iterator(); orgIter.hasNext();) 
+				{
+					Organization org = (Organization) orgIter.next();
+					logger.log(Priority.DEBUG, "Organization name: " + org.getName().getValue());
+					logger.log(Priority.DEBUG, "Description: " + org.getDescription().getValue());
+					logger.log(Priority.DEBUG, "Key id: " + org.getKey().getId());
+					User primaryContact = org.getPrimaryContact();
+					logger.log(Priority.DEBUG, "Primary Contact: " + primaryContact.getPersonName().getFullName());
+					if (orgIter.hasNext()) {
+						logger.log(Priority.ERROR, "Found " + response.getCollection().size() 
+								+ " Organization, while expecting only one of name " + organizationName);
+					}
+					return org;
+				}
+			}
+			return null;
+		} finally {
+			closeConnection(connection);
+		}
+	}
+	/**
+	 * 
+	 * @param category
+	 * @param serviceName
+	 * @return Service
+	 */
+	protected synchronized static Service findService(String category, String serviceName) throws JAXRException
+	{
+		if (category==null) {
+			category="";
+		}
+		if (serviceName==null) {
+			serviceName="";
+		}
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			// Get registry service and business query manager
+			RegistryService rs = connection.getRegistryService();
+			BusinessQueryManager bqm = rs.getBusinessQueryManager();
+			// Define find qualifiers and name patterns
+			Collection<String> findQualifiers = new ArrayList<String>();
+			findQualifiers.add(FindQualifier.AND_ALL_KEYS);
+			findQualifiers.add(FindQualifier.SORT_BY_NAME_DESC);
+			Collection<String> namePatterns = new ArrayList<String>();
+			namePatterns.add(category);
+			namePatterns.add(serviceName);
+	        //Find based upon qualifier type and values
+			logger.log(Priority.DEBUG, "Going to query the registry for name pattern " + namePatterns);
+			BulkResponse response = bqm.findServices(null, findQualifiers,
+					namePatterns, null, null);
+			if (response.getStatus()==JAXRResponse.STATUS_SUCCESS) {
+				for (Iterator servIter = response.getCollection().iterator(); servIter.hasNext();) 
+				{
+					Service service = (Service) servIter.next();
+					logger.log(Priority.DEBUG, "Service name: " + service.getName().getValue());
+					if (service.getDescription()!=null) {
+						logger.log(Priority.DEBUG, "Description: " + service.getDescription().getValue());
+					}
+					logger.log(Priority.DEBUG, "Key id: " + service.getKey().getId());
+					if (servIter.hasNext()) {
+						logger.log(Priority.ERROR, "Found " + response.getCollection().size() 
+								+ " Services, while expecting only one by the name of " 
+								+ serviceName + " in category " + category);
+					}
+					return service;
+				}
+			}
+			return null;
+		} finally {
+			closeConnection(connection);
+		}
+	}
+	/**
+	 * Finds all services for a given category.
+	 * @param category
+	 * @param serviceName
+	 * @return Service
+	 */
+	@SuppressWarnings("unchecked")
+	protected synchronized static Collection<Service> findServicesForCategory(String category) throws JAXRException
+	{
+		Collection<Service> services = new ArrayList<Service>();
+		if (category==null) {
+			category="";
+		}
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			// Get registry service and business query manager
+			RegistryService rs = connection.getRegistryService();
+			BusinessQueryManager bqm = rs.getBusinessQueryManager();
+			// Define find qualifiers and name patterns
+			Collection<String> findQualifiers = new ArrayList<String>();
+			findQualifiers.add(FindQualifier.AND_ALL_KEYS);
+			findQualifiers.add(FindQualifier.SORT_BY_NAME_DESC);
+			Collection<String> namePatterns = new ArrayList<String>();
+			namePatterns.add(category);
+	        //Find based upon qualifier type and values
+			logger.log(Priority.DEBUG, "Going to query the registry for name pattern " + namePatterns);
+			BulkResponse response = bqm.findServices(null, findQualifiers,
+					namePatterns, null, null);
+			if (response.getStatus()==JAXRResponse.STATUS_SUCCESS) {
+				services = response.getCollection();
+			}
+			return services;
+		} finally {
+			closeConnection(connection);
+		}
+	}
+	/**
+	 * Create a jbossesb organization under which we will register all our services.
+	 * 
+	 * @param blm
+	 * @return
+	 * @throws JAXRException
+	 */
+	protected synchronized static Organization createJBossESBOrganization()
+			throws JAXRException 
+	{
+//		Getting the connection to the Registry (reading config)
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			//Logging in
+			connection.setCredentials(JAXRRegistryImpl.creds);
+			RegistryService rs = connection.getRegistryService();
+			//Building organization
+			BusinessLifeCycleManager blm = rs.getBusinessLifeCycleManager();
+			Organization organization = blm.createOrganization(blm.createInternationalString("Red Hat/JBossESB"));
+				organization.setDescription(blm.createInternationalString("Red Hat/JBoss Professional Open Source, Services for the JBossESB"));
+
+			User user = blm.createUser();
+			organization.setPrimaryContact(user);
+			PersonName personName = blm.createPersonName("JBossESB");
+			TelephoneNumber telephoneNumber = blm.createTelephoneNumber();
+			telephoneNumber.setNumber("404 467-8555");
+			telephoneNumber.setType(null);
+			PostalAddress address = blm.createPostalAddress("3340",
+					"Peachtree Road, NE, Suite 1200", "Atlanta", "GA", "USA",
+					"30326", "");
+			Collection<PostalAddress> postalAddresses = new ArrayList<PostalAddress>();
+			postalAddresses.add(address);
+			Collection<EmailAddress> emailAddresses = new ArrayList<EmailAddress>();
+			EmailAddress emailAddress = blm
+					.createEmailAddress("jbossesb at jboss.com");
+			emailAddresses.add(emailAddress);
+	
+			Collection<TelephoneNumber> numbers = new ArrayList<TelephoneNumber>();
+			numbers.add(telephoneNumber);
+			user.setPersonName(personName);
+			user.setPostalAddresses(postalAddresses);
+			user.setEmailAddresses(emailAddresses);
+			user.setTelephoneNumbers(numbers);
+	
+	//		Scout does not support this (yet), so leaving it out for now.
+	//		ClassificationScheme cScheme = getClassificationScheme(blm,
+	//				blm.createInternationalString("uddi-org:general_keywords"), blm.createInternationalString(""));
+	//		Classification classification = blm.createClassification(cScheme,
+	//				blm..createInternationalString("JBoss ESB"), blm..createInternationalString("JBESB"));
+	//		org.addClassification(classification);
+			
+			saveRegistryObject(organization);
+			return organization;
+		} finally {
+			closeConnection(connection);
+		}	
+	}
+	/**
+	 * Save Registry Object
+	 */
+	protected synchronized static void saveRegistryObject(RegistryObject registryObject) throws JAXRException
+	{
+//		Getting the connection to the Registry (reading config)
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			Collection<RegistryObject> registryObjects = new ArrayList<RegistryObject>();
+			BulkResponse br = null;
+			//Logging in
+			connection.setCredentials(JAXRRegistryImpl.creds);
+			RegistryService rs = connection.getRegistryService();
+			//Building organization
+			BusinessLifeCycleManager blm = rs.getBusinessLifeCycleManager();
+			registryObjects.add(registryObject);
+			Class[] interfaces = registryObject.getClass().getInterfaces();
+			String interfaceName ="";
+			for (int i=0; i<interfaces.length; i++) {
+				interfaceName = interfaces[i].getName();
+				if (interfaceName.equals("javax.xml.registry.infomodel.Organization")) {
+					br = blm.saveOrganizations(registryObjects);
+					break;
+				} else if (interfaceName.equals("javax.xml.registry.infomodel.Service")) {
+					br = blm.saveServices(registryObjects);
+					break;
+				} else if (interfaceName.equals("javax.xml.registry.infomodel.ServiceBinding")) {
+					br = blm.saveServiceBindings(registryObjects);
+					break;
+				} else {
+					logger.log(Priority.ERROR, "Trying to save an unsupported RegistryObject");
+					throw new JAXRException("Trying to save an unsupported RegistryObject");
+				}
+			}
+            //Verify the return
+			if (br!=null && br.getStatus() == JAXRResponse.STATUS_SUCCESS) {
+				logger.log(Priority.DEBUG, interfaceName + " successfully saved");
+				Collection coll = br.getCollection();
+				Iterator iter = coll.iterator();
+				while (iter.hasNext()) {
+					Key key = (Key) iter.next();
+					registryObject.setKey(key);
+					logger.log(Priority.DEBUG, "Saved Key=" + key.getId());
+				}
+			} else {
+				logger.log(Priority.ERROR, "Errors occurred during save.");
+				if (br!=null) {
+					Collection exceptions = br.getExceptions();
+					Iterator iter = exceptions.iterator();
+					String errors = "";
+					JAXRException je = new JAXRException("JAXRExceptions occurred during save");
+					while (iter.hasNext()) {
+						Exception e = (Exception) iter.next();
+						errors += e.getLocalizedMessage() + "\n";
+						je.setStackTrace(e.getStackTrace());
+						logger.log(Priority.ERROR, e.getLocalizedMessage(), e);
+						//if it's the last error, throw it now and set the current stacktrace
+						if (!iter.hasNext()) {
+							throw new JAXRException(errors, e);
+						}
+					}
+					throw new JAXRException("Errors occurred during save. Response status=" + br.getStatus());
+				}
+				throw new JAXRException("Errors occurred during save");
+			}
+		} finally {
+			JAXRRegistryImpl.closeConnection(connection);
+		}	
+	}
+	/**
+	 * finds the JBossESB Organizationa and creates one if it is not there.
+	 * @return JBossESB Organization
+	 * @throws JAXRException
+	 */
+	private Organization getJBossESBOrganization() throws JAXRException
+	{
+		if (jbossESBOrganization==null) {
+			jbossESBOrganization = findOrganization("Red Hat/JBossESB");
+			if (jbossESBOrganization==null) {
+				jbossESBOrganization = createJBossESBOrganization();
+			}
+		}
+		return jbossESBOrganization;
+	}
+	/**
+	 * Find the ServiceBindings for a given Service
+	 * @param service
+	 * @return
+	 * @throws RegistryException
+	 */
+	@SuppressWarnings("unchecked")
+	private Collection<ServiceBinding> findServiceBindings(Service service) throws RegistryException
+	{
+		Collection<ServiceBinding> serviceBindings = new ArrayList<ServiceBinding>();
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			RegistryService rs = connection.getRegistryService();
+			BusinessQueryManager bqm = rs.getBusinessQueryManager();
+			Collection<String> findQualifiers = new ArrayList<String>();
+			findQualifiers.add(FindQualifier.SORT_BY_NAME_ASC);
+			BulkResponse bulkResponse = bqm.findServiceBindings(service.getKey(),findQualifiers,null,null);
+			if (bulkResponse.getStatus()==JAXRResponse.STATUS_SUCCESS){
+				serviceBindings = bulkResponse.getCollection();
+			}
+			return serviceBindings;
+		} catch (Exception je) {
+			throw new RegistryException(je.getLocalizedMessage(), je);
+		} finally {
+			closeConnection(connection);
+		}
+	}
+	
+}
+
+	

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/DslHelper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/DslHelper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/DslHelper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,175 @@
+/*
+ * 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.services.routing.cbr;
+
+import java.io.ByteArrayInputStream;
+
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.message.Message;
+import org.xml.sax.InputSource;
+
+/**
+ * Domain Specific Language helper. Right now this supports the use of XPath, but this class can
+ * be beefed up upo to use other technologies as well.
+ * 
+ * @author kstam at redhat.com
+ *
+ */
+public class DslHelper 
+{
+	private static Logger log = Logger.getLogger(DslHelper.class);
+	/** XPath instance */
+	private static XPathFactory xpf = XPathFactory.newInstance();
+	/** 
+	 * Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+	 * 
+	 * @param message - the ESB Message which body content will be used.
+	 * @param xpathExp - XPath expression to find a node.
+	 * @return true if the node is found and false in all other cases.
+	 * @throws XPathExpressionException
+	 */
+	public static boolean xmlContentMatches(Message message, String xpathExp) throws XPathExpressionException 
+	{
+		if (log.isDebugEnabled()) {
+			log.debug("Trying to match xpath: '" + xpathExp +  "' in message=" + message);
+		}
+		XPath xpath = xpf.newXPath();
+		InputSource inputSource = new InputSource(new ByteArrayInputStream(message.getBody().getContents()));
+		Object node = xpath.evaluate(xpathExp, inputSource, XPathConstants.NODE);
+		if (log.isDebugEnabled()) {
+			log.debug("Found node=" + node);
+		}
+		return node != null;
+	}
+	/** 
+	 * Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+	 * 
+	 * @param message - the ESB Message which body content will be used.
+	 * @param xpathExp - XPath expression to find a node.
+	 * @param value - used to compare against the result found using the XPath expression.
+	 * @return true if equal, false in all other cases.
+	 * @throws XPathExpressionException
+	 */
+	public static boolean xmlContentEquals(Message message, String xpathExp, String value) throws XPathExpressionException 
+	{
+		if (log.isDebugEnabled()) {
+			log.debug("Trying to match xpath: '" + xpathExp +  "' in message=" + message.getBody().getContents());
+		}
+		XPath xpath = xpf.newXPath();
+		InputSource inputSource = new InputSource(new ByteArrayInputStream(message.getBody().getContents()));
+		String nodeValue = (String) xpath.evaluate(xpathExp, inputSource, XPathConstants.STRING);
+		if (log.isDebugEnabled()) {
+			log.debug("Found nodeValue=" + nodeValue + " which is matched to given value=" + value);
+		}
+		return value.equals(nodeValue);
+	}
+
+	/** 
+	 * Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+	 * 
+	 * @param message - the ESB Message which body content will be used.
+	 * @param xpathExp - XPath expression to find a node.
+	 * @param value - used to compare against the result found using the XPath expression.
+	 * @return true if node (returned by the xpath expression) is greater than the current value, false in all other cases.
+	 * @throws XPathExpressionException
+	 */
+	public static boolean xmlContentGreaterThan(Message message, String xpathExp, String value) throws XPathExpressionException 
+	{
+		String nodeValue=null;
+		double doubleValue=0;
+		double doubleNodeValue=0;
+		
+		if (log.isDebugEnabled()) {
+			log.debug("Trying to match xpath: '" + xpathExp +  "' in message=" + message.getBody().getContents());
+		}
+		XPath xpath = xpf.newXPath();
+		InputSource inputSource = new InputSource(new ByteArrayInputStream(message.getBody().getContents()));	
+		nodeValue = (String) xpath.evaluate(xpathExp, inputSource, XPathConstants.STRING);if (log.isDebugEnabled()) {
+			log.debug("Found nodeValue=" + nodeValue + " which is matched to given value=" + value);
+		}
+		if (nodeValue!=null && !"".equals(nodeValue)) {
+			
+			try {
+				doubleValue = Double.parseDouble(value);
+			} catch (NumberFormatException ne) {
+				log.equals("Could not parse value=" + doubleValue + " to double");
+			}
+			try {
+				doubleNodeValue = Double.parseDouble(nodeValue);
+			} catch (NumberFormatException ne) {
+				log.equals("Could not parse nodeValue=" + doubleNodeValue + " to double");
+			}
+			if (doubleNodeValue > doubleValue) {
+				return true;
+			}
+		}
+		return false;
+	}
+	
+	/** 
+	 * Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+	 * 
+	 * @param message - the ESB Message which body content will be used.
+	 * @param xpathExp - XPath expression to find a node.
+	 * @param value - used to compare against the result found using the XPath expression.
+	 * @return true if node (returned by the xpath expression) is less than the current value, false in all other cases.
+	 * @throws XPathExpressionException
+	 */
+	public static boolean xmlContentLessThan(Message message, String xpathExp, String value) throws XPathExpressionException 
+	{
+		String nodeValue=null;
+		double doubleValue=0;
+		double doubleNodeValue=0;
+		
+		if (log.isDebugEnabled()) {
+			log.debug("Trying to match xpath: '" + xpathExp +  "' in message=" + message.getBody().getContents());
+		}
+		XPath xpath = xpf.newXPath();
+		InputSource inputSource = new InputSource(new ByteArrayInputStream(message.getBody().getContents()));	
+		nodeValue = (String) xpath.evaluate(xpathExp, inputSource, XPathConstants.STRING);if (log.isDebugEnabled()) {
+			log.debug("Found nodeValue=" + nodeValue + " which is matched to given value=" + value);
+		}
+		if (nodeValue!=null && !"".equals(nodeValue)) {
+			
+			try {
+				doubleValue = Double.parseDouble(value);
+			} catch (NumberFormatException ne) {
+				log.equals("Could not parse value=" + doubleValue + " to double");
+			}
+			try {
+				doubleNodeValue = Double.parseDouble(nodeValue);
+			} catch (NumberFormatException ne) {
+				log.equals("Could not parse nodeValue=" + doubleNodeValue + " to double");
+			}
+			if (doubleNodeValue < doubleValue) {
+				return true;
+			}
+		}
+		return false;
+	}
+}
+	

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,256 @@
+/*
+ * 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.services.routing.cbr;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.rule.Package;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+import org.jboss.soa.esb.services.routing.cbr.CBRException;
+import org.jboss.soa.esb.services.routing.cbr.ContentBasedRouter;
+
+/**
+ * The Implementation of a rule based Content Router. Here we use JBossRules. We
+ * keep a HashMap of so called working memories for performance reasons.
+ * 
+ * @author kstam at redhat.com
+ * 
+ */
+public class JBossRulesRouter extends ContentBasedRouter
+{
+	private static Map<String, RuleBase> ruleBases = new ConcurrentHashMap<String, RuleBase>();
+
+	private static Map<String, String> ruleSets = new ConcurrentHashMap<String, String>();
+
+	private static Logger logger = Logger.getLogger(JBossRulesRouter.class);
+
+	/**
+     * Route the message with a reference to the ruleSets supplied in the message.
+     * Not implemented.
+	 * 
+	 * @param message - Message that needs routing.
+	 */
+	public List<String> route (Message message)
+    throws MessageRouterException
+	{
+        logger.error("Not implemented");
+		return null;
+	}
+
+	/**
+	 * Route the message, using the given ruleSet (drl).
+	 * 
+	 * @param ruleSet -
+	 *            Filename of the drl that will be used.
+	 * @param message -
+	 *            Message that needs routing.
+	 */
+	public List<String> route (String ruleSet, boolean ruleReload,
+			Message message) throws MessageRouterException
+	{
+		return route(ruleSet, null, ruleReload, message);
+	}
+
+	/**
+	 * Route the message, where the routing rules are supplied as part of the
+	 * message itself. We don't support this yet, as I don't see the need right
+	 * now. However when the need arises, this is were it goes.
+	 * 
+	 * @param ruleSet -
+	 *            Filename of the drl that will be used.
+	 * @param ruleLanguage -
+	 *            Filename of the dsl that will be used.
+	 * @param message -
+	 *            Message that needs routing.
+	 */
+	@SuppressWarnings("unchecked")
+	public List<String> route (String ruleSet, String ruleLanguage,
+			boolean ruleReload, Message message) throws MessageRouterException
+	{
+        List<String> destinations = new ArrayList();
+		try {
+    		String newRuleSet = null;
+    		boolean isRulesChanged = false;
+    
+    		if (ruleReload)
+    		{
+    			String currentRuleSet = ruleSets.get(ruleSet);
+    			newRuleSet = getRules(ruleSet, ruleLanguage);
+    			if (currentRuleSet == null || !currentRuleSet
+    					.equals(newRuleSet))
+    			{
+    				isRulesChanged = true;
+    			}
+    		}
+    		RuleBase ruleBase = ruleBases.get(ruleSet);
+    		if (ruleBase == null || isRulesChanged)
+    		{
+    			logger.log(Priority.DEBUG,
+    					"Reading ruleSet from file=" + ruleSet);
+    			ruleBase = readRuleBase(ruleSet, ruleLanguage);
+    			if (ruleBase != null) ruleBases.put(ruleSet, ruleBase);
+    			if (newRuleSet == null)
+    			{
+    				newRuleSet = getRules(ruleSet, ruleLanguage);
+    			}
+    			if (ruleSet != null) ruleSets.put(ruleSet, newRuleSet);
+    		}
+    		WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+    		logger.log(Priority.DEBUG,
+    				"Obtained message=" + message + " with ruleSet=" + ruleSet);
+    		workingMemory.setGlobal("destinations", destinations);
+    		workingMemory.assertObject(message);
+    		logger.log(Priority.DEBUG, "Fire the JBossRules Engine");
+    		workingMemory.fireAllRules();
+    		logger.log(Priority.DEBUG,
+    				"Outgoing Destinations: " + destinations);
+            return destinations;
+        } catch (IOException ioe) {
+            throw new MessageRouterException("Could not read the rules. " +  ioe.getMessage(), ioe);
+        } catch (DroolsParserException dpe) {
+            throw new MessageRouterException("Could not parse the rules. " +  dpe.getMessage(), dpe);
+        } catch (CBRException cbre) {
+            throw new MessageRouterException("Could not parse the rules. " +  cbre.getMessage(), cbre);
+        }
+	}
+
+	/**
+	 * Reading the rules and dsl from files. Note that we may want to allow
+	 * other ways to set the rule, but for now it's just files.
+	 */
+	private static RuleBase readRuleBase (String rulesFile, String ruleLanguage)
+			throws DroolsParserException, IOException, CBRException
+	{
+		// read in the rules
+		logger.debug("Going to read the rule: " + rulesFile);
+		InputStream inputStreamDrl = JBossRulesRouter.class
+				.getResourceAsStream("/" + rulesFile);
+		if (inputStreamDrl == null)
+		{
+			logger.error("Could not find rulesFile: " + rulesFile);
+			return null;
+		}
+		else
+		{
+			Reader rules = new InputStreamReader(inputStreamDrl);
+            PackageBuilderConfiguration pkgBuilderCfg = new PackageBuilderConfiguration();
+            pkgBuilderCfg.setCompiler(PackageBuilderConfiguration.JANINO);
+            PackageBuilder builder = new PackageBuilder(pkgBuilderCfg);
+			// this wil parse and compile in one step
+			if (ruleLanguage == null)
+			{
+				builder.addPackageFromDrl(rules);
+			}
+			else
+			{
+				logger.debug("Going to read the language: " + ruleLanguage);
+				InputStream inputStreamDsl = JBossRulesRouter.class
+						.getResourceAsStream("/" + ruleLanguage);
+				if (inputStreamDsl == null)
+				{
+					logger.error("Could not find ruleLanguage: " + rulesFile);
+				}
+				else
+				{
+					Reader dsl = new InputStreamReader(inputStreamDsl);
+					builder.addPackageFromDrl(rules, dsl);
+				}
+			}
+			// get the compiled package (which is serializable)
+			Package pkg = builder.getPackage();
+			// add the package to a rulebase (deploy the rule package).
+			try
+			{
+				RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+				ruleBase.addPackage(pkg);
+				return ruleBase;
+			} catch (Exception ex) {
+				throw new CBRException(ex.getMessage(), ex);
+			}
+		}
+	}
+
+	/**
+	 * Reading the rules and dsl from files. Note that we may want to allow
+	 * other ways to set the rule, but for now it's just files.
+	 */
+	private static String getRules (String rulesFile, String ruleLanguage)
+			throws IOException
+	{
+		logger.debug("Going to hash the rule: " + rulesFile);
+		InputStream inputStreamDrl = JBossRulesRouter.class
+				.getResourceAsStream("/" + rulesFile);
+		if (inputStreamDrl == null)
+		{
+			logger.error("Could not find rulesFile: " + rulesFile);
+			return null;
+		}
+		else
+		{
+			String rules = getString(inputStreamDrl);
+			String language = "";
+			if (ruleLanguage != null)
+			{
+				logger.debug("Going to hash the language: " + ruleLanguage);
+				InputStream inputStreamDsl = JBossRulesRouter.class
+						.getResourceAsStream("/" + ruleLanguage);
+				if (inputStreamDrl == null)
+				{
+					logger.error("Could not find language: " + ruleLanguage);
+				}
+				else
+				{
+					language = getString(inputStreamDsl);
+				}
+			}
+			return rules + language;
+		}
+
+	}
+
+	private static String getString (InputStream in) throws IOException
+	{
+		StringBuffer stringBuffer = new StringBuffer();
+		byte[] b = new byte[4096];
+		for (int i; (i = in.read(b)) != -1;)
+		{
+			stringBuffer.append(new String(b, 0, i));
+		}
+		return stringBuffer.toString();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/persistence/MessageStoreType.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/persistence/MessageStoreType.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/persistence/MessageStoreType.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ * @author daniel.brum at jboss.com
+ */
+
+/**
+ * You get a message store of a specific type when you need it. 
+ *  
+ * @author Daniel Brum
+ *
+ */
+
+package org.jboss.soa.esb.services.persistence;
+
+import java.net.URI;
+
+public abstract class MessageStoreType {
+	/*
+	 * DO NOT reorder this list. New types may be added as required.
+	 */
+	
+	public static URI DATABASE = null;	
+
+	public static URI DEFAULT_TYPE = null;
+	
+	static
+	{
+		try
+		{
+			DATABASE = new URI("urn:jboss/esb/persistence/type/DATABASE");	
+			
+			DEFAULT_TYPE = DATABASE;
+		}
+		catch (Exception ex)
+		{
+			throw new ExceptionInInitializerError(ex.toString());
+		}
+
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/Registry.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/Registry.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/Registry.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,96 @@
+/*
+* 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.services.registry;
+
+import java.util.Collection;
+
+import org.jboss.soa.esb.addressing.EPR;
+/**
+ * Registry interface for the ESB.
+ *
+ * @author Kurt Stam
+ */
+public interface Registry 
+{
+	/**
+	 * Removes a service from the Registry along with all the ServiceBindings underneath it.
+	 *
+	 * @param category           - name of the service category, for example 'transformation'.
+	 * @param serviceName        - name of the service, for example 'smooks'.
+	 * @throws RegistryException
+	 */
+	public void unRegisterService(String category, String serviceName) throws RegistryException;
+	/**
+	 * Registers an EPR under the specified category and service. If the specified service does
+	 * not exist, it will be created at the same time.
+	 * 
+	 * @param serviceCategoryName - name of the category to which the service belongs.
+	 * @param serviceName         - name of the service to which the EPS belongs.
+	 * @param serviceDescription  - human readable description of the service, 
+	 * 							   only used when it the service does not yet exist.
+	 * @param epr				  - the EndPointReference (EPR) that needs to be registered.
+	 * @param eprDescription	  - human readable description of the EPR
+	 * @throws RegistryException
+	 */
+	public void registerEPR(String serviceCategoryName, String serviceName, String serviceDescription, EPR epr, String eprDescription) 
+	throws RegistryException;
+	/**
+	 * Removes an EPR from the Registry. 
+	 * @param serviceCategoryName - name of the category to which the service belongs.
+	 * @param serviceName         - name of the service to which the EPS belongs.
+	 * @param epr                 - the EndPointReference (EPR) that needs to be unregistered.
+	 * @throws RegistryException
+	 */
+	public void unRegisterEPR(String serviceCategoryName, String serviceName, EPR epr) throws RegistryException;
+	/** 
+	 * Find all Services assigned to the Red Hat/JBossESB organization.
+	 * @return Collection of Strings containing the service names.
+	 * @throws RegistryException
+	 */
+	public Collection<String> findAllServices() throws RegistryException;
+	/**
+	 * Find all services that belong to the supplied category. 
+	 * 
+	 * @param serviceCategoryName - name of the category to which the service belongs.
+	 * @return Collection of Strings containing the service names
+	 * @throws RegistryException
+	 */
+	public Collection<String> findServices(String serviceCategoryName) throws RegistryException;
+	/**
+	 * Finds all the EPRs that belong to a specific category and service combination.
+	 * 
+	 * @param serviceCategoryName - name of the category to which the service belongs.
+	 * @param serviceName         - name of the service to which the EPS belongs.
+	 * @return Collection of EPRs.
+	 * @throws RegistryException
+	 */
+	public Collection<EPR> findEPRs(String serviceCategoryName, String serviceName) throws RegistryException;
+	/**
+	 * Returns the first EPR in the list that belong to a specific category and service combination.
+	 * 
+	 * @param serviceCategoryName - name of the category to which the service belongs.
+	 * @param serviceName         - name of the service to which the EPS belongs.
+	 * @return EPR.
+	 * @throws RegistryException
+	 */
+	public EPR findEPR(String serviceCategoryName, String serviceName) throws RegistryException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/RegistryException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/RegistryException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/RegistryException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,42 @@
+/*
+ * 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.services.registry;
+
+/**
+ * @author kstam
+ * 
+ */
+public class RegistryException extends Exception {
+    private static final long serialVersionUID = 1L;
+    
+    public RegistryException(){
+        super();
+    }
+    
+    public RegistryException (String msg){
+        super(msg);
+    }
+    
+    public RegistryException (String msg, Throwable cause){
+        super (msg, cause);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/RegistryFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/RegistryFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/registry/RegistryFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+/*
+ * 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.services.registry;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.common.Factory;
+
+/**
+ * Returns an Instance of the Registry.
+ * 
+ * @author kstam
+ * 
+ */
+public class RegistryFactory extends Factory
+{
+	private static Logger logger = Logger.getLogger(RegistryFactory.class);
+
+	public static Registry getRegistry() throws RegistryException
+	{
+		Registry registry = null;
+		String className = Configuration.getRegistryImplementationClass();
+		logger.log(Priority.DEBUG, "Going to load " + className);
+		
+		try
+		{
+			// instruct class loader to load the Registry Implementation
+			Class registryClass = getClassForName(className);
+			// Try to instance the Registry
+			registry = (Registry) registryClass.newInstance();
+		}
+		catch (ClassNotFoundException cnfex)
+		{
+			throw new RegistryException("Registry Implementation=" + className
+					+ " not found", cnfex);
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+			
+			throw new RegistryException("Invocation exception. "
+					+ e.getLocalizedMessage(), e);
+		}
+		
+		return registry;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,166 @@
+/*
+ * 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.services.routing;
+
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.addressing.eprs.FileEpr;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+
+/**
+ * Generic Message Router Interface.
+ * 
+ * @author kurt.stam at redhat.com
+ * 
+ */
+public abstract class MessageRouter
+{
+	private static Logger logger = Logger.getLogger(MessageRouter.class);
+	public final static String AGGEGRATOR_TAG = "aggregatorTag";
+    public final static String SPLITTER_TIME_STAMP = "splitterTimeStamp";
+	
+	/**
+	 * Routes the message to the next destination.
+	 * 
+	 * @param message
+	 * @return List of Strings containing the services to which the message was
+	 *         routed.
+	 */
+	public abstract List<String> route(Message message)
+    throws MessageRouterException;
+
+	/**
+	 * Sends the message on to the service with the name(s) we just obtained
+	 * from the routing.
+	 * 
+	 * @param destinationServices -
+	 *            Collection with the name of the destination services.
+	 * @param message -
+	 *            the message that needs routing and delivery
+     * @param boolean - isSpitter, if true will Tag the messages for
+     *            aggregation purposes.
+	 */
+	public synchronized static void deliverMessages(
+			Collection<String[]> destinations, Message message, boolean isSplitter) throws MessageRouterException
+	{
+        String uuId = UUID.randomUUID().toString();
+        int counter=0;
+		for (Iterator<String[]> i = destinations.iterator(); i.hasNext();)
+		{
+            if (isSplitter) {
+                message.getProperties().setProperty(AGGEGRATOR_TAG, uuId + ":" + ++counter + ":" + destinations.size());
+                message.getProperties().setProperty(SPLITTER_TIME_STAMP, new java.util.Date().getTime());
+                if (logger.isDebugEnabled()) {
+                    String tag = (String) message.getProperties().getProperty(AGGEGRATOR_TAG);
+                    logger.debug(AGGEGRATOR_TAG + "=" + tag);
+                }
+            }
+            String[] destination = (String[]) i.next();
+			String category = destination[0];
+			String serviceName = destination[1];
+			boolean isSent = false;
+            Exception lastException = null;
+			try
+			{
+				Registry registry = RegistryFactory.getRegistry();
+				logger.log(Priority.DEBUG, "Looking for EPRs for category="
+						+ category + " and serviceName=" + serviceName);
+				Collection<EPR> eprs = registry.findEPRs(category, serviceName);
+				for (Iterator<EPR> eprIter = eprs.iterator(); eprIter.hasNext();)
+				{
+					EPR epr = eprs.iterator().next();
+					logger.log(Priority.DEBUG, "Message=" + message
+							+ " -> Destination=" + destinations);
+					try
+					{
+                        //TODO I think the following if block should be part of
+                        //the FileEpr construction?
+                        if (epr instanceof FileEpr) {
+                            try {
+                                FileEpr fileEpr = (FileEpr) epr;
+                                FileEpr newEpr = new FileEpr(fileEpr.getURL());
+                                newEpr.setPostDelete(false);
+                                newEpr.setPostDirectory(fileEpr.getURL().getFile());
+                                newEpr.setPostSuffix(fileEpr.getInputSuffix());
+                                epr = newEpr;
+                            } catch (URISyntaxException usex) {
+                                logger.log(Priority.ERROR, "Malformed epr while setting :"
+                                        + epr, usex);
+                            } catch (MalformedURLException muex) {
+                                logger.log(Priority.ERROR, "Malformed epr:"
+                                        + epr, muex);
+                            }
+                        }
+						// Give the message to the courier
+						Courier courier = CourierFactory.getCourier(epr);
+                                                try
+                                                {
+                                                    courier.deliver(message);
+                                                }
+                                                finally
+                                                {
+                                                    CourierUtil.cleanCourier(courier) ;
+                                                }
+						isSent = true;
+						break;
+					} catch (MalformedEPRException ex) {
+                        logger.log(Priority.ERROR, "Malformed epr:" + epr);
+                        lastException = ex;
+                    } catch (CourierException ce) {
+                        logger.log(Priority.ERROR, "Could not send using epr:"
+                                + epr, ce);
+                         lastException = ce;
+                        // if there are more eprs in the collection is will try
+                        // the next one.
+                    }
+				}
+				if (isSent == false)
+				{
+					logger.log(Priority.ERROR, "Could not find any valid EPRs. Message is not routed.", lastException);
+					throw new MessageRouterException("Message Could not be delivered. ", lastException);
+				}
+            } catch (RegistryException re) {
+				logger.log(Priority.ERROR, "Could not obtain an EPR from the Registry. Message is not routed. "
+								+ re.getLocalizedMessage(), re);
+                throw new MessageRouterException("Message Could not be delivered due to issues with the Registry. "
+                        + re.getMessage(), re);
+			}
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouterException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouterException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/MessageRouterException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,51 @@
+/*
+ * 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.services.routing;
+
+/**
+ * @author kstam
+ * 
+ */
+public class MessageRouterException extends Exception
+{
+	private static final long serialVersionUID = 1L;
+
+	public MessageRouterException()
+	{
+		super();
+	}
+
+	public MessageRouterException(String msg)
+	{
+		super(msg);
+	}
+
+	public MessageRouterException (Throwable cause)
+	{
+		super(cause);
+	}
+	
+	public MessageRouterException(String msg, Throwable cause)
+	{
+		super(msg, cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/CBRException.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/CBRException.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/CBRException.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,69 @@
+/*
+ * 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.services.routing.cbr;
+
+/**
+ * Configuration Exception.
+ * 
+ * @since Version 4.0
+ */
+public class CBRException extends Exception
+{
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param message
+	 *            Exception message.
+	 */
+	public CBRException (String message)
+	{
+		super(message);
+	}
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param message
+	 *            Exception message.
+	 * @param cause
+	 *            Exception cause.
+	 */
+	public CBRException (String message, Throwable cause)
+	{
+		super(message, cause);
+	}
+
+	/**
+	 * Construct an exception instance.
+	 * 
+	 * @param cause
+	 *            Exception cause.
+	 */
+	public CBRException (Throwable cause)
+	{
+		super(cause);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRouter.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRouter.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRouter.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,71 @@
+/*
+ * 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.services.routing.cbr;
+
+import java.util.List;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.routing.MessageRouter;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+
+/**
+ * Content Based Router Interface.
+ * 
+ * @author kurt.stam at redhat.com
+ * 
+ */
+public abstract class ContentBasedRouter extends MessageRouter
+{
+	/**
+	 * Route a message using a certain ruleSet wich and reference a custom
+	 * Domain Specific Language (DSL).
+	 * 
+	 * @param ruleSet -
+	 *            String reference to a file which contains a ruleSet.
+	 * @param ruleLanguage -
+	 *            String reference to a file which contais a custom rule
+	 *            language definition
+	 * @param ruleReload -
+	 *            if set to true, a ruleSet update should result in reloading
+	 *            the ruleSet.
+	 * @param message -
+	 *            Message that needs routing.
+	 * @return List of routing destinations.
+	 */
+	public abstract List<String> route (String ruleSet, String ruleLanguage,
+			boolean ruleReload, Message message) throws MessageRouterException;
+
+	/**
+	 * Route a message using a certain ruleSet.
+	 * 
+	 * @param ruleSet -
+	 *            String reference to a file which contains a ruleSet.
+	 * @param ruleReload -
+	 *            if set to true, a ruleSet update should result in reloading
+	 *            the ruleSet.
+	 * @param message -
+	 *            Message that needs routing.
+	 * @return List of routing destinations.
+	 */
+	public abstract List<String> route (String ruleSet, boolean ruleReload,
+			Message message) throws MessageRouterException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRouterFactory.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRouterFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRouterFactory.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,56 @@
+/*
+* 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.services.routing.cbr;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.common.Factory;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+/**
+ * Returns an instance of the Registry.
+ *
+ * @author kurt.stam at redhat.com
+ *
+ */
+public class ContentBasedRouterFactory extends Factory {
+    private static Logger logger = Logger.getLogger(ContentBasedRouterFactory.class);
+
+    public static ContentBasedRouter getRouter() throws MessageRouterException
+    {
+	ContentBasedRouter cbr = null;
+        String className = Configuration
+                .getContentBasedRouterImplementationClass();
+        logger.log(Priority.DEBUG, "Going to load " + className);
+    try {
+        // instruct class loader to load the Content Based  Router Implementation
+        Class cbrClass = getClassForName(className);
+        // Try to get an instance of the CBR
+        cbr = (ContentBasedRouter) cbrClass.newInstance();
+    } catch (ClassNotFoundException cnfex) {
+        throw new MessageRouterException("Content Based Router Implementation=" + className + " not found", cnfex);
+    } catch (Exception e) {
+    	throw new MessageRouterException(className + " invokation problem. " + e.getLocalizedMessage(), e);
+    		}
+    		return cbr;
+    	}
+    }

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/application.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/application.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/application.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application version="1.4"
+	xmlns="http://java.sun.com/xml/ns/j2ee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+	http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
+    <display-name>JbossEsb AppServer basic services</display-name>
+	<module>
+		<ejb>jbossesb-instr-all.jar</ejb>
+	</module>
+	<module>
+		<java>jbossts-common.jar</java>
+	</module>
+</application>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,205 @@
+<?xml version="1.0"?>
+<project name="build.services.tests" default="org.jboss.esb.services.tests.compile" basedir=".">
+
+	<property file="../../../../install/deployment.properties"/>
+		
+	<property name="org.jboss.esb.internal.dest" location="../../../build"/>
+		
+    <property name="org.jboss.esb.module.src.dir" location="../src"/>
+    <property name="org.jboss.esb.module.classes.dir" location="${org.jboss.esb.internal.dest}/classes/services"/>
+    <property name="org.jboss.esb.module.tests.src.dir" location="src"/>
+    <property name="org.jboss.esb.tests.classes.dir" location="${org.jboss.esb.internal.dest}/tests"/>
+    <property name="org.jboss.esb.tests.report.dir" location="${org.jboss.esb.internal.dest}/tests/junit"/>
+    <property name="org.jboss.esb.root.dir" location="../.."/>
+	
+    <property environment="env"/>
+
+    <property name="org.jboss.esb.ext.lib.dir" location="${org.jboss.esb.root.dir}/lib/ext"/>
+    <condition property="org.jboss.esb.ext.lib.dir" value="${org.jboss.esb.jboss.home}/client">
+        <equals arg1="${org.jboss.esb.frominstall}" arg2="yes"/>
+    </condition>
+
+    <path id="org.jboss.esb.tests.base.classpath">
+    	<fileset dir="${org.jboss.esb.ext.lib.dir}"
+    		excludes="*.jar" includes="jaxr-api*.jar,scout*.jar,juddi*.jar"/>
+        <fileset dir="${org.jboss.esb.ext.lib.dir}"
+                 includes="*.jar"/>
+    	<pathelement location="../rules"/>
+        <pathelement location="${org.jboss.esb.module.classes.dir}"/>
+        <pathelement location="${org.jboss.esb.internal.dest}/classes/rosetta"/>
+    </path>
+
+    <target name="org.jboss.esb.tests.init">
+        <tstamp>
+            <format property="TODAY" pattern="dd-MM-yy"/>
+        </tstamp>
+
+        <mkdir dir="${org.jboss.esb.tests.classes.dir}"/>
+        <mkdir dir="${org.jboss.esb.tests.report.dir}"/>
+    </target>
+
+    <target name="clean">
+        <delete dir="${org.jboss.esb.tests.classes.dir}"/>
+        <delete file="TESTS-TestSuites.xml"/>
+    </target>
+
+    <target name="org.jboss.esb.services.tests.compile" if="org.jboss.esb.buildtests" depends="org.jboss.esb.tests.init">
+
+        <javac
+                destdir="${org.jboss.esb.tests.classes.dir}"
+                classpathref="org.jboss.esb.tests.base.classpath"
+                debug="${org.jboss.esb.debug}"
+                optimize="${org.jboss.esb.optimize}"
+                >
+            <src path="${org.jboss.esb.module.tests.src.dir}"/>
+        </javac>
+
+    </target>
+
+    <!-- ====================================================================== -->
+    <!--                             T E S T                                    -->
+    <!-- ====================================================================== -->
+    <target name="org.jboss.esb.services.internal.test">
+	    <property name="org.jboss.esb.module.tests.coverage.dir" location="${org.jboss.esb.internal.dest}/tests/coverage/services"/>
+        <property name="org.jboss.esb.module.classes.instr.dir" location="${org.jboss.esb.module.tests.coverage.dir}/instr" />
+
+    	<delete dir="${org.jboss.esb.module.tests.coverage.dir}" />
+	    <mkdir dir="${org.jboss.esb.module.tests.coverage.dir}" />
+	    <emma>
+			<instr 	instrpath="${org.jboss.esb.module.classes.dir}" 
+					destdir="${org.jboss.esb.module.classes.instr.dir}" 
+					metadatafile="${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+	    </emma>        
+    	
+    	<!-- Run the tests -->
+        <antcall target="org.jboss.esb.services.internal.test.exec"/>        
+
+    	<!-- Generate the coverage report -->
+	    <emma>
+			<report sourcepath="${org.jboss.esb.module.src.dir}" sort="+block,+name,+method,+class" metrics="method:70,block:80,line:80,class:100">
+		        <fileset dir="${org.jboss.esb.module.tests.coverage.dir}" >
+					<include name="*.emma" />
+		        </fileset>
+		        <html outfile="${org.jboss.esb.module.tests.coverage.dir}/index.html" depth="method" columns="name,line,class,method,block"/>
+			</report>
+	    </emma>
+
+    </target>
+
+    <!-- ====================================================================== -->
+    <!--         U N I T   A N D   F U N C T I O N A L   T E S T S              -->
+    <!-- ====================================================================== -->
+    <target name="org.jboss.esb.services.internal.test.exec">
+        <echo message="Running tests for module, excluding integration"/>
+        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
+            <formatter type="plain" usefile="false"/>
+            <formatter type="xml"/>
+            <batchtest todir="${org.jboss.esb.tests.report.dir}">
+                <fileset dir="${org.jboss.esb.module.tests.src.dir}">
+                    <include name="**/**UnitTest.java"/>
+                    <include name="**/**FuncTest.java"/>
+                </fileset>
+            </batchtest>
+            <classpath>
+        		<!-- using instrumented code for code coverage -->
+                <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
+                <pathelement location="${org.jboss.esb.tests.classes.dir}"/> 
+            	<!-- Need the tests src folder because there may be non-compiled test resources -->
+                <pathelement location="${org.jboss.esb.module.tests.src.dir}"/>
+                <path refid="org.jboss.esb.tests.base.classpath"/>
+            	
+            </classpath>
+			<!-- emma jvm args -->
+			<jvmarg value="-Demma.coverage.out.file=${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+			<jvmarg value="-Demma.coverage.out.merge=true" /> 
+        	<!-- setting system properties -->
+        	<sysproperty key="org.jboss.esb.db.driver" value="${org.jboss.esb.db.driver}"/>
+        	<sysproperty key="org.jboss.esb.db.url" value="${org.jboss.esb.db.url}"/>
+        	<sysproperty key="org.jboss.esb.db.user" value="${org.jboss.esb.db.user}"/>
+        	<sysproperty key="org.jboss.esb.db.password" value="${org.jboss.esb.db.password}"/>
+        	<sysproperty key="log4j.configuration" value="log4j.xml"/>
+        	
+        </junit>
+        <junitreport>
+            <fileset dir="${org.jboss.esb.tests.report.dir}">
+                <include name="*.xml"/>
+            </fileset>
+            <report format="frames" todir="${org.jboss.esb.tests.report.dir}"/>
+            <report format="noframes" todir="${org.jboss.esb.tests.report.dir}"/>
+        </junitreport>
+    </target>
+	
+	<!-- ====================================================================== -->
+	    <!--                             INTEGRATION T E S T                                    -->
+	    <!-- ====================================================================== -->
+	    <target name="org.jboss.esb.services.internal.integration.test">
+		    <property name="org.jboss.esb.module.tests.coverage.dir" location="${org.jboss.esb.internal.dest}/tests/coverage/services"/>
+	        <property name="org.jboss.esb.module.classes.instr.dir" location="${org.jboss.esb.module.tests.coverage.dir}/instr" />
+
+	    	<delete dir="${org.jboss.esb.module.tests.coverage.dir}" />
+		    <mkdir dir="${org.jboss.esb.module.tests.coverage.dir}" />
+		    <emma>
+				<instr 	instrpath="${org.jboss.esb.module.classes.dir}" 
+						destdir="${org.jboss.esb.module.classes.instr.dir}" 
+						metadatafile="${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+		    </emma>        
+	    	
+	    	<!-- Run the tests -->
+	        <antcall target="org.jboss.esb.services.internal.integration.test.exec"/>        
+
+	    	<!-- Generate the coverage report -->
+		    <emma>
+				<report sourcepath="${org.jboss.esb.module.src.dir}" sort="+block,+name,+method,+class" metrics="method:70,block:80,line:80,class:100">
+			        <fileset dir="${org.jboss.esb.module.tests.coverage.dir}" >
+						<include name="*.emma" />
+			        </fileset>
+			        <html outfile="${org.jboss.esb.module.tests.coverage.dir}/index.html" depth="method" columns="name,line,class,method,block"/>
+				</report>
+		    </emma>
+
+	    </target>
+
+	    <!-- ====================================================================== -->
+	    <!--         INTEGRATION   T E S T S              -->
+	    <!-- ====================================================================== -->
+	    <target name="org.jboss.esb.services.internal.integration.test.exec">
+	        <echo message="Running all tests for module"/>
+	        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
+	            <formatter type="plain" usefile="false"/>
+	            <formatter type="xml"/>
+	            <batchtest todir="${org.jboss.esb.tests.report.dir}">
+	                <fileset dir="${org.jboss.esb.module.tests.src.dir}">
+	                	<include name="**/**IntegrationTest.java"/>
+	                	<include name="**/**UnitTest.java"/>
+	                	<include name="**/**FuncTest.java"/>
+	                </fileset>
+	            </batchtest>
+	            <classpath>
+	        		<!-- using instrumented code for code coverage -->
+	                <pathelement location="${org.jboss.esb.module.classes.instr.dir}"/>
+	                <pathelement location="${org.jboss.esb.tests.classes.dir}"/> 
+	            	<!-- Need the tests src folder because there may be non-compiled test resources -->
+	                <pathelement location="${org.jboss.esb.module.tests.src.dir}"/>
+	                <path refid="org.jboss.esb.tests.base.classpath"/>
+	            	
+	            </classpath>
+				<!-- emma jvm args -->
+				<jvmarg value="-Demma.coverage.out.file=${org.jboss.esb.module.tests.coverage.dir}/coverage.emma" />
+				<jvmarg value="-Demma.coverage.out.merge=true" /> 
+	        	<!-- setting system properties -->
+	        	<sysproperty key="org.jboss.esb.db.driver" value="${org.jboss.esb.db.driver}"/>
+	        	<sysproperty key="org.jboss.esb.db.url" value="${org.jboss.esb.db.url}"/>
+	        	<sysproperty key="org.jboss.esb.db.user" value="${org.jboss.esb.db.user}"/>
+	        	<sysproperty key="org.jboss.esb.db.password" value="${org.jboss.esb.db.password}"/>
+	        	<sysproperty key="log4j.configuration" value="log4j.xml"/>
+	        	
+	        </junit>
+	        <junitreport>
+	            <fileset dir="${org.jboss.esb.tests.report.dir}">
+	                <include name="*.xml"/>
+	            </fileset>
+	            <report format="frames" todir="${org.jboss.esb.tests.report.dir}"/>
+	            <report format="noframes" todir="${org.jboss.esb.tests.report.dir}"/>
+	        </junitreport>
+	    </target>
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,285 @@
+/*
+* 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.services.registry;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.InputStream;
+import java.net.URLDecoder;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Properties;
+
+import javax.xml.registry.BulkResponse;
+import javax.xml.registry.BusinessLifeCycleManager;
+import javax.xml.registry.BusinessQueryManager;
+import javax.xml.registry.Connection;
+import javax.xml.registry.JAXRException;
+import javax.xml.registry.RegistryService;
+import javax.xml.registry.infomodel.Classification;
+import javax.xml.registry.infomodel.ClassificationScheme;
+import javax.xml.registry.infomodel.Organization;
+import javax.xml.registry.infomodel.Service;
+import javax.xml.registry.infomodel.ServiceBinding;
+import javax.xml.registry.infomodel.User;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.internal.soa.esb.addressing.helpers.EPRHelper;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Testing the registry.
+ * 
+ * @author kstam
+ *
+ */
+public class JAXRRegistryUnitTest
+{
+	private static Logger logger = Logger.getLogger(JAXRRegistryUnitTest.class);
+    private static String mDbDriver;
+	private static String mDbUrl;
+	private static String mDbUsername;
+	private static String mDbPassword;
+	/**
+	 * Tests the successful creation of the RED HAT/JBossESB Organization.
+	 */
+	@Test
+	public void publishOrganization() 
+	{
+		try {
+			Organization org = JAXRRegistryImpl.createJBossESBOrganization();
+			logger.log(Priority.INFO, "Succesfully created organization: " + org.getName().getValue());
+			assertEquals("Red Hat/JBossESB", org.getName().getValue());
+		} catch (JAXRException je) {
+			logger.log(Priority.ERROR, je.getLocalizedMessage(), je);
+			assertTrue(false);
+		}
+	}
+	@Test
+	public void findOrganization() 
+	{
+		try {
+			Organization org = JAXRRegistryImpl.findOrganization("Red Hat/JBossESB");
+			logger.log(Priority.INFO, "Succesfully created organization: " + org.getName().getValue());
+			assertEquals("Red Hat/JBossESB", org.getName().getValue());
+		} catch (JAXRException je) {
+			logger.log(Priority.ERROR, je.getLocalizedMessage(), je);
+			assertTrue(false);
+		}
+		try {
+			Organization org = JAXRRegistryImpl.findOrganization("Not Existing Org");
+			logger.log(Priority.INFO, "Could not find non-existing organization.");
+			assertEquals(null, org);
+		} catch (JAXRException je) {
+			logger.log(Priority.ERROR, je.getLocalizedMessage(), je);
+			assertTrue(false);
+		}
+	}
+	/**
+	 * Tests the successful registration of a Service.
+	 *
+	 */
+	@Test
+	public void publishService()
+	{
+		try {
+			JAXRRegistryImpl registry = new JAXRRegistryImpl();
+			registry.registerService("registry", "Registry Test ServiceName", "Registry Test Service Description");
+		} catch (JAXRException je) {
+			logger.log(Priority.ERROR, je.getLocalizedMessage(), je);
+			assertTrue(false);
+		}
+	}
+	@Test
+	public void publishServiceBinding()
+	{
+		try {
+			EPR epr = new EPR();
+			JAXRRegistryImpl registry = new JAXRRegistryImpl();
+			registry.registerEPR("registry", "Registry Test ServiceName", "Registry Test Service Description",
+					epr, "EPR description");
+			registry.registerEPR("registry", "Registry Test ServiceName", "Registry Test Service Description",
+					epr, "EPR description");
+			registry.unRegisterEPR("registry", "Registry Test ServiceName", epr);
+		} catch (RegistryException re) {
+			logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+			assertTrue(false);
+		}
+	}
+	/**
+	 * Queries the newly added information
+	 * @throws Exception
+	 */
+	@Test
+	public void findServicesForAnOrganization()
+    {
+		try {
+			Organization org = JAXRRegistryImpl.findOrganization("Red Hat/JBossESB");
+			//Listing out the services and their Bindings
+			logger.log(Priority.INFO, "-------------------------------------------------");
+			logger.log(Priority.INFO, "Organization name: " + org.getName().getValue());
+			logger.log(Priority.INFO, "Description: " + org.getDescription().getValue());
+			logger.log(Priority.INFO, "Key id: " + org.getKey().getId());
+			User primaryContact = org.getPrimaryContact();
+			logger.log(Priority.INFO, "Primary Contact: " + primaryContact.getPersonName().getFullName());
+			Collection services = org.getServices();
+			for (Iterator serviceIter = services.iterator();serviceIter.hasNext();) {
+				Service service = (Service) serviceIter.next();
+				logger.log(Priority.INFO, "- Service Name: " + service.getName().getValue());
+				logger.log(Priority.INFO, "  Service Key : " + service.getKey().getId());
+				Collection serviceBindings = service.getServiceBindings();
+				for (Iterator serviceBindingIter = serviceBindings.iterator();serviceBindingIter.hasNext();){
+					ServiceBinding serviceBinding = (ServiceBinding) serviceBindingIter.next();
+					logger.log(Priority.INFO, "  ServiceBinding Description: " + serviceBinding.getDescription().getValue());
+					String xml = URLDecoder.decode(serviceBinding.getAccessURI(),"UTF-8");
+					logger.log(Priority.INFO, "  ServiceBinding URI: " + xml);
+					assertEquals(EPRHelper.toXMLString(new EPR()),xml);
+				}
+			}
+			logger.log(Priority.INFO, "-------------------------------------------------");
+	    } catch (Exception je) {
+			je.printStackTrace();
+			assertTrue(false);
+		}
+    }
+	/**
+	 * This doesn't work because scout drops the classifications on the floor.
+	 * We're ignoring this test until I come up with a patch.
+	 *
+	 */
+	public void findServicesByClassification()
+	{
+		Connection connection = JAXRRegistryImpl.getConnection();
+		try {
+			// Get registry service and business query manager
+			RegistryService rs = connection.getRegistryService();
+			BusinessQueryManager bqm = rs.getBusinessQueryManager();
+			BusinessLifeCycleManager blm = rs.getBusinessLifeCycleManager();
+			ClassificationScheme classificationScheme = bqm.findClassificationSchemeByName(null, "uddi-org:general_keywords");
+			Classification classification = blm.createClassification(classificationScheme,
+					"Test transformation service", "transformation");
+			Collection<Classification> classifications = new ArrayList<Classification>();
+			classifications.add(classification);
+			//Here I'd like to test filtering by this classification, but scout ignored the classification
+			String name=classificationScheme.getName().getValue();
+			System.out.println("Name=" + name);
+			Collection<String> nameParams = new ArrayList<String>();
+			//The name of the service is wild
+			nameParams.add("%");
+			BulkResponse bs = bqm.findServices(null, null,nameParams,classifications, null);
+			int status = bs.getStatus();
+			System.out.println("status=" + status);
+		} catch (JAXRException je) {
+			je.printStackTrace();
+		}
+		finally{}
+	}
+	/**
+	 * Setup the database.
+	 * @throws Exception
+	 */
+	@BeforeClass
+	public static void runBeforeAllTests() throws Exception {
+		try {
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir() + "etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse();
+			//Set the juddi properties file in System so juddi will pick it up later and use the test values.
+			String juddiPropertiesFile = "/org/jboss/soa/esb/services/registry/juddi-unittest.properties";
+			System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
+			//Read this properties file to get the db connection string
+			Properties props = new Properties();
+			InputStream inStream = Class.class.getResourceAsStream(juddiPropertiesFile);
+			props.load(inStream);
+			mDbDriver    = props.getProperty("juddi.jdbcDriver");
+			mDbUrl       = props.getProperty("juddi.jdbcUrl");
+			mDbUsername  = props.getProperty("juddi.jdbcUsername");
+			mDbPassword  = props.getProperty("juddi.jdbcPassword");
+			
+			String database="not tested yet";
+			if ("org.hsqldb.jdbcDriver".equals(mDbDriver)) {
+				database = "hsqldb";
+				//Bring up hsql on default port 9001
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir() + "build/hsqltestdb", "juddi");
+			} else if ("com.mysql.jdbc.Driver".equals(mDbDriver)) {
+				database = "mysql";
+			} //add and test your own database..
+			
+			//Get the registry-schema create scripts
+			String sqlDir = TestEnvironmentUtil.getUserDir() + "install/jUDDI-registry/sql/" + database + "/";
+			//Drop what is there now, if exists. We want to start fresh.
+			String sqlDropCmd      = FileUtil.readTextFile(new File(sqlDir + "drop_database.sql"));
+			String sqlCreateCmd    = FileUtil.readTextFile(new File(sqlDir + "create_database.sql"));
+			String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir + "insert_publishers.sql"));
+			
+			try {
+				Class.forName(mDbDriver);
+			} catch (Exception e) {
+				System.out.println("ERROR: failed to load " + database + " JDBC driver.");
+				e.printStackTrace();
+				return;
+			}
+			java.sql.Connection con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
+			Statement stmnt = con.createStatement();
+			System.out.println("Dropping the schema if exist");
+			stmnt.execute(sqlDropCmd);
+			System.out.println("Creating the juddi-schema");
+			stmnt.execute(sqlCreateCmd);
+			System.out.println("Adding the jbossesb publisher");
+			stmnt.execute(sqlInsertPubCmd);
+		} catch (Exception e) {
+			e.printStackTrace();
+			System.out.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+	}
+	/**
+	 * Shutdown the database
+	 * @throws Exception
+	 */
+	@AfterClass
+	public static void runAfterAllTests() throws Exception {
+		if ("org.hsqldb.jdbcDriver".equals(mDbDriver)) {
+			HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
+		}
+	}
+
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(JAXRRegistryUnitTest.class);
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/MockRegistry.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/MockRegistry.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/MockRegistry.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,210 @@
+/*
+ * 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.internal.soa.esb.services.registry;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+
+import com.arjuna.common.util.propertyservice.PropertyManager;
+
+/**
+ * Mock Registry implementation.
+ * <p/>
+ * Avoids the need to setup HSQLDB etc.
+ * <p/>
+ * Just call {@link #install()} and {@link #uninstall()} from inside your test setUp and tearDown
+ * methods respectfully.
+ *  
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MockRegistry implements Registry {
+	
+	private static final String REGISTRY_IMPEMENTATION_CLASS_ORIGINAL = Environment.REGISTRY_IMPEMENTATION_CLASS + "#Original";
+	public static PropertyManager regPropManager = ModulePropertyManager.getPropertyManager(ModulePropertyManager.REGISTRY_MODULE);
+	public List<RepositoryEntry> repository = new ArrayList<RepositoryEntry>();
+	
+	/**
+	 * Install this Mock Registry impl as the registry implementation to be used.
+	 * <p/>
+	 * Call this method in the test setUp.
+	 */
+	public static void install() {
+		if(regPropManager == null) {
+			TestCase.fail("Failed to locate PropertyManager for [" + ModulePropertyManager.REGISTRY_MODULE + "].");
+		}
+		String currentRegImpl = regPropManager.getProperty(Environment.REGISTRY_IMPEMENTATION_CLASS);
+		
+		if(currentRegImpl != null) {
+			// Save the current/original.
+			regPropManager.setProperty(REGISTRY_IMPEMENTATION_CLASS_ORIGINAL, currentRegImpl);
+		}
+		regPropManager.setProperty(Environment.REGISTRY_IMPEMENTATION_CLASS, MockRegistry.class.getName());
+	}
+
+	/**
+	 * Uninstall this Mock Registry impl as the registry implementation to be used. Reinstate the reg impl that was
+	 * specified prior to the install.
+	 * <p/>
+	 * Call this method in the test tearDown.
+	 */
+	public static void uninstall() {
+		if(regPropManager == null) {
+			TestCase.fail("Failed to locate PropertyManager for [" + ModulePropertyManager.REGISTRY_MODULE + "].");
+		}
+		String originalRegImpl = regPropManager.getProperty(REGISTRY_IMPEMENTATION_CLASS_ORIGINAL);
+
+		if(originalRegImpl != null) {
+			// Reset the original.
+			regPropManager.setProperty(Environment.REGISTRY_IMPEMENTATION_CLASS, originalRegImpl);
+			regPropManager.removeProperty(REGISTRY_IMPEMENTATION_CLASS_ORIGINAL);
+		} else {
+			// It wasn't set in the first place, so just unset the impl
+			regPropManager.removeProperty(Environment.REGISTRY_IMPEMENTATION_CLASS);
+		}
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.services.registry.Registry#registerEPR(java.lang.String, java.lang.String, java.lang.String, org.jboss.soa.esb.addressing.EPR, java.lang.String)
+	 */
+	public void registerEPR(String serviceCategoryName, String serviceName,
+			String serviceDescription, EPR epr, String eprDescription)
+			throws RegistryException {
+		
+		repository.add(new RepositoryEntry(serviceCategoryName, serviceName, serviceDescription, epr, eprDescription));
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.services.registry.Registry#unRegisterService(java.lang.String, java.lang.String)
+	 */
+	public void unRegisterService(String category, String serviceName) throws RegistryException {
+		unRegisterEPR(category, serviceName, null);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.services.registry.Registry#unRegisterEPR(java.lang.String, java.lang.String, org.jboss.soa.esb.addressing.EPR)
+	 */
+	public void unRegisterEPR(String serviceCategoryName, String serviceName, EPR epr) throws RegistryException {
+		int indexOf = repository.indexOf(new RepositoryEntry(serviceCategoryName, serviceName, null, epr, null));
+		
+		if(indexOf == -1) {
+			throw new RegistryException("Registry entry [" + serviceCategoryName + "][" + serviceName + "] not found.");
+		}
+		repository.remove(indexOf);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.services.registry.Registry#findAllServices()
+	 */
+	public Collection<String> findAllServices() throws RegistryException {
+		Collection<String> services = new ArrayList<String>();
+		for(RepositoryEntry entry : repository) {
+			services.add(entry.serviceName);
+		}
+		return services;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.services.registry.Registry#findServices(java.lang.String)
+	 */
+	public Collection<String> findServices(String serviceCategoryName)
+			throws RegistryException {
+		Collection<String> services = new ArrayList<String>();
+		for(RepositoryEntry entry : repository) {
+			if(serviceCategoryName.equals(entry.serviceCategoryName)) {
+				services.add(entry.serviceName);
+			}
+		}
+		return services;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.services.registry.Registry#findEPRs(java.lang.String, java.lang.String)
+	 */
+	public Collection<EPR> findEPRs(String serviceCategoryName,
+			String serviceName) throws RegistryException {
+		Collection<EPR> services = new ArrayList<EPR>();
+		for(RepositoryEntry entry : repository) {
+			if(serviceCategoryName.equals(entry.serviceCategoryName) && serviceName.equals(entry.serviceName)) {
+				services.add(entry.epr);
+			}
+		}
+		return services;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.services.registry.Registry#findEPR(java.lang.String, java.lang.String)
+	 */
+	public EPR findEPR(String serviceCategoryName, String serviceName)
+			throws RegistryException {
+		for(RepositoryEntry entry : repository) {
+			if(serviceCategoryName.equals(entry.serviceCategoryName) && serviceName.equals(entry.serviceName)) {
+				return entry.epr;
+			}
+		}
+		return null;
+	}
+	
+	public class RepositoryEntry {
+		public String serviceCategoryName;
+		public String serviceName;
+		public String serviceDescription;
+		public EPR epr;
+		public String eprDescription;
+
+		public RepositoryEntry(String serviceCategoryName, String serviceName, String serviceDescription, EPR epr, String eprDescription) {
+			this.serviceCategoryName = serviceCategoryName;
+			this.serviceName = serviceName;
+			this.serviceDescription = serviceDescription;
+			this.epr = epr;
+			this.eprDescription = eprDescription;
+		}
+		
+		public boolean equals(Object obj) {
+			if(obj instanceof RepositoryEntry) {
+				RepositoryEntry entry = (RepositoryEntry)obj;
+				
+				if(serviceCategoryName != null && !serviceCategoryName.equalsIgnoreCase(entry.serviceCategoryName)) {
+					return false;
+				}
+				if(serviceName != null && !serviceName.equalsIgnoreCase(entry.serviceName)) {
+					return false;
+				}
+				if(epr != null && epr != entry.epr) {
+					return false;
+				}
+				
+				return true;
+			}
+			
+			return false;
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/MockRegistryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/MockRegistryUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/registry/MockRegistryUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.internal.soa.esb.services.registry;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+
+/**
+ * MockRegistry Unit Test.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MockRegistryUnitTest extends TestCase {
+
+	public void test_install_uninstall() throws RegistryException {
+		assertNotSame(MockRegistry.class.getName(), MockRegistry.regPropManager.getProperty(Environment.REGISTRY_IMPEMENTATION_CLASS));
+		
+		MockRegistry.install();
+		assertEquals(MockRegistry.class.getName(), MockRegistry.regPropManager.getProperty(Environment.REGISTRY_IMPEMENTATION_CLASS));
+		Registry registry = RegistryFactory.getRegistry();
+		assertTrue(registry instanceof MockRegistry);
+		
+		MockRegistry.uninstall();
+		assertNotSame(MockRegistry.class.getName(), MockRegistry.regPropManager.getProperty(Environment.REGISTRY_IMPEMENTATION_CLASS));
+	}
+
+	public void test_features() throws RegistryException {
+		MockRegistry registry = new MockRegistry();
+		EPR epr = new EPR();
+		List<String> services = new ArrayList<String>();
+		List<EPR> eprs = new ArrayList<EPR>();
+		
+		registry.registerEPR("cat1", "cat1-service1", "service-desc", epr, "epr-desc"); 
+		registry.registerEPR("cat1", "cat1-service2", "service-desc", epr, "epr-desc"); 
+		registry.registerEPR("cat1", "cat1-service3", "service-desc", epr, "epr-desc"); 
+		registry.registerEPR("cat2", "cat2-service1", "service-desc", epr, "epr-desc"); 
+		registry.registerEPR("cat2", "cat2-service2", "service-desc", epr, "epr-desc"); 
+		registry.registerEPR("cat2", "cat2-service3", "service-desc", epr, "epr-desc"); 
+
+		services.addAll(registry.findAllServices());
+		assertEquals(6, services.size());
+		assertEquals("cat1-service1", services.get(0));
+		assertEquals("cat2-service1", services.get(3));
+		assertEquals("cat2-service3", services.get(5));
+
+		services.clear();
+		services.addAll(registry.findServices("cat1"));
+		assertEquals(3, services.size());
+		assertEquals("cat1-service1", services.get(0));
+		assertEquals("cat1-service2", services.get(1));
+		assertEquals("cat1-service3", services.get(2));
+
+		assertEquals(epr, registry.findEPR("cat1", "cat1-service1"));
+
+		try {
+			registry.unRegisterService("cat2", "cat1-service2");
+			fail("Expected RegistryException for unknown service.");
+		} catch(RegistryException e) {
+			//OK
+		}
+		
+		eprs.addAll(registry.findEPRs("cat1", "cat1-service1"));
+		assertEquals(1, eprs.size());
+		assertEquals(epr, eprs.get(0));
+
+		registry.unRegisterService("cat1", "cat1-service2");
+		services.clear();
+		services.addAll(registry.findAllServices());
+		assertEquals(5, services.size());
+		assertEquals("cat1-service1", services.get(0));
+		assertEquals("cat1-service3", services.get(1));
+		assertEquals("cat2-service1", services.get(2));
+
+		registry.unRegisterEPR("cat2", "cat2-service2", epr);
+		services.clear();
+		services.addAll(registry.findAllServices());
+		assertEquals(4, services.size());
+		assertEquals("cat1-service1", services.get(0));
+		assertEquals("cat1-service3", services.get(1));
+		assertEquals("cat2-service1", services.get(2));
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,107 @@
+/*
+ * 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.services.routing.cbr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * 
+ * @author kurt.stam at redhat.com
+ *
+ */
+public class JBossRulesRouterUnitTest
+{
+	@Test
+	public void routeSerializedMessage()
+	{
+        //new messages
+		Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+		//set some properties inside the Message
+		message.getProperties().setProperty("prop1", "val1");
+		message.getProperties().setProperty("prop2", "val2");
+		//set the body inside the Message
+		message.getBody().setContents(("TEST BODY").getBytes());
+		//set some object attachments inside the Message
+		message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
+		message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+		
+		JBossRulesRouter jbossRulesRouter = new JBossRulesRouter();
+        try {
+    		List<String> destinationServices = jbossRulesRouter.route("JBossESBRules.drl", false, message);
+    		assertEquals(destinationServices.iterator().next(),"serialized-destination");
+        } catch (MessageRouterException mre) {
+            System.out.println("Exception was thrown.");
+            mre.printStackTrace();
+            assertTrue(false);
+        }
+	}
+	
+	@Test
+	public void routeXMLMessage()
+	{
+		//add new messages
+		Message message = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+		//set some properties inside the Message
+		message.getProperties().setProperty("prop1", "val1");
+		message.getProperties().setProperty("prop2", "val2");
+		//set the body inside the Message
+		message.getBody().setContents(("TEST BODY").getBytes());
+		//set some object attachments inside the Message
+		message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
+		message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+	
+		JBossRulesRouter jbossRulesRouter = new JBossRulesRouter();
+        try {
+    		List<String> destinationServices = jbossRulesRouter.route("JBossESBRules.drl", false, message);
+    		assertEquals(destinationServices.iterator().next(),"xml-destination");
+        } catch (MessageRouterException mre) {
+            System.out.println("Exception was thrown.");
+            mre.printStackTrace();
+            assertTrue(false);
+        }
+	}
+	
+	@BeforeClass
+	public static void runBeforeAllTests() throws Exception 
+	{
+		DOMConfigurator.configure(TestEnvironmentUtil.getUserDir() + "etc/test/resources/log4j.xml");
+	}
+	
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(JBossRulesRouterUnitTest.class);
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/esb/persistence/tests/MessageStoreUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,241 @@
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+package org.jboss.soa.esb.esb.persistence.tests;
+
+/**
+ * @author dbrum
+ * 
+ * 
+ */
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.net.URI;
+import java.sql.Connection;
+import java.sql.Statement;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManager;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
+import org.jboss.soa.esb.services.persistence.MessageStoreType;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class MessageStoreUnitTest
+{
+
+	// private static Logger log = Logger.getLogger(MessageStoreUnitTest.class);
+
+	@Test
+	public void testDefaultMessageStore ()
+	{
+		MessageStore store = MessageStoreFactory.getInstance()
+				.getMessageStore();
+		assertEquals((store != null), true);
+	}
+
+	@Test
+	public void testURIMessageStore ()
+	{
+		// only DB supported for now
+		MessageStore store1 = MessageStoreFactory.getInstance()
+				.getMessageStore(MessageStoreType.DATABASE);
+		assertEquals((store1 != null), true);
+	}
+
+	@Test
+	public void testStoreAndRetrieve () throws Exception
+	{
+		// add new messages
+		Message msg1 = MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML);
+		Message msg2 = MessageFactory.getInstance().getMessage(
+				MessageType.JAVA_SERIALIZED);
+		assertEquals((msg1 != null), true);
+		assertEquals((msg2 != null), true);
+
+		MessageStore store = MessageStoreFactory.getInstance().getMessageStore(
+				MessageStoreType.DATABASE);
+		assertEquals((store != null), true);
+
+		// set some properties inside the Message
+		msg1.getProperties().setProperty("prop1", "val1");
+		msg2.getProperties().setProperty("prop1", "val1");
+		msg1.getProperties().setProperty("prop2", "val2");
+		msg2.getProperties().setProperty("prop2", "val2");
+
+		// set the body inside the Message
+		msg1.getBody().setContents(("TEST BODY").getBytes());
+		msg2.getBody().setContents(("TEST BODY").getBytes());
+
+		// set some object attachments inside the Message
+		msg1.getAttachment().addItem(new String("TEST ATTACHMENT1"));
+		msg1.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+		msg2.getAttachment().addItem(new String("TEST ATTACHMENT1"));
+		msg2.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+
+		// keep track of the UID to use in retrieving the Message
+		URI uid1 = null;
+		uid1 = store.addMessage(msg1);
+		System.out.println(uid1);
+		assertEquals((uid1 != null), true);
+
+		URI uid2 = null;
+		uid2 = store.addMessage(msg2);
+		System.out.println(uid2);
+		assertEquals((uid2 != null), true);
+
+		// now retrieve the messages
+		try
+		{
+			Message msgIn1 = store.getMessage(uid1);
+			assertEquals((msgIn1 != null), true);
+
+			Message msgIn2 = store.getMessage(uid2);
+			assertEquals((msgIn2 != null), true);
+		}
+		catch (Exception e)
+		{
+			e.printStackTrace();
+		}
+	}
+
+	@Test
+	public void testDBConnectionManager ()
+	{
+		MessageStore store = MessageStoreFactory.getInstance().getMessageStore(
+				MessageStoreType.DATABASE);
+		assertEquals((store != null), true);
+		DBConnectionManager mgr = DBConnectionManager.getInstance();
+		assertEquals((mgr != null), true);
+	}
+
+	@BeforeClass
+	public static void runBeforeAllTests ()
+	{
+		TestEnvironmentUtil.setESBPropertiesFileToUse();
+		System.out.println(Configuration.dump());
+		try
+		{
+			if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver"))
+			{
+				HsqldbUtil.startHsqldb(
+						TestEnvironmentUtil.getUserDir() + "build/hsqltestdb",
+						"jbossesb");
+				// Get the registry-schema create scripts
+				String database = "hsqldb";
+				String sqlDir = TestEnvironmentUtil.getUserDir() + "install/message-store/sql/" + database + "/";
+				// Drop what is there now, if exists. We want to start fresh.
+				String sqlCreateCmd = MessageStoreUnitTest
+						.readTextFile(new File(sqlDir + "create_database.sql"));
+				String sqlDropCmd = MessageStoreUnitTest.readTextFile(new File(
+						sqlDir + "drop_database.sql"));
+
+				try
+				{
+					Class.forName(Configuration.getStoreDriver());
+				}
+				catch (Exception e)
+				{
+					System.out
+							.println("ERROR: failed to load " + database + " JDBC driver.");
+					e.printStackTrace();
+					return;
+				}
+
+				DBConnectionManager mgr = DBConnectionManager.getInstance();
+				Connection con = mgr.getConnection();
+				Statement stmnt = con.createStatement();
+				System.out.println("Dropping the schema if exist");
+				stmnt.execute(sqlDropCmd);
+				System.out.println("Creating the message store schema");
+				stmnt.execute(sqlCreateCmd);
+			}
+		}
+		catch (Exception e)
+		{ // 
+			e.printStackTrace();
+			System.out
+					.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+	}
+
+	@AfterClass
+	public static void runAfterAllTests ()
+	{
+		try
+		{
+			if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver"))
+				HsqldbUtil.stopHsqldb(Configuration.getStoreUrl(),
+						Configuration.getStoreUser(), Configuration
+								.getStorePwd());
+		}
+		catch (Exception e)
+		{ // 
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Read the file into a String.
+	 * 
+	 * @param file -
+	 *            the file to be read
+	 * @return String with the content of the file
+	 * @throws IOException -
+	 *             when we can't read the file
+	 */
+	public static String readTextFile (File file) throws IOException
+	{
+		StringBuffer sb = new StringBuffer(1024);
+		BufferedReader reader = new BufferedReader(new FileReader(file
+				.getPath()));
+		char[] chars = new char[1];
+		while ((reader.read(chars)) > -1)
+		{
+			sb.append(String.valueOf(chars));
+			chars = new char[1];
+		}
+		reader.close();
+		return sb.toString();
+	}
+
+	public static junit.framework.Test suite ()
+	{
+		return new JUnit4TestAdapter(MessageStoreUnitTest.class);
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/DummyUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/DummyUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/DummyUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.soa.esb.services;
+
+import org.jboss.soa.esb.common.tests.BaseTest;
+
+/**
+ * Dummy test file.
+ *
+ * @author <a href="mailto:arvinder.singh at indigo-logic.com">Arvinder Singh</a>
+ * @version <tt>$Revision:$</tt>
+ * $Id:$
+ */
+public class DummyUnitTest extends BaseTest {
+
+    /**
+     * Remove me
+     * @throws Exception
+     */
+   public void testDummyCompileAndInvoke() throws Exception {
+       log.info("****************************************************************");
+       log.info("  Dummy unit test called. Replace this with module level tests");
+       log.info("****************************************************************");
+   }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/RegistryUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,232 @@
+/*
+* 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.services.registry;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.InputStream;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Properties;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+/**
+ * Testing the registry.
+ * 
+ * @author kstam
+ *
+ */
+public class RegistryUnitTest
+{
+    private static String mDbDriver;
+	private static String mDbUrl;
+	private static String mDbUsername;
+	private static String mDbPassword;
+	private static final String SERVICE_NAME = "Kurts Travel Agency";
+	private static final String CATEGORY = "travel";
+	
+	private Logger logger = Logger.getLogger(this.getClass());
+	
+	/**
+	 * Testing the registering of an EPR.
+	 */
+	@Test
+	public void publishEPR() 
+	{
+		EPR epr = new EPR();
+		try {
+			Registry registry = RegistryFactory.getRegistry();
+			registry.registerEPR(CATEGORY, SERVICE_NAME, "Service for traveling", 
+					epr, "Specific Service Binding for traveling");
+		} catch (RegistryException re) {
+			logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+			assertTrue(false);
+		}
+		try {
+			Registry registry = RegistryFactory.getRegistry();
+			registry.registerEPR(null, SERVICE_NAME, null, 
+					epr, null);
+		} catch (RegistryException re) {
+			logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+			assertTrue(false);
+		}
+		//make sure we can handle some null arguments
+		
+	}
+	/**
+	 * This test will try to find all services in the "travel" category.
+	 */
+	@Test
+	public void findService() 
+	{
+		try {
+			Registry registry = RegistryFactory.getRegistry();
+			Collection<String> services = registry.findServices(CATEGORY);
+			for (Iterator i=services.iterator();i.hasNext();) {
+				String serviceName = (String) i.next();
+				logger.log(Priority.INFO, "Found service: " + serviceName);
+				assertEquals(CATEGORY + ":" + SERVICE_NAME, serviceName);
+			}
+		} catch (RegistryException re) {
+			logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+			assertTrue(false);
+		}
+	}
+	/**
+	 * Find the EPRs for this service.
+	 */
+	@Test
+	public void findEPRs() 
+	{
+		try {
+			Registry registry = RegistryFactory.getRegistry();
+			Collection<EPR> eprs = registry.findEPRs(CATEGORY, SERVICE_NAME);
+			for (Iterator i=eprs.iterator();i.hasNext();) {
+				EPR epr = (EPR) i.next();
+				logger.log(Priority.INFO, "Found epr: " + epr);
+			}
+		} catch (RegistryException re) {
+			logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+			assertTrue(false);
+		}
+	}
+	@Test
+	public void unregisterEPR() 
+	{
+		try {
+			Registry registry = RegistryFactory.getRegistry();
+			EPR eprToBeRemoved = new EPR();
+			registry.unRegisterEPR(CATEGORY, SERVICE_NAME, eprToBeRemoved);
+//			Now make sure this EPR is really gone
+			Collection<EPR> eprs = registry.findEPRs(CATEGORY, SERVICE_NAME);
+			logger.log(Priority.INFO, "Number of Bindings left should be 0, and is: " + eprs.size());
+			assertEquals(eprs.size(),0);
+		} catch (Exception re) {
+			logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+			assertTrue(false);
+		}
+	}
+	@Test
+	public void unregisterService() 
+	{
+		try {
+			Registry registry = RegistryFactory.getRegistry();
+			registry.unRegisterService(CATEGORY, SERVICE_NAME);
+			registry.unRegisterService(null, SERVICE_NAME);
+			//Make sure it's really gone
+			Collection<String> services = registry.findAllServices();
+			logger.log(Priority.INFO, "Number of Services left should be 0, and is: " + services.size());
+			assertEquals(services.size(),0);
+		} catch (Exception re) {
+			logger.log(Priority.ERROR, re.getLocalizedMessage(), re);
+			assertTrue(false);
+		}
+	}
+	/**
+	 * Setup the database.
+	 * @throws Exception
+	 */
+	@BeforeClass
+	public static void runBeforeAllTests() {
+		try {
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir() + "etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse();
+			//Set the juddi properties file in System so juddi will pick it up later and use the test values.
+			String juddiPropertiesFile = "/org/jboss/soa/esb/services/registry/juddi-unittest.properties";
+			System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
+			//Read this properties file to get the db connection string
+			Properties props = new Properties();
+			InputStream inStream = Class.class.getResourceAsStream(juddiPropertiesFile);
+			props.load(inStream);
+			mDbDriver    = props.getProperty("juddi.jdbcDriver");
+			mDbUrl       = props.getProperty("juddi.jdbcUrl");
+			mDbUsername  = props.getProperty("juddi.jdbcUsername");
+			mDbPassword  = props.getProperty("juddi.jdbcPassword");
+			
+			String database="not tested yet";
+			if ("org.hsqldb.jdbcDriver".equals(mDbDriver)) {
+				database = "hsqldb";
+				//Bring up hsql on default port 9001
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir() + "build/hsqltestdb", "juddi");
+			} else if ("com.mysql.jdbc.Driver".equals(mDbDriver)) {
+				database = "mysql";
+			} //add and test your own database..
+			
+			//Get the registry-schema create scripts
+			String sqlDir = TestEnvironmentUtil.getUserDir() + "install/jUDDI-registry/sql/" + database + "/";
+			//Drop what is there now, if exists. We want to start fresh.
+			String sqlDropCmd      = FileUtil.readTextFile(new File(sqlDir + "drop_database.sql"));
+			String sqlCreateCmd    = FileUtil.readTextFile(new File(sqlDir + "create_database.sql"));
+			String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir + "insert_publishers.sql"));
+			
+			try {
+				Class.forName(mDbDriver);
+			} catch (Exception e) {
+				System.out.println("ERROR: failed to load " + database + " JDBC driver.");
+				e.printStackTrace();
+				return;
+			}
+			java.sql.Connection con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
+			Statement stmnt = con.createStatement();
+			System.out.println("Dropping the schema if exist");
+			stmnt.execute(sqlDropCmd);
+			System.out.println("Creating the juddi-schema");
+			stmnt.execute(sqlCreateCmd);
+			System.out.println("Adding the jbossesb publisher");
+			stmnt.execute(sqlInsertPubCmd);
+		} catch (Exception e) {
+			e.printStackTrace();
+			System.out.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+	}
+	/**
+	 * Shutdown the database
+	 * @throws Exception
+	 */
+	@AfterClass
+	public static void runAfterAllTests() throws Exception {
+		if ("org.hsqldb.jdbcDriver".equals(mDbDriver)) {
+			HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
+		}
+	}
+
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(RegistryUnitTest.class);
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/juddi-unittest.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/juddi-unittest.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/registry/juddi-unittest.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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=org.hsqldb.jdbcDriver
+juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost/juddi
+juddi.jdbcUsername=sa
+juddi.jdbcPassword=
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,184 @@
+/*
+ * 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.services.routing.cbr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.BeforeClass;
+import org.junit.Test;
+/**
+ * 
+ * @author kurt.stam at redhat.com
+ *
+ */
+public class ContentBasedRoutingUnitTest
+{
+	@Test
+	public void routeSerializedMessage()
+	{
+		try {
+            //new messages
+			Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+			//set some properties inside the Message
+			message.getProperties().setProperty("prop1", "val1");
+			message.getProperties().setProperty("prop2", "val2");
+			//set the body inside the Message
+			message.getBody().setContents(("TEST BODY").getBytes());
+			//set some object attachments inside the Message
+			message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
+			message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+			
+			ContentBasedRouter cbr = ContentBasedRouterFactory.getRouter();
+			List<String> destinationServices = cbr.route("JBossESBRules.drl",false,message);
+			assertEquals(destinationServices.iterator().next(),"serialized-destination");
+		} catch (MessageRouterException e) {
+			e.printStackTrace();
+			assertTrue(false);
+		}
+	}
+	
+	@Test
+	public void routeXMLMessage()
+	{
+		try {
+			//add new messages
+			Message message = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+			//set some properties inside the Message
+			message.getProperties().setProperty("prop1", "val1");
+			message.getProperties().setProperty("prop2", "val2");
+			//set the body inside the Message
+			message.getBody().setContents(("TEST BODY").getBytes());
+			//set some object attachments inside the Message
+			message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
+			message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+			
+			ContentBasedRouter cbr = ContentBasedRouterFactory.getRouter();
+			List<String> destinationServices = cbr.route("JBossESBRules.drl",false,message);
+			assertEquals(destinationServices.iterator().next(),"xml-destination");
+		} catch (MessageRouterException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Test
+	public void routeXMLMessageUsingXPathMatch()
+	{
+		try {
+			//add new messages
+			Message message = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+			//set some properties inside the Message
+			message.getProperties().setProperty("prop1", "val1");
+			message.getProperties().setProperty("prop2", "val2");
+			//set the body inside the Message
+			message.getBody().setContents(("<jbossesb>TEST BODY</jbossesb>").getBytes());
+			//set some object attachments inside the Message
+			message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
+			message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+			
+			ContentBasedRouter cbr = ContentBasedRouterFactory.getRouter();
+			List<String> destinationServices = cbr.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message);
+			assertEquals(destinationServices.iterator().next(),"XML_XPath_Destination");
+		} catch (MessageRouterException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Test
+	public void routeXMLMessageUsingXPathEquals()
+	{
+		try {
+			//add new messages
+			Message message = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+			//set the body inside the Message
+			message.getBody().setContents(("<Dave>rocks</Dave>").getBytes());
+		
+			ContentBasedRouter cbr = ContentBasedRouterFactory.getRouter();
+			List<String> destinationServices = cbr.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message);
+			assertEquals(destinationServices.iterator().next(),"XML_XPath_Dave_Destination");
+		} catch (MessageRouterException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Test
+	public void routeXMLMessageUsingXPathGreaterThen()
+	{
+		try {
+			//add new messages
+			Message message = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+			//set the body inside the Message
+			message.getBody().setContents(("<price>1.55</price>").getBytes());
+			
+			ContentBasedRouter cbr = ContentBasedRouterFactory.getRouter();
+			List<String> destinationServices = cbr.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message);
+			assertEquals(destinationServices.iterator().next(),"XML_XPath_GreaterThan_Destination");
+		} catch (MessageRouterException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@Test
+	public void routeXMLMessageUsingXPathLessThen()
+	{
+		try {
+			//add new messages
+			Message message = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+			//set the body inside the Message
+			message.getBody().setContents(("<price>0.55</price>").getBytes());
+			
+			ContentBasedRouter cbr = ContentBasedRouterFactory.getRouter();
+			List<String> destinationServices = cbr.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message);
+			assertEquals(destinationServices.iterator().next(),"XML_XPath_LessThan_Destination");
+		} catch (MessageRouterException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	@BeforeClass
+	public static void runBeforeAllTests() throws Exception 
+	{
+		try {
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir() + "etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse();
+		} catch (Exception e) {
+			e.printStackTrace();
+			System.out.println("We should stop testing, since we don't any config properties");
+			assertTrue(false);
+		}
+	}
+	
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(ContentBasedRoutingUnitTest.class);
+	}
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/AdministrationGuide.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/AdministrationGuide.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/AdministrationGuide.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/AdministrationGuide.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/GettingStarted.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/GettingStarted.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/GettingStarted.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/GettingStarted.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/JBossIDE/JBossIDE-HelloWorld.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/JBossIDE/JBossIDE-HelloWorld.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/JBossIDE/JBossIDE-HelloWorld.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/JBossIDE/JBossIDE-HelloWorld.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/ProgrammersGuide.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/ProgrammersGuide.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/ProgrammersGuide.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/ProgrammersGuide.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/ReleaseNotes.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/ReleaseNotes.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/ReleaseNotes.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/ReleaseNotes.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/TBGuide.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/TBGuide.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/TBGuide.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/TBGuide.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/WARNING.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/docs/WARNING.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/docs/WARNING.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,3 @@
+WARNING: the pdf documents in this directory may not be up-to-date with respect to
+the various OpenOffice documents. Between releases only the OpenOffice documents are
+normative.
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/ContentBasedRouting.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/ContentBasedRouting.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/ContentBasedRouting.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/ContentBasedRouting.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/MessageTransformation.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/MessageTransformation.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/MessageTransformation.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/MessageTransformation.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/Registry.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/Registry.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/RegistryConfiguration.pdf
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/docs/services/RegistryConfiguration.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/EsbJmsListenerEasier2ReadExample.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/EsbJmsListenerEasier2ReadExample.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/EsbJmsListenerEasier2ReadExample.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,36 @@
+<EsbListenerControllerExample
+	parameterReloadSecs="180"
+>
+   <ListenJmsQueueExample
+    service-name="myEprMnemonicName"
+   	listenerClass="org.jboss.soa.esb.message.listeners.JmsQueueListener"
+	connection-factory="ConnectionFactory"
+	destination-type="queue"
+   	destination-name="queue/A"
+	jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+    jndi-URL="localhost"
+    message-selector="service='handOfGod'"
+   >
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction" />
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction"  process="process222" /> 
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction"  
+   	process="noOperation" okMethod="endOfChainNotification"/> 
+
+	<NotificationList type="OK"> 
+		<target class="NotifyFiles">
+			<file	URI="file:///E:/tmp/jbossEsb/notifyDir/GpListenerExample.notifOK" 
+			 	append="true"
+			/>
+		</target> 
+	</NotificationList> 
+	
+	<NotificationList type="err"> 
+		<target class="NotifyFiles">
+			<file	URI="file:///E:/tmp/jbossEsb/notifyDir/GpListenerExample.notifErr" 
+			 	append="true"
+			/>
+		</target> 
+	</NotificationList>
+   </ListenJmsQueueExample>
+   
+</EsbListenerControllerExample>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/EsbJmsListenerExample.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/EsbJmsListenerExample.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/EsbJmsListenerExample.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,44 @@
+<EsbListenerControllerExample
+	parameterReloadSecs="180"
+>
+   <ListenJmsQueueExample
+    service-name="myServiceName"
+   	listenerClass="org.jboss.soa.esb.message.listeners.JmsQueueListener"
+	connection-factory="ConnectionFactory"
+	destination-type="queue"
+   	destination-name="queue/A"
+	jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+    jndi-URL="localhost"
+    message-selector="service='maradona'"
+   >
+   <!-- next line will call (default) process(Message) method with no notification for step -->
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction" />
+   <!-- next line will call process222(Message) method with no notification for step -->
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction"  process="process222" /> 
+   <!-- next line will call (default) process(Message) - on success=>invoke myOkMethod1 -->
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction"  okMethod="myOkMethod1" /> 
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction"  process="process222" 
+   		okMethod="myMethod2" />
+   <!-- next line would be useful to notify end of action chain process=noOperation (see class)-->
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction"  process="noOperation" /> 
+   <!-- example of a method that will always throw an Exception  -->
+   <action class="org.jboss.soa.esb.actions.templates.MockMessageAction" process="justThrow" exceptionMethod="exceptionCallback1"/> 
+
+	<NotificationList type="OK"> 
+		<target class="NotifyFiles">
+			<file	URI="file:///E:/tmp/jbossEsb/notifyDir/GpListenerExample.notifOK" 
+			 	append="true"
+			/>
+		</target> 
+	</NotificationList> 
+	
+	<NotificationList type="err"> 
+		<target class="NotifyFiles">
+			<file	URI="file:///E:/tmp/jbossEsb/notifyDir/GpListenerExample.notifErr" 
+			 	append="true"
+			/>
+		</target> 
+	</NotificationList>
+   </ListenJmsQueueExample>
+   
+</EsbListenerControllerExample>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/gatewayExample.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/gatewayExample.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/gatewayExample.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,22 @@
+<GatewayListenerControllerExample
+	parameterReloadSecs="180"
+>
+   <JmsGatewayExample
+    target-service-category="eprManager"
+    target-service-name="your target service name"
+
+    service-category="eprManager"
+    service-name="JmsGatewayService"
+
+   	listenerClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener"
+	connection-factory="ConnectionFactory"
+	destination-type="queue"
+   	destination-name="queue/A"
+	jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+    jndi-URL="localhost"
+    message-selector="service='composeExampleService'"
+   >
+	   <action class="org.jboss.soa.esb.message.listeners.MockComposer" process="composeEmptyMessage" />
+   </JmsGatewayExample>
+   
+</GatewayListenerControllerExample>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/jbossesb_config_01.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/jbossesb_config_01.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/examples/listeners/jbossesb_config_01.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,45 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd">
+
+	<buses>
+		<jms-bus busid="local-jms" 
+				connection-factory="ConnectionFactory" 
+				jndi-URL="jnp://localhost:1099" />
+		<jms-bus busid="server1-jms" 
+				connection-factory="com.xyz.provider.XYZConnectionFactory" 
+				jndi-context-factory="com.xyz.provider.NamingContextFactory"
+				jndi-URL="xyz://server1:9876" 
+				jndi-pkg-prefix="com.xyz" />
+	</buses>
+	<services>    
+		<service category="Bank" name="Reconciliation" description="Bank Reconciliation Service">
+		
+			<listeners>    	    
+				<jms-listener name="Bank-JMS-Gateway"
+							is-gateway="true" 
+							busidref="server1-jms"
+							destination-type="QUEUE"
+						   	destination-name="queue/A"
+							message-selector="service='Reconciliation'"
+							maxThreads="1"
+							/>
+				<jms-listener name="Bank-Listener" 
+							is-gateway="false"
+							busidref="local-jms"
+							destination-type="TOPIC"
+						   	destination-name="queue/B"
+							message-selector="service='Reconciliation'"
+							maxThreads="2"
+							/>
+			</listeners>    	
+			  
+			<actions>    	    
+				<action name="TestDefaultRouteAction" process="route" class="org.jboss.soa.esb.actions.CbrProxyAction">
+					<property name="propName" value="propValue" />
+				</action>
+			</actions>
+			
+		</service>    
+	</services>
+	
+</jbossesb>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,143 @@
+<project name="JBESB" default="usage" basedir=".">
+
+
+    <!-- ================================================================== -->
+    <!--                      P R O P E R T I E S                           -->
+    <!-- ================================================================== -->
+    <!--
+    <property name="org.jboss.esb.etc.schema.xsd.home" value="../schemas/xml"/>
+    <property name="org.jboss.esb.etc.schema.xsd.examples" value="."/>
+    -->
+    <property name="org.jboss.esb.etc.validation.build.dir" value="build"/>
+    <property name="org.jboss.esb.etc.validation.classes.dir" value="${org.jboss.esb.etc.validation.build.dir}/classes"/>
+    <property name="org.jboss.esb.etc.validation.junit.dir" value="${org.jboss.esb.etc.validation.build.dir}/junit"/>
+
+
+    <!-- ================================================================== -->
+    <!--                            P A T H S                               -->
+    <!-- ================================================================== -->
+    <path id="build.classpath">
+        <fileset dir="../../../lib">
+            <include name="**/**/*.jar"/>
+        </fileset>
+    </path>
+
+
+    <!-- ================================================================== -->
+    <!--                        U S A G E                                   -->
+    <!-- ================================================================== -->
+    <target name="org.jboss.esb.etc.schema.usage" >
+        <echo message="+----------------------------------------------------------------+"/>
+        <echo message="|                                                                "/>
+        <echo message="| U S A G E:                                                     "/>
+        <echo message="|                                                                "/>
+        <echo message="| ant  [target] [options]		                                "/>
+        <echo message="|                                                                "/>
+        <echo message="| Where:                                                         "/>
+        <echo message="|                                                                "/>
+        <echo message="| targets =                                                      "/>
+        <echo message="|          clean          [ clean temporary dirs and classes ]   "/>
+        <echo message="|          build          [ compile classes                  ]   "/>
+        <echo message="|          validate       [ validate all xsd examples        ]   "/>
+        <echo message="|                                                                "/>
+        <echo message="+----------------------------------------------------------------+"/>
+    </target>
+
+
+    <!-- ================================================================== -->
+    <!--                        C L E A N                                   -->
+    <!-- ================================================================== -->
+    <target name="org.jboss.esb.etc.schema.clean" >
+        <echo message="+--------------------------------------------------------+"/>
+		<echo message="|                                                        |"/>
+		<echo message="|                      C L E A N                         |"/>
+		<echo message="|                                                        |"/>
+		<echo message="+--------------------------------------------------------+"/>
+        <delete dir="${org.jboss.esb.etc.validation.build.dir}"/>
+    </target>
+
+
+    <!-- ================================================================== -->
+    <!--                       P R E P A R E                                -->
+    <!-- ================================================================== -->
+    <target name="org.jboss.esb.etc.schema.prepare" depends="clean" >
+        <echo message="+--------------------------------------------------------+"/>
+        <echo message="|                                                        |"/>
+        <echo message="|                  P R E P A R E                         |"/>
+        <echo message="|                                                        |"/>
+        <echo message="+--------------------------------------------------------+"/>
+        <mkdir dir="${org.jboss.esb.etc.validation.classes.dir}"/>
+        <mkdir dir="${org.jboss.esb.etc.validation.junit.dir}"/>
+    </target>
+
+
+    <!-- ================================================================== -->
+    <!--                          B U I L D                                 -->
+    <!-- ================================================================== -->
+    <target name="org.jboss.esb.etc.schema.build" depends="org.jboss.esb.etc.schema.prepare" >
+        <echo message="+--------------------------------------------------------+"/>
+        <echo message="|                                                        |"/>
+        <echo message="|                C O M P I L E                           |"/>
+        <echo message="|                                                        |"/>
+        <echo message="+--------------------------------------------------------+"/>
+        <javac
+            destdir="${org.jboss.esb.etc.validation.classes.dir}"
+            classpathref="build.classpath">
+            <src path="src"/>
+        </javac>
+    </target>
+
+    <!-- ================================================================== -->
+    <!--                      V A L I D A T E                                -->
+    <!-- ================================================================== -->
+    <target name="org.jboss.esb.etc.schema.validate" depends="build" >
+        <echo message="+--------------------------------------------------------+"/>
+        <echo message="|                                                        |"/>
+        <echo message="|                V A L I D A T E                         |"/>
+        <echo message="|                                                        |"/>
+        <echo message="+--------------------------------------------------------+"/>
+        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
+            <formatter type="plain" usefile="false"/>
+            <formatter type="xml"/>
+            <batchtest todir="${org.jboss.esb.etc.validation.junit.dir}">
+                <fileset dir="src">
+                    <include name="**/**Test.java"/>
+                </fileset>
+            </batchtest>
+            <classpath>
+                <pathelement location="${org.jboss.esb.etc.validation.classes.dir}"/>
+                <pathelement location="src"/>
+                <pathelement location="${basedir}"/>
+                <path refid="build.classpath"/>
+            </classpath>
+        	<sysproperty key="log4j.configuration" value="log4j.xml"/>
+            <sysproperty key="xml.base.dir" value="${basedir}/resources"/>
+            <sysproperty key="xsd.base.dir" value="${basedir}/../schemas/xml"/>
+        </junit>
+        <junitreport>
+            <fileset dir="${org.jboss.esb.etc.validation.junit.dir}">
+                <include name="*.xml"/>
+            </fileset>
+            <report format="frames" todir="${org.jboss.esb.etc.validation.junit.dir}"/>
+            <report format="noframes" todir="${org.jboss.esb.etc.validation.junit.dir}"/>
+        </junitreport>
+        <!-- clean up
+        <move file="TESTS-TestSuites.xml" todir="${org.jboss.esb.etc.validation.junit.dir}"/>
+        -->
+        
+    </target>
+
+
+
+
+    <!-- ================================================================== -->
+    <!--                    S H O R T   N A M E S                           -->
+    <!-- ================================================================== -->
+    <target name="usage" depends="org.jboss.esb.etc.schema.usage" />
+    <target name="clean" depends="org.jboss.esb.etc.schema.clean" />
+    <target name="build" depends="org.jboss.esb.etc.schema.build" />
+    <target name="validate" depends="org.jboss.esb.etc.schema.validate" />
+
+
+
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,263 @@
+<?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="./epr-validation-tests.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>
+
+   <!-- ====================== -->
+   <!-- More Appender examples -->
+   <!-- ====================== -->
+
+   <!-- Buffer events and log them asynchronously
+   <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <appender-ref ref="FILE"/>
+     <appender-ref ref="CONSOLE"/>
+     <appender-ref ref="SMTP"/>
+   </appender>
+   -->
+
+   <!-- EMail events to an administrator
+   <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="To" value="admin at myhost.domain.com"/>
+     <param name="From" value="nobody at myhost.domain.com"/>
+     <param name="Subject" value="JBoss Sever Errors"/>
+     <param name="SMTPHost" value="localhost"/>
+     <param name="BufferSize" value="10"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Syslog events
+   <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Facility" value="LOCAL7"/>
+     <param name="FacilityPrinting" value="true"/>
+     <param name="SyslogHost" value="localhost"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Log events to JMS (requires a topic to be created)
+   <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
+     <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
+   </appender>
+   -->
+
+   <!-- Log events through SNMP
+   <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
+     <param name="ManagementHost" value="127.0.0.1"/>
+     <param name="ManagementHostTrapListenPort" value="162"/>
+     <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
+     <param name="LocalIPAddress" value="127.0.0.1"/>
+     <param name="LocalTrapSendPort" value="161"/>
+     <param name="GenericTrapType" value="6"/>
+     <param name="SpecificTrapType" value="12345678"/>
+     <param name="CommunityString" value="public"/>
+     <param name="ForwardStackTraceWithTrap" value="true"/>
+     <param name="Threshold" value="DEBUG"/>
+     <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
+     <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!--  Emit events as JMX notifications
+   <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+
+      <param name="Threshold" value="WARN"/>
+      <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
+      </layout>
+   </appender>
+   -->
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit jboss axis to INFO as its DEBUG is even more verbose -->
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBoss categories
+   <category name="org.jboss">
+      <priority value="INFO"/>
+   </category>
+   -->
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBoss webservice category
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Decrease the priority threshold for the org.jboss.varia category
+   <category name="org.jboss.varia">
+     <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
+   <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+
+   <!--
+      | An example of enabling the custom TRACE level priority that is used
+      | by the JBoss internals to diagnose low level details. This example
+      | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+      | subpackages. This will produce A LOT of logging output.
+   <category name="org.jboss.system">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   <category name="org.jboss.ejb.plugins">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+
+   <!--
+       | Logs these events to SNMP:
+           - server starts/stops
+           - cluster evolution (node death/startup)
+           - When an EJB archive is deployed (and associated verified messages)
+           - When an EAR archive is deployed
+
+   <category name="org.jboss.system.server.Server">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.deployment.MainDeployer">
+     <priority value="ERROR" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.ejb.EJBDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.deployment.EARDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   -->
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+   <!-- Clustering logging -->
+   <!-- Uncomment the following to redirect the org.jgroups and
+      org.jboss.ha categories to a cluster.log file.
+
+   <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="${jboss.server.home.dir}/log/cluster.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 [%c] %m%n"/>
+     </layout>
+   </appender>
+   <category name="org.jgroups">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   <category name="org.jboss.ha">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   -->
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-email-epr-example.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-email-epr-example.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-email-epr-example.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<e:email-epr
+        xmlns:e="http://www.jboss.org/soa/endpoint/email-epr"
+        xmlns:email="http://www.jboss.org/soa/endpoint/protocol/email"
+        xmlns:wsa="http://www.w3.org/2005/08/addressing"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.org/soa/endpoint/email-epr email-epr.xsd" version="String">
+	<wsa:EndpointReference>
+		<wsa:Address>http://www.altova.com</wsa:Address>
+		<wsa:ReferenceParameters/>
+		<wsa:Metadata/>
+	</wsa:EndpointReference>
+	<email:email>
+		<service-name>basic-email-epr-example</service-name>
+		<service-type>email</service-type>
+		<gateway-type>consumer</gateway-type>
+		<protocol>smtp</protocol>
+		<host>String</host>
+		<port>25</port>
+		<username>String</username>
+		<password>String</password>
+	</email:email>
+</e:email-epr>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-ftp-epr-example.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-ftp-epr-example.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-ftp-epr-example.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:ftp-epr
+        xmlns:f="http://www.jboss.org/soa/endpoint/ftp-epr"
+        xmlns:ftp="http://www.jboss.org/soa/endpoint/protocol/ftp"
+        xmlns:wsa="http://www.w3.org/2005/08/addressing"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.org/soa/endpoint/ftp-epr ftp-epr.xsd" version="String">
+	<wsa:EndpointReference>
+		<wsa:Address>http://www.altova.com</wsa:Address>
+		<wsa:ReferenceParameters/>
+		<wsa:Metadata/>
+	</wsa:EndpointReference>
+	<ftp:ftp>
+		<service-name>String</service-name>
+		<service-type>ftp</service-type>
+		<gateway-type>consumer</gateway-type>
+		<host>String</host>
+		<port>23</port>
+		<username>String</username>
+		<password>String</password>
+		<directory>String</directory>
+	</ftp:ftp>
+</f:ftp-epr>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-jdbc-epr-example.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-jdbc-epr-example.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-jdbc-epr-example.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<j:jdbc-epr
+        xmlns:j="http://www.jboss.org/soa/endpoint/jdbc-epr"
+        xmlns:jdbc="http://www.jboss.org/soa/endpoint/protocol/jdbc"
+        xmlns:wsa="http://www.w3.org/2005/08/addressing"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.org/soa/endpoint/jdbc-epr jdbc-epr.xsd" version="String">
+	<wsa:EndpointReference>
+		<wsa:Address>http://www.altova.com</wsa:Address>
+		<wsa:ReferenceParameters/>
+		<wsa:Metadata/>
+	</wsa:EndpointReference>
+	<jdbc:jdbc>
+		<service-name>String</service-name>
+		<service-type>http</service-type>
+		<gateway-type>consumer</gateway-type>
+		<url>String</url>
+		<driver>String</driver>
+		<username>String</username>
+		<password>String</password>
+		<sql>String</sql>
+	</jdbc:jdbc>
+</j:jdbc-epr>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-jms-epr-example.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-jms-epr-example.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/resources/basic-jms-epr-example.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<j:jms-epr
+        xmlns:j="http://www.jboss.org/soa/endpoint/jms-epr"
+        xmlns:jms="http://www.jboss.org/soa/endpoint/protocol/jms"
+        xmlns:wsa="http://www.w3.org/2005/08/addressing"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.org/soa/endpoint/jms-epr jms-epr.xsd" version="String">
+	<wsa:EndpointReference>
+		<wsa:Address>http://www.altova.com</wsa:Address>
+		<wsa:ReferenceParameters/>
+		<wsa:Metadata/>
+	</wsa:EndpointReference>
+	<jms:jms>
+		<service-name>basic-jms-epr-example</service-name>
+		<service-type>jms</service-type>
+		<gateway-type>consumer</gateway-type>
+		<spec-version>1.1</spec-version>
+		<destination-type>queue</destination-type>
+		<destination-name>String</destination-name>
+		<connection-factory>String</connection-factory>
+	</jms:jms>
+</j:jms-epr>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/XmlValidation.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/XmlValidation.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/XmlValidation.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,143 @@
+/*
+ * 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.services.xml;
+
+import org.xml.sax.SAXException;
+import org.w3c.dom.Document;
+import org.jboss.logging.Logger;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.validation.Validator;
+import javax.xml.validation.SchemaFactory;
+import javax.xml.validation.Schema;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.XMLConstants;
+import java.io.File;
+
+/**
+ * A Helper classes used to validate xml files against supplied schemas.
+ * 
+ * @author $Revision$ $Id$
+ */
+public class XmlValidation
+{
+
+	/**
+	 * Our Logger
+	 */
+	private Logger log = Logger.getLogger(XmlValidation.class);
+
+	/**
+	 * The xml base directory.
+	 */
+	private String xmlBaseDirectory = null;
+
+	/**
+	 * The xml base directory key.
+	 */
+	private String xmlBaseDirectoryKey = "xml.base.dir";
+
+	/**
+	 * The xsd base directory.
+	 */
+	private String xsdBaseDirectory = null;
+
+	/**
+	 * The xsd base directory key.
+	 */
+	private String xsdBaseDirectoryKey = "xsd.base.dir";
+
+	/**
+	 * The path separator
+	 */
+	private static String SEP = System.getProperty("file.separator");
+
+	/**
+	 * Default class constructor
+	 */
+	public XmlValidation ()
+	{
+		if (System.getProperty(xmlBaseDirectoryKey) != null)
+		{
+			xmlBaseDirectory = System.getProperty(xmlBaseDirectoryKey);
+			log.info("Using xml base directory " + xmlBaseDirectory);
+		}
+		if (System.getProperty(xsdBaseDirectoryKey) != null)
+		{
+			xsdBaseDirectory = System.getProperty(xsdBaseDirectoryKey);
+			log.info("Using xsd base directory " + xsdBaseDirectory);
+		}
+	}
+
+	/**
+	 * Validation method used to validate an xml file against an xsd.
+	 * 
+	 * @param xml
+	 *            The xml file to be validated.
+	 * @param xsd
+	 *            The schema to validate against.
+	 * @return Boolean true/false indicating successful validation.
+	 * @throws SAXException
+	 *             Failure during validation.
+	 */
+	public boolean validate (String xml, String xsd) throws SAXException
+	{
+		if (log.isInfoEnabled())
+		{
+			log.info("Validating " + xml + " Against " + xsd);
+		}
+		boolean isValid = false;
+		File xmlFile = new File(xmlBaseDirectory + SEP + xml);
+		File xsdFile = new File(xsdBaseDirectory + SEP + xsd);
+		log.info("Xml File=" + xmlFile.getAbsolutePath());
+		log.info("Xsd File=" + xsdFile.getAbsolutePath());
+		DocumentBuilder parser = DocumentBuilderFactory.newInstance()
+				.newDocumentBuilder();
+		Document document = parser.parse(xmlFile);
+		// log.info("Xml=" + document.toString());
+		SchemaFactory factory = SchemaFactory
+				.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+		Source schemaFile = new StreamSource(xsdFile);
+		// log.info("Xsd=" + schemaFile.toString());
+		Schema schema = factory.newSchema(schemaFile);
+		Validator validator = schema.newValidator();
+		try
+		{
+			validator.validate(new DOMSource(document));
+			isValid = true;
+		}
+		catch (SAXException e)
+		{
+			log.error("Failed to validate xml", e);
+			throw e;
+		}
+		if (log.isInfoEnabled())
+		{
+			log.info("IsValid = " + isValid);
+		}
+		return isValid;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/XmlValidationTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/XmlValidationTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/validation/src/org/jboss/soa/esb/services/xml/XmlValidationTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,59 @@
+package org.jboss.soa.esb.services.xml;
+
+import junit.framework.TestCase;
+import org.jboss.logging.Logger;
+
+
+public class XmlValidationTest extends TestCase  {
+
+    /**
+     * Our Logger
+     */
+    private Logger log = Logger.getLogger(XmlValidationTest.class);
+
+    /**
+     * Validate the Email EPR
+     * @throws Exception
+     */
+    public void testBasicEmailEPR() throws Exception {
+        log.info("Running Basic Email EPR Test");
+        XmlValidation xmlValidator = new XmlValidation();
+        boolean isValid = xmlValidator.validate("basic-email-epr-example.xml","email-epr.xsd");
+        assertTrue("Expecting basic-email-epr-example.xml to be valid.", isValid);
+    }
+
+    /**
+     * Validate the JMS EPR
+     * @throws Exception
+     */
+    public void testBasicJMSEPR() throws Exception {
+        log.info("Running Basic JMS EPR Test");
+        XmlValidation xmlValidator = new XmlValidation();
+        boolean isValid = xmlValidator.validate("basic-jms-epr-example.xml","jms-epr.xsd");
+        assertTrue("Expecting basic-jms-epr-example.xml to be valid.", isValid);
+    }
+
+    /**
+     * Validate the JDBC EPR
+     * @throws Exception
+     */
+    public void testBasicJDBCEPR() throws Exception {
+        log.info("Running Basic JDBC EPR Test");
+        XmlValidation xmlValidator = new XmlValidation();
+        boolean isValid = xmlValidator.validate("basic-jdbc-epr-example.xml","jdbc-epr.xsd");
+        assertTrue("Expecting basic-jdbc-epr-example.xml to be valid.", isValid);
+    }
+
+    /**
+     * Validate the FTP EPR
+     * @throws Exception
+     */
+    public void testBasicFTPEPR() throws Exception {
+        log.info("Running Basic FTP EPR Test");
+        XmlValidation xmlValidator = new XmlValidation();
+        boolean isValid = xmlValidator.validate("basic-ftp-epr-example.xml","ftp-epr.xsd");
+        assertTrue("Expecting basic-ftp-epr-example.xml to be valid.", isValid);
+    }
+
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/README.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/README.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+This directory contains the start of xml/schema/epr
+definitions. In most cases they are simply ideas
+comming together and therefore are subject to change.
+
+NOTE: These current set of XSD's are not valid yet.
+They are in the process of being built then validated.
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/common.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/common.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/common.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+This schema contains common definitions required by all
+eprs.
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.jboss.org/soa/endpoint/common" elementFormDefault="unqualified" attributeFormDefault="unqualified">
+	<annotation>
+		<documentation>
+			   JBoss Inc JMS SOA Schema Definition Copyright 2006
+		  </documentation>
+	</annotation>
+	<simpleType name="service-name">
+		<restriction base="string"/>			
+	</simpleType>
+	<simpleType name="service-type">
+		<restriction base="string">
+			<enumeration value="http"/>
+			<enumeration value="jms"/>
+			<enumeration value="file"/>
+			<enumeration value="jdbc"/>
+			<enumeration value="jxta"/>
+			<enumeration value="javaspace"/>
+			<enumeration value="ftp"/>
+			<enumeration value="email"/>
+			<enumeration value="xmpp"/>
+        </restriction>
+	</simpleType>
+	<simpleType name="gateway-type">
+		<restriction base="string">
+			<enumeration value="consumer"/>
+			<enumeration value="provider"/>
+		</restriction>
+	</simpleType>
+</schema>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/contract.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/contract.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/contract.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/esb/contract" xmlns:tns="http://www.example.org/esb/contract" xmlns:wsa="http://www.w3.org/2005/08/addressing">
+	<xs:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
+	<xs:complexType name="ContractDefinition">
+        <xs:sequence>
+            <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
+            <xs:element name="serviceType" type="xs:anyURI"/>
+            <xs:element minOccurs="0" name="serviceSubType" type="xs:anyURI"/>
+            <xs:element minOccurs="0" name="version" type="xs:anyURI"/>
+		   <xs:element minOccurs="0" name="protocols" type="ProtocolData"/>
+		   <!--
+		   <xs:element minOccurs="0" name="policies" type="wsp:Policy"/>
+		   -->
+        </xs:sequence>
+        <xs:attribute ref="wsu:Id" use="optional"/>
+    </xs:complexType>
+    
+    <xs:complexType name="ProtocolData">
+    		<xs:sequence>
+    			<xs:element name="epr" type="wsa:EndpointReferenceType"/>
+    			<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
+    		</xs:sequence>
+    	</xs:complexType>
+</schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/dispatcher.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/dispatcher.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/dispatcher.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+<dispatchers>
+   <dispatcher-set>
+      <dispatcher></dispatcher>
+      <dispatcher></dispatcher>
+   </dispatcher-set>
+   
+
+   <dispatcher>
+      <name></name>
+      <apply-rule-set></apply-rule-set>
+   </dispatcher>
+</dispatchers>
+-->
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/email.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/email.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/email.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        xmlns:common="http://www.jboss.org/soa/endpoint/common"
+        xmlns:email="http://www.jboss.org/soa/endpoint/protocol/email"
+        targetNamespace="http://www.jboss.org/soa/endpoint/protocol/email" elementFormDefault="unqualified"
+        attributeFormDefault="unqualified">
+    <annotation>
+        <documentation>
+            JBoss Inc JMS SOA Schema Definition Copyright 2006
+        </documentation>
+    </annotation>
+
+    <!-- import common -->
+    <import namespace="http://www.jboss.org/soa/endpoint/common" schemaLocation="common.xsd"/>
+    <element name="email">
+        <complexType>
+            <sequence>
+                <!-- Core -->
+                <element name="service-name" type="common:service-name"/>
+                <element name="service-type" type="common:service-type"/>
+                <element name="gateway-type" type="common:gateway-type"/>
+                <!-- email related -->
+                <element name="protocol" type="email:protocol"/>
+                <element name="host" type="email:host"/>
+                <element name="port" type="email:port"/>
+                <element name="username" type="email:username"/>
+                <element name="password" type="email:password"/>
+            </sequence>
+        </complexType>
+    </element>
+
+    <!-- Email Specific Definitions -->
+    <simpleType name="protocol">
+        <restriction base="string">
+            <enumeration value="smtp"/>
+            <enumeration value="pop"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="host">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="port">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="5"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="username">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="password">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+
+</schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/ftp.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/ftp.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/ftp.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        xmlns:common="http://www.jboss.org/soa/endpoint/common"
+        xmlns:ftp="http://www.jboss.org/soa/endpoint/protocol/ftp"
+        targetNamespace="http://www.jboss.org/soa/endpoint/protocol/ftp" elementFormDefault="unqualified"
+        attributeFormDefault="unqualified">
+    <annotation>
+        <documentation>
+            JBoss Inc JMS SOA Schema Definition Copyright 2006
+        </documentation>
+    </annotation>
+
+    <!-- import common -->
+    <import namespace="http://www.jboss.org/soa/endpoint/common" schemaLocation="common.xsd"/>
+    <element name="ftp">
+        <complexType>
+            <sequence>
+                <!-- Core -->
+                <element name="service-name" type="common:service-name"/>
+                <element name="service-type" type="common:service-type"/>
+                <element name="gateway-type" type="common:gateway-type"/>
+                <!-- ftp related -->
+                <element name="host" type="ftp:host"/>
+                <element name="port" type="ftp:port"/>
+                <element name="username" type="ftp:username"/>
+                <element name="password" type="ftp:password"/>
+                <element name="directory" type="ftp:directory"/>
+
+            </sequence>
+        </complexType>
+    </element>
+
+    <!-- FTP Specific Definitions -->
+    <simpleType name="host">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="port">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="5"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="username">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="password">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+    <simpleType name="directory">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+
+</schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/jdbc.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/jdbc.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/jdbc.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        xmlns:common="http://www.jboss.org/soa/endpoint/common"
+        xmlns:jdbc="http://www.jboss.org/soa/endpoint/protocol/jdbc"
+        targetNamespace="http://www.jboss.org/soa/endpoint/protocol/jdbc" elementFormDefault="unqualified"
+        attributeFormDefault="unqualified">
+    <annotation>
+        <documentation>
+            JBoss Inc JMS SOA Schema Definition Copyright 2006
+        </documentation>
+    </annotation>
+
+    <!-- import common -->
+    <import namespace="http://www.jboss.org/soa/endpoint/common" schemaLocation="common.xsd"/>
+    <element name="jdbc">
+        <complexType>
+            <sequence>
+                <!-- Core -->
+                <element name="service-name" type="common:service-name"/>
+                <element name="service-type" type="common:service-type"/>
+                <element name="gateway-type" type="common:gateway-type"/>
+                <!-- jdbc related -->
+                <element name="url" type="jdbc:url"/>
+                <element name="driver" type="jdbc:driver"/>
+                <element name="username" type="jdbc:username"/>
+                <element name="password" type="jdbc:password"/>
+                <element name="sql" type="jdbc:sql"/>
+            </sequence>
+        </complexType>
+    </element>
+
+    <!-- JDBC Specific Definitions -->
+    <simpleType name="url">
+        <restriction base="string">
+             <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="driver">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+    <simpleType name="username">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+
+    <simpleType name="password">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="20"/>
+        </restriction>
+    </simpleType>
+
+    <simpleType name="sql">
+        <restriction base="string">
+            <minLength value="1"/>
+            <maxLength value="100"/>
+        </restriction>
+    </simpleType>
+
+</schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/jms.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/jms.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/jms.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+xmlns:common="http://www.jboss.org/soa/endpoint/common"
+xmlns:jms="http://www.jboss.org/soa/endpoint/protocol/jms"  
+targetNamespace="http://www.jboss.org/soa/endpoint/protocol/jms" elementFormDefault="unqualified" attributeFormDefault="unqualified">
+	<annotation>
+		<documentation>
+			   JBoss Inc JMS SOA Schema Definition Copyright 2006
+		  </documentation>
+	</annotation>
+		
+	<!-- import common -->
+	<import namespace="http://www.jboss.org/soa/endpoint/common" schemaLocation="common.xsd" />
+	<element name="jms">
+	<complexType>
+		<sequence>
+            <!-- Core -->
+            <element name="service-name" type="common:service-name"/>
+			<element name="service-type" type="common:service-type"/>
+			<element name="gateway-type" type="common:gateway-type" />
+            <!-- jms related -->
+            <element name="spec-version" type="jms:specification-version" />
+            <element name="destination-type" type="jms:destination-type" />
+            <element name="destination-name" type="string"/>
+            <element name="connection-factory" type="string"/>
+        </sequence>
+	</complexType>
+    </element>
+
+    <!-- JMS Specific Definitions -->
+    <simpleType name="specification-version">
+		<restriction base="string">
+			<enumeration value="1.1"/>
+			<enumeration value="1.0.2b"/>					
+		 </restriction>
+	</simpleType>		
+	
+	<simpleType name="destination-type">
+		<restriction base="string">
+			<enumeration value="queue"/>
+			<enumeration value="topic"/>					
+		</restriction>
+	</simpleType>	
+
+
+
+</schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/plugin.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/plugin.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/plugin.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+<plugins>
+   <plugin-set>
+      <set-name></set-name>
+      <plugin-name></plugin-name>
+   </plugin-set>
+
+   <plugin>
+      <name></name>
+      <class></class>
+      <parameters>
+         <name></name>
+         <value></value>
+         ...
+         ...
+      </parameters>
+   </plugin>
+</plugins>
+-->
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/routing.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/routing.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/routing.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+<routing>
+        <route>
+            <source></source>
+            <destination>
+               <type></type>
+               <name></name>
+            </destination>
+        </route>
+</routing>        
+-->
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/ws-addr.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/ws-addr.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/common/ws-addr.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
+<!--
+    W3C XML Schema defined in the Web Services Addressing 1.0 specification
+    http://www.w3.org/TR/ws-addr-core
+
+   Copyright © 2005 World Wide Web Consortium,
+
+   (Massachusetts Institute of Technology, European Research Consortium for
+   Informatics and Mathematics, Keio University). All Rights Reserved. This
+   work is distributed under the W3C® Software License [1] 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.
+
+   [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231   
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing" targetNamespace="http://www.w3.org/2005/08/addressing" elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all">
+	<!-- Constructs from the WS-Addressing Core -->
+	<xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
+	<xs:complexType name="EndpointReferenceType" mixed="false">
+		<xs:sequence>
+			<xs:element name="Address" type="tns:AttributedURIType"/>
+			<xs:element ref="tns:ReferenceParameters" minOccurs="0"/>
+			<xs:element ref="tns:Metadata" minOccurs="0"/>
+			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	<xs:element name="ReferenceParameters" type="tns:ReferenceParametersType"/>
+	<xs:complexType name="ReferenceParametersType" mixed="false">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	<xs:element name="Metadata" type="tns:MetadataType"/>
+	<xs:complexType name="MetadataType" mixed="false">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	<xs:element name="MessageID" type="tns:AttributedURIType"/>
+	<xs:element name="RelatesTo" type="tns:RelatesToType"/>
+	<xs:complexType name="RelatesToType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+				<xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www.w3.org/2005/08/addressing/reply"/>
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<xs:simpleType name="RelationshipTypeOpenEnum">
+		<xs:union memberTypes="tns:RelationshipType xs:anyURI"/>
+	</xs:simpleType>
+	<xs:simpleType name="RelationshipType">
+		<xs:restriction base="xs:anyURI">
+			<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:element name="ReplyTo" type="tns:EndpointReferenceType"/>
+	<xs:element name="From" type="tns:EndpointReferenceType"/>
+	<xs:element name="FaultTo" type="tns:EndpointReferenceType"/>
+	<xs:element name="To" type="tns:AttributedURIType"/>
+	<xs:element name="Action" type="tns:AttributedURIType"/>
+	<xs:complexType name="AttributedURIType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<!-- Constructs from the WS-Addressing SOAP binding -->
+	<xs:attribute name="IsReferenceParameter" type="xs:boolean"/>
+	<xs:simpleType name="FaultCodesOpenEnumType">
+		<xs:union memberTypes="tns:FaultCodesType xs:QName"/>
+	</xs:simpleType>
+	<xs:simpleType name="FaultCodesType">
+		<xs:restriction base="xs:QName">
+			<xs:enumeration value="tns:InvalidAddressingHeader"/>
+			<xs:enumeration value="tns:InvalidAddress"/>
+			<xs:enumeration value="tns:InvalidEPR"/>
+			<xs:enumeration value="tns:InvalidCardinality"/>
+			<xs:enumeration value="tns:MissingAddressInEPR"/>
+			<xs:enumeration value="tns:DuplicateMessageID"/>
+			<xs:enumeration value="tns:ActionMismatch"/>
+			<xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
+			<xs:enumeration value="tns:DestinationUnreachable"/>
+			<xs:enumeration value="tns:ActionNotSupported"/>
+			<xs:enumeration value="tns:EndpointUnavailable"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/>
+	<xs:complexType name="AttributedUnsignedLongType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:unsignedLong">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
+	<xs:complexType name="AttributedQNameType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:QName">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
+	<xs:element name="ProblemAction" type="tns:ProblemActionType"/>
+	<xs:complexType name="ProblemActionType" mixed="false">
+		<xs:sequence>
+			<xs:element ref="tns:Action" minOccurs="0"/>
+			<xs:element name="SoapAction" type="xs:anyURI" minOccurs="0"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+</xs:schema>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/email-epr.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/email-epr.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/email-epr.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:email="http://www.jboss.org/soa/endpoint/protocol/email"  targetNamespace="http://www.jboss.org/soa/endpoint/email-epr" elementFormDefault="qualified" attributeFormDefault="unqualified">
+    <import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="common/ws-addr.xsd"/>
+	<import namespace="http://www.jboss.org/soa/endpoint/protocol/email" schemaLocation="common/email.xsd"/>
+	<element name="email-epr">
+      <complexType>
+       <sequence>
+        <element ref="wsa:EndpointReference"/>
+        <element ref="email:email"/>
+        </sequence>
+       <attribute name="version" type="string" use="required"/>
+      </complexType>
+  </element>
+</schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/ftp-epr.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/ftp-epr.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/ftp-epr.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ftp="http://www.jboss.org/soa/endpoint/protocol/ftp"  targetNamespace="http://www.jboss.org/soa/endpoint/ftp-epr" elementFormDefault="qualified" attributeFormDefault="unqualified">
+    <import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="common/ws-addr.xsd"/>
+	<import namespace="http://www.jboss.org/soa/endpoint/protocol/ftp" schemaLocation="common/ftp.xsd"/>
+	<element name="ftp-epr">
+      <complexType>
+       <sequence>
+        <element ref="wsa:EndpointReference"/>
+        <element ref="ftp:ftp"/>
+        </sequence>
+       <attribute name="version" type="string" use="required"/>
+      </complexType>
+  </element>
+</schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,542 @@
+<?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:xsd="http://www.w3.org/2001/XMLSchema"
+	 xmlns:jesb="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+	 targetNamespace="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+	 elementFormDefault="qualified">
+	
+	<!-- 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 ref="jesb:providers" minOccurs="0" maxOccurs="1"/>
+				<xsd:element ref="jesb:services" minOccurs="0" maxOccurs="1"/>
+			</xsd:sequence>
+			<xsd:attribute name="parameterReloadSecs" use="optional" default="180"/>
+		</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" use="required" type="xsd:string"/>
+					<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 ref="jesb:provider" maxOccurs="unbounded" minOccurs="1"/>
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:complexType name="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 ref="jesb:property" minOccurs="0" maxOccurs="unbounded"/>
+			<xsd:element ref="jesb:bus" maxOccurs="unbounded" minOccurs="1"/>
+		</xsd:sequence>
+		<xsd:attribute name="name" use="required" type="xsd:string"/>
+	</xsd:complexType>
+	<xsd:element name="provider" type="jesb:provider"/>
+	
+	<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 ref="jesb:property" minOccurs="0" maxOccurs="unbounded"/>
+		</xsd:sequence>
+		<xsd:attribute name="busid" use="required" type="xsd:string">
+			<xsd:annotation>
+				<xsd:documentation xml:lang="en">An id such that this bus can be referenced by Service listn.</xsd:documentation><xsd:appinfo>
+			</xsd:appinfo></xsd:annotation>
+		</xsd:attribute>
+	</xsd:complexType>
+	<xsd:element name="bus" type="jesb:bus" />
+	
+	<!-- 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 ref="jesb:service" minOccurs="1" maxOccurs="unbounded"/>
+			</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 ref="jesb:listeners" minOccurs="1" maxOccurs="1"/>
+				<xsd:element ref="jesb:actions" minOccurs="0" maxOccurs="1"/>
+			</xsd:sequence>
+			<xsd:attribute name="category" use="required" type="xsd:string">
+				<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:attribute>
+			<xsd:attribute name="name" use="required" type="xsd:string">
+				<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:attribute>
+			<xsd:attribute name="description" use="required" type="xsd:string">
+				<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:attribute>
+		</xsd:complexType>
+	</xsd:element>
+
+	<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 ref="jesb:action" minOccurs="1" maxOccurs="unbounded"/>
+			</xsd:sequence>
+		</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 ref="jesb:property" minOccurs="0" maxOccurs="unbounded"/>
+			</xsd:sequence>
+			<xsd:attribute name="name" use="required" type="xsd:string">
+				<xsd:annotation>
+					<xsd:documentation xml:lang="en">The logical name of the action.</xsd:documentation>
+				</xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="class" use="required" type="xsd:string">
+				<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>
+
+	<!-- 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 ref="jesb:listener" maxOccurs="unbounded" minOccurs="1"/>
+			</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 ref="jesb:property" minOccurs="0" maxOccurs="unbounded"/>
+		</xsd:sequence>
+		<xsd:attribute name="name" use="required" type="xsd:string">
+			<xsd:annotation>
+				<xsd:documentation xml:lang="en">The logical name of the listener.</xsd:documentation>
+			</xsd:annotation>
+		</xsd:attribute>
+		<xsd:attribute name="busidref" use="required" type="xsd:string">
+			<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:attribute name="maxThreads" use="required" type="xsd:int">
+				<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 name="is-gateway" use="optional" type="xsd:boolean" default="false">
+			<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:complexType>
+	<xsd:element name="listener" type="jesb:listener" />
+
+	<!-- 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" use="required" type="xsd:string">
+				<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: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 ref="jesb:jms-message-filter" maxOccurs="1" minOccurs="0"/>
+					</xsd:sequence>
+				</xsd:extension>
+			</xsd:complexContent>
+		</xsd:complexType>
+	</xsd:element>
+	<xsd:element name="jms-provider" substitutionGroup="jesb:provider">
+		<xsd:annotation><xsd:documentation xml:lang="en">A specific instance of a provider, providing JMS.</xsd:documentation></xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:provider">
+					<xsd:attribute name="connection-factory" use="required" type="xsd:string">
+						<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" use="required" 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>
+	<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:listener">
+					<xsd:sequence>
+						<xsd:element ref="jesb:jms-message-filter" maxOccurs="1" minOccurs="0"/>
+					</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" use="required" type="xsd:string">
+				<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" use="required" type="xsd:string">
+				<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 name="work-suffix" use="optional" type="xsd:string" default=".esbInProcess">
+				<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 name="post-delete" use="optional" type="xsd:boolean" default="true">
+				<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 name="post-directory" use="optional" type="xsd:string" default="processed">
+				<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 name="post-suffix" use="optional" type="xsd:string" default=".esbDone">
+				<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 name="error-delete" use="optional" type="xsd:boolean" default="true">
+				<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 name="error-directory" use="optional" type="xsd:string" default="processed">
+				<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 name="error-suffix" use="optional" type="xsd:string" default=".esbERROR">
+				<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 ref="jesb:fs-message-filter" maxOccurs="1" minOccurs="0"/>
+					</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: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:listener">
+					<xsd:sequence>
+						<xsd:element ref="jesb:fs-message-filter" maxOccurs="1" minOccurs="0"/>
+					</xsd:sequence>
+					<xsd:attribute name="poll-frequency-seconds" use="optional" default="10">
+					    <xsd:annotation>
+							<xsd:documentation xml:lang="en">The frequency with which this listener polls fs 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
+			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" use="required" type="xsd:string">
+				<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" use="required" type="xsd:string">
+				<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" use="required" 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" use="required" type="xsd:string">
+				<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 name="work-suffix" use="optional" type="xsd:string" default=".esbInProcess">
+				<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 name="post-delete" use="optional" type="xsd:boolean" default="true">
+				<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 name="post-directory" use="optional" type="xsd:string" default="processed">
+				<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 name="post-suffix" use="optional" type="xsd:string" default=".esbDone">
+				<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 name="error-delete" use="optional" type="xsd:boolean" default="true">
+				<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 name="error-directory" use="optional" type="xsd:string" default="processed">
+				<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 name="error-suffix" use="optional" type="xsd:string" default=".esbERROR">
+				<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" use="optional" type="xsd:boolean">
+				<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 name="protocol" use="optional" default="ftp">
+				<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" use="optional" type="xsd:string">
+				<xsd:annotation><xsd:documentation xml:lang="en">The url to a certificate, which can be needed for secure protocols (sftp and ftps).</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 ref="jesb:ftp-message-filter" maxOccurs="1" minOccurs="0"/>
+					</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:provider">
+					<xsd:attribute name="hostname" use="required" type="xsd:string">
+						<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:listener">
+					<xsd:sequence>
+						<xsd:element ref="jesb:ftp-message-filter" maxOccurs="1" minOccurs="0"/>
+					</xsd:sequence>
+					<xsd:attribute name="poll-frequency-seconds" use="optional" default="10">
+					    <xsd:annotation>
+							<xsd:documentation xml:lang="en">The frequency with which this listener polls ftp server 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
+			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" use="required" type="xsd:string">
+				<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" use="optional" type="xsd:string" default="message_id">
+				<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" use="optional" type="xsd:string" default="message">
+				<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" use="optional" type="xsd:string" default="status">
+				<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="insert-timestamp-column" use="optional" type="xsd:string" default="insert_timestamp">
+				<xsd:annotation><xsd:documentation xml:lang="en">Holds the timestamp when the record was inserted.</xsd:documentation></xsd:annotation>
+			</xsd:attribute>
+			<xsd:attribute name="post-delete" use="optional" type="xsd:boolean" default="true">
+				<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 name="error-delete" use="optional" type="xsd:boolean" default="true">
+				<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 ref="jesb:sql-message-filter" maxOccurs="1" minOccurs="0"/>
+					</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:provider">
+					<xsd:attribute name="url" use="required" type="xsd:string">
+						<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" use="required" type="xsd:string">
+						<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" use="required" type="xsd:string">
+						<xsd:annotation><xsd:documentation xml:lang="en">The username used to access the database.</xsd:documentation></xsd:annotation>
+					</xsd:attribute>
+					<xsd:attribute name="password" use="optional" type="xsd:string">
+						<xsd:annotation><xsd:documentation xml:lang="en">The password used to access the database.</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 ftp protocol.</xsd:documentation></xsd:annotation>
+		<xsd:complexType>
+			<xsd:complexContent>
+				<xsd:extension base="jesb:listener">
+					<xsd:sequence>
+						<xsd:element ref="jesb:sql-message-filter" maxOccurs="1" minOccurs="0"/>
+					</xsd:sequence>
+					<xsd:attribute name="poll-frequency-seconds" use="optional" default="10">
+						<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>
+</xsd:schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb-1.0.xsdconfig
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb-1.0.xsdconfig	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb-1.0.xsdconfig	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.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.0.xsd">
+        <xb:package>org.jboss.soa.esb.listeners.config</xb:package>
+    </xb:namespace>
+</xb:config>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,41 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd">   
+	<hosts>
+		<host name = "filebank" dnsName = "localhost"/>
+		<host name = "jmsbank" dnsName = "localhost"/>
+		<host name = "loanbroker" dnsName = "localhost"/>
+		<host name = "jms-provider" dnsName = "localhost"/>  
+	</hosts>  
+	<servers>    
+		<server name = "fileBankServer" host = "fileBank" appserver = "jboss-4.0.3SP1">    
+			<properties>    
+				<property name = "java.naming.provider.url" value = "localhost:1099"/>    
+				<property name = "java.naming.factory.initial" value = "org.jnp.interfaces.NamingContextFactory"/>    
+				<property name = "java.naming.factory.url.pkgs" value = "org.jboss.naming:org.jnp.interfaces"/>    
+			</properties>    
+		</server>   
+		<server name = "inhouse-jboss-4.0.4" host = "jms-provider" appserver = "jboss-4.0.4">    
+			<properties>
+				<property name = "java.naming.provider.url" value = "localhost:1099"/>
+				<property name = "java.naming.factory.initial" value = "org.jnp.interfaces.NamingContextFactory"/>
+				<property name = "java.naming.factory.url.pkgs" value = "org.jboss.naming:org.jnp.interfaces"/>    
+			</properties>    
+		</server>    
+		<server name = "loanbroker-listener" host = "loanbroker" appserver = "jbossesb"/>    
+	</servers>    
+	<buses>    
+		<bus name = "bank-jms-channel" server = "fileBankServer" resourceType = "QUEUE" userName = "" password = ""/>    
+		<bus name = "bank-ftp-channel" server = "inhouse-jboss-4.0.4" resourceType = "FTP" userName = "kurt" password = "secret"/>    
+	</buses>    
+	<services>    
+		<service name = "filebank-gateway" category = "gateway" server = "loanbroker-listener" description = "This listener picks up files deposited by the fileBank" class = "org.jboss.soa.esb.FileBankGateway">    	  
+			<listeners>    	    
+				<listener description = "A File-Based listener" bus = "bank-ftp-bus"/>    	    
+				<listener description = "A JMS-Based listener" bus = "bank-jms-bus"/>    	  
+			</listeners>    	  
+			<actions>    	    
+				<action name = "TestDefaultRouteAction" process = "route" class = "org.jboss.soa.esb.actions.CbrProxyAction" service-category = "MessageRouting" service-name = "ContentBasedRoutingService"/>    
+			</actions>    
+		</service>    
+	</services>
+</jbossesb>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jdbc-epr.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jdbc-epr.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jdbc-epr.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:jdbc="http://www.jboss.org/soa/endpoint/protocol/jdbc"  targetNamespace="http://www.jboss.org/soa/endpoint/jdbc-epr" elementFormDefault="qualified" attributeFormDefault="unqualified">
+    <import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="common/ws-addr.xsd"/>
+	<import namespace="http://www.jboss.org/soa/endpoint/protocol/jdbc" schemaLocation="common/jdbc.xsd"/>
+	<element name="jdbc-epr">
+      <complexType>
+       <sequence>
+        <element ref="wsa:EndpointReference"/>
+        <element ref="jdbc:jdbc"/>
+        </sequence>
+       <attribute name="version" type="string" use="required"/>
+      </complexType>
+  </element>
+</schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jms-epr.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jms-epr.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/jms-epr.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:jms="http://www.jboss.org/soa/endpoint/protocol/jms"  targetNamespace="http://www.jboss.org/soa/endpoint/jms-epr" elementFormDefault="qualified" attributeFormDefault="unqualified">
+    <import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="common/ws-addr.xsd"/>
+	<import namespace="http://www.jboss.org/soa/endpoint/protocol/jms" schemaLocation="common/jms.xsd"/>
+	<element name="jms-epr">
+      <complexType>
+       <sequence>
+        <element ref="wsa:EndpointReference"/>
+        <element ref="jms:jms"/>
+        </sequence>
+       <attribute name="version" type="string" use="required"/>
+      </complexType>
+  </element>
+</schema>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/message.xsd
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/message.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/schemas/xml/message.xsd	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Work in progress. Treat it as such. -->
+<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:wsa="common/ws-addr.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<xs:complexType name="Header">
+		<xs:sequence>
+			<xs:element ref="wsa:To" maxOccurs="1"/>
+			<xs:element ref="wsa:From" maxOccurs="1"/>
+			<xs:element ref="wsa:ReplyTo" maxOccurs="1"/>
+			<xs:element ref="wsa:Action" minOccurs="1" maxOccurs="1"/>
+			<xs:element ref="wsa:MessageID" maxOccurs="1"/>
+			<xs:element ref="wsa:RelatesTo" maxOccurs="1"/>
+			<xs:element ref="wsa:ReferenceParameters"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+	<xs:complexType name="Context"/>
+	
+	<xs:complexType name="Body">
+		<xs:sequence>
+			<xs:element name="Bytes" type="xs:base64Binary" maxOccurs="1"/>
+			<xs:element type="xs:base64binary"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+	<xs:complexType name="Attachment">
+		<xs:sequence>
+			<xs:element name="Named" type="xs:base64Binary"/>
+			<xs:element name="UnNamed" type="xs:base64Binary"/>
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="Fault">
+		<xs:sequence>
+			<xs:element name="Code" type="xs:anyURI" minOccurs="1" maxOccurs="1"/>
+			<xs:element name="Reason" type="xs:string" maxOccurs="1"/>
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="Properties">
+		<xs:sequence>
+			<xs:element type="xs:base64Binary"/>
+		</xs:sequence>
+	</xs:complexType>
+
+	<xs:complexType name="Envelope">
+		<xs:attribute ref="Header" use="required"/>
+		<xs:attribute ref="Context" use="required"/>
+		<xs:attribute ref="Body" use="required"/>
+		<xs:attribute ref="Attachment" use="optional"/>
+		<xs:attribute ref="Properties" use="optional"/>
+		<xs:attribute ref="Fault" use="optional"/>
+	</xs:complexType>	
+</xs:schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/jbossesb-unittest-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/jbossesb-unittest-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/jbossesb-unittest-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,77 @@
+<?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.context.factory" value="org.jnp.interfaces.NamingContextFactory"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+    </properties>
+    <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#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.LocalTransport"/>
+    </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/jbossesb"/>
+		<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"/> 
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/etc/test/resources/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+   
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+   
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="./unittest.log"/>
+      <param name="Append" value="false"/>
+      
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+      
+      <!-- Rollover at the top of each hour
+         <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+      
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+         
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+            <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+         -->
+      </layout>
+   </appender>
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit JBoss categories -->
+   <category name="org.jboss">
+      <priority value="DEBUG"/>
+   </category>
+
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <category name="org.milyn">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.milyn.delivery.SmooksXML">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.milyn.delivery.serialize.Serializer">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.milyn.cdr.XMLConfigDigester">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+ 
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/Deployment.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/Deployment.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/Deployment.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,32 @@
+OVERVIEW
+=========
+This document contains a list of the software tools/packages (and their version) that JBoss ESB has been verified against.
+
+--------------------------------------------------------------------------------------------------------------------------------
+| Package:                         	| Version:                     | Download:
+--------------------------------------------------------------------------------------------------------------------------------
+| Java                             	| 1.5 (Sun)                    | http://java.sun.com/javase/downloads/index.jsp
+| JavaMail                         	| 1.3.1                        | http://java.sun.com/products/javamail/
+|                                  	|                              | 
+| JBoss Application Server         	| 4.0.4.GA                     | http://labs.jboss.com/portal/jbossas/download
+| JBoss TS (Common)                	| 4.2.1 GA                     | http://labs.jboss.com/portal/jbosstm/downloads
+|                                  	|                              |
+| Postgres Database Server         	| 8.1                          | http://www.postgresql.org/download/
+|                                  	|                              |
+| Apache Log4J                     	| 1.2.8                        | http://logging.apache.org/log4j/docs/download.html
+| Apache xercesImpl                	| 2.7.1                        | http://xerces.apache.org/xerces2-j/
+| Apache xalan                     	| 2.7.0                        | http://xml.apache.org/xalan-j/
+| Apache xml-apis                  	| 1.3.02                       | Ditributed with both Xerces and Xalan (above)
+| Apache commons-lang              	| 2.1                          | http://jakarta.apache.org/commons/lang/
+| Apache commons-collections       	| 2.0                          | http://jakarta.apache.org/commons/collections/
+| Apache commons-logging           	| 1.0.2                        | http://jakarta.apache.org/commons/logging/
+|                                  	|                              |
+| cglib                            	| 2.0-RC2 (full)               | http://cglib.sourceforge.net/
+| XStream                          	| 1.1.3                        | http://xstream.codehaus.org/
+| edtftpj                          	| 1.5.2                        | http://www.enterprisedt.com/products/edtftpj/download.html
+|                                  	|                              |
+| milyn-commons                    	| 0.7                          | http://milyn.codehaus.org/downloads
+| milyn-smooks-core                	| 0.8-SNAPSHOT                 | http://milyn.codehaus.org/downloads
+| milyn-smooks-misc                	| 0.2                          | http://milyn.codehaus.org/downloads
+| milyn-tinak                      	| 0.7.1                        | http://milyn.codehaus.org/downloads
+--------------------------------------------------------------------------------------------------------------------------------

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,289 @@
+<project name="JBESB_Installer" default="install" basedir=".">
+
+	<!-- Set deployment properties filename -->
+	<property name="org.jboss.esb.deployment.properties" location="deployment.properties"/>
+	
+	<property name="org.jboss.esb.deployment.conf" location="conf"/>
+	<property name="org.jboss.esb.deployment.deploy" location="deploy"/>
+	<property name="org.jboss.esb.deployment.data" location="data"/>
+	<!-- Load Build Properties File -->
+	<property file="${org.jboss.esb.deployment.properties}"/>
+	
+	<target name="deploy"   depends="jboss.sar.all.deploy"   description="Wrapper for jboss.sar.deploy"/>
+	<target name="undeploy" depends="jboss.sar.all.undeploy" description="Wrapper for jboss.sar.undeploy"/>
+	<target name="tomcat"   depends="tomcat.war.all.deploy"  description="Wrapper for tomcat.war.all.deploy"/>
+	<target name="launcher" depends="launcher.install"       description="Wrapper for launcher.install"/>
+	
+	<!--  Check if the user wants to deploy the config -->
+	<target name="jboss.config.check">
+		<condition property="config.jboss.isset">
+			<equals arg1="${org.jboss.esb.config.saronly.set}" arg2="true" trim="true"/>
+		</condition>
+	</target>
+	
+	<target name="jboss.config.deploy" unless="config.jboss.isset" description="Deploys the JBossESB configuration">
+		
+		<!-- conf -->
+		<copy  file="${org.jboss.esb.deployment.conf}/log4j.xml" overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/conf" />
+		<copy  file="${org.jboss.esb.deployment.conf}/jbossesb-properties.xml" overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/conf" />
+		<copy  file="${org.jboss.esb.deployment.conf}/jbossesb.xml" overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/conf" />
+		<copy  file="${org.jboss.esb.deployment.conf}/juddi.properties" overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/conf" />
+		<!-- data -->
+		<copy  file="${org.jboss.esb.deployment.data}/hypersonic/default.data" overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/data/hypersonic" />
+		<copy  file="${org.jboss.esb.deployment.data}/hypersonic/default.properties"  overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/data/hypersonic" />
+		<copy  file="${org.jboss.esb.deployment.data}/hypersonic/default.script" overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/data/hypersonic" />
+		<!-- deploy -->
+		<copy  file="${org.jboss.esb.deployment.deploy}/hsqldb-ds.xml" overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy" />
+	</target>
+	
+	<target name="jboss.config.undeploy" unless="config.jboss.isset" description="Undeploys JBossESB configuration">
+		<echo>Please shutdown jboss before running this task!</echo>
+		
+		<!-- conf -->
+		<echo>Deleting jbossesb configuration</echo>
+		<delete>
+			<fileset dir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/conf" includes="jbossesb*.*"/>
+		</delete>
+		<echo>Deleting juddi properties file</echo>
+		<delete file="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/conf/juddi.properties"/>
+		<!-- data -->
+		<echo>Deleting hypersonic data</echo>
+		<delete>
+			<fileset dir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/data/hypersonic" includes="default*"/>
+		</delete>
+		<!-- deploy -->
+		<copy  file="${org.jboss.esb.deployment.deploy}/hsqldb-ds.xml-original" overwrite="true"
+			tofile="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/hsqldb-ds.xml" />
+	</target>
+	
+	<target name="jboss.sar.all.deploy" depends="build.sar,jboss.config.check,jboss.config.deploy" description="Deploys JBossESB configuration and 2 JBossESB sars to JBossAS">
+		<copy  todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy">
+			<fileset dir="${org.jboss.esb.dist.lib}" includes="jbossesb-dependencies.sar/**"/></copy>
+		<copy  todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy">
+			<fileset dir="${org.jboss.esb.dist.lib}" includes="jbossesb.sar/**"/></copy>
+		<touch file="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+	</target>
+	
+	<target name="jboss.sar.all.undeploy" depends="jboss.config.check,jboss.config.undeploy" description="Undeploys JBossESB configuration and 2 JBossESB sars">
+		<echo>Deleting jbossesb-dependencies.sar</echo>
+		<delete dir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar"/>
+		<echo>Deleting jbossesb.sar</echo>
+		<delete dir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb.sar"/>
+	</target>
+	
+	<target name="jboss.sar.jbossrules.deploy" description="Deploys JBoss Rules to the jbossesb-dependencies.sar">
+		<echo>Deploy JBoss Rules to jbossesb-dependencies.sar</echo>
+		<echo>This tasks will only succeed if you already have an existing jbossesb-dependencies.sar</echo>
+		<copy  todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar">
+			<fileset dir="${org.jboss.esb.dist.lib}/ext"
+				includes="antlr-3.0ea8.jar,antlr-2.7.6.jar,
+				drools-compiler-3.0.4.jar,drools-core-3.0.4.jar,stringtemplate-2.3b6.jar,
+				commons-jci-core-1.0-406301.jar, commons-jci-janino-2.4.3.jar, janino-2.4.3.jar"/>
+		</copy>
+	</target>
+	
+	<target name="jboss.sar.jbossrules.undeploy" description="Undeploys JBoss Rules from the jbossesb-dependencies.sar">
+		<echo>Deleting JBoss Rules from jbossesb-dependencies.sar</echo>
+		<delete>
+			<fileset dir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar"
+			     includes="antlr-3.0ea8.jar,antlr-2.7.6.jar,
+				 drools-compiler-3.0.4.jar,drools-core-3.0.4.jar,stringtemplate-2.3b6.jar,
+				 commons-jci-core-1.0-406301.jar, commons-jci-janino-2.4.3.jar, janino-2.4.3.jar"/>
+		</delete>
+		<echo>Please update your jbossesb-properties.xml, if you want to use a different Content Based Routing engine.</echo>
+	</target>
+	
+	<property name="smooks.dependencies" value="milyn-*.jar,opencsv-*.jar,ognl-*.jar,groovy-*.jar,commons-lang-2.1.jar" />
+	<target name="jboss.sar.smooks.deploy" description="Deploys Milyn Smooks to the jbossesb-dependencies.sar">
+		<echo>Deploy Milyn Smooks to jbossesb-dependencies.sar</echo>
+		<echo>This tasks will only succeed if you already have an existing jbossesb-dependencies.sar</echo>
+		<copy  todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar">
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="${smooks.dependencies}"/>
+		</copy>
+		<copy  file="${org.jboss.esb.deployment.conf}/smooks-cdr.lst" overwrite="true"
+			   todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar" />
+	</target>
+	
+	<target name="jboss.sar.smooks.undeploy" description="Undeploys Milyn Smooks from the jbossesb-dependencies.sar">
+		<echo>Deleting Milyn Smooks from jbossesb-dependencies.sar</echo>
+		<delete>
+			<fileset dir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar"
+				includes="${smooks.dependencies}"/>
+		</delete>
+		<delete  file="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar/smooks-cdr.lst" />
+	</target>
+	
+	<target name="jboss.sar.registry.deploy" description="Deploys the jUDDI Registry to the jbossesb-dependencies.sar">
+		<echo>Deploy the jUDDI Registry to jbossesb-dependencies.sar</echo>
+		<echo>This tasks will only succeed if you already have an existing jbossesb-dependencies.sar</echo>
+		<copy  todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar">
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="juddi-1.0-SNAPSHOT.jar,juddi-client-1.0-SNAPSHOT.jar"/>
+		</copy>
+	</target>
+	
+	<target name="jboss.sar.registry.undeploy" description="Undeploys the jUDDI Registry from the jbossesb-dependencies.sar">
+		<echo>Deleting the jUDDI Registry from jbossesb-dependencies.sar</echo>
+		<delete>
+			<fileset dir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar"
+				includes="juddi-1.0-SNAPSHOT.jar,juddi-client-1.0-SNAPSHOT.jar"/>
+		</delete>
+		<echo>Please update your jbossesb-properties.xml, if you want to use a different Registry.</echo>
+	</target>
+	
+	<target name="jboss.sar.ftp.deploy" description="Deploys edtftpj to the jbossesb-dependencies.sar">
+		<echo>Deploy edtftpj to jbossesb-dependencies.sar</echo>
+		<echo>This tasks will only succeed if you already have an existing jbossesb-dependencies.sar</echo>
+		<copy  todir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar">
+			<fileset dir="${org.jboss.esb.dist.lib}/jbossesb-dependencies.sar" includes="edtftpj.jar"/>
+		</copy>
+	</target>
+	
+	<target name="jboss.sar.ftp.undeploy" description="Undeploys edtftpj from the jbossesb-dependencies.sar">
+		<echo>Deleting edtftpj from jbossesb-dependencies.sar</echo>
+		<delete>
+			<fileset dir="${org.jboss.esb.appserver.home}/server/${org.jboss.esb.appserver.config}/deploy/jbossesb-dependencies.sar"
+				includes="edtftpj.jar"/>
+		</delete>
+	</target>
+	
+	<target name="jboss.sar.minimal.deploy" 
+			depends="jboss.sar.all.deploy,jboss.sar.smooks.undeploy,jboss.sar.jbossrules.undeploy,jboss.sar.ftp.undeploy"
+			description="Deploys the JBossESB sars with just the scout/juddi Registry"/>
+			
+	<target name="build.sar">
+		<echo message="Building JBoss ESB sar file"/>
+		<delete dir="${org.jboss.esb.dist.lib}/jbossesb.sar" />
+		<mkdir dir="${org.jboss.esb.dist.lib}/jbossesb.sar" />
+		<mkdir dir="${org.jboss.esb.dist.lib}/jbossesb.sar/META-INF" />
+		<copy file="jboss-service.xml" 
+			todir="${org.jboss.esb.dist.lib}/jbossesb.sar/META-INF"/>
+		<copy todir="${org.jboss.esb.dist.lib}/jbossesb.sar">
+			<fileset dir="${org.jboss.esb.dist.lib}" includes="jbossesb*.jar"
+				excludes="jbossesb-dependencies.jar" /></copy>
+		<copy todir="${org.jboss.esb.dist.lib}/jbossesb.sar">
+			<!-- properties-file reader -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="jbossts-common.jar"/>
+			<!-- jaxr and scout -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="jaxr-api-1.0-SNAPSHOT.jar,
+				scout-1.0-SNAPSHOT.jar"/>
+		</copy>
+		
+		<echo message="Building JBoss ESB dependencies sar file"/>
+		<delete dir="${org.jboss.esb.dist.lib}/jbossesb-dependencies.sar" />
+		<mkdir dir="${org.jboss.esb.dist.lib}/jbossesb-dependencies.sar" />
+		<mkdir dir="${org.jboss.esb.dist.lib}/jbossesb-dependencies.sar/META-INF" />
+		<copy file="jboss-service-dependencies.xml" 
+			tofile="${org.jboss.esb.dist.lib}/jbossesb-dependencies.sar/META-INF/jboss-service.xml"/>
+		<copy todir="${org.jboss.esb.dist.lib}/jbossesb-dependencies.sar">
+			<fileset dir="${org.jboss.esb.dist.lib}" includes="jbossesb-dependencies.jar"/></copy>    			
+		<copy todir="${org.jboss.esb.dist.lib}/jbossesb-dependencies.sar">
+			<!-- xbean for reading/marchalling xml for configuration, and scout -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="xbean.jar,stax-api-1.0.1.jar,xmlpublic.jar"/>
+			<!-- jUDDI Registry -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="juddi-1.0-SNAPSHOT.jar,juddi-client-1.0-SNAPSHOT.jar"/>
+			<!-- jboss rules for CBR -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="antlr-3.0ea8.jar,antlr-2.7.6.jar,
+				drools-compiler-3.0.4.jar,drools-core-3.0.4.jar,stringtemplate-2.3b6.jar,
+				commons-jci-core-1.0-406301.jar, commons-jci-janino-2.4.3.jar, janino-2.4.3.jar"/>
+			<!-- smooks for transformation -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="${smooks.dependencies}"/>
+			<fileset dir="${org.jboss.esb.deployment.conf}" includes="smooks-cdr.lst" />
+			<!-- ftp -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="edtftpj.jar"/>
+		</copy>
+	</target>
+	
+	<!-- Standalone deployer and launcher -->
+	<target name="launcher.install" description="installs the jbosseb launcher">
+		<mkdir dir="${org.jboss.esb.standalone.home}"/>
+		<copy todir="${org.jboss.esb.standalone.home}" overwrite="true">
+			<fileset dir="launcher" includes="**/*" />
+		</copy>
+		<copy todir="${org.jboss.esb.standalone.home}/lib" overwrite="true">
+			<fileset dir="${org.jboss.esb.dist.lib}" includes="jbossesb*.jar"
+					excludes="jbossesb-dependencies.jar" />
+		</copy>
+		<copy todir="${org.jboss.esb.standalone.home}/lib/ext" overwrite="true" >
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="*.jar" />
+		</copy>
+	</target>
+	
+	<!-- Tomcat war deployment -->
+	<path id="classpath">
+		<fileset dir="${org.jboss.esb.dist.lib}" includes="**/*jar"/>
+		<fileset dir="${org.jboss.esb.tomcat.home}/common/lib" includes="**/*jar"/>
+	</path>
+	
+    <target name="tomcat.compile">
+    	<mkdir dir="build"/>
+    	<javac srcdir="./tomcat/src"
+    		   debug="true"
+    		   destdir="tomcat/war/WEB-INF/classes/">
+    	    <classpath refid="classpath"/>
+    	</javac>
+	</target>
+	
+	<target name="tomcat.war.all.deploy" description="Deploys a jbossesb.war to tomcat">
+		<!-- conf -->
+		<copy  file="tomcat/log4j.xml" overwrite="true"
+			   todir="${org.jboss.esb.tomcat.home}/conf/" />
+		<copy  file="${org.jboss.esb.deployment.conf}/jbossesb-properties.xml" overwrite="true"
+			   todir="${org.jboss.esb.tomcat.home}/conf/" />
+		<copy  file="${org.jboss.esb.deployment.conf}/jbossesb.xml" overwrite="true"
+			   todir="${org.jboss.esb.tomcat.home}/conf/" />
+		<copy  file="tomcat/juddi.properties" overwrite="true"
+			   todir="${org.jboss.esb.tomcat.home}/conf/" />
+		
+		<copy  file="./tomcat/jbossesb.xml" overwrite="true"
+			   todir="${org.jboss.esb.tomcat.home}/conf/Catalina/localhost/" />
+		<mkdir dir="${org.jboss.esb.tomcat.home}/webapps/jbossesb"/>
+		<copy todir="${org.jboss.esb.tomcat.home}/webapps/jbossesb" overwrite="true">
+			<fileset dir="./tomcat/war/" includes="**/*" />
+		</copy>
+		<copy todir="${org.jboss.esb.tomcat.home}/webapps/jbossesb/WEB-INF/lib" overwrite="true">
+			<fileset dir="${org.jboss.esb.dist.lib}" includes="jbossesb*.jar"
+				excludes="jbossesb-dependencies.jar" />
+			<!-- properties-file reader -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="jbossts-common.jar"/>
+			<!-- jaxr and scout -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="jaxr-api-1.0-SNAPSHOT.jar,
+				scout-1.0-SNAPSHOT.jar,xbean.jar,xmlpublic.jar,stax-api-*.jar,commons-discovery.jar,jbossts-common.jar,
+				jaxr-api-*.jar,scout-*.jar,juddi-*.jar,jbossall-client.jar,log4j.jar"/>
+			<!-- JBoss Rules -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext"
+				includes="antlr-3.0ea8.jar,antlr-2.7.6.jar,
+				drools-compiler-3.0.4.jar,drools-core-3.0.4.jar,stringtemplate-2.3b6.jar,
+				commons-jci-core-1.0-406301.jar, commons-jci-janino-2.4.3.jar, janino-2.4.3.jar"/>
+			<!-- Smooks -->
+			<fileset dir="${org.jboss.esb.dist.lib}/ext" includes="${smooks.dependencies}"/>
+		</copy>
+	</target>
+	
+	<target name="check.is.bundle">
+		<condition property="is.not.bundle" >
+			<not>
+	    		<available file="${org.jboss.esb.dist.lib}/../jboss-4.0.5.GA.zip" />
+			</not>
+		</condition>
+	</target>
+	
+	<target name="install" depends="install.jboss" description="Installs JBossAS-4.0.GA with ejb3 and deploys JBossESB to it">
+		<antcall target="deploy" />
+	</target>
+
+	<target name="install.jboss" unless="is.not.bundle" depends="check.is.bundle">
+		<echo>This task creates a ready-to-go JBossESB install deployed in /JBoss-4.0.5.GA (on the root
+		of your file system) if you have downloaded the bundle.</echo>
+		<unzip src="${org.jboss.esb.dist.lib}/../jboss-4.0.5.GA.zip" dest="${org.jboss.esb.appserver.home}/../" />
+	</target>
+	
+	
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/jbossesb-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/jbossesb-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,79 @@
+<?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.context.factory" value="org.jnp.interfaces.NamingContextFactory"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+    </properties>
+    <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#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.LocalTransport"/>
+    </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"/>
+    	<property name="org.jboss.soa.esb.ftp.localdir" value="/tmp"/>
+    	<property name="org.jboss.soa.esb.ftp.remotedir" value="/tmp"/>
+    </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/jbossesb"/>
+	<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"/> 
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,3 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="50">
+</jbossesb>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/juddi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/juddi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,66 @@
+# 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=true
+
+# jUDDI DataSource to use
+juddi.dataSource=java:/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic 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">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="${jboss.server.log.dir}/server.log"/>
+      <param name="Append" value="false"/>
+
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+      <!-- Rollover at the top of each hour
+      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+         <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+          -->
+      </layout>
+   </appender>
+
+   <!-- 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="${jboss.server.log.dir}/server.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 [%c] %m%n"/>
+     </layout>	    
+   </appender>
+   -->
+
+   <!-- ============================== -->
+   <!-- 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 [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ====================== -->
+   <!-- More Appender examples -->
+   <!-- ====================== -->
+
+   <!-- Buffer events and log them asynchronously
+   <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <appender-ref ref="FILE"/>
+     <appender-ref ref="CONSOLE"/>
+     <appender-ref ref="SMTP"/>
+   </appender>
+   -->
+
+   <!-- EMail events to an administrator
+   <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="To" value="admin at myhost.domain.com"/>
+     <param name="From" value="nobody at myhost.domain.com"/>
+     <param name="Subject" value="JBoss Sever Errors"/>
+     <param name="SMTPHost" value="localhost"/>
+     <param name="BufferSize" value="10"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Syslog events
+   <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Facility" value="LOCAL7"/>
+     <param name="FacilityPrinting" value="true"/>
+     <param name="SyslogHost" value="localhost"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Log events to JMS (requires a topic to be created)
+   <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
+     <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
+   </appender>
+   -->
+
+   <!-- Log events through SNMP
+   <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
+     <param name="ManagementHost" value="127.0.0.1"/>
+     <param name="ManagementHostTrapListenPort" value="162"/>
+     <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
+     <param name="LocalIPAddress" value="127.0.0.1"/>
+     <param name="LocalTrapSendPort" value="161"/>
+     <param name="GenericTrapType" value="6"/>
+     <param name="SpecificTrapType" value="12345678"/>
+     <param name="CommunityString" value="public"/>
+     <param name="ForwardStackTraceWithTrap" value="true"/>
+     <param name="Threshold" value="DEBUG"/>
+     <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
+     <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!--  Emit events as JMX notifications
+   <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      
+      <param name="Threshold" value="WARN"/>
+      <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+      
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
+      </layout>
+   </appender>
+   -->
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="WARN"/>
+   </category>
+   
+  <category name="org.jboss.internal.soa.esb">
+    <priority value="INFO"/>
+  </category>
+  
+  <category name="org.jboss.soa.esb">
+    <priority value="INFO"/>
+  </category>
+
+   <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+      <priority value="DEBUG"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit JBoss categories
+   <category name="org.jboss">
+      <priority value="INFO"/>
+   </category>
+   -->
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBossWS webservice category
+   <category name="org.jboss.ws">
+      <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Decrease the priority threshold for the org.jboss.varia category
+   <category name="org.jboss.varia">
+     <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
+   <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+
+   <!--
+      | An example of enabling the custom TRACE level priority that is used
+      | by the JBoss internals to diagnose low level details. This example
+      | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+      | subpackages. This will produce A LOT of logging output.
+   <category name="org.jboss.system">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   <category name="org.jboss.ejb.plugins">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+  
+   <!--
+       | Logs these events to SNMP:
+           - server starts/stops
+           - cluster evolution (node death/startup)
+           - When an EJB archive is deployed (and associated verified messages)
+           - When an EAR archive is deployed
+      	 
+   <category name="org.jboss.system.server.Server">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.deployment.MainDeployer">
+     <priority value="ERROR" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.ejb.EJBDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.deployment.EARDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   -->
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+   <!-- Clustering logging -->
+   <!-- Uncomment the following to redirect the org.jgroups and
+      org.jboss.ha categories to a cluster.log file.
+
+   <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="${jboss.server.log.dir}/cluster.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 [%c] %m%n"/>
+     </layout>
+   </appender>
+   <category name="org.jgroups">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   <category name="org.jboss.ha">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   -->
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/conf/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,9 @@
+########################################################################################################
+# ESB Administration Console.
+#
+# You must "import" smooks-res.xml into the console in order to view and manipulate the
+# transformations in this sample.  You will also need to register the "Message Exchange Participants"
+# "A" and "B" as well as their supported message contracts "text/xml:messageAtA" and 
+# "text/xml:messageAtB" respectively.
+########################################################################################################
+http://localhost:8080/jboss-esb-console/transform/smooks-config.jsp

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.data
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.data
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,17 @@
+#HSQL Database Engine
+#Thu Dec 07 13:13:52 EST 2006
+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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.script
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.script	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/data/hypersonic/default.script	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,4362 @@
+CREATE SCHEMA PUBLIC AUTHORIZATION DBA
+CREATE MEMORY TABLE TIMERS(TIMERID VARCHAR(80) NOT NULL,TARGETID VARCHAR(250) NOT NULL,INITIALDATE TIMESTAMP NOT NULL,TIMERINTERVAL BIGINT,INSTANCEPK VARBINARY,INFO VARBINARY,CONSTRAINT TIMERS_PK PRIMARY KEY(TIMERID,TARGETID))
+CREATE MEMORY TABLE JMS_USERS(USERID VARCHAR(32) NOT NULL PRIMARY KEY,PASSWD VARCHAR(32) NOT NULL,CLIENTID VARCHAR(128))
+CREATE MEMORY TABLE JMS_ROLES(ROLEID VARCHAR(32) NOT NULL,USERID VARCHAR(32) NOT NULL,PRIMARY KEY(USERID,ROLEID))
+CREATE MEMORY TABLE JMS_SUBSCRIPTIONS(CLIENTID VARCHAR(128) NOT NULL,SUBNAME VARCHAR(128) NOT NULL,TOPIC VARCHAR(255) NOT NULL,SELECTOR VARCHAR(255),PRIMARY KEY(CLIENTID,SUBNAME))
+CREATE CACHED TABLE JMS_MESSAGES(MESSAGEID INTEGER NOT NULL,DESTINATION VARCHAR(255) NOT NULL,TXID INTEGER,TXOP CHAR(1),MESSAGEBLOB OBJECT,PRIMARY KEY(MESSAGEID,DESTINATION))
+CREATE INDEX JMS_MESSAGES_TXOP_TXID ON JMS_MESSAGES(TXOP,TXID)
+CREATE INDEX JMS_MESSAGES_DESTINATION ON JMS_MESSAGES(DESTINATION)
+CREATE CACHED TABLE JMS_TRANSACTIONS(TXID INTEGER NOT NULL PRIMARY KEY)
+CREATE MEMORY TABLE "pooltest"(A CHAR(1))
+CREATE MEMORY TABLE MESSAGE(UUID VARCHAR NOT NULL,TYPE VARCHAR NOT NULL,MESSAGE VARCHAR NOT NULL,CONSTRAINT PK_UID PRIMARY KEY(UUID))
+CREATE MEMORY TABLE BUSINESS_ENTITY(BUSINESS_KEY VARCHAR(41) NOT NULL PRIMARY KEY,AUTHORIZED_NAME VARCHAR(255) NOT NULL,PUBLISHER_ID VARCHAR(20),OPERATOR VARCHAR(255) NOT NULL,LAST_UPDATE TIMESTAMP NOT NULL)
+CREATE MEMORY TABLE BUSINESS_DESCR(BUSINESS_KEY VARCHAR(41) NOT NULL,BUSINESS_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,BUSINESS_DESCR_ID),CONSTRAINT SYS_FK_5943 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE BUSINESS_CATEGORY(BUSINESS_KEY VARCHAR(41) NOT NULL,CATEGORY_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(41),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CATEGORY_ID),CONSTRAINT SYS_FK_5947 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE BUSINESS_IDENTIFIER(BUSINESS_KEY VARCHAR(41) NOT NULL,IDENTIFIER_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(41),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,IDENTIFIER_ID),CONSTRAINT SYS_FK_5951 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE BUSINESS_NAME(BUSINESS_KEY VARCHAR(41) NOT NULL,BUSINESS_NAME_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),NAME VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,BUSINESS_NAME_ID),CONSTRAINT SYS_FK_5955 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE CONTACT(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255),PERSON_NAME VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CONTACT_ID),CONSTRAINT SYS_FK_5959 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE CONTACT_DESCR(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,CONTACT_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),CONSTRAINT SYS_FK_5963 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID) REFERENCES CONTACT(BUSINESS_KEY,CONTACT_ID))
+CREATE MEMORY TABLE ADDRESS(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,ADDRESS_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255),SORT_CODE VARCHAR(10),TMODEL_KEY VARCHAR(41),PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),CONSTRAINT SYS_FK_5967 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID) REFERENCES CONTACT(BUSINESS_KEY,CONTACT_ID))
+CREATE MEMORY TABLE ADDRESS_LINE(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,ADDRESS_ID INTEGER NOT NULL,ADDRESS_LINE_ID INTEGER NOT NULL,LINE VARCHAR(80) NOT NULL,KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255),PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),CONSTRAINT SYS_FK_5971 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID,ADDRESS_ID) REFERENCES ADDRESS(BUSINESS_KEY,CONTACT_ID,ADDRESS_ID))
+CREATE MEMORY TABLE EMAIL(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,EMAIL_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255),EMAIL_ADDRESS VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,EMAIL_ID),CONSTRAINT SYS_FK_5975 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID) REFERENCES CONTACT(BUSINESS_KEY,CONTACT_ID))
+CREATE MEMORY TABLE PHONE(BUSINESS_KEY VARCHAR(41) NOT NULL,CONTACT_ID INTEGER NOT NULL,PHONE_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255),PHONE_NUMBER VARCHAR(50) NOT NULL,PRIMARY KEY(BUSINESS_KEY,CONTACT_ID,PHONE_ID),CONSTRAINT SYS_FK_5979 FOREIGN KEY(BUSINESS_KEY,CONTACT_ID) REFERENCES CONTACT(BUSINESS_KEY,CONTACT_ID))
+CREATE MEMORY TABLE DISCOVERY_URL(BUSINESS_KEY VARCHAR(41) NOT NULL,DISCOVERY_URL_ID INTEGER NOT NULL,USE_TYPE VARCHAR(255) NOT NULL,URL VARCHAR(255) NOT NULL,PRIMARY KEY(BUSINESS_KEY,DISCOVERY_URL_ID),CONSTRAINT SYS_FK_5983 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE BUSINESS_SERVICE(BUSINESS_KEY VARCHAR(41) NOT NULL,SERVICE_KEY VARCHAR(41) NOT NULL PRIMARY KEY,LAST_UPDATE TIMESTAMP NOT NULL,CONSTRAINT SYS_FK_5987 FOREIGN KEY(BUSINESS_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE SERVICE_DESCR(SERVICE_KEY VARCHAR(41) NOT NULL,SERVICE_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(SERVICE_KEY,SERVICE_DESCR_ID),CONSTRAINT SYS_FK_5991 FOREIGN KEY(SERVICE_KEY) REFERENCES BUSINESS_SERVICE(SERVICE_KEY))
+CREATE MEMORY TABLE SERVICE_CATEGORY(SERVICE_KEY VARCHAR(41) NOT NULL,CATEGORY_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(41),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(SERVICE_KEY,CATEGORY_ID),CONSTRAINT SYS_FK_5995 FOREIGN KEY(SERVICE_KEY) REFERENCES BUSINESS_SERVICE(SERVICE_KEY))
+CREATE MEMORY TABLE SERVICE_NAME(SERVICE_KEY VARCHAR(41) NOT NULL,SERVICE_NAME_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),NAME VARCHAR(255) NOT NULL,PRIMARY KEY(SERVICE_KEY,SERVICE_NAME_ID),CONSTRAINT SYS_FK_5999 FOREIGN KEY(SERVICE_KEY) REFERENCES BUSINESS_SERVICE(SERVICE_KEY))
+CREATE MEMORY TABLE BINDING_TEMPLATE(SERVICE_KEY VARCHAR(41) NOT NULL,BINDING_KEY VARCHAR(41) NOT NULL PRIMARY KEY,ACCESS_POINT_TYPE VARCHAR(20),ACCESS_POINT_URL VARCHAR(255),HOSTING_REDIRECTOR VARCHAR(255),LAST_UPDATE TIMESTAMP NOT NULL,CONSTRAINT SYS_FK_6003 FOREIGN KEY(SERVICE_KEY) REFERENCES BUSINESS_SERVICE(SERVICE_KEY))
+CREATE MEMORY TABLE BINDING_CATEGORY(BINDING_KEY VARCHAR(41) NOT NULL,CATEGORY_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(41),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,CATEGORY_ID),CONSTRAINT SYS_FK_6007 FOREIGN KEY(BINDING_KEY) REFERENCES BINDING_TEMPLATE(BINDING_KEY))
+CREATE MEMORY TABLE BINDING_DESCR(BINDING_KEY VARCHAR(41) NOT NULL,BINDING_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,BINDING_DESCR_ID),CONSTRAINT SYS_FK_6011 FOREIGN KEY(BINDING_KEY) REFERENCES BINDING_TEMPLATE(BINDING_KEY))
+CREATE MEMORY TABLE TMODEL_INSTANCE_INFO(BINDING_KEY VARCHAR(41) NOT NULL,TMODEL_INSTANCE_INFO_ID INTEGER NOT NULL,TMODEL_KEY VARCHAR(41) NOT NULL,OVERVIEW_URL VARCHAR(255),INSTANCE_PARMS VARCHAR(255),PRIMARY KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID),CONSTRAINT SYS_FK_6015 FOREIGN KEY(BINDING_KEY) REFERENCES BINDING_TEMPLATE(BINDING_KEY))
+CREATE MEMORY TABLE TMODEL_INSTANCE_INFO_DESCR(BINDING_KEY VARCHAR(41) NOT NULL,TMODEL_INSTANCE_INFO_ID INTEGER NOT NULL,TMODEL_INSTANCE_INFO_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),CONSTRAINT SYS_FK_6019 FOREIGN KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO(BINDING_KEY,TMODEL_INSTANCE_INFO_ID))
+CREATE MEMORY TABLE INSTANCE_DETAILS_DESCR(BINDING_KEY VARCHAR(41) NOT NULL,TMODEL_INSTANCE_INFO_ID INTEGER NOT NULL,INSTANCE_DETAILS_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),CONSTRAINT SYS_FK_6023 FOREIGN KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO(BINDING_KEY,TMODEL_INSTANCE_INFO_ID))
+CREATE MEMORY TABLE INSTANCE_DETAILS_DOC_DESCR(BINDING_KEY VARCHAR(41) NOT NULL,TMODEL_INSTANCE_INFO_ID INTEGER NOT NULL,INSTANCE_DETAILS_DOC_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),CONSTRAINT SYS_FK_6027 FOREIGN KEY(BINDING_KEY,TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO(BINDING_KEY,TMODEL_INSTANCE_INFO_ID))
+CREATE MEMORY TABLE TMODEL(TMODEL_KEY VARCHAR(41) NOT NULL PRIMARY KEY,AUTHORIZED_NAME VARCHAR(255) NOT NULL,PUBLISHER_ID VARCHAR(20),OPERATOR VARCHAR(255) NOT NULL,NAME VARCHAR(255) NOT NULL,OVERVIEW_URL VARCHAR(255),DELETED VARCHAR(5),LAST_UPDATE TIMESTAMP NOT NULL)
+CREATE MEMORY TABLE TMODEL_DESCR(TMODEL_KEY VARCHAR(41) NOT NULL,TMODEL_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(TMODEL_KEY,TMODEL_DESCR_ID),CONSTRAINT SYS_FK_6032 FOREIGN KEY(TMODEL_KEY) REFERENCES TMODEL(TMODEL_KEY))
+CREATE MEMORY TABLE TMODEL_CATEGORY(TMODEL_KEY VARCHAR(41) NOT NULL,CATEGORY_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(255),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(TMODEL_KEY,CATEGORY_ID),CONSTRAINT SYS_FK_6036 FOREIGN KEY(TMODEL_KEY) REFERENCES TMODEL(TMODEL_KEY))
+CREATE MEMORY TABLE TMODEL_IDENTIFIER(TMODEL_KEY VARCHAR(41) NOT NULL,IDENTIFIER_ID INTEGER NOT NULL,TMODEL_KEY_REF VARCHAR(255),KEY_NAME VARCHAR(255),KEY_VALUE VARCHAR(255) NOT NULL,PRIMARY KEY(TMODEL_KEY,IDENTIFIER_ID),CONSTRAINT SYS_FK_6040 FOREIGN KEY(TMODEL_KEY) REFERENCES TMODEL(TMODEL_KEY))
+CREATE MEMORY TABLE TMODEL_DOC_DESCR(TMODEL_KEY VARCHAR(41) NOT NULL,TMODEL_DOC_DESCR_ID INTEGER NOT NULL,LANG_CODE VARCHAR(5),DESCR VARCHAR(255) NOT NULL,PRIMARY KEY(TMODEL_KEY,TMODEL_DOC_DESCR_ID),CONSTRAINT SYS_FK_6044 FOREIGN KEY(TMODEL_KEY) REFERENCES TMODEL(TMODEL_KEY))
+CREATE MEMORY TABLE PUBLISHER_ASSERTION(FROM_KEY VARCHAR(41) NOT NULL,TO_KEY VARCHAR(41) NOT NULL,TMODEL_KEY VARCHAR(41) NOT NULL,KEY_NAME VARCHAR(255) NOT NULL,KEY_VALUE VARCHAR(255) NOT NULL,FROM_CHECK VARCHAR(5) NOT NULL,TO_CHECK VARCHAR(5) NOT NULL,CONSTRAINT SYS_FK_6048 FOREIGN KEY(FROM_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY),CONSTRAINT SYS_FK_6049 FOREIGN KEY(TO_KEY) REFERENCES BUSINESS_ENTITY(BUSINESS_KEY))
+CREATE MEMORY TABLE PUBLISHER(PUBLISHER_ID VARCHAR(20) NOT NULL PRIMARY KEY,PUBLISHER_NAME VARCHAR(255) NOT NULL,EMAIL_ADDRESS VARCHAR(255),IS_ADMIN VARCHAR(5),IS_ENABLED VARCHAR(5),MAX_BUSINESSES INTEGER,MAX_SERVICES_PER_BUSINESS INTEGER,MAX_BINDINGS_PER_SERVICE INTEGER,MAX_TMODELS INTEGER)
+CREATE MEMORY TABLE AUTH_TOKEN(AUTH_TOKEN VARCHAR(51) NOT NULL PRIMARY KEY,PUBLISHER_ID VARCHAR(20) NOT NULL,PUBLISHER_NAME VARCHAR(255) NOT NULL,CREATED TIMESTAMP NOT NULL,LAST_USED TIMESTAMP NOT NULL,NUMBER_OF_USES INTEGER NOT NULL,TOKEN_STATE INTEGER NOT NULL)
+CREATE USER SA PASSWORD ""
+GRANT DBA TO SA
+SET WRITE_DELAY 20
+SET SCHEMA PUBLIC
+INSERT INTO JMS_USERS VALUES('dynsub','dynsub',NULL)
+INSERT INTO JMS_USERS VALUES('guest','guest',NULL)
+INSERT INTO JMS_USERS VALUES('j2ee','j2ee',NULL)
+INSERT INTO JMS_USERS VALUES('john','needle','DurableSubscriberExample')
+INSERT INTO JMS_USERS VALUES('nobody','nobody',NULL)
+INSERT INTO JMS_ROLES VALUES('durpublisher','dynsub')
+INSERT INTO JMS_ROLES VALUES('publisher','dynsub')
+INSERT INTO JMS_ROLES VALUES('guest','guest')
+INSERT INTO JMS_ROLES VALUES('j2ee','guest')
+INSERT INTO JMS_ROLES VALUES('john','guest')
+INSERT INTO JMS_ROLES VALUES('durpublisher','john')
+INSERT INTO JMS_ROLES VALUES('publisher','john')
+INSERT INTO JMS_ROLES VALUES('subscriber','john')
+INSERT INTO JMS_ROLES VALUES('noacc','nobody')
+INSERT INTO BUSINESS_ENTITY VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996','JBoss ESB User','jbossesb','jUDDI.org','2006-11-30 21:07:08.780000000')
+INSERT INTO BUSINESS_DESCR VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,'','Red Hat/JBoss Professional Open Source, Services for the JBossESB')
+INSERT INTO BUSINESS_NAME VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,'en','Red Hat/JBossESB')
+INSERT INTO CONTACT VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,NULL,'JBossESB')
+INSERT INTO ADDRESS VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,NULL,NULL,NULL)
+INSERT INTO ADDRESS_LINE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,0,'','STREET_NUMBER','3340')
+INSERT INTO ADDRESS_LINE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,1,'','STREET','Peachtree Road, NE, Suite 1200')
+INSERT INTO ADDRESS_LINE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,2,'','CITY','Atlanta')
+INSERT INTO ADDRESS_LINE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,3,'','COUNTRY','USA')
+INSERT INTO ADDRESS_LINE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,4,'','POSTALCODE','30326')
+INSERT INTO ADDRESS_LINE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,5,'','STATE','GA')
+INSERT INTO EMAIL VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,NULL,'jbossesb at jboss.com')
+INSERT INTO PHONE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,0,NULL,'404 467-8555')
+INSERT INTO DISCOVERY_URL VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996',0,'businessEntity','http://localhost:8080/juddi/uddiget.jsp?businesskey=A5D263E0-80E0-11DB-A3E0-B5415EC84996')
+INSERT INTO BUSINESS_SERVICE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996','40EAB750-80E2-11DB-B750-F911237FEF02','2006-12-07 13:12:43.281000000')
+INSERT INTO BUSINESS_SERVICE VALUES('A5D263E0-80E0-11DB-A3E0-B5415EC84996','A5F3CE90-80E0-11DB-8E90-F5C2FA4DCF67','2006-12-07 13:12:43.546000000')
+INSERT INTO SERVICE_NAME VALUES('40EAB750-80E2-11DB-B750-F911237FEF02',0,'en','trailblazer-jmsbank:jmsbankreplies')
+INSERT INTO SERVICE_NAME VALUES('A5F3CE90-80E0-11DB-8E90-F5C2FA4DCF67',0,'en','trailblazer:creditagency')
+INSERT INTO BINDING_TEMPLATE VALUES('40EAB750-80E2-11DB-B750-F911237FEF02','88640A00-861E-11DB-B1A1-CA434B200CC2','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FE%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.312000000')
+INSERT INTO BINDING_TEMPLATE VALUES('40EAB750-80E2-11DB-B750-F911237FEF02','8868EC00-861E-11DB-B1A1-94A3BDE44377','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FE%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.328000000')
+INSERT INTO BINDING_TEMPLATE VALUES('40EAB750-80E2-11DB-B750-F911237FEF02','886B35F0-861E-11DB-B1A1-BB18A7F2D993','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FE%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.359000000')
+INSERT INTO BINDING_TEMPLATE VALUES('40EAB750-80E2-11DB-B750-F911237FEF02','887017F0-861E-11DB-B1A1-E7057FE16B60','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FE%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.390000000')
+INSERT INTO BINDING_TEMPLATE VALUES('40EAB750-80E2-11DB-B750-F911237FEF02','8874D2E0-861E-11DB-B1A1-FC2CECE98B54','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FE%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.406000000')
+INSERT INTO BINDING_TEMPLATE VALUES('A5F3CE90-80E0-11DB-8E90-F5C2FA4DCF67','888CA0A0-861E-11DB-B1A1-9E2316DCDC86','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FA%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++++++%3Cwsarjaddr%3Amessage-selector+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Eservice%3D%27creditAgency%27%3C%2Fwsarjaddr%3Amessage-selector%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.562000000')
+INSERT INTO BINDING_TEMPLATE VALUES('A5F3CE90-80E0-11DB-8E90-F5C2FA4DCF67','888F11A0-861E-11DB-B1A1-8459B20A8C42','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FA%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++++++%3Cwsarjaddr%3Amessage-selector+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Eservice%3D%27creditAgency%27%3C%2Fwsarjaddr%3Amessage-selector%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.578000000')
+INSERT INTO BINDING_TEMPLATE VALUES('A5F3CE90-80E0-11DB-8E90-F5C2FA4DCF67','8893CC90-861E-11DB-B1A1-A645C560CB00','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FA%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++++++%3Cwsarjaddr%3Amessage-selector+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Eservice%3D%27creditAgency%27%3C%2Fwsarjaddr%3Amessage-selector%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.609000000')
+INSERT INTO BINDING_TEMPLATE VALUES('A5F3CE90-80E0-11DB-8E90-F5C2FA4DCF67','88963D90-861E-11DB-B1A1-A601308795F8','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FA%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++++++%3Cwsarjaddr%3Amessage-selector+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Eservice%3D%27creditAgency%27%3C%2Fwsarjaddr%3Amessage-selector%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.625000000')
+INSERT INTO BINDING_TEMPLATE VALUES('A5F3CE90-80E0-11DB-8E90-F5C2FA4DCF67','88988780-861E-11DB-B1A1-E47075DA1806','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FA%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++++++%3Cwsarjaddr%3Amessage-selector+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Eservice%3D%27creditAgency%27%3C%2Fwsarjaddr%3Amessage-selector%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:43.640000000')
+INSERT INTO BINDING_TEMPLATE VALUES('A5F3CE90-80E0-11DB-8E90-F5C2FA4DCF67','8908AE70-861E-11DB-B1A1-D191125A0C73','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FA%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++++++%3Cwsarjaddr%3Amessage-selector+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Eservice%3D%27creditAgency%27%3C%2Fwsarjaddr%3Amessage-selector%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:44.390000000')
+INSERT INTO BINDING_TEMPLATE VALUES('40EAB750-80E2-11DB-B750-F911237FEF02','89AF75C0-861E-11DB-B1A1-91AEF785974B','other','%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cepr+type%3D%22urn%3Ajboss%3Aesb%3Aepr%3Atype%3Ajms%22%3E%0A++++%3Cwsa%3AAddress%3Ejms%3A%2F%2Fqueue%3C%2Fwsa%3AAddress%3E%0A++++%3Cwsa%3AReferenceProperties%3E%0A++++++++%3Cwsarjaddr%3Aspecification-version+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3E1.1%3C%2Fwsarjaddr%3Aspecification-version%3E%0A++++++++%3Cwsarjaddr%3Adestination-name+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Equeue%2FE%3C%2Fwsarjaddr%3Adestination-name%3E%0A++++++++%3Cwsarjaddr%3Aconnection-factory+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3EConnectionFactory%3C%2Fwsarjaddr%3Aconnection-factory%3E%0A++++++++%3Cwsarjaddr%3Ajndi-type+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2!
 Fws%2F2004%2F06%2Fwsarjaddr%22%3Ejboss%3C%2Fwsarjaddr%3Ajndi-type%3E%0A++++++++%3Cwsarjaddr%3Ajndi-URL+xmlns%3Awsarjaddr%3D%22http%3A%2F%2Fschemas.arjuna.com%2Fws%2F2004%2F06%2Fwsarjaddr%22%3Elocalhost%3C%2Fwsarjaddr%3Ajndi-URL%3E%0A++++%3C%2Fwsa%3AReferenceProperties%3E%0A%3C%2Fepr%3E%0A',NULL,'2006-12-07 13:12:45.484000000')
+INSERT INTO TMODEL VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','admin','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','admin','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','admin','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','admin','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','admin','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','admin','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','admin','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','admin','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','admin','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','admin','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','admin','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','admin','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',NULL,'2006-11-30 00:00:00.0')
+INSERT INTO TMODEL_DESCR VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel')
+INSERT INTO TMODEL_DESCR VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names')
+INSERT INTO TMODEL_DESCR VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.')
+INSERT INTO TMODEL_DESCR VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.')
+INSERT INTO TMODEL_DESCR VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.')
+INSERT INTO TMODEL_DESCR VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)')
+INSERT INTO TMODEL_DESCR VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System')
+INSERT INTO TMODEL_DESCR VALUES('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol')
+INSERT INTO TMODEL_DESCR VALUES('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships')
+INSERT INTO TMODEL_DESCR VALUES('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S\u00ae Number')
+INSERT INTO TMODEL_DESCR VALUES('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces')
+INSERT INTO TMODEL_DESCR VALUES('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol')
+INSERT INTO TMODEL_DESCR VALUES('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.')
+INSERT INTO TMODEL_DESCR VALUES('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers')
+INSERT INTO TMODEL_DESCR VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)')
+INSERT INTO TMODEL_DESCR VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy')
+INSERT INTO TMODEL_DESCR VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)')
+INSERT INTO TMODEL_DESCR VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces')
+INSERT INTO TMODEL_DESCR VALUES('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)')
+INSERT INTO TMODEL_DESCR VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used')
+INSERT INTO TMODEL_DESCR VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization')
+INSERT INTO TMODEL_CATEGORY VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S\u00ae Number identifier.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.')
+INSERT INTO TMODEL_DOC_DESCR VALUES('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.')
+INSERT INTO PUBLISHER VALUES('jbossesb','JBoss ESB User','kurt.stam at jboss.org','true','true',25,20,10,100)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0003D3B0-814C-11DB-A6BA-B562AF649796','jbossesb','JBoss ESB User','2006-12-01 09:55:35.531000000','2006-12-01 09:55:35.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:000703A0-8610-11DB-83A0-CF6188D221D1','jbossesb','JBoss ESB User','2006-12-07 11:28:41.562000000','2006-12-07 11:28:41.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:00088EA0-814C-11DB-A6BA-856FE993FD0F','jbossesb','JBoss ESB User','2006-12-01 09:55:35.562000000','2006-12-01 09:55:35.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:00129C00-80E4-11DB-9C00-8065D4AA3058','jbossesb','JBoss ESB User','2006-11-30 21:31:08.460000000','2006-11-30 21:31:08.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:003195B0-80E4-11DB-95B0-C53ECF4ED75B','jbossesb','JBoss ESB User','2006-11-30 21:31:08.187000000','2006-11-30 21:31:08.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:00425E90-80E4-11DB-9E90-B125923377DA','jbossesb','JBoss ESB User','2006-11-30 21:31:08.296000000','2006-11-30 21:31:08.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:01591B90-860F-11DB-9B90-FC10A9581D47','jbossesb','JBoss ESB User','2006-12-07 11:21:34.281000000','2006-12-07 11:21:34.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:015B6580-860F-11DB-A580-A4D5B12328C6','jbossesb','JBoss ESB User','2006-12-07 11:21:34.312000000','2006-12-07 11:21:34.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:01604780-860F-11DB-8780-FAF7B441E53C','jbossesb','JBoss ESB User','2006-12-07 11:21:34.328000000','2006-12-07 11:21:34.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0162D400-8619-11DB-9400-AF7B85862BE8','jbossesb','JBoss ESB User','2006-12-07 12:33:09.328000000','2006-12-07 12:33:09.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:01678EF0-8619-11DB-8EF0-A18F403E5C5C','jbossesb','JBoss ESB User','2006-12-07 12:33:09.359000000','2006-12-07 12:33:09.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:016E7850-860F-11DB-B850-FE12A12C7180','jbossesb','JBoss ESB User','2006-12-07 11:21:34.437000000','2006-12-07 11:21:34.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:016EBAE0-8619-11DB-BAE0-9E1FBA4BB4C3','jbossesb','JBoss ESB User','2006-12-07 12:33:09.390000000','2006-12-07 12:33:09.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:01735A50-860F-11DB-9A50-CC3CD974C473','jbossesb','JBoss ESB User','2006-12-07 11:21:34.453000000','2006-12-07 11:21:34.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0175A440-860F-11DB-A440-C337C32F0F9A','jbossesb','JBoss ESB User','2006-12-07 11:21:34.484000000','2006-12-07 11:21:34.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0175E6D0-8619-11DB-A6D0-C9CC47FA1CAC','jbossesb','JBoss ESB User','2006-12-07 12:33:09.437000000','2006-12-07 12:33:09.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:017D12C0-8619-11DB-92C0-A8BEAE6C17A7','jbossesb','JBoss ESB User','2006-12-07 12:33:09.484000000','2006-12-07 12:33:09.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:019C0C70-8619-11DB-8C70-E9BA7C93A571','jbossesb','JBoss ESB User','2006-12-07 12:33:09.687000000','2006-12-07 12:33:09.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:019E7D70-8619-11DB-BD70-BBB9AC9757A1','jbossesb','JBoss ESB User','2006-12-07 12:33:09.718000000','2006-12-07 12:33:09.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:01A5A960-8619-11DB-A960-D61989A41C60','jbossesb','JBoss ESB User','2006-12-07 12:33:09.765000000','2006-12-07 12:33:09.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:01ACAE40-8619-11DB-AE40-C50FFF95125D','jbossesb','JBoss ESB User','2006-12-07 12:33:09.796000000','2006-12-07 12:33:09.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:01AF1F40-8619-11DB-9F40-FFF85564C51F','jbossesb','JBoss ESB User','2006-12-07 12:33:09.828000000','2006-12-07 12:33:09.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:01D9FFD0-8619-11DB-BFD0-96E8A4B33263','jbossesb','JBoss ESB User','2006-12-07 12:33:10.930000000','2006-12-07 12:33:10.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0261F480-8619-11DB-B480-89A4BD2A5BE8','jbossesb','JBoss ESB User','2006-12-07 12:33:11.0','2006-12-07 12:33:11.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:02E009B0-860F-11DB-89B0-F62F742B69CF','jbossesb','JBoss ESB User','2006-12-07 11:21:36.859000000','2006-12-07 11:21:36.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:02E17860-8171-11DB-AF51-AF8E053017D0','jbossesb','JBoss ESB User','2006-12-01 14:20:31.734000000','2006-12-01 14:20:32.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03364230-861E-11DB-B1A1-C01D46EF87EC','jbossesb','JBoss ESB User','2006-12-07 13:08:59.859000000','2006-12-07 13:08:59.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0338B330-861E-11DB-B1A1-D5C286AAFA0F','jbossesb','JBoss ESB User','2006-12-07 13:08:59.875000000','2006-12-07 13:08:59.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:033AFD20-861E-11DB-B1A1-EDB5AEC2FBDF','jbossesb','JBoss ESB User','2006-12-07 13:08:59.890000000','2006-12-07 13:08:59.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:033D6E20-861E-11DB-B1A1-CA2E8E07A6E3','jbossesb','JBoss ESB User','2006-12-07 13:08:59.921000000','2006-12-07 13:08:59.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03422910-861E-11DB-B1A1-B412530FB1EB','jbossesb','JBoss ESB User','2006-12-07 13:08:59.937000000','2006-12-07 13:08:59.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03449A10-861E-11DB-B1A1-813CD4E8FB89','jbossesb','JBoss ESB User','2006-12-07 13:08:59.953000000','2006-12-07 13:08:59.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:034904B0-860F-11DB-84B0-C9343C22B49D','jbossesb','JBoss ESB User','2006-12-07 11:21:37.531000000','2006-12-07 11:21:37.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03495500-861E-11DB-B1A1-B40657AAF312','jbossesb','JBoss ESB User','2006-12-07 13:09:00.0','2006-12-07 13:09:00.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:034A7360-8171-11DB-AF51-D0878E6AEFB3','jbossesb','JBoss ESB User','2006-12-01 14:20:32.421000000','2006-12-01 14:20:32.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03546BD0-860E-11DB-ABD0-C8A29846BC6C','jbossesb','JBoss ESB User','2006-12-07 11:14:28.109000000','2006-12-07 11:14:28.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:035926C0-860E-11DB-A6C0-81F397E7DB56','jbossesb','JBoss ESB User','2006-12-07 11:14:28.140000000','2006-12-07 11:14:28.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:035B97C0-860E-11DB-97C0-A27E24F2F06B','jbossesb','JBoss ESB User','2006-12-07 11:14:28.171000000','2006-12-07 11:14:28.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:035ED8D0-861E-11DB-B1A1-DABC65B2294B','jbossesb','JBoss ESB User','2006-12-07 13:09:00.140000000','2006-12-07 13:09:00.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:036393C0-861E-11DB-B1A1-C1B4F1F5AE8C','jbossesb','JBoss ESB User','2006-12-07 13:09:00.156000000','2006-12-07 13:09:00.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0364B220-8171-11DB-AF51-8CDC5D810BAE','jbossesb','JBoss ESB User','2006-12-01 14:20:32.578000000','2006-12-01 14:20:33.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0365DDB0-861E-11DB-B1A1-9268E7D4B3F4','jbossesb','JBoss ESB User','2006-12-07 13:09:00.187000000','2006-12-07 13:09:00.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:036EAA90-860E-11DB-AA90-99F6F6449EEC','jbossesb','JBoss ESB User','2006-12-07 11:14:28.281000000','2006-12-07 11:14:28.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03736580-860E-11DB-A580-90063BEBEB36','jbossesb','JBoss ESB User','2006-12-07 11:14:28.312000000','2006-12-07 11:14:28.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0375D680-860E-11DB-9680-BEDB4D4C4DCF','jbossesb','JBoss ESB User','2006-12-07 11:14:28.328000000','2006-12-07 11:14:28.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0378F080-861E-11DB-B1A1-B1602E279D0C','jbossesb','JBoss ESB User','2006-12-07 13:09:00.296000000','2006-12-07 13:09:00.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:037B6180-861E-11DB-B1A1-BAD90F0E117E','jbossesb','JBoss ESB User','2006-12-07 13:09:00.328000000','2006-12-07 13:09:00.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03801C70-861E-11DB-B1A1-DC2A8172964E','jbossesb','JBoss ESB User','2006-12-07 13:09:00.343000000','2006-12-07 13:09:00.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03867850-860E-11DB-B850-EEB34FCB5E18','jbossesb','JBoss ESB User','2006-12-07 11:14:28.453000000','2006-12-07 11:14:28.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03981140-861E-11DB-B1A1-99C21B811317','jbossesb','JBoss ESB User','2006-12-07 13:09:00.515000000','2006-12-07 13:09:00.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:039CCC30-861E-11DB-B1A1-807DC78D2D00','jbossesb','JBoss ESB User','2006-12-07 13:09:00.531000000','2006-12-07 13:09:00.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03A18720-861E-11DB-B1A1-92AB470E141D','jbossesb','JBoss ESB User','2006-12-07 13:09:00.562000000','2006-12-07 13:09:00.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03A3F820-861E-11DB-B1A1-AF7494C63473','jbossesb','JBoss ESB User','2006-12-07 13:09:00.593000000','2006-12-07 13:09:00.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03A8B310-861E-11DB-B1A1-BF508A82E11F','jbossesb','JBoss ESB User','2006-12-07 13:09:00.609000000','2006-12-07 13:09:00.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03AB2410-861E-11DB-B1A1-EC6393094E54','jbossesb','JBoss ESB User','2006-12-07 13:09:00.625000000','2006-12-07 13:09:00.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03AD6E00-861E-11DB-B1A1-EDC6195BF9F2','jbossesb','JBoss ESB User','2006-12-07 13:09:00.656000000','2006-12-07 13:09:00.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03B0FD60-8171-11DB-AF51-902659D5FBE9','jbossesb','JBoss ESB User','2006-12-01 14:20:33.780000000','2006-12-01 14:20:33.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03C7ACC0-861E-11DB-B1A1-D7C7C1E28DD4','jbossesb','JBoss ESB User','2006-12-07 13:09:00.828000000','2006-12-07 13:09:00.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03CC67B0-861E-11DB-B1A1-A9C1699DAF02','jbossesb','JBoss ESB User','2006-12-07 13:09:00.843000000','2006-12-07 13:09:00.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03CE4B30-8618-11DB-8B30-86AD97A231F6','jbossesb','JBoss ESB User','2006-12-07 12:26:03.890000000','2006-12-07 12:26:03.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03D149B0-861E-11DB-B1A1-B87B202C3A6E','jbossesb','JBoss ESB User','2006-12-07 13:09:00.890000000','2006-12-07 13:09:00.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03D30620-8618-11DB-8620-EBF1F887A15E','jbossesb','JBoss ESB User','2006-12-07 12:26:03.953000000','2006-12-07 12:26:03.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03D604A0-861E-11DB-B1A1-8273634395F6','jbossesb','JBoss ESB User','2006-12-07 13:09:00.906000000','2006-12-07 13:09:00.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03D84E90-861E-11DB-B1A1-B0EC8AF4E75B','jbossesb','JBoss ESB User','2006-12-07 13:09:00.921000000','2006-12-07 13:09:00.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03DABF90-861E-11DB-B1A1-BC523E7E8615','jbossesb','JBoss ESB User','2006-12-07 13:09:00.953000000','2006-12-07 13:09:00.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03DEED00-8618-11DB-AD00-F47EF7469810','jbossesb','JBoss ESB User','2006-12-07 12:26:03.984000000','2006-12-07 12:26:04.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03E45C80-861E-11DB-B1A1-8CCFB28E9B62','jbossesb','JBoss ESB User','2006-12-07 13:09:01.150000000','2006-12-07 13:09:01.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03E618F0-8618-11DB-98F0-A19AA15E73F7','jbossesb','JBoss ESB User','2006-12-07 12:26:04.310000000','2006-12-07 12:26:04.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:03ED44E0-8618-11DB-84E0-9AA5941ED97D','jbossesb','JBoss ESB User','2006-12-07 12:26:04.780000000','2006-12-07 12:26:04.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0415B470-8618-11DB-B470-B7C24B52CE12','jbossesb','JBoss ESB User','2006-12-07 12:26:04.375000000','2006-12-07 12:26:04.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04219B50-8618-11DB-9B50-E66EEF900CC5','jbossesb','JBoss ESB User','2006-12-07 12:26:04.421000000','2006-12-07 12:26:04.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04267D50-8618-11DB-BD50-849986F7EBB5','jbossesb','JBoss ESB User','2006-12-07 12:26:04.453000000','2006-12-07 12:26:04.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:042FF330-8618-11DB-B330-FF0B90F3F7CA','jbossesb','JBoss ESB User','2006-12-07 12:26:04.515000000','2006-12-07 12:26:04.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04371F20-8618-11DB-9F20-BD0DA8213EAA','jbossesb','JBoss ESB User','2006-12-07 12:26:04.578000000','2006-12-07 12:26:04.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0437ACA0-861E-11DB-B1A1-CA8C498AB088','jbossesb','JBoss ESB User','2006-12-07 13:09:01.562000000','2006-12-07 13:09:01.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:044E6B20-814B-11DB-A6BA-EED8823F5BC5','jbossesb','JBoss ESB User','2006-12-01 09:48:33.265000000','2006-12-01 09:48:33.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04617DF0-814B-11DB-A6BA-C555F11C0FC9','jbossesb','JBoss ESB User','2006-12-01 09:48:33.359000000','2006-12-01 09:48:33.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0468A9E0-814B-11DB-A6BA-9141F8D80ACA','jbossesb','JBoss ESB User','2006-12-01 09:48:33.406000000','2006-12-01 09:48:33.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:046FD5D0-814B-11DB-A6BA-F608DF07B927','jbossesb','JBoss ESB User','2006-12-01 09:48:33.453000000','2006-12-01 09:48:33.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04B0AAA0-80E3-11DB-AAA0-C915E94CB96A','jbossesb','JBoss ESB User','2006-11-30 21:24:06.437000000','2006-11-30 21:24:06.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04B1E810-8170-11DB-AF51-85074DE0D8F6','jbossesb','JBoss ESB User','2006-12-01 14:13:25.312000000','2006-12-01 14:13:25.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04D352C0-8170-11DB-AF51-E986673B07FA','jbossesb','JBoss ESB User','2006-12-01 14:13:25.515000000','2006-12-01 14:13:25.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04E66590-8170-11DB-AF51-CE489FAD6E99','jbossesb','JBoss ESB User','2006-12-01 14:13:25.609000000','2006-12-01 14:13:25.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:04F97860-8170-11DB-AF51-CDC816D211C1','jbossesb','JBoss ESB User','2006-12-01 14:13:25.765000000','2006-12-01 14:13:25.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:050692D0-80E3-11DB-92D0-BD6EB51CEE0B','jbossesb','JBoss ESB User','2006-11-30 21:24:06.796000000','2006-11-30 21:24:06.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0584B950-860E-11DB-B950-CDE1643E0C6A','jbossesb','JBoss ESB User','2006-12-07 11:14:31.796000000','2006-12-07 11:14:31.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:05C59AA0-8173-11DB-B8A9-DF207005B621','jbossesb','JBoss ESB User','2006-12-01 14:34:55.562000000','2006-12-01 14:34:55.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:05D4B4D0-817E-11DB-B4D0-838F669977FA','jbossesb','JBoss ESB User','2006-12-01 15:53:40.125000000','2006-12-01 15:53:40.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:05D53490-817F-11DB-B490-F4DA10446CC2','jbossesb','JBoss ESB User','2006-12-01 16:00:49.656000000','2006-12-01 16:00:49.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:05D8AD70-8173-11DB-B8A9-D5760A5E133B','jbossesb','JBoss ESB User','2006-12-01 14:34:55.703000000','2006-12-01 14:34:55.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:05D8F000-817D-11DB-B000-CA54D3A2B2B4','jbossesb','JBoss ESB User','2006-12-01 15:46:30.656000000','2006-12-01 15:46:30.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:05E49450-8173-11DB-B8A9-B47B66522267','jbossesb','JBoss ESB User','2006-12-01 14:34:55.781000000','2006-12-01 14:34:55.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:05EC8290-817E-11DB-8290-C52C35314998','jbossesb','JBoss ESB User','2006-12-01 15:53:40.296000000','2006-12-01 15:53:40.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:05F07B30-8173-11DB-B8A9-FE25611F6495','jbossesb','JBoss ESB User','2006-12-01 14:34:55.843000000','2006-12-01 14:34:55.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:06384E10-817D-11DB-8E10-ED0438321DA9','jbossesb','JBoss ESB User','2006-12-01 15:46:31.296000000','2006-12-01 15:46:31.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:063E0880-817F-11DB-8880-EB1DFDE8609F','jbossesb','JBoss ESB User','2006-12-01 16:00:50.312000000','2006-12-01 16:00:50.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:064243B0-817E-11DB-83B0-B0C52DE788C5','jbossesb','JBoss ESB User','2006-12-01 15:53:40.859000000','2006-12-01 15:53:40.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:064434F0-817D-11DB-B4F0-E4EBDC108510','jbossesb','JBoss ESB User','2006-12-01 15:46:31.390000000','2006-12-01 15:46:31.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:06464AE0-8148-11DB-8AE0-9A266C54B8F1','jbossesb','JBoss ESB User','2006-12-01 09:27:08.460000000','2006-12-01 09:27:08.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:064E2A90-817E-11DB-AA90-A31F3A78CF49','jbossesb','JBoss ESB User','2006-12-01 15:53:40.937000000','2006-12-01 15:53:40.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:06528CD0-817D-11DB-8CD0-CB30C7F43B66','jbossesb','JBoss ESB User','2006-12-01 15:46:31.484000000','2006-12-01 15:46:31.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0654A2C0-8148-11DB-A2C0-85A02E32A3EF','jbossesb','JBoss ESB User','2006-12-01 09:27:08.140000000','2006-12-01 09:27:08.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:065BCEB0-8148-11DB-8EB0-D864DB590222','jbossesb','JBoss ESB User','2006-12-01 09:27:08.187000000','2006-12-01 09:27:08.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0662FAA0-8148-11DB-BAA0-EF1E73E956E1','jbossesb','JBoss ESB User','2006-12-01 09:27:08.234000000','2006-12-01 09:27:08.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0670E280-8618-11DB-A280-8361C25DCE21','jbossesb','JBoss ESB User','2006-12-07 12:26:08.296000000','2006-12-07 12:26:08.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:069AF590-817F-11DB-B590-D84D0D37FB6F','jbossesb','JBoss ESB User','2006-12-01 16:00:50.937000000','2006-12-01 16:00:50.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:06A94D70-817F-11DB-8D70-8ADEDAB825C7','jbossesb','JBoss ESB User','2006-12-01 16:00:51.310000000','2006-12-01 16:00:51.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:06DD3CB0-80E5-11DB-BCB0-83F5C2C50F29','jbossesb','JBoss ESB User','2006-11-30 21:38:28.875000000','2006-11-30 21:38:28.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:06DE9870-8618-11DB-9870-804BFEB9CA8D','jbossesb','JBoss ESB User','2006-12-07 12:26:09.150000000','2006-12-07 12:26:09.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:06FBB760-8178-11DB-B760-AA311A50A24F','jbossesb','JBoss ESB User','2006-12-01 15:10:45.930000000','2006-12-01 15:10:45.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:071AB110-8178-11DB-B110-DD6EF1524493','jbossesb','JBoss ESB User','2006-12-01 15:10:45.296000000','2006-12-01 15:10:45.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:07225C00-80E5-11DB-9C00-BC4768DEFD5B','jbossesb','JBoss ESB User','2006-11-30 21:38:29.343000000','2006-11-30 21:38:29.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:072908F0-8178-11DB-88F0-A80F374A9578','jbossesb','JBoss ESB User','2006-12-01 15:10:45.390000000','2006-12-01 15:10:45.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:07325400-8105-11DB-9400-BF6962005CAF','jbossesb','JBoss ESB User','2006-12-01 01:27:33.328000000','2006-12-01 01:27:33.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:07327ED0-8178-11DB-BED0-9F9CC2A01AF7','jbossesb','JBoss ESB User','2006-12-01 15:10:45.453000000','2006-12-01 15:10:45.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0737DFD0-80E5-11DB-9FD0-F256E0A5515D','jbossesb','JBoss ESB User','2006-11-30 21:38:29.468000000','2006-11-30 21:38:29.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:074881A0-80E5-11DB-81A0-9D88F6693D8F','jbossesb','JBoss ESB User','2006-11-30 21:38:29.578000000','2006-11-30 21:38:29.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:075D3490-8105-11DB-B490-AD0705DCDEDF','jbossesb','JBoss ESB User','2006-12-01 01:27:33.609000000','2006-12-01 01:27:33.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:076B8C70-8105-11DB-8C70-802D7520915F','jbossesb','JBoss ESB User','2006-12-01 01:27:33.687000000','2006-12-01 01:27:33.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:07777350-8105-11DB-B350-BD66E733A5B1','jbossesb','JBoss ESB User','2006-12-01 01:27:33.781000000','2006-12-01 01:27:33.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:078D0970-814D-11DB-A6BA-CFDA7E346B5F','jbossesb','JBoss ESB User','2006-12-01 10:02:57.671000000','2006-12-01 10:02:57.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0796A660-814D-11DB-A6BA-847346B84769','jbossesb','JBoss ESB User','2006-12-01 10:02:57.734000000','2006-12-01 10:02:57.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0808BDC0-817C-11DB-BDC0-FD145368733C','jbossesb','JBoss ESB User','2006-12-01 15:39:24.859000000','2006-12-01 15:39:24.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0822FC80-817C-11DB-BC80-F5F0449E0ECB','jbossesb','JBoss ESB User','2006-12-01 15:39:25.0','2006-12-01 15:39:25.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0841F630-817C-11DB-B630-BF93F5B583EC','jbossesb','JBoss ESB User','2006-12-01 15:39:25.203000000','2006-12-01 15:39:25.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:08466E90-8172-11DB-B8A9-FFE965EC5956','jbossesb','JBoss ESB User','2006-12-01 14:27:50.265000000','2006-12-01 14:27:50.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:08502700-817C-11DB-A700-F71B6FDAFA68','jbossesb','JBoss ESB User','2006-12-01 15:39:25.312000000','2006-12-01 15:39:25.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:086000F0-861B-11DB-80F0-EF9A2A467405','jbossesb','JBoss ESB User','2006-12-07 12:47:40.460000000','2006-12-07 12:47:40.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:08672CE0-861B-11DB-ACE0-FCFB8A5E0A64','jbossesb','JBoss ESB User','2006-12-07 12:47:40.930000000','2006-12-07 12:47:40.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:087313C0-861B-11DB-93C0-A8C0AB34C6F1','jbossesb','JBoss ESB User','2006-12-07 12:47:40.156000000','2006-12-07 12:47:40.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0873C020-8172-11DB-B8A9-B5A40C095F81','jbossesb','JBoss ESB User','2006-12-01 14:27:50.578000000','2006-12-01 14:27:50.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0877CEB0-861B-11DB-8EB0-ED45D2D245C0','jbossesb','JBoss ESB User','2006-12-07 12:47:40.187000000','2006-12-07 12:47:40.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:087C89A0-861B-11DB-89A0-9C4C08E1D27A','jbossesb','JBoss ESB User','2006-12-07 12:47:40.234000000','2006-12-07 12:47:40.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:088461F0-8172-11DB-B8A9-F3DAC97002D6','jbossesb','JBoss ESB User','2006-12-01 14:27:50.671000000','2006-12-01 14:27:50.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0892B9D0-8172-11DB-B8A9-BB984523B7F0','jbossesb','JBoss ESB User','2006-12-01 14:27:50.765000000','2006-12-01 14:27:50.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:089B8350-861B-11DB-8350-AFAAF24731F0','jbossesb','JBoss ESB User','2006-12-07 12:47:40.437000000','2006-12-07 12:47:40.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:08A06550-861B-11DB-A550-E0D31F43C5DB','jbossesb','JBoss ESB User','2006-12-07 12:47:40.453000000','2006-12-07 12:47:40.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:08A2AF40-861B-11DB-AF40-AFA3541B0D5E','jbossesb','JBoss ESB User','2006-12-07 12:47:40.484000000','2006-12-07 12:47:40.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:08A9DB30-861B-11DB-9B30-E94C10834E42','jbossesb','JBoss ESB User','2006-12-07 12:47:40.531000000','2006-12-07 12:47:40.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:08AE9620-861B-11DB-9620-F8E5772989E5','jbossesb','JBoss ESB User','2006-12-07 12:47:40.562000000','2006-12-07 12:47:40.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:08B83310-861B-11DB-B310-B4246B70ED07','jbossesb','JBoss ESB User','2006-12-07 12:47:40.609000000','2006-12-07 12:47:40.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0911E1A0-8182-11DB-AB1E-85BF2726D7C9','jbossesb','JBoss ESB User','2006-12-01 16:22:23.578000000','2006-12-01 16:22:23.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0922A520-816F-11DB-A4E4-AE9C37DDD65A','jbossesb','JBoss ESB User','2006-12-01 14:06:23.218000000','2006-12-01 14:06:23.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:092C2060-8182-11DB-AB1E-9F4E07286AB9','jbossesb','JBoss ESB User','2006-12-01 16:22:23.718000000','2006-12-01 16:22:23.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:093A7840-8182-11DB-AB1E-DADE12E9B377','jbossesb','JBoss ESB User','2006-12-01 16:22:23.828000000','2006-12-01 16:22:23.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:09441530-8182-11DB-AB1E-AA6AB9A930BD','jbossesb','JBoss ESB User','2006-12-01 16:22:23.890000000','2006-12-01 16:22:23.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0948CAC0-816F-11DB-A4E4-857DCC9C4E1F','jbossesb','JBoss ESB User','2006-12-01 14:06:23.484000000','2006-12-01 14:06:23.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:098DEA10-816F-11DB-A4E4-F4A5ECBF6B8B','jbossesb','JBoss ESB User','2006-12-01 14:06:23.921000000','2006-12-01 14:06:23.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0999F800-816F-11DB-A4E4-EA2D7B115187','jbossesb','JBoss ESB User','2006-12-01 14:06:24.310000000','2006-12-01 14:06:24.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:09C5AB70-861B-11DB-AB70-B4544453F9FF','jbossesb','JBoss ESB User','2006-12-07 12:47:42.390000000','2006-12-07 12:47:42.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:09EA6160-8100-11DB-B65A-DE2661CA767F','jbossesb','JBoss ESB User','2006-12-01 00:51:50.421000000','2006-12-01 00:51:50.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0A071120-8100-11DB-B65A-B160DAC870ED','jbossesb','JBoss ESB User','2006-12-01 00:51:50.578000000','2006-12-01 00:51:50.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0A128600-8104-11DB-8600-B341B881F5A4','jbossesb','JBoss ESB User','2006-12-01 01:20:28.671000000','2006-12-01 01:20:28.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0A1EDEE0-8100-11DB-B65A-9DC5C56C27B2','jbossesb','JBoss ESB User','2006-12-01 00:51:50.781000000','2006-12-01 00:51:50.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0A2F35C0-8104-11DB-B5C0-CC10BF2857CF','jbossesb','JBoss ESB User','2006-12-01 01:20:28.843000000','2006-12-01 01:20:28.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0A36ACA0-8100-11DB-B65A-B6D5DDA7B741','jbossesb','JBoss ESB User','2006-12-01 00:51:50.890000000','2006-12-01 00:51:50.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0A507960-8104-11DB-B960-C0FF683C549C','jbossesb','JBoss ESB User','2006-12-01 01:20:29.780000000','2006-12-01 01:20:29.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0A65FD30-8104-11DB-BD30-E2B95C961E7D','jbossesb','JBoss ESB User','2006-12-01 01:20:29.203000000','2006-12-01 01:20:29.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0AEA3A30-8179-11DB-A966-C72F64B3B0CE','jbossesb','JBoss ESB User','2006-12-01 15:18:01.187000000','2006-12-01 15:18:01.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B0E15E0-8179-11DB-A966-EF9C8C708D4E','jbossesb','JBoss ESB User','2006-12-01 15:18:01.406000000','2006-12-01 15:18:01.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B1A0D50-861A-11DB-8D50-DB019B02C673','jbossesb','JBoss ESB User','2006-12-07 12:40:35.140000000','2006-12-07 12:40:35.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B213940-861A-11DB-B940-F0F06F301DFD','jbossesb','JBoss ESB User','2006-12-07 12:40:35.156000000','2006-12-07 12:40:35.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B2367B0-8610-11DB-A7B0-C21CCF1E6E51','jbossesb','JBoss ESB User','2006-12-07 11:29:00.218000000','2006-12-07 11:29:00.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B238330-861A-11DB-8330-EEDDE5047622','jbossesb','JBoss ESB User','2006-12-07 12:40:35.187000000','2006-12-07 12:40:35.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B25E3A0-8179-11DB-A966-C019E95797AD','jbossesb','JBoss ESB User','2006-12-01 15:18:01.593000000','2006-12-01 15:18:01.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B2822A0-8610-11DB-A2A0-96FD2FA1CFD3','jbossesb','JBoss ESB User','2006-12-07 11:29:00.234000000','2006-12-07 11:29:00.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B286530-861A-11DB-A530-99D1DBD79809','jbossesb','JBoss ESB User','2006-12-07 12:40:35.203000000','2006-12-07 12:40:35.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B2CDD90-8610-11DB-9D90-BB4CC7752A6D','jbossesb','JBoss ESB User','2006-12-07 11:29:00.281000000','2006-12-07 11:29:00.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B2D2020-861A-11DB-A020-82C05DBC3D20','jbossesb','JBoss ESB User','2006-12-07 12:40:35.250000000','2006-12-07 12:40:35.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B38F670-8179-11DB-A966-E02FEEDAF569','jbossesb','JBoss ESB User','2006-12-01 15:18:01.687000000','2006-12-01 15:18:01.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B44EDE0-861A-11DB-ADE0-CC9FF2563ACF','jbossesb','JBoss ESB User','2006-12-07 12:40:35.406000000','2006-12-07 12:40:35.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B498D50-8610-11DB-8D50-86E180731D7B','jbossesb','JBoss ESB User','2006-12-07 11:29:00.453000000','2006-12-07 11:29:00.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B4BD740-8610-11DB-9740-A5CC3C9A99AE','jbossesb','JBoss ESB User','2006-12-07 11:29:00.468000000','2006-12-07 11:29:00.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B4C19D0-861A-11DB-99D0-B56034E824EF','jbossesb','JBoss ESB User','2006-12-07 12:40:35.437000000','2006-12-07 12:40:35.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B50B940-8610-11DB-B940-C0C1A0EA3D39','jbossesb','JBoss ESB User','2006-12-07 11:29:00.500000000','2006-12-07 11:29:00.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B50D4C0-861A-11DB-94C0-F8AAD6A5CE21','jbossesb','JBoss ESB User','2006-12-07 12:40:35.468000000','2006-12-07 12:40:35.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B55B6C0-861A-11DB-B6C0-F2009EC23C1A','jbossesb','JBoss ESB User','2006-12-07 12:40:35.515000000','2006-12-07 12:40:35.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B5A71B0-861A-11DB-B1B0-AEE6EE24D426','jbossesb','JBoss ESB User','2006-12-07 12:40:35.546000000','2006-12-07 12:40:35.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0B855240-861A-11DB-9240-C29928AA4DA7','jbossesb','JBoss ESB User','2006-12-07 12:40:35.828000000','2006-12-07 12:40:35.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0BB5A420-8103-11DB-A420-BBE459134CE5','jbossesb','JBoss ESB User','2006-12-01 01:13:21.937000000','2006-12-01 01:13:22.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0BD5ACA0-816E-11DB-A4E4-E8E6BE2D1EC6','jbossesb','JBoss ESB User','2006-12-01 13:59:18.265000000','2006-12-01 13:59:18.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0BEADAC0-814C-11DB-A6BA-ABEA8DCBE709','jbossesb','JBoss ESB User','2006-12-01 09:55:55.500000000','2006-12-01 09:55:55.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0BEFC450-816E-11DB-A4E4-835339DCD1A1','jbossesb','JBoss ESB User','2006-12-01 13:59:18.421000000','2006-12-01 13:59:18.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0BF1DFA0-814C-11DB-A6BA-AA285B550287','jbossesb','JBoss ESB User','2006-12-01 09:55:55.546000000','2006-12-01 09:55:55.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0BFD3470-8103-11DB-B470-BC457AFF0728','jbossesb','JBoss ESB User','2006-12-01 01:13:22.390000000','2006-12-01 01:13:22.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0BFE1C30-816E-11DB-A4E4-AD66859BEBCA','jbossesb','JBoss ESB User','2006-12-01 13:59:18.546000000','2006-12-01 13:59:18.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0C0EE510-816E-11DB-A4E4-A32B0598AF7C','jbossesb','JBoss ESB User','2006-12-01 13:59:18.625000000','2006-12-01 13:59:18.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0C1472E0-861A-11DB-B2E0-929C029D6650','jbossesb','JBoss ESB User','2006-12-07 12:40:36.750000000','2006-12-07 12:40:36.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0C3C7870-80E4-11DB-B870-DA068F7D7350','jbossesb','JBoss ESB User','2006-11-30 21:31:28.406000000','2006-11-30 21:31:28.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0C602D10-80E4-11DB-AD10-8BA3F38C1B6E','jbossesb','JBoss ESB User','2006-11-30 21:31:28.640000000','2006-11-30 21:31:28.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0C733FE0-80E4-11DB-BFE0-F7418D395D0B','jbossesb','JBoss ESB User','2006-11-30 21:31:28.750000000','2006-11-30 21:31:28.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0C8197C0-80E4-11DB-97C0-CE8083A110C6','jbossesb','JBoss ESB User','2006-11-30 21:31:28.843000000','2006-11-30 21:31:28.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0D87CE70-8619-11DB-8E70-CD64644C91E0','jbossesb','JBoss ESB User','2006-12-07 12:33:29.703000000','2006-12-07 12:33:29.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0D8C1F60-80E3-11DB-9F60-B6EAAEBDD10D','jbossesb','JBoss ESB User','2006-11-30 21:24:21.109000000','2006-11-30 21:24:21.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0D8EFA60-8619-11DB-BA60-A5E2AEBAE726','jbossesb','JBoss ESB User','2006-12-07 12:33:29.734000000','2006-12-07 12:33:29.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0D9854C0-860F-11DB-94C0-B5833E94A78A','jbossesb','JBoss ESB User','2006-12-07 11:21:54.843000000','2006-12-07 11:21:54.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0D987040-8619-11DB-B040-9BEBEBF8C2B2','jbossesb','JBoss ESB User','2006-12-07 12:33:29.812000000','2006-12-07 12:33:29.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0D9D0FB0-860F-11DB-8FB0-CD5827A695F7','jbossesb','JBoss ESB User','2006-12-07 11:21:54.859000000','2006-12-07 11:21:54.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0D9D5240-8619-11DB-9240-FB53EA62B5C7','jbossesb','JBoss ESB User','2006-12-07 12:33:29.843000000','2006-12-07 12:33:29.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DA1CAA0-860F-11DB-8AA0-D773B9B101AF','jbossesb','JBoss ESB User','2006-12-07 11:21:54.906000000','2006-12-07 11:21:54.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DA47E30-8619-11DB-BE30-E76482C1B7AD','jbossesb','JBoss ESB User','2006-12-07 12:33:29.875000000','2006-12-07 12:33:29.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DB4DD70-860F-11DB-9D70-E2AAF50DF189','jbossesb','JBoss ESB User','2006-12-07 11:21:55.310000000','2006-12-07 11:21:55.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DB99860-860F-11DB-9860-8588B98B615F','jbossesb','JBoss ESB User','2006-12-07 11:21:55.460000000','2006-12-07 11:21:55.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DBC4BF0-8619-11DB-8BF0-EAB7EE6358B4','jbossesb','JBoss ESB User','2006-12-07 12:33:30.460000000','2006-12-07 12:33:30.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DBE7A60-860F-11DB-BA60-B744E57FF2E6','jbossesb','JBoss ESB User','2006-12-07 11:21:55.780000000','2006-12-07 11:21:55.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DC106E0-8619-11DB-86E0-FE249D509CB6','jbossesb','JBoss ESB User','2006-12-07 12:33:30.620000000','2006-12-07 12:33:30.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DC14410-8610-11DB-8410-BCDD0DD7D8FD','jbossesb','JBoss ESB User','2006-12-07 11:29:04.609000000','2006-12-07 11:29:04.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DC5C1D0-8619-11DB-81D0-8905A3C273C5','jbossesb','JBoss ESB User','2006-12-07 12:33:30.930000000','2006-12-07 12:33:30.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DCAA3D0-8619-11DB-A3D0-9E92171874A9','jbossesb','JBoss ESB User','2006-12-07 12:33:30.140000000','2006-12-07 12:33:30.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DD1A8B0-8619-11DB-A8B0-DAE0A06B9DBB','jbossesb','JBoss ESB User','2006-12-07 12:33:30.171000000','2006-12-07 12:33:30.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DD20CF0-8610-11DB-8CF0-C2DBDE2CAD53','jbossesb','JBoss ESB User','2006-12-07 11:29:04.703000000','2006-12-07 11:29:04.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DD86AA0-80E3-11DB-AAA0-A0910488D189','jbossesb','JBoss ESB User','2006-11-30 21:24:21.578000000','2006-11-30 21:24:21.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0DF03860-80E3-11DB-B860-FBC94FD62E23','jbossesb','JBoss ESB User','2006-11-30 21:24:21.750000000','2006-11-30 21:24:21.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0E034B30-80E3-11DB-8B30-B0A42FA2F13E','jbossesb','JBoss ESB User','2006-11-30 21:24:21.890000000','2006-11-30 21:24:21.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0E5E5850-8619-11DB-9850-9C099AC3418C','jbossesb','JBoss ESB User','2006-12-07 12:33:31.109000000','2006-12-07 12:33:31.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0E760A90-860F-11DB-8A90-B01D509C5A65','jbossesb','JBoss ESB User','2006-12-07 11:21:56.281000000','2006-12-07 11:21:56.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0EC255D0-860F-11DB-95D0-C06E740C1C14','jbossesb','JBoss ESB User','2006-12-07 11:21:56.781000000','2006-12-07 11:21:56.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0EC29860-8619-11DB-9860-CAE70CBBFA75','jbossesb','JBoss ESB User','2006-12-07 12:33:31.750000000','2006-12-07 12:33:31.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F351700-861E-11DB-B1A1-8FBD4C5863BF','jbossesb','JBoss ESB User','2006-12-07 13:09:19.984000000','2006-12-07 13:09:19.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F378800-861E-11DB-B1A1-A1B8F90FE00C','jbossesb','JBoss ESB User','2006-12-07 13:09:20.0','2006-12-07 13:09:20.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F39D1F0-861E-11DB-B1A1-8B631B64D261','jbossesb','JBoss ESB User','2006-12-07 13:09:20.150000000','2006-12-07 13:09:20.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F3E8CE0-861E-11DB-B1A1-9B1E1E902EC7','jbossesb','JBoss ESB User','2006-12-07 13:09:20.460000000','2006-12-07 13:09:20.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F45B8D0-861E-11DB-B1A1-A30E9280618F','jbossesb','JBoss ESB User','2006-12-07 13:09:20.930000000','2006-12-07 13:09:20.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F4829D0-861E-11DB-B1A1-EA3FFCF389E6','jbossesb','JBoss ESB User','2006-12-07 13:09:20.140000000','2006-12-07 13:09:20.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F77C550-861E-11DB-B1A1-9B67635B2547','jbossesb','JBoss ESB User','2006-12-07 13:09:20.421000000','2006-12-07 13:09:20.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F7A3650-861E-11DB-B1A1-DBEED818EED3','jbossesb','JBoss ESB User','2006-12-07 13:09:20.437000000','2006-12-07 13:09:20.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F7CA750-861E-11DB-B1A1-EA1CAE45C8CB','jbossesb','JBoss ESB User','2006-12-07 13:09:20.453000000','2006-12-07 13:09:20.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F7E2130-860E-11DB-A130-8A38FA794B78','jbossesb','JBoss ESB User','2006-12-07 11:14:48.515000000','2006-12-07 11:14:48.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F7EF140-861E-11DB-B1A1-BF7EC60DA0FB','jbossesb','JBoss ESB User','2006-12-07 13:09:20.484000000','2006-12-07 13:09:20.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F809230-860E-11DB-9230-A9DABFB4D378','jbossesb','JBoss ESB User','2006-12-07 11:14:48.531000000','2006-12-07 11:14:48.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F83D340-861E-11DB-B1A1-BF297302B7CD','jbossesb','JBoss ESB User','2006-12-07 13:09:20.500000000','2006-12-07 13:09:20.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F854D20-860E-11DB-8D20-F5E27D40445B','jbossesb','JBoss ESB User','2006-12-07 11:14:48.562000000','2006-12-07 11:14:48.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F8FBA20-861E-11DB-B1A1-ED2278E1F446','jbossesb','JBoss ESB User','2006-12-07 13:09:20.578000000','2006-12-07 13:09:20.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F95EEF0-860E-11DB-AEF0-EE937D0827C3','jbossesb','JBoss ESB User','2006-12-07 11:14:48.671000000','2006-12-07 11:14:48.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F9AD0F0-860E-11DB-90F0-F496963FD8FE','jbossesb','JBoss ESB User','2006-12-07 11:14:48.703000000','2006-12-07 11:14:48.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0F9D1AE0-860E-11DB-9AE0-CC1756DA8E66','jbossesb','JBoss ESB User','2006-12-07 11:14:48.734000000','2006-12-07 11:14:48.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0FDB50D0-8618-11DB-90D0-A29751384F6E','jbossesb','JBoss ESB User','2006-12-07 12:26:24.109000000','2006-12-07 12:26:24.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0FE27CC0-8618-11DB-BCC0-F0C0A759AB78','jbossesb','JBoss ESB User','2006-12-07 12:26:24.140000000','2006-12-07 12:26:24.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0FE737B0-8618-11DB-B7B0-F44C0366C734','jbossesb','JBoss ESB User','2006-12-07 12:26:24.171000000','2006-12-07 12:26:24.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0FEC19B0-8618-11DB-99B0-B3DD7277CBBC','jbossesb','JBoss ESB User','2006-12-07 12:26:24.203000000','2006-12-07 12:26:24.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0FF0D4A0-8618-11DB-94A0-E34D935511F3','jbossesb','JBoss ESB User','2006-12-07 12:26:24.250000000','2006-12-07 12:26:24.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:0FFA2F00-860E-11DB-AF00-925EB8116889','jbossesb','JBoss ESB User','2006-12-07 11:14:49.375000000','2006-12-07 11:14:49.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10148940-8618-11DB-8940-EEA987E5677F','jbossesb','JBoss ESB User','2006-12-07 12:26:24.484000000','2006-12-07 12:26:24.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:101BB530-8618-11DB-B530-A10E250C3D4B','jbossesb','JBoss ESB User','2006-12-07 12:26:24.515000000','2006-12-07 12:26:24.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10207020-8618-11DB-B020-AC4F817CD1B5','jbossesb','JBoss ESB User','2006-12-07 12:26:24.546000000','2006-12-07 12:26:24.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10279C10-8618-11DB-9C10-B74E42CB978B','jbossesb','JBoss ESB User','2006-12-07 12:26:24.593000000','2006-12-07 12:26:24.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:102C7E10-8618-11DB-BE10-B8DF42040151','jbossesb','JBoss ESB User','2006-12-07 12:26:24.625000000','2006-12-07 12:26:24.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1041DAD0-8618-11DB-9AD0-D8EF72BDCEF2','jbossesb','JBoss ESB User','2006-12-07 12:26:24.765000000','2006-12-07 12:26:24.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10546BE0-814B-11DB-A6BA-821A07D91B03','jbossesb','JBoss ESB User','2006-12-01 09:48:53.421000000','2006-12-01 09:48:53.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10650DB0-814B-11DB-A6BA-950C0AF7EE4D','jbossesb','JBoss ESB User','2006-12-01 09:48:53.515000000','2006-12-01 09:48:53.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1069C8A0-814B-11DB-A6BA-FB1C3401C385','jbossesb','JBoss ESB User','2006-12-01 09:48:53.546000000','2006-12-01 09:48:53.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:106AFEF0-861E-11DB-B1A1-EDCD99B27071','jbossesb','JBoss ESB User','2006-12-07 13:09:22.310000000','2006-12-07 13:09:22.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1070F490-814B-11DB-A6BA-9C67C3040061','jbossesb','JBoss ESB User','2006-12-01 09:48:53.593000000','2006-12-01 09:48:53.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:108BDC20-8618-11DB-9C20-D0ED6D09C13E','jbossesb','JBoss ESB User','2006-12-07 12:26:25.250000000','2006-12-07 12:26:25.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10B7E8D0-8170-11DB-AF51-A77E06FE49E7','jbossesb','JBoss ESB User','2006-12-01 14:13:45.484000000','2006-12-01 14:13:45.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10DB9D70-8170-11DB-AF51-9C17266E277A','jbossesb','JBoss ESB User','2006-12-01 14:13:45.687000000','2006-12-01 14:13:45.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10DD6FD0-861E-11DB-B1A1-9B71F2A7446F','jbossesb','JBoss ESB User','2006-12-07 13:09:22.781000000','2006-12-07 13:09:22.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10EEB040-8170-11DB-AF51-A455F4D503D0','jbossesb','JBoss ESB User','2006-12-01 14:13:45.812000000','2006-12-01 14:13:45.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:10FD0820-8170-11DB-AF51-E70377DDE987','jbossesb','JBoss ESB User','2006-12-01 14:13:45.906000000','2006-12-01 14:13:45.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:11111D40-860E-11DB-9D40-EEDE5AE5163A','jbossesb','JBoss ESB User','2006-12-07 11:14:51.171000000','2006-12-07 11:14:51.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:117F5020-8173-11DB-B8A9-9BABE82FEF82','jbossesb','JBoss ESB User','2006-12-01 14:35:15.234000000','2006-12-01 14:35:15.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:11998EE0-8173-11DB-B8A9-EE8C09C7950F','jbossesb','JBoss ESB User','2006-12-01 14:35:15.406000000','2006-12-01 14:35:15.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:11A7E6C0-8173-11DB-B8A9-C7CB58BCC302','jbossesb','JBoss ESB User','2006-12-01 14:35:15.500000000','2006-12-01 14:35:15.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:11C77BB0-817E-11DB-BBB0-9DF71E292994','jbossesb','JBoss ESB User','2006-12-01 15:54:00.187000000','2006-12-01 15:54:00.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:11D19860-817F-11DB-9860-DE4223E7EA4C','jbossesb','JBoss ESB User','2006-12-01 16:01:10.234000000','2006-12-01 16:01:10.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:11E1BA70-817E-11DB-BA70-F43E93968A9C','jbossesb','JBoss ESB User','2006-12-01 15:54:00.359000000','2006-12-01 15:54:00.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:11E866A0-817D-11DB-A6A0-D6F0FE0C27B2','jbossesb','JBoss ESB User','2006-12-01 15:46:50.890000000','2006-12-01 15:46:50.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:11F43200-8173-11DB-B8A9-CB392051A714','jbossesb','JBoss ESB User','2006-12-01 14:35:16.0','2006-12-01 14:35:16.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1237A2A0-817E-11DB-A2A0-F1642649BF7A','jbossesb','JBoss ESB User','2006-12-01 15:54:00.921000000','2006-12-01 15:54:00.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:123F4E50-817F-11DB-8E50-C9CDAFDF35B7','jbossesb','JBoss ESB User','2006-12-01 16:01:10.468000000','2006-12-01 16:01:10.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1245FA80-817E-11DB-BA80-EAEE9930015C','jbossesb','JBoss ESB User','2006-12-01 15:54:01.0','2006-12-01 15:54:01.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1247C4B0-817D-11DB-84B0-8625504FAA27','jbossesb','JBoss ESB User','2006-12-01 15:46:51.531000000','2006-12-01 15:46:51.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:124A01B0-8148-11DB-81B0-FCD1A911DBD0','jbossesb','JBoss ESB User','2006-12-01 09:27:28.203000000','2006-12-01 09:27:28.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1253AB90-817D-11DB-AB90-DC781404BD46','jbossesb','JBoss ESB User','2006-12-01 15:46:51.609000000','2006-12-01 15:46:51.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:12583280-8148-11DB-B280-BD13927E4C20','jbossesb','JBoss ESB User','2006-12-01 09:27:28.296000000','2006-12-01 09:27:28.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:125F9270-817D-11DB-9270-88DEE72EDA53','jbossesb','JBoss ESB User','2006-12-01 15:46:51.703000000','2006-12-01 15:46:51.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1261CF70-8148-11DB-8F70-D1BBADDC71A0','jbossesb','JBoss ESB User','2006-12-01 09:27:28.359000000','2006-12-01 09:27:28.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:12668A60-8148-11DB-8A60-8E7ECF58C3B3','jbossesb','JBoss ESB User','2006-12-01 09:27:28.406000000','2006-12-01 09:27:28.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:12950F70-817F-11DB-8F70-8C7690CC0672','jbossesb','JBoss ESB User','2006-12-01 16:01:11.150000000','2006-12-01 16:01:11.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:12A36750-817F-11DB-A750-FA86C45C2EDB','jbossesb','JBoss ESB User','2006-12-01 16:01:11.125000000','2006-12-01 16:01:11.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:12EA6960-80E5-11DB-A960-C67A843C6493','jbossesb','JBoss ESB User','2006-11-30 21:38:49.109000000','2006-11-30 21:38:49.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:13096310-80E5-11DB-A310-CE9AFE67DAD7','jbossesb','JBoss ESB User','2006-11-30 21:38:49.296000000','2006-11-30 21:38:49.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:130FE8F0-8178-11DB-A8F0-ACD6A2212D43','jbossesb','JBoss ESB User','2006-12-01 15:11:05.359000000','2006-12-01 15:11:05.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1322FBC0-8178-11DB-BBC0-CC9E16D5F326','jbossesb','JBoss ESB User','2006-12-01 15:11:05.468000000','2006-12-01 15:11:05.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:132A27B0-8178-11DB-A7B0-D7C7CDE1AF63','jbossesb','JBoss ESB User','2006-12-01 15:11:05.531000000','2006-12-01 15:11:05.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:13387F90-8178-11DB-BF90-B091F03C2D95','jbossesb','JBoss ESB User','2006-12-01 15:11:05.609000000','2006-12-01 15:11:05.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:13443BA0-8105-11DB-BBA0-DD5387975AF5','jbossesb','JBoss ESB User','2006-12-01 01:27:53.609000000','2006-12-01 01:27:53.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1360EB60-8105-11DB-AB60-F71166E371BA','jbossesb','JBoss ESB User','2006-12-01 01:27:53.750000000','2006-12-01 01:27:53.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:13718D30-8105-11DB-8D30-97F78CC5526D','jbossesb','JBoss ESB User','2006-12-01 01:27:53.875000000','2006-12-01 01:27:53.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:137FE510-8105-11DB-A510-F1F4D94657AF','jbossesb','JBoss ESB User','2006-12-01 01:27:53.984000000','2006-12-01 01:27:54.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:13826860-814D-11DB-A6BA-F3DD02955955','jbossesb','JBoss ESB User','2006-12-01 10:03:17.734000000','2006-12-01 10:03:17.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1390C040-814D-11DB-A6BA-F0AD2DF673D2','jbossesb','JBoss ESB User','2006-12-01 10:03:17.843000000','2006-12-01 10:03:17.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1393A1B0-80E5-11DB-A1B0-D1723290745C','jbossesb','JBoss ESB User','2006-11-30 21:38:50.359000000','2006-11-30 21:38:50.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1397EC30-814D-11DB-A6BA-E9BE70E85E48','jbossesb','JBoss ESB User','2006-12-01 10:03:17.875000000','2006-12-01 10:03:17.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:139CA720-814D-11DB-A6BA-F0E5452A28F1','jbossesb','JBoss ESB User','2006-12-01 10:03:17.906000000','2006-12-01 10:03:17.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:13BC3850-80E5-11DB-B850-BF134A32AB3B','jbossesb','JBoss ESB User','2006-11-30 21:38:50.453000000','2006-11-30 21:38:50.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:13EF1040-8176-11DB-9040-E1E204E72016','jbossesb','JBoss ESB User','2006-12-01 14:56:47.859000000','2006-12-01 14:56:47.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:144A40E0-817C-11DB-80E0-9E71F583879E','jbossesb','JBoss ESB User','2006-12-01 15:39:45.406000000','2006-12-01 15:39:45.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14643D10-8172-11DB-B8A9-88C62946D27C','jbossesb','JBoss ESB User','2006-12-01 14:28:10.625000000','2006-12-01 14:28:10.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1466F0A0-817C-11DB-B0A0-D59EE08726CF','jbossesb','JBoss ESB User','2006-12-01 15:39:45.593000000','2006-12-01 15:39:45.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:146B1E10-8176-11DB-9E10-E9B624E71387','jbossesb','JBoss ESB User','2006-12-01 14:56:48.625000000','2006-12-01 14:56:48.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14752170-817C-11DB-A170-C8836C5745B4','jbossesb','JBoss ESB User','2006-12-01 15:39:45.671000000','2006-12-01 15:39:45.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1476A380-861B-11DB-A380-B62A867CF631','jbossesb','JBoss ESB User','2006-12-07 12:48:00.328000000','2006-12-07 12:48:00.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:147DCF70-861B-11DB-8F70-E03E3F4A4D0D','jbossesb','JBoss ESB User','2006-12-07 12:48:00.375000000','2006-12-07 12:48:00.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:147E7BD0-8172-11DB-B8A9-C94B846C5390','jbossesb','JBoss ESB User','2006-12-01 14:28:10.796000000','2006-12-01 14:28:10.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14812F60-817C-11DB-AF60-877B1B4466E4','jbossesb','JBoss ESB User','2006-12-01 15:39:45.750000000','2006-12-01 15:39:45.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14874550-861B-11DB-8550-FEFD048E5923','jbossesb','JBoss ESB User','2006-12-07 12:48:00.437000000','2006-12-07 12:48:00.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:148C2750-861B-11DB-A750-A512760F9F52','jbossesb','JBoss ESB User','2006-12-07 12:48:00.453000000','2006-12-07 12:48:00.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1490E240-861B-11DB-A240-FF0EB976A2C7','jbossesb','JBoss ESB User','2006-12-07 12:48:00.500000000','2006-12-07 12:48:00.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1493FFA0-8172-11DB-B8A9-9DE30618EDB4','jbossesb','JBoss ESB User','2006-12-01 14:28:10.937000000','2006-12-01 14:28:10.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14A25780-8172-11DB-B8A9-F5170CCC2E38','jbossesb','JBoss ESB User','2006-12-01 14:28:11.0','2006-12-01 14:28:11.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14AD6AF0-861B-11DB-AAF0-C5017F01FAE2','jbossesb','JBoss ESB User','2006-12-07 12:48:00.687000000','2006-12-07 12:48:00.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14B24CF0-861B-11DB-8CF0-FADEC64BBA5F','jbossesb','JBoss ESB User','2006-12-07 12:48:00.718000000','2006-12-07 12:48:00.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14B978E0-861B-11DB-B8E0-D421AFAEEA53','jbossesb','JBoss ESB User','2006-12-07 12:48:00.750000000','2006-12-07 12:48:00.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14C55FC0-861B-11DB-9FC0-BC18D2720450','jbossesb','JBoss ESB User','2006-12-07 12:48:00.828000000','2006-12-07 12:48:00.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:14CA1AB0-861B-11DB-9AB0-F9A73680E6AB','jbossesb','JBoss ESB User','2006-12-07 12:48:00.875000000','2006-12-07 12:48:00.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:151A5360-8182-11DB-AB1E-9A9D612568A9','jbossesb','JBoss ESB User','2006-12-01 16:22:43.750000000','2006-12-01 16:22:43.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1528A5E0-816F-11DB-A4E4-F34B1BE77F93','jbossesb','JBoss ESB User','2006-12-01 14:06:43.406000000','2006-12-01 14:06:43.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:15394D10-8182-11DB-AB1E-CBEA0B93F800','jbossesb','JBoss ESB User','2006-12-01 16:22:43.968000000','2006-12-01 16:22:43.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1549EEE0-8182-11DB-AB1E-F34A2EDF1E98','jbossesb','JBoss ESB User','2006-12-01 16:22:44.460000000','2006-12-01 16:22:44.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:15538BD0-8182-11DB-AB1E-99246C3E1268','jbossesb','JBoss ESB User','2006-12-01 16:22:44.125000000','2006-12-01 16:22:44.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1580D800-816F-11DB-A4E4-AA1204E73BC5','jbossesb','JBoss ESB User','2006-12-01 14:06:43.968000000','2006-12-01 14:06:44.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:15A32520-8103-11DB-A520-F7F19540B497','jbossesb','JBoss ESB User','2006-12-01 01:13:39.310000000','2006-12-01 01:13:39.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:15C13C60-816F-11DB-A4E4-A3C7011D4664','jbossesb','JBoss ESB User','2006-12-01 14:06:44.421000000','2006-12-01 14:06:44.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:15D20540-816F-11DB-A4E4-FFC8B497D4C8','jbossesb','JBoss ESB User','2006-12-01 14:06:44.500000000','2006-12-01 14:06:44.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:16082FE0-8100-11DB-B65A-9AE30F4389E5','jbossesb','JBoss ESB User','2006-12-01 00:52:10.781000000','2006-12-01 00:52:10.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1617D060-861B-11DB-9060-E7080396DD7A','jbossesb','JBoss ESB User','2006-12-07 12:48:03.620000000','2006-12-07 12:48:03.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:163A3C60-8100-11DB-B65A-998310F731A7','jbossesb','JBoss ESB User','2006-12-01 00:52:11.620000000','2006-12-01 00:52:11.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1645D850-8104-11DB-9850-993139565E79','jbossesb','JBoss ESB User','2006-12-01 01:20:49.125000000','2006-12-01 01:20:49.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:164B0540-8100-11DB-B65A-ED9D7DF6EF66','jbossesb','JBoss ESB User','2006-12-01 00:52:11.156000000','2006-12-01 00:52:11.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:164C4DE0-861B-11DB-8DE0-98E991B481D2','jbossesb','JBoss ESB User','2006-12-07 12:48:03.406000000','2006-12-07 12:48:03.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:164ECE70-8103-11DB-8E70-9BB456AEAE30','jbossesb','JBoss ESB User','2006-12-01 01:13:39.687000000','2006-12-01 01:13:39.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1656EC20-8100-11DB-B65A-EE487CD176A5','jbossesb','JBoss ESB User','2006-12-01 00:52:11.250000000','2006-12-01 00:52:11.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:16626100-8104-11DB-A100-ADE0CFF94C1A','jbossesb','JBoss ESB User','2006-12-01 01:20:49.296000000','2006-12-01 01:20:49.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:16645240-8103-11DB-9240-EE612BC57F46','jbossesb','JBoss ESB User','2006-12-01 01:13:39.859000000','2006-12-01 01:13:39.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:167573D0-8104-11DB-B3D0-B37F9EADEAB5','jbossesb','JBoss ESB User','2006-12-01 01:20:49.437000000','2006-12-01 01:20:49.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:16834BF0-8103-11DB-8BF0-91A7A269D306','jbossesb','JBoss ESB User','2006-12-01 01:13:40.150000000','2006-12-01 01:13:40.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:16863CB0-8104-11DB-BCB0-B01414A3EBC9','jbossesb','JBoss ESB User','2006-12-01 01:20:49.562000000','2006-12-01 01:20:49.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:16E20A20-8179-11DB-A966-E89F17842B97','jbossesb','JBoss ESB User','2006-12-01 15:18:21.296000000','2006-12-01 15:18:21.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:171173A0-8610-11DB-B3A0-88F8F8EEC543','jbossesb','JBoss ESB User','2006-12-07 11:29:20.234000000','2006-12-07 11:29:20.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:171655A0-8610-11DB-95A0-A552F9534D51','jbossesb','JBoss ESB User','2006-12-07 11:29:20.250000000','2006-12-07 11:29:20.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17166090-8179-11DB-A966-BB2340DC797D','jbossesb','JBoss ESB User','2006-12-01 15:18:21.593000000','2006-12-01 15:18:21.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:171D5A80-8610-11DB-9A80-9F2D78C8DF58','jbossesb','JBoss ESB User','2006-12-07 11:29:20.296000000','2006-12-07 11:29:20.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17272970-8179-11DB-A966-F3CE87BB9E9A','jbossesb','JBoss ESB User','2006-12-01 15:18:21.734000000','2006-12-01 15:18:21.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17306D50-8610-11DB-AD50-A97132F6622B','jbossesb','JBoss ESB User','2006-12-07 11:29:20.437000000','2006-12-07 11:29:20.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1732DE50-8610-11DB-9E50-8E8FABFC1671','jbossesb','JBoss ESB User','2006-12-07 11:29:20.453000000','2006-12-07 11:29:20.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17355A40-8179-11DB-A966-A09B8470EE2D','jbossesb','JBoss ESB User','2006-12-01 15:18:21.812000000','2006-12-01 15:18:21.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17379940-8610-11DB-9940-FCCA0302A0A0','jbossesb','JBoss ESB User','2006-12-07 11:29:20.484000000','2006-12-07 11:29:20.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1756D580-861A-11DB-9580-A1D68D3B4DF7','jbossesb','JBoss ESB User','2006-12-07 12:40:55.640000000','2006-12-07 12:40:55.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:175B9070-861A-11DB-9070-DDBD2463202B','jbossesb','JBoss ESB User','2006-12-07 12:40:55.687000000','2006-12-07 12:40:55.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1762BC60-861A-11DB-BC60-CB403FA62772','jbossesb','JBoss ESB User','2006-12-07 12:40:55.734000000','2006-12-07 12:40:55.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17679E60-861A-11DB-9E60-B02FC1C42FB1','jbossesb','JBoss ESB User','2006-12-07 12:40:55.781000000','2006-12-07 12:40:55.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:176EA340-861A-11DB-A340-B7A3BC911E68','jbossesb','JBoss ESB User','2006-12-07 12:40:55.796000000','2006-12-07 12:40:55.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17869810-861A-11DB-9810-C3205A6193E2','jbossesb','JBoss ESB User','2006-12-07 12:40:55.953000000','2006-12-07 12:40:55.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:178B5300-861A-11DB-9300-95C7CDEBCA42','jbossesb','JBoss ESB User','2006-12-07 12:40:55.984000000','2006-12-07 12:40:55.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17900DF0-861A-11DB-8DF0-E4019719673D','jbossesb','JBoss ESB User','2006-12-07 12:40:56.310000000','2006-12-07 12:40:56.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:179739E0-861A-11DB-B9E0-AF21472F6037','jbossesb','JBoss ESB User','2006-12-07 12:40:56.780000000','2006-12-07 12:40:56.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:179BF4D0-861A-11DB-B4D0-E5B72FDDA2C8','jbossesb','JBoss ESB User','2006-12-07 12:40:56.930000000','2006-12-07 12:40:56.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17A7DBB0-861A-11DB-9BB0-86269D2CB92E','jbossesb','JBoss ESB User','2006-12-07 12:40:56.171000000','2006-12-07 12:40:56.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17D93C60-816E-11DB-A4E4-871441D1C999','jbossesb','JBoss ESB User','2006-12-01 13:59:38.437000000','2006-12-01 13:59:38.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17E9AF90-814C-11DB-A6BA-F877B7DE2F96','jbossesb','JBoss ESB User','2006-12-01 09:56:15.625000000','2006-12-01 09:56:15.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17F83610-816E-11DB-A4E4-B2D954251083','jbossesb','JBoss ESB User','2006-12-01 13:59:38.625000000','2006-12-01 13:59:38.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:17FA5160-814C-11DB-A6BA-957BA8ACEBEF','jbossesb','JBoss ESB User','2006-12-01 09:56:15.734000000','2006-12-01 09:56:15.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1803C740-814C-11DB-A6BA-A8CED7D35447','jbossesb','JBoss ESB User','2006-12-01 09:56:15.812000000','2006-12-01 09:56:15.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1808D7E0-816E-11DB-A4E4-AFB6010F5734','jbossesb','JBoss ESB User','2006-12-01 13:59:38.734000000','2006-12-01 13:59:38.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:180D6430-814C-11DB-A6BA-97FACD82635D','jbossesb','JBoss ESB User','2006-12-01 09:56:15.875000000','2006-12-01 09:56:15.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:18172FC0-816E-11DB-A4E4-8996568760E7','jbossesb','JBoss ESB User','2006-12-01 13:59:38.812000000','2006-12-01 13:59:38.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:18910E60-80E4-11DB-8E60-8C4D9728D148','jbossesb','JBoss ESB User','2006-11-30 21:31:49.780000000','2006-11-30 21:31:49.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:18B73400-80E4-11DB-B400-8E7CBBCB8ACD','jbossesb','JBoss ESB User','2006-11-30 21:31:49.312000000','2006-11-30 21:31:49.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:18CCB7D0-80E4-11DB-B7D0-99A0F55AB097','jbossesb','JBoss ESB User','2006-11-30 21:31:49.453000000','2006-11-30 21:31:49.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:18D40B30-8610-11DB-8B30-BC779E676152','jbossesb','JBoss ESB User','2006-12-07 11:29:23.171000000','2006-12-07 11:29:23.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:18DFCAA0-80E4-11DB-8AA0-A9CC1B0A7E97','jbossesb','JBoss ESB User','2006-11-30 21:31:49.593000000','2006-11-30 21:31:49.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:196CA1B0-8610-11DB-A1B0-E9A1CB58C42D','jbossesb','JBoss ESB User','2006-12-07 11:29:24.171000000','2006-12-07 11:29:24.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:197C9C50-80E3-11DB-9C50-8C05C8DEE32A','jbossesb','JBoss ESB User','2006-11-30 21:24:41.171000000','2006-11-30 21:24:41.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:198BDDF0-861A-11DB-9DF0-A26114FC7385','jbossesb','JBoss ESB User','2006-12-07 12:40:59.359000000','2006-12-07 12:40:59.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:198DCF30-8619-11DB-8F30-80FBD5A52C5F','jbossesb','JBoss ESB User','2006-12-07 12:33:49.875000000','2006-12-07 12:33:49.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1994FB20-8619-11DB-BB20-C2F70151F62C','jbossesb','JBoss ESB User','2006-12-07 12:33:49.906000000','2006-12-07 12:33:49.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:199C2710-8619-11DB-A710-E47609DDF05C','jbossesb','JBoss ESB User','2006-12-07 12:33:49.953000000','2006-12-07 12:33:49.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:199E7100-8619-11DB-B100-8120F7EB2F0B','jbossesb','JBoss ESB User','2006-12-07 12:33:49.984000000','2006-12-07 12:33:50.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19A35300-8619-11DB-9300-EDA19CCD15BC','jbossesb','JBoss ESB User','2006-12-07 12:33:50.150000000','2006-12-07 12:33:50.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19B5D4C0-80E3-11DB-94C0-9267E5EF102B','jbossesb','JBoss ESB User','2006-11-30 21:24:41.500000000','2006-11-30 21:24:41.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19BD4F30-860F-11DB-8F30-958103D3480C','jbossesb','JBoss ESB User','2006-12-07 11:22:15.203000000','2006-12-07 11:22:15.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19BFDBB0-8619-11DB-9BB0-CE937E13433B','jbossesb','JBoss ESB User','2006-12-07 12:33:50.187000000','2006-12-07 12:33:50.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19C24CB0-8619-11DB-8CB0-94BF47BC675F','jbossesb','JBoss ESB User','2006-12-07 12:33:50.203000000','2006-12-07 12:33:50.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19C47B20-860F-11DB-BB20-FEA4B6CC4B41','jbossesb','JBoss ESB User','2006-12-07 11:22:15.250000000','2006-12-07 11:22:15.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19C6C510-860F-11DB-8510-F80E74ECEBA3','jbossesb','JBoss ESB User','2006-12-07 11:22:15.265000000','2006-12-07 11:22:15.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19C707A0-8619-11DB-87A0-AB878B82D135','jbossesb','JBoss ESB User','2006-12-07 12:33:50.234000000','2006-12-07 12:33:50.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19CBC290-8619-11DB-8290-A1E607665684','jbossesb','JBoss ESB User','2006-12-07 12:33:50.265000000','2006-12-07 12:33:50.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19CE3390-8619-11DB-B390-F538F48F2D54','jbossesb','JBoss ESB User','2006-12-07 12:33:50.296000000','2006-12-07 12:33:50.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19D25D70-80E3-11DB-9D70-D1CCFD837A3A','jbossesb','JBoss ESB User','2006-11-30 21:24:41.718000000','2006-11-30 21:24:41.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19D51CF0-860F-11DB-9CF0-BF72E3CF0C8B','jbossesb','JBoss ESB User','2006-12-07 11:22:15.375000000','2006-12-07 11:22:15.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19DC48E0-860F-11DB-88E0-FEA9670B1255','jbossesb','JBoss ESB User','2006-12-07 11:22:15.406000000','2006-12-07 11:22:15.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19DC8B70-8619-11DB-8B70-BD72BC7F964D','jbossesb','JBoss ESB User','2006-12-07 12:33:50.390000000','2006-12-07 12:33:50.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19E103D0-860F-11DB-83D0-A384DDD32303','jbossesb','JBoss ESB User','2006-12-07 11:22:15.437000000','2006-12-07 11:22:15.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19EC9C30-80E3-11DB-9C30-CB84F8ED3C30','jbossesb','JBoss ESB User','2006-11-30 21:24:41.875000000','2006-11-30 21:24:41.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:19F8D190-860F-11DB-9190-B5D3E4350035','jbossesb','JBoss ESB User','2006-12-07 11:22:15.609000000','2006-12-07 11:22:15.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1A289420-860F-11DB-9420-EE060F2903CF','jbossesb','JBoss ESB User','2006-12-07 11:22:15.906000000','2006-12-07 11:22:15.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1A397880-8619-11DB-B880-B18A97E353F0','jbossesb','JBoss ESB User','2006-12-07 12:33:50.984000000','2006-12-07 12:33:51.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B507480-861E-11DB-B1A1-D4523356107F','jbossesb','JBoss ESB User','2006-12-07 13:09:40.296000000','2006-12-07 13:09:40.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B52E580-861E-11DB-B1A1-F6408A3E0E79','jbossesb','JBoss ESB User','2006-12-07 13:09:40.328000000','2006-12-07 13:09:40.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B5A1170-861E-11DB-B1A1-BDB7DED2B583','jbossesb','JBoss ESB User','2006-12-07 13:09:40.375000000','2006-12-07 13:09:40.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B5ECC60-861E-11DB-B1A1-E54D4FD59BC4','jbossesb','JBoss ESB User','2006-12-07 13:09:40.406000000','2006-12-07 13:09:40.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B638750-861E-11DB-B1A1-F64A806B885F','jbossesb','JBoss ESB User','2006-12-07 13:09:40.437000000','2006-12-07 13:09:40.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B679940-860E-11DB-9940-B1BA91D48AFF','jbossesb','JBoss ESB User','2006-12-07 11:15:08.500000000','2006-12-07 11:15:08.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B686950-861E-11DB-B1A1-EA9E47D227E1','jbossesb','JBoss ESB User','2006-12-07 13:09:40.468000000','2006-12-07 13:09:40.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B738020-860E-11DB-8020-DA36DD68D793','jbossesb','JBoss ESB User','2006-12-07 11:15:08.578000000','2006-12-07 11:15:08.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B7AAC10-860E-11DB-AC10-C95EBB68819C','jbossesb','JBoss ESB User','2006-12-07 11:15:08.640000000','2006-12-07 11:15:08.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B7DC610-861E-11DB-B1A1-F3460DD83429','jbossesb','JBoss ESB User','2006-12-07 13:09:40.593000000','2006-12-07 13:09:40.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B803710-861E-11DB-B1A1-D8F8C37A9D7E','jbossesb','JBoss ESB User','2006-12-07 13:09:40.625000000','2006-12-07 13:09:40.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B876300-861E-11DB-B1A1-B99672504AD6','jbossesb','JBoss ESB User','2006-12-07 13:09:40.656000000','2006-12-07 13:09:40.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B89ACF0-861E-11DB-B1A1-DFBB12334ABC','jbossesb','JBoss ESB User','2006-12-07 13:09:40.671000000','2006-12-07 13:09:40.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B8C1DF0-861E-11DB-B1A1-AC570289BE9D','jbossesb','JBoss ESB User','2006-12-07 13:09:40.687000000','2006-12-07 13:09:40.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B90D8E0-861E-11DB-B1A1-A822F75271CB','jbossesb','JBoss ESB User','2006-12-07 13:09:40.718000000','2006-12-07 13:09:40.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1B9BEFB0-860E-11DB-AFB0-8C61E8497A6A','jbossesb','JBoss ESB User','2006-12-07 11:15:08.875000000','2006-12-07 11:15:08.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1BA31BA0-860E-11DB-9BA0-CA4DE8BA2633','jbossesb','JBoss ESB User','2006-12-07 11:15:08.906000000','2006-12-07 11:15:08.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1BA7D690-860E-11DB-9690-E60C74601849','jbossesb','JBoss ESB User','2006-12-07 11:15:08.921000000','2006-12-07 11:15:08.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1BDC5FD0-8147-11DB-A69A-B0AEDB418142','jbossesb','JBoss ESB User','2006-12-01 09:20:34.968000000','2006-12-01 09:20:35.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C004B40-8618-11DB-8B40-A8AD792F433E','jbossesb','JBoss ESB User','2006-12-07 12:26:44.468000000','2006-12-07 12:26:44.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C052D40-8618-11DB-AD40-D74EBFAA4113','jbossesb','JBoss ESB User','2006-12-07 12:26:44.500000000','2006-12-07 12:26:44.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C0C3220-8618-11DB-B220-E0FCA638FE70','jbossesb','JBoss ESB User','2006-12-07 12:26:44.562000000','2006-12-07 12:26:44.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C10DD50-8147-11DB-A69A-92E7B69EF2A3','jbossesb','JBoss ESB User','2006-12-01 09:20:35.140000000','2006-12-01 09:20:35.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C11A1A0-861E-11DB-B1A1-CBCC36066A12','jbossesb','JBoss ESB User','2006-12-07 13:09:41.593000000','2006-12-07 13:09:41.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C135E10-8618-11DB-9E10-EF9FBFE7D39B','jbossesb','JBoss ESB User','2006-12-07 12:26:44.609000000','2006-12-07 12:26:44.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C1A8A00-8618-11DB-8A00-DA6C7D5C961B','jbossesb','JBoss ESB User','2006-12-07 12:26:44.640000000','2006-12-07 12:26:44.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C3E65B0-8618-11DB-A5B0-931A19DC50A2','jbossesb','JBoss ESB User','2006-12-07 12:26:44.875000000','2006-12-07 12:26:44.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C40AFA0-8618-11DB-AFA0-A130C703CFFA','jbossesb','JBoss ESB User','2006-12-07 12:26:44.921000000','2006-12-07 12:26:44.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C47DB90-8618-11DB-9B90-8CA80ABEE3BD','jbossesb','JBoss ESB User','2006-12-07 12:26:44.937000000','2006-12-07 12:26:44.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C4C9680-8618-11DB-9680-FCBA1D77CBD0','jbossesb','JBoss ESB User','2006-12-07 12:26:45.0','2006-12-07 12:26:45.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C50CFB0-814B-11DB-A6BA-B10223FD2078','jbossesb','JBoss ESB User','2006-12-01 09:49:13.546000000','2006-12-01 09:49:13.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C563370-8618-11DB-B370-B502A0AE7E10','jbossesb','JBoss ESB User','2006-12-07 12:26:45.310000000','2006-12-07 12:26:45.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C5FA950-8618-11DB-A950-9A305EDCBDB4','jbossesb','JBoss ESB User','2006-12-07 12:26:45.930000000','2006-12-07 12:26:45.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C63E280-814B-11DB-A6BA-BBDE9A859C17','jbossesb','JBoss ESB User','2006-12-01 09:49:13.656000000','2006-12-01 09:49:13.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C6B0E70-814B-11DB-A6BA-8432CD3338FC','jbossesb','JBoss ESB User','2006-12-01 09:49:13.687000000','2006-12-01 09:49:13.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C6FC960-814B-11DB-A6BA-F2C5FB21CFC6','jbossesb','JBoss ESB User','2006-12-01 09:49:13.734000000','2006-12-01 09:49:13.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1C93E440-860E-11DB-A440-9995DF1B0041','jbossesb','JBoss ESB User','2006-12-07 11:15:10.468000000','2006-12-07 11:15:10.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1CB92EA0-8170-11DB-AF51-A78A3F6AE03E','jbossesb','JBoss ESB User','2006-12-01 14:14:05.609000000','2006-12-01 14:14:05.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1CDCE340-8170-11DB-AF51-DFE2EDEDCDE2','jbossesb','JBoss ESB User','2006-12-01 14:14:05.812000000','2006-12-01 14:14:05.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1CDE0110-8618-11DB-8110-850FABACB685','jbossesb','JBoss ESB User','2006-12-07 12:26:45.921000000','2006-12-07 12:26:45.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1D0308E0-8170-11DB-AF51-FF6B3CA20C2D','jbossesb','JBoss ESB User','2006-12-01 14:14:06.109000000','2006-12-01 14:14:06.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1D1160C0-8170-11DB-AF51-EA6ACDB50064','jbossesb','JBoss ESB User','2006-12-01 14:14:06.156000000','2006-12-01 14:14:06.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1D3AD2A0-860E-11DB-92A0-F1E2D74303B6','jbossesb','JBoss ESB User','2006-12-07 11:15:11.578000000','2006-12-07 11:15:11.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1D42CEA0-861E-11DB-B1A1-C4A014D2E2FF','jbossesb','JBoss ESB User','2006-12-07 13:09:43.593000000','2006-12-07 13:09:43.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1D82DFE0-8173-11DB-B8A9-89C715064E0D','jbossesb','JBoss ESB User','2006-12-01 14:35:35.390000000','2006-12-01 14:35:35.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1DC40690-817E-11DB-8690-9B186A10F17C','jbossesb','JBoss ESB User','2006-12-01 15:54:20.859000000','2006-12-01 15:54:20.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1DDC5410-817F-11DB-9410-A16CAC6AF7E6','jbossesb','JBoss ESB User','2006-12-01 16:01:29.953000000','2006-12-01 16:01:29.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1DE23DF0-8173-11DB-B8A9-EC8938FE2A2E','jbossesb','JBoss ESB User','2006-12-01 14:35:36.310000000','2006-12-01 14:35:36.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1DF306D0-8173-11DB-B8A9-8E3900AE5450','jbossesb','JBoss ESB User','2006-12-01 14:35:36.125000000','2006-12-01 14:35:36.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1DF48610-8176-11DB-8610-8062354183F3','jbossesb','JBoss ESB User','2006-12-01 14:57:04.640000000','2006-12-01 14:57:04.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1DFEEDB0-8173-11DB-B8A9-ADEE52D37813','jbossesb','JBoss ESB User','2006-12-01 14:35:36.218000000','2006-12-01 14:35:36.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E367770-817E-11DB-B770-9D8A970C92E7','jbossesb','JBoss ESB User','2006-12-01 15:54:21.460000000','2006-12-01 15:54:21.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E3841A0-817D-11DB-81A0-EA7600DA9A4D','jbossesb','JBoss ESB User','2006-12-01 15:47:11.578000000','2006-12-01 15:47:11.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E40D150-8176-11DB-9150-A0C61C7C2208','jbossesb','JBoss ESB User','2006-12-01 14:57:05.140000000','2006-12-01 14:57:05.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E466580-8148-11DB-A580-B3CF9F4708D1','jbossesb','JBoss ESB User','2006-12-01 09:27:48.312000000','2006-12-01 09:27:48.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E479900-817F-11DB-9900-E54B5AE5E844','jbossesb','JBoss ESB User','2006-12-01 16:01:30.656000000','2006-12-01 16:01:30.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E498A40-817E-11DB-8A40-ADEE8EF43EBB','jbossesb','JBoss ESB User','2006-12-01 15:54:21.156000000','2006-12-01 15:54:21.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E500270-8148-11DB-8270-C3F1C7BE533E','jbossesb','JBoss ESB User','2006-12-01 09:27:48.406000000','2006-12-01 09:27:48.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E54F160-817D-11DB-B160-909D6ACA2516','jbossesb','JBoss ESB User','2006-12-01 15:47:11.765000000','2006-12-01 15:47:11.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E57E220-817E-11DB-A220-F2BBA8F88C21','jbossesb','JBoss ESB User','2006-12-01 15:54:21.250000000','2006-12-01 15:54:21.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E589F10-8176-11DB-9F10-ED065FFEC9F6','jbossesb','JBoss ESB User','2006-12-01 14:57:05.281000000','2006-12-01 14:57:05.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E597850-8148-11DB-B850-ECFECC7AEEAC','jbossesb','JBoss ESB User','2006-12-01 09:27:48.437000000','2006-12-01 09:27:48.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1E66F6F0-8176-11DB-B6F0-F72282336FB5','jbossesb','JBoss ESB User','2006-12-01 14:57:05.375000000','2006-12-01 14:57:05.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1EA6F710-817F-11DB-B710-F9C0716270E0','jbossesb','JBoss ESB User','2006-12-01 16:01:31.281000000','2006-12-01 16:01:31.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1EA86890-817D-11DB-A890-97192807EBBE','jbossesb','JBoss ESB User','2006-12-01 15:47:12.296000000','2006-12-01 15:47:12.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1EB90A60-817D-11DB-8A60-A00832E07077','jbossesb','JBoss ESB User','2006-12-01 15:47:12.406000000','2006-12-01 15:47:12.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1EBC7AE0-817F-11DB-BAE0-84140B9F2311','jbossesb','JBoss ESB User','2006-12-01 16:01:31.421000000','2006-12-01 16:01:31.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F0547E0-8178-11DB-87E0-A743C3254C58','jbossesb','JBoss ESB User','2006-12-01 15:11:25.437000000','2006-12-01 15:11:25.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F11ADC0-80E5-11DB-ADC0-FC7EABB22927','jbossesb','JBoss ESB User','2006-11-30 21:39:09.468000000','2006-11-30 21:39:09.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F21D090-8178-11DB-9090-D382652FF588','jbossesb','JBoss ESB User','2006-12-01 15:11:25.593000000','2006-12-01 15:11:25.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F30A770-80E5-11DB-A770-832F58FCEF02','jbossesb','JBoss ESB User','2006-11-30 21:39:09.687000000','2006-11-30 21:39:09.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F375460-8178-11DB-9460-8A99C7C72A34','jbossesb','JBoss ESB User','2006-12-01 15:11:25.750000000','2006-12-01 15:11:25.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F5D7A00-8178-11DB-BA00-B0DBF1BE34FD','jbossesb','JBoss ESB User','2006-12-01 15:11:26.171000000','2006-12-01 15:11:26.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F5DF900-80E5-11DB-B900-82EE2E8ADF0E','jbossesb','JBoss ESB User','2006-11-30 21:39:10.0','2006-11-30 21:39:10.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F620A20-8105-11DB-8A20-B0310F591C4B','jbossesb','JBoss ESB User','2006-12-01 01:28:13.906000000','2006-12-01 01:28:13.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F709B60-814D-11DB-A6BA-8C1225D3E583','jbossesb','JBoss ESB User','2006-12-01 10:03:37.750000000','2006-12-01 10:03:37.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F7837C0-80E5-11DB-B7C0-DA772CDE9CF9','jbossesb','JBoss ESB User','2006-11-30 21:39:10.140000000','2006-11-30 21:39:10.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F7C48E0-8105-11DB-88E0-F4AF9E3D602D','jbossesb','JBoss ESB User','2006-12-01 01:28:14.780000000','2006-12-01 01:28:14.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F813D30-814D-11DB-A6BA-D24D672AC85C','jbossesb','JBoss ESB User','2006-12-01 10:03:37.859000000','2006-12-01 10:03:37.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F886920-814D-11DB-A6BA-E991778C4962','jbossesb','JBoss ESB User','2006-12-01 10:03:37.906000000','2006-12-01 10:03:37.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F8AA0C0-8105-11DB-A0C0-8D2591E00BE1','jbossesb','JBoss ESB User','2006-12-01 01:28:14.171000000','2006-12-01 01:28:14.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1F8D2410-814D-11DB-A6BA-B09A9F294E27','jbossesb','JBoss ESB User','2006-12-01 10:03:37.937000000','2006-12-01 10:03:37.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:1FE543E0-8105-11DB-83E0-FA01CD2D4CF9','jbossesb','JBoss ESB User','2006-12-01 01:28:14.781000000','2006-12-01 01:28:14.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:203873E0-817C-11DB-B3E0-A8A4F0DEB227','jbossesb','JBoss ESB User','2006-12-01 15:40:05.406000000','2006-12-01 15:40:05.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:20576D90-817C-11DB-AD90-8FD15D184E25','jbossesb','JBoss ESB User','2006-12-01 15:40:05.609000000','2006-12-01 15:40:05.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:205E56F0-8172-11DB-B8A9-99798422C7D7','jbossesb','JBoss ESB User','2006-12-01 14:28:30.703000000','2006-12-01 14:28:30.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2060E370-817C-11DB-A370-8BB3FD1DBC2C','jbossesb','JBoss ESB User','2006-12-01 15:40:05.687000000','2006-12-01 15:40:05.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2071AC50-817C-11DB-AC50-DB7A7053CF6C','jbossesb','JBoss ESB User','2006-12-01 15:40:05.781000000','2006-12-01 15:40:05.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:207624B0-8172-11DB-B8A9-91A8D2155A07','jbossesb','JBoss ESB User','2006-12-01 14:28:30.890000000','2006-12-01 14:28:30.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:20893780-8172-11DB-B8A9-A7FD12EC8F67','jbossesb','JBoss ESB User','2006-12-01 14:28:30.968000000','2006-12-01 14:28:30.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:209EBB50-8172-11DB-B8A9-C3FA4866BED5','jbossesb','JBoss ESB User','2006-12-01 14:28:31.125000000','2006-12-01 14:28:31.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:20A058E0-861B-11DB-98E0-BBE094AA3784','jbossesb','JBoss ESB User','2006-12-07 12:48:20.734000000','2006-12-07 12:48:20.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:20FFB6F0-861B-11DB-B6F0-AC1450FD5B99','jbossesb','JBoss ESB User','2006-12-07 12:48:21.375000000','2006-12-07 12:48:21.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:21192830-8182-11DB-AB1E-92C63D414AC7','jbossesb','JBoss ESB User','2006-12-01 16:23:03.890000000','2006-12-01 16:23:03.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:212EAC00-8182-11DB-AB1E-CC9153E17B8B','jbossesb','JBoss ESB User','2006-12-01 16:23:04.0','2006-12-01 16:23:04.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2167DF10-816F-11DB-A4E4-D892D42BB925','jbossesb','JBoss ESB User','2006-12-01 14:07:03.937000000','2006-12-01 14:07:03.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:217FACD0-816F-11DB-A4E4-F4410BB82AD4','jbossesb','JBoss ESB User','2006-12-01 14:07:04.109000000','2006-12-01 14:07:04.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:21C28230-816F-11DB-A4E4-CFFCFDEA2ED3','jbossesb','JBoss ESB User','2006-12-01 14:07:04.531000000','2006-12-01 14:07:04.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:21CE6910-816F-11DB-A4E4-D9BEB77BEFDA','jbossesb','JBoss ESB User','2006-12-01 14:07:04.625000000','2006-12-01 14:07:04.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:22320C50-8100-11DB-B65A-9B758B63898A','jbossesb','JBoss ESB User','2006-12-01 00:52:31.156000000','2006-12-01 00:52:31.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:22496810-8104-11DB-A810-D681143980F8','jbossesb','JBoss ESB User','2006-12-01 01:21:09.281000000','2006-12-01 01:21:09.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:22510600-8100-11DB-B65A-8376EB9A19D2','jbossesb','JBoss ESB User','2006-12-01 00:52:31.328000000','2006-12-01 00:52:31.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:225F36D0-8100-11DB-B65A-E1163B2DA46C','jbossesb','JBoss ESB User','2006-12-01 00:52:31.437000000','2006-12-01 00:52:31.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:226B44C0-8100-11DB-B65A-D93FD9FD1AD5','jbossesb','JBoss ESB User','2006-12-01 00:52:31.500000000','2006-12-01 00:52:31.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2271FEB0-8104-11DB-BEB0-92A13BC3B2AD','jbossesb','JBoss ESB User','2006-12-01 01:21:09.546000000','2006-12-01 01:21:09.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2282A080-8104-11DB-A080-EB167D641E06','jbossesb','JBoss ESB User','2006-12-01 01:21:09.656000000','2006-12-01 01:21:09.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2295B350-8104-11DB-B350-BA4984920987','jbossesb','JBoss ESB User','2006-12-01 01:21:09.781000000','2006-12-01 01:21:09.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:231C2F50-8610-11DB-AF50-F0165F1188B4','jbossesb','JBoss ESB User','2006-12-07 11:29:40.437000000','2006-12-07 11:29:40.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23235B40-8610-11DB-9B40-E8F710AFAA71','jbossesb','JBoss ESB User','2006-12-07 11:29:40.484000000','2006-12-07 11:29:40.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:232A8730-8610-11DB-8730-EDE5F03BB2F3','jbossesb','JBoss ESB User','2006-12-07 11:29:40.531000000','2006-12-07 11:29:40.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2338DF10-8610-11DB-9F10-8F16433DDF23','jbossesb','JBoss ESB User','2006-12-07 11:29:40.609000000','2006-12-07 11:29:40.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:233B5010-8610-11DB-9010-CEB817A9A78B','jbossesb','JBoss ESB User','2006-12-07 11:29:40.640000000','2006-12-07 11:29:40.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23400B00-8610-11DB-8B00-DB66A057820E','jbossesb','JBoss ESB User','2006-12-07 11:29:40.656000000','2006-12-07 11:29:40.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2382FBE0-861A-11DB-BBE0-8D4189D6D813','jbossesb','JBoss ESB User','2006-12-07 12:41:16.780000000','2006-12-07 12:41:16.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23852A50-8610-11DB-AA50-EE2CFC1443FA','jbossesb','JBoss ESB User','2006-12-07 11:29:41.109000000','2006-12-07 11:29:41.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:238A27D0-861A-11DB-A7D0-CAFCB2D59F9A','jbossesb','JBoss ESB User','2006-12-07 12:41:16.109000000','2006-12-07 12:41:16.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:238C98D0-861A-11DB-98D0-CA93AB8EC85D','jbossesb','JBoss ESB User','2006-12-07 12:41:16.125000000','2006-12-07 12:41:16.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:238CD330-8175-11DB-AE84-C5C67867E026','jbossesb','JBoss ESB User','2006-12-01 14:50:04.593000000','2006-12-01 14:50:04.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:239153C0-861A-11DB-93C0-BD8ACBE59E3E','jbossesb','JBoss ESB User','2006-12-07 12:41:16.156000000','2006-12-07 12:41:16.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23939DB0-861A-11DB-9DB0-91CC31A9A749','jbossesb','JBoss ESB User','2006-12-07 12:41:16.187000000','2006-12-07 12:41:16.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23A92180-861A-11DB-A180-A8C983A5ED59','jbossesb','JBoss ESB User','2006-12-07 12:41:16.312000000','2006-12-07 12:41:16.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23AB9280-861A-11DB-9280-A2F70324E8F6','jbossesb','JBoss ESB User','2006-12-07 12:41:16.343000000','2006-12-07 12:41:16.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23B2BE70-861A-11DB-BE70-DE9D84704F9C','jbossesb','JBoss ESB User','2006-12-07 12:41:16.375000000','2006-12-07 12:41:16.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23B50860-861A-11DB-8860-AC4F379553EB','jbossesb','JBoss ESB User','2006-12-07 12:41:16.390000000','2006-12-07 12:41:16.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23B9C350-861A-11DB-8350-D846ECAFDC58','jbossesb','JBoss ESB User','2006-12-07 12:41:16.453000000','2006-12-07 12:41:16.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23BA24C0-8175-11DB-AE84-AEDB47D5B1F2','jbossesb','JBoss ESB User','2006-12-01 14:50:04.890000000','2006-12-01 14:50:04.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23C81B30-861A-11DB-9B30-B1FDD6D1F460','jbossesb','JBoss ESB User','2006-12-07 12:41:16.515000000','2006-12-07 12:41:16.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23D35640-816E-11DB-A4E4-BEA1F94BB24E','jbossesb','JBoss ESB User','2006-12-01 13:59:58.546000000','2006-12-01 13:59:58.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23D57190-814C-11DB-A6BA-97484168D636','jbossesb','JBoss ESB User','2006-12-01 09:56:35.640000000','2006-12-01 09:56:35.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23EACE50-814C-11DB-A6BA-BDB00CC1A45D','jbossesb','JBoss ESB User','2006-12-01 09:56:35.765000000','2006-12-01 09:56:35.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23EDFE40-8610-11DB-BE40-CEA52166FBB3','jbossesb','JBoss ESB User','2006-12-07 11:29:41.812000000','2006-12-07 11:29:41.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23F92630-814C-11DB-A6BA-9E7BBF49F6A9','jbossesb','JBoss ESB User','2006-12-01 09:56:35.875000000','2006-12-01 09:56:35.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:23FBC5D0-816E-11DB-A4E4-FBC37F261683','jbossesb','JBoss ESB User','2006-12-01 13:59:58.796000000','2006-12-01 13:59:58.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:24005220-814C-11DB-A6BA-AFBB76713261','jbossesb','JBoss ESB User','2006-12-01 09:56:35.921000000','2006-12-01 09:56:35.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:240ED8A0-816E-11DB-A4E4-9DCFB9948871','jbossesb','JBoss ESB User','2006-12-01 13:59:58.890000000','2006-12-01 13:59:58.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:241ABF80-816E-11DB-A4E4-D74CFC4AC282','jbossesb','JBoss ESB User','2006-12-01 13:59:58.968000000','2006-12-01 13:59:59.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:24FB2820-80E4-11DB-A820-99579F857CAB','jbossesb','JBoss ESB User','2006-11-30 21:32:09.890000000','2006-11-30 21:32:09.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:253216A0-80E4-11DB-96A0-AEAAB6D45608','jbossesb','JBoss ESB User','2006-11-30 21:32:10.250000000','2006-11-30 21:32:10.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2549E460-80E4-11DB-A460-DDBA7C443FB5','jbossesb','JBoss ESB User','2006-11-30 21:32:10.406000000','2006-11-30 21:32:10.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2574C4F0-80E4-11DB-84F0-DF9F4DDC2351','jbossesb','JBoss ESB User','2006-11-30 21:32:10.703000000','2006-11-30 21:32:10.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:257DE220-80E3-11DB-A220-821D3947481D','jbossesb','JBoss ESB User','2006-11-30 21:25:01.281000000','2006-11-30 21:25:01.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25988AE0-8619-11DB-8AE0-F6BCD8330B55','jbossesb','JBoss ESB User','2006-12-07 12:34:10.620000000','2006-12-07 12:34:10.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25A471C0-8619-11DB-B1C0-FBC577075B35','jbossesb','JBoss ESB User','2006-12-07 12:34:10.156000000','2006-12-07 12:34:10.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25AB9DB0-8619-11DB-9DB0-AD3787894294','jbossesb','JBoss ESB User','2006-12-07 12:34:10.203000000','2006-12-07 12:34:10.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25B2C9A0-8619-11DB-89A0-D4949A89C71E','jbossesb','JBoss ESB User','2006-12-07 12:34:10.250000000','2006-12-07 12:34:10.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25B4A990-80E3-11DB-A990-8903A3F928FB','jbossesb','JBoss ESB User','2006-11-30 21:25:01.640000000','2006-11-30 21:25:01.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25B9F590-8619-11DB-B590-E7522A2E3719','jbossesb','JBoss ESB User','2006-12-07 12:34:10.281000000','2006-12-07 12:34:10.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25D180C0-860F-11DB-80C0-D085402B4420','jbossesb','JBoss ESB User','2006-12-07 11:22:35.468000000','2006-12-07 11:22:35.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25D3A340-80E3-11DB-A340-8FBCA59D518D','jbossesb','JBoss ESB User','2006-11-30 21:25:01.890000000','2006-11-30 21:25:01.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25D3F1C0-860F-11DB-B1C0-CEC959827710','jbossesb','JBoss ESB User','2006-12-07 11:22:35.484000000','2006-12-07 11:22:35.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25D43450-8619-11DB-B450-D56F4A9E2472','jbossesb','JBoss ESB User','2006-12-07 12:34:10.453000000','2006-12-07 12:34:10.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25D8ACB0-860F-11DB-ACB0-A014DD61764C','jbossesb','JBoss ESB User','2006-12-07 11:22:35.515000000','2006-12-07 11:22:35.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25D8EF40-8619-11DB-AF40-D1E43932F68A','jbossesb','JBoss ESB User','2006-12-07 12:34:10.500000000','2006-12-07 12:34:10.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25E249A0-860F-11DB-89A0-8AF5E14F16C9','jbossesb','JBoss ESB User','2006-12-07 11:22:35.578000000','2006-12-07 11:22:35.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25E26520-8619-11DB-A520-C5876BB74F07','jbossesb','JBoss ESB User','2006-12-07 12:34:10.546000000','2006-12-07 12:34:10.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25E49390-860F-11DB-9390-FF12E1652178','jbossesb','JBoss ESB User','2006-12-07 11:22:35.625000000','2006-12-07 11:22:35.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25E74720-8619-11DB-8720-EB5246B2232D','jbossesb','JBoss ESB User','2006-12-07 12:34:10.593000000','2006-12-07 12:34:10.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25EBBF80-860F-11DB-BF80-F480F7095059','jbossesb','JBoss ESB User','2006-12-07 11:22:35.640000000','2006-12-07 11:22:35.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25EE7310-8619-11DB-B310-939653DC1161','jbossesb','JBoss ESB User','2006-12-07 12:34:10.625000000','2006-12-07 12:34:10.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:25F9C8E0-80E3-11DB-88E0-876D1441F730','jbossesb','JBoss ESB User','2006-11-30 21:25:02.930000000','2006-11-30 21:25:02.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2663ADA0-861A-11DB-ADA0-9E0AA22CE64B','jbossesb','JBoss ESB User','2006-12-07 12:41:20.921000000','2006-12-07 12:41:20.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:266CCAD0-8619-11DB-8AD0-FE8AED25B607','jbossesb','JBoss ESB User','2006-12-07 12:34:11.468000000','2006-12-07 12:34:11.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:26B13390-8147-11DB-A69A-A25571556538','jbossesb','JBoss ESB User','2006-12-01 09:20:52.953000000','2006-12-01 09:20:52.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:26C28BF0-8619-11DB-8BF0-CCD4D60DBA26','jbossesb','JBoss ESB User','2006-12-07 12:34:12.310000000','2006-12-07 12:34:12.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:26D75930-8147-11DB-A69A-E8BD45CBDBDB','jbossesb','JBoss ESB User','2006-12-01 09:20:53.187000000','2006-12-01 09:20:53.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:26E7FB00-8147-11DB-A69A-F07B3897A1A6','jbossesb','JBoss ESB User','2006-12-01 09:20:53.296000000','2006-12-01 09:20:53.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:26EF26F0-8147-11DB-A69A-BB1DA873CC7F','jbossesb','JBoss ESB User','2006-12-01 09:20:53.343000000','2006-12-01 09:20:53.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27183190-860F-11DB-B190-F935F1FF33A5','jbossesb','JBoss ESB User','2006-12-07 11:22:37.609000000','2006-12-07 11:22:37.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:275B5740-861E-11DB-B1A1-AC902348A425','jbossesb','JBoss ESB User','2006-12-07 13:10:00.500000000','2006-12-07 13:10:00.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27601230-861E-11DB-B1A1-B4C0DC911E80','jbossesb','JBoss ESB User','2006-12-07 13:10:00.531000000','2006-12-07 13:10:00.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27625C20-861E-11DB-B1A1-FB617A1487F8','jbossesb','JBoss ESB User','2006-12-07 13:10:00.546000000','2006-12-07 13:10:00.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2764CD20-861E-11DB-B1A1-8BB2189AEE6A','jbossesb','JBoss ESB User','2006-12-07 13:10:00.562000000','2006-12-07 13:10:00.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27673E20-861E-11DB-B1A1-D9284F48B481','jbossesb','JBoss ESB User','2006-12-07 13:10:00.578000000','2006-12-07 13:10:00.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27698810-861E-11DB-B1A1-9A0ED87D2BD8','jbossesb','JBoss ESB User','2006-12-07 13:10:00.593000000','2006-12-07 13:10:00.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27817CE0-861E-11DB-B1A1-B92B5633EE97','jbossesb','JBoss ESB User','2006-12-07 13:10:00.765000000','2006-12-07 13:10:00.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:278637D0-861E-11DB-B1A1-C26658639C07','jbossesb','JBoss ESB User','2006-12-07 13:10:00.781000000','2006-12-07 13:10:00.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:278AA270-860F-11DB-A270-D0B268EE87AB','jbossesb','JBoss ESB User','2006-12-07 11:22:38.375000000','2006-12-07 11:22:38.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:278AF2C0-861E-11DB-B1A1-A5AAC2FA7EC2','jbossesb','JBoss ESB User','2006-12-07 13:10:00.828000000','2006-12-07 13:10:00.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:278FADB0-861E-11DB-B1A1-D5817620170E','jbossesb','JBoss ESB User','2006-12-07 13:10:00.843000000','2006-12-07 13:10:00.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27948FB0-861E-11DB-B1A1-CE7CE979F999','jbossesb','JBoss ESB User','2006-12-07 13:10:00.875000000','2006-12-07 13:10:00.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27994AA0-861E-11DB-B1A1-D8010F2471AE','jbossesb','JBoss ESB User','2006-12-07 13:10:00.921000000','2006-12-07 13:10:00.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:279E0590-861E-11DB-B1A1-D192775E3B38','jbossesb','JBoss ESB User','2006-12-07 13:10:00.953000000','2006-12-07 13:10:00.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:279FA680-860E-11DB-A680-9C336F80939E','jbossesb','JBoss ESB User','2006-12-07 11:15:29.150000000','2006-12-07 11:15:29.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27A46170-860E-11DB-A170-D46374FE09BA','jbossesb','JBoss ESB User','2006-12-07 11:15:29.310000000','2006-12-07 11:15:29.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27AB8D60-860E-11DB-8D60-8B4A52A243CE','jbossesb','JBoss ESB User','2006-12-07 11:15:29.780000000','2006-12-07 11:15:29.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27BC2F30-860E-11DB-AF30-B400AA05AD4E','jbossesb','JBoss ESB User','2006-12-07 11:15:29.203000000','2006-12-07 11:15:29.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27C0EA20-860E-11DB-AA20-901259ECDFC7','jbossesb','JBoss ESB User','2006-12-07 11:15:29.218000000','2006-12-07 11:15:29.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:27C35B20-860E-11DB-9B20-9FB1C3268EC8','jbossesb','JBoss ESB User','2006-12-07 11:15:29.250000000','2006-12-07 11:15:29.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2808BD00-8618-11DB-BD00-CA795B22E5C5','jbossesb','JBoss ESB User','2006-12-07 12:27:04.687000000','2006-12-07 12:27:04.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:280FE8F0-8618-11DB-A8F0-F545DDD58566','jbossesb','JBoss ESB User','2006-12-07 12:27:04.718000000','2006-12-07 12:27:04.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:281714E0-8618-11DB-94E0-F03552904074','jbossesb','JBoss ESB User','2006-12-07 12:27:04.750000000','2006-12-07 12:27:04.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28195ED0-8618-11DB-9ED0-AE6789A9FC8D','jbossesb','JBoss ESB User','2006-12-07 12:27:04.765000000','2006-12-07 12:27:04.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:281BCFD0-8618-11DB-8FD0-FBA128139EB6','jbossesb','JBoss ESB User','2006-12-07 12:27:04.812000000','2006-12-07 12:27:04.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:283F8470-8618-11DB-8470-97ACC662748A','jbossesb','JBoss ESB User','2006-12-07 12:27:05.150000000','2006-12-07 12:27:05.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28443F60-8618-11DB-BF60-D6242BA0B3DD','jbossesb','JBoss ESB User','2006-12-07 12:27:05.460000000','2006-12-07 12:27:05.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28462EA0-814B-11DB-A6BA-DA128F1BD399','jbossesb','JBoss ESB User','2006-12-01 09:49:33.578000000','2006-12-01 09:49:33.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2849AEE0-861E-11DB-B1A1-DB5C96A09371','jbossesb','JBoss ESB User','2006-12-07 13:10:02.620000000','2006-12-07 13:10:02.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:284B6B50-8618-11DB-AB50-CB50E472C672','jbossesb','JBoss ESB User','2006-12-07 12:27:05.109000000','2006-12-07 12:27:05.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28504D50-8618-11DB-8D50-C92D4415F3FF','jbossesb','JBoss ESB User','2006-12-07 12:27:05.140000000','2006-12-07 12:27:05.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28545F70-814B-11DB-A6BA-8CF46CEBC73E','jbossesb','JBoss ESB User','2006-12-01 09:49:33.687000000','2006-12-01 09:49:33.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28575230-8618-11DB-9230-F3FF8768114A','jbossesb','JBoss ESB User','2006-12-07 12:27:05.187000000','2006-12-07 12:27:05.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:285DFC60-814B-11DB-A6BA-A011D8F3ABB3','jbossesb','JBoss ESB User','2006-12-01 09:49:33.734000000','2006-12-01 09:49:33.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28652850-814B-11DB-A6BA-A1673146D6DE','jbossesb','JBoss ESB User','2006-12-01 09:49:33.781000000','2006-12-01 09:49:33.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:287190F0-8618-11DB-90F0-A89926AA1EB0','jbossesb','JBoss ESB User','2006-12-07 12:27:05.359000000','2006-12-07 12:27:05.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28B4B6B0-8563-11DB-A4E1-C0C40013076A','jbossesb','JBoss ESB User','2006-12-06 14:51:26.984000000','2006-12-06 14:51:27.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:28DADC50-8563-11DB-A4E1-F1792297814E','jbossesb','JBoss ESB User','2006-12-06 14:51:27.171000000','2006-12-06 14:51:27.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:290A2770-8618-11DB-A770-AA3D07788BEE','jbossesb','JBoss ESB User','2006-12-07 12:27:06.343000000','2006-12-07 12:27:06.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:29259250-8170-11DB-AF51-F9736FB40487','jbossesb','JBoss ESB User','2006-12-01 14:14:26.515000000','2006-12-01 14:14:26.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2976BF90-8170-11DB-AF51-AEF8D275EF75','jbossesb','JBoss ESB User','2006-12-01 14:14:26.953000000','2006-12-01 14:14:27.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:299CE530-8170-11DB-AF51-96709B7417DD','jbossesb','JBoss ESB User','2006-12-01 14:14:27.203000000','2006-12-01 14:14:27.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:29B96DE0-8170-11DB-AF51-DF1401A32059','jbossesb','JBoss ESB User','2006-12-01 14:14:27.390000000','2006-12-01 14:14:27.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:29D1F030-8176-11DB-B030-C4DF2720A189','jbossesb','JBoss ESB User','2006-12-01 14:57:24.562000000','2006-12-01 14:57:24.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:29E5CDB0-8173-11DB-B8A9-BD692635927C','jbossesb','JBoss ESB User','2006-12-01 14:35:56.578000000','2006-12-01 14:35:56.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:29F0E9E0-8176-11DB-A9E0-FF89F62BD84C','jbossesb','JBoss ESB User','2006-12-01 14:57:24.765000000','2006-12-01 14:57:24.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A066DB0-8176-11DB-ADB0-C6B85087FB0E','jbossesb','JBoss ESB User','2006-12-01 14:57:24.890000000','2006-12-01 14:57:24.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A149E80-8176-11DB-9E80-AD0FEC38E56A','jbossesb','JBoss ESB User','2006-12-01 14:57:24.984000000','2006-12-01 14:57:25.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A27F6B0-861C-11DB-B6B0-9BC4E28B66AE','jbossesb','JBoss ESB User','2006-12-07 12:55:46.343000000','2006-12-07 12:55:46.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A2BAF50-817E-11DB-AF50-CBB0BA44D13C','jbossesb','JBoss ESB User','2006-12-01 15:54:41.109000000','2006-12-01 15:54:41.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A2EA010-817F-11DB-A010-B9E6A1D63D9A','jbossesb','JBoss ESB User','2006-12-01 16:01:50.625000000','2006-12-01 16:01:51.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A36E270-8148-11DB-A270-B761BA3B8EAC','jbossesb','JBoss ESB User','2006-12-01 09:28:08.359000000','2006-12-01 09:28:08.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A452BC0-8173-11DB-B8A9-A5D4065908A2','jbossesb','JBoss ESB User','2006-12-01 14:35:56.796000000','2006-12-01 14:35:56.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A45EE10-817E-11DB-AE10-BCB6ED41ADEB','jbossesb','JBoss ESB User','2006-12-01 15:54:41.265000000','2006-12-01 15:54:41.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A5383A0-8173-11DB-B8A9-F21002AFFE2E','jbossesb','JBoss ESB User','2006-12-01 14:35:56.906000000','2006-12-01 14:35:56.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A539230-8148-11DB-9230-D8566C23487A','jbossesb','JBoss ESB User','2006-12-01 09:28:08.546000000','2006-12-01 09:28:08.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A5D0810-8148-11DB-8810-D59FAF275072','jbossesb','JBoss ESB User','2006-12-01 09:28:08.609000000','2006-12-01 09:28:08.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A61DB80-8173-11DB-B8A9-C36EB42CD14E','jbossesb','JBoss ESB User','2006-12-01 14:35:57.150000000','2006-12-01 14:35:57.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A643400-8148-11DB-B400-9974693AE05A','jbossesb','JBoss ESB User','2006-12-01 09:28:08.640000000','2006-12-01 09:28:08.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A704EE0-817D-11DB-8EE0-F1E8FA87A1D0','jbossesb','JBoss ESB User','2006-12-01 15:47:32.620000000','2006-12-01 15:47:32.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A91B990-817D-11DB-B990-CFA1F6812729','jbossesb','JBoss ESB User','2006-12-01 15:47:32.296000000','2006-12-01 15:47:32.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A99E500-817F-11DB-A500-9E1B7E2812F1','jbossesb','JBoss ESB User','2006-12-01 16:01:51.328000000','2006-12-01 16:01:51.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A9BD640-817E-11DB-9640-9AB2BB2D9A48','jbossesb','JBoss ESB User','2006-12-01 15:54:41.828000000','2006-12-01 15:54:41.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2A9DA070-817D-11DB-A070-D597EE29A81C','jbossesb','JBoss ESB User','2006-12-01 15:47:32.359000000','2006-12-01 15:47:32.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2AA7BD20-817E-11DB-BD20-A656B5A54A04','jbossesb','JBoss ESB User','2006-12-01 15:54:41.921000000','2006-12-01 15:54:41.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2AAA86D0-817F-11DB-86D0-B06F29E5BF17','jbossesb','JBoss ESB User','2006-12-01 16:01:51.453000000','2006-12-01 16:01:51.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2AB0B340-817D-11DB-B340-C9915046FDBB','jbossesb','JBoss ESB User','2006-12-01 15:47:32.468000000','2006-12-01 15:47:32.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B09E4E0-817F-11DB-A4E0-EB30C51954D3','jbossesb','JBoss ESB User','2006-12-01 16:01:52.460000000','2006-12-01 16:01:52.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B2A4250-8178-11DB-8250-9A0AA48B8B8C','jbossesb','JBoss ESB User','2006-12-01 15:11:45.812000000','2006-12-01 15:11:45.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B391930-80E5-11DB-9930-E03F6BBC622E','jbossesb','JBoss ESB User','2006-11-30 21:39:29.984000000','2006-11-30 21:39:30.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B493C00-8178-11DB-BC00-BE1084D1F946','jbossesb','JBoss ESB User','2006-12-01 15:11:45.984000000','2006-12-01 15:11:46.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B59DDD0-8178-11DB-9DD0-9DC89123EB87','jbossesb','JBoss ESB User','2006-12-01 15:11:46.930000000','2006-12-01 15:11:46.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B65D340-814D-11DB-A6BA-B5EFBC6576B1','jbossesb','JBoss ESB User','2006-12-01 10:03:57.828000000','2006-12-01 10:03:57.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B6835B0-8178-11DB-B5B0-DAD3ED252413','jbossesb','JBoss ESB User','2006-12-01 15:11:46.187000000','2006-12-01 15:11:46.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B6F36D0-8105-11DB-B6D0-8E06C73F6F4E','jbossesb','JBoss ESB User','2006-12-01 01:28:34.250000000','2006-12-01 01:28:34.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B71BA20-814D-11DB-A6BA-C372FB7ECDD5','jbossesb','JBoss ESB User','2006-12-01 10:03:57.921000000','2006-12-01 10:03:57.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B7B5710-814D-11DB-A6BA-9B4F80E2B7C3','jbossesb','JBoss ESB User','2006-12-01 10:03:57.953000000','2006-12-01 10:03:57.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B80A980-80E5-11DB-A980-B05CB169DA8D','jbossesb','JBoss ESB User','2006-11-30 21:39:30.328000000','2006-11-30 21:39:30.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B93BC50-80E5-11DB-BC50-C1EBD35F86E4','jbossesb','JBoss ESB User','2006-11-30 21:39:30.468000000','2006-11-30 21:39:30.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B94A610-861C-11DB-A610-E71C14E91549','jbossesb','JBoss ESB User','2006-12-07 12:55:48.609000000','2006-12-07 12:55:48.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2B9C8860-8105-11DB-8860-84B496ED72BE','jbossesb','JBoss ESB User','2006-12-01 01:28:34.437000000','2006-12-01 01:28:34.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2BA91910-80E5-11DB-9910-BD8A40B9D2CA','jbossesb','JBoss ESB User','2006-11-30 21:39:30.656000000','2006-11-30 21:39:31.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2BAF9B30-8105-11DB-9B30-D0AB603ADFA2','jbossesb','JBoss ESB User','2006-12-01 01:28:34.546000000','2006-12-01 01:28:34.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2BC03D00-8105-11DB-BD00-BDFCF5D43A0C','jbossesb','JBoss ESB User','2006-12-01 01:28:34.640000000','2006-12-01 01:28:34.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C34D7B0-817C-11DB-97B0-CB1EF4B42BE2','jbossesb','JBoss ESB User','2006-12-01 15:40:25.515000000','2006-12-01 15:40:25.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C518770-817C-11DB-8770-BF4C6E8F4816','jbossesb','JBoss ESB User','2006-12-01 15:40:25.718000000','2006-12-01 15:40:25.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C5D6E50-817C-11DB-AE50-8F1F0F96C543','jbossesb','JBoss ESB User','2006-12-01 15:40:25.828000000','2006-12-01 15:40:25.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C753C10-817C-11DB-BC10-D9801E8A02C3','jbossesb','JBoss ESB User','2006-12-01 15:40:25.937000000','2006-12-01 15:40:25.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C79DB80-8172-11DB-B8A9-F9A2A881CDAB','jbossesb','JBoss ESB User','2006-12-01 14:28:51.150000000','2006-12-01 14:28:51.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C82A500-861B-11DB-A500-BEAE2DD85A1D','jbossesb','JBoss ESB User','2006-12-07 12:48:40.656000000','2006-12-07 12:48:40.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C875FF0-861B-11DB-9FF0-8E64C24C209B','jbossesb','JBoss ESB User','2006-12-07 12:48:40.703000000','2006-12-07 12:48:40.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C8F3840-8172-11DB-B8A9-C57CB2785208','jbossesb','JBoss ESB User','2006-12-01 14:28:51.140000000','2006-12-01 14:28:51.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C9346D0-861B-11DB-86D0-C1E3E3A6CFA1','jbossesb','JBoss ESB User','2006-12-07 12:48:40.765000000','2006-12-07 12:48:40.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C9801C0-861B-11DB-81C0-E8E75F528BEA','jbossesb','JBoss ESB User','2006-12-07 12:48:40.796000000','2006-12-07 12:48:40.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C98D530-8172-11DB-B8A9-AB2B3CCBCD10','jbossesb','JBoss ESB User','2006-12-01 14:28:51.203000000','2006-12-01 14:28:51.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C9A72C0-861B-11DB-B2C0-D054557711D8','jbossesb','JBoss ESB User','2006-12-07 12:48:40.828000000','2006-12-07 12:48:40.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C9F2DB0-861B-11DB-ADB0-CBC9E24EEBCB','jbossesb','JBoss ESB User','2006-12-07 12:48:40.843000000','2006-12-07 12:48:40.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2C9FDCE0-860E-11DB-9CE0-F3BD126442B4','jbossesb','JBoss ESB User','2006-12-07 11:15:37.390000000','2006-12-07 11:15:37.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CA24B10-8172-11DB-B8A9-D3536DF922BC','jbossesb','JBoss ESB User','2006-12-01 14:28:51.296000000','2006-12-01 14:28:51.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CBE2760-861B-11DB-A760-C93D224DA901','jbossesb','JBoss ESB User','2006-12-07 12:48:41.620000000','2006-12-07 12:48:41.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CC30960-861B-11DB-8960-DB84F81523B5','jbossesb','JBoss ESB User','2006-12-07 12:48:41.109000000','2006-12-07 12:48:41.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CCC7F40-861B-11DB-BF40-9729A82CA95C','jbossesb','JBoss ESB User','2006-12-07 12:48:41.156000000','2006-12-07 12:48:41.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CD13A30-861B-11DB-BA30-B17647E0ACB6','jbossesb','JBoss ESB User','2006-12-07 12:48:41.171000000','2006-12-07 12:48:41.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CDAD720-861B-11DB-9720-DE990AA68F2E','jbossesb','JBoss ESB User','2006-12-07 12:48:41.250000000','2006-12-07 12:48:41.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CE44D00-861B-11DB-8D00-C9A86DDED0A1','jbossesb','JBoss ESB User','2006-12-07 12:48:41.328000000','2006-12-07 12:48:41.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CF75FD0-861B-11DB-9FD0-922284D5EB24','jbossesb','JBoss ESB User','2006-12-07 12:48:41.437000000','2006-12-07 12:48:41.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CFC41D0-861B-11DB-81D0-B109FAC75864','jbossesb','JBoss ESB User','2006-12-07 12:48:41.453000000','2006-12-07 12:48:41.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2CFE8BC0-861B-11DB-8BC0-CCB15CAE68D8','jbossesb','JBoss ESB User','2006-12-07 12:48:41.468000000','2006-12-07 12:48:41.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D00FCC0-861B-11DB-BCC0-A17F68C86F99','jbossesb','JBoss ESB User','2006-12-07 12:48:41.484000000','2006-12-07 12:48:41.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D036DC0-861B-11DB-ADC0-ED17F65B66D7','jbossesb','JBoss ESB User','2006-12-07 12:48:41.500000000','2006-12-07 12:48:41.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D168090-861B-11DB-8090-982E1D4C2553','jbossesb','JBoss ESB User','2006-12-07 12:48:41.625000000','2006-12-07 12:48:41.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D1B3B80-861B-11DB-BB80-8F144C6CC3C1','jbossesb','JBoss ESB User','2006-12-07 12:48:41.656000000','2006-12-07 12:48:41.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D1FF670-861B-11DB-B670-ADD63F300A84','jbossesb','JBoss ESB User','2006-12-07 12:48:41.703000000','2006-12-07 12:48:41.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D272260-861B-11DB-A260-9B47B0D59476','jbossesb','JBoss ESB User','2006-12-07 12:48:41.734000000','2006-12-07 12:48:41.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D2BDD50-861B-11DB-9D50-9636E30958D2','jbossesb','JBoss ESB User','2006-12-07 12:48:41.781000000','2006-12-07 12:48:41.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D3C60D0-8175-11DB-AE84-9BE19B017AC0','jbossesb','JBoss ESB User','2006-12-01 14:50:20.859000000','2006-12-01 14:50:20.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D445A40-860E-11DB-9A40-BCDE7E5A78AE','jbossesb','JBoss ESB User','2006-12-07 11:15:38.484000000','2006-12-07 11:15:38.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D66B940-8182-11DB-AB1E-E0D7F2B73144','jbossesb','JBoss ESB User','2006-12-01 16:23:24.500000000','2006-12-01 16:23:24.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D8341F0-8182-11DB-AB1E-A1D74D749A74','jbossesb','JBoss ESB User','2006-12-01 16:23:24.687000000','2006-12-01 16:23:24.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2D8FD800-8175-11DB-AE84-AB913052AFD2','jbossesb','JBoss ESB User','2006-12-01 14:50:21.312000000','2006-12-01 14:50:21.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DA23BA0-8182-11DB-AB1E-CE3E6BA2DE99','jbossesb','JBoss ESB User','2006-12-01 16:23:24.906000000','2006-12-01 16:23:24.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DA4A740-816F-11DB-A4E4-CEBA532FAF66','jbossesb','JBoss ESB User','2006-12-01 14:07:24.484000000','2006-12-01 14:07:24.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DABD890-8182-11DB-AB1E-DE661241BA4D','jbossesb','JBoss ESB User','2006-12-01 16:23:24.953000000','2006-12-01 16:23:24.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DAED1B0-8175-11DB-AE84-C856573B8514','jbossesb','JBoss ESB User','2006-12-01 14:50:21.578000000','2006-12-01 14:50:21.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DBA2B10-816F-11DB-A4E4-C777F60A38F4','jbossesb','JBoss ESB User','2006-12-01 14:07:24.640000000','2006-12-01 14:07:24.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DC473D0-861B-11DB-B3D0-EAF75B2400B5','jbossesb','JBoss ESB User','2006-12-07 12:48:42.765000000','2006-12-07 12:48:42.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DC91070-8175-11DB-AE84-E4FD53CA7133','jbossesb','JBoss ESB User','2006-12-01 14:50:21.734000000','2006-12-01 14:50:21.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DF68050-861B-11DB-8050-EF85CFE97EFB','jbossesb','JBoss ESB User','2006-12-07 12:48:43.930000000','2006-12-07 12:48:43.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2DFF4A60-816F-11DB-A4E4-A78D1266FBD7','jbossesb','JBoss ESB User','2006-12-01 14:07:25.780000000','2006-12-01 14:07:25.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2E0B3140-816F-11DB-A4E4-FF73624E6C47','jbossesb','JBoss ESB User','2006-12-01 14:07:25.140000000','2006-12-01 14:07:25.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2E274430-8100-11DB-B65A-EB7DA5C4DD35','jbossesb','JBoss ESB User','2006-12-01 00:52:51.218000000','2006-12-01 00:52:51.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2E37E600-8100-11DB-B65A-B07348087932','jbossesb','JBoss ESB User','2006-12-01 00:52:51.296000000','2006-12-01 00:52:51.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2E45F2F0-8104-11DB-B2F0-F42AB55AD58C','jbossesb','JBoss ESB User','2006-12-01 01:21:29.390000000','2006-12-01 01:21:29.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2E48AEE0-8100-11DB-B65A-F0B6FD1C8648','jbossesb','JBoss ESB User','2006-12-01 00:52:51.421000000','2006-12-01 00:52:51.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2E6E6280-8104-11DB-A280-AA4FCBE57F2E','jbossesb','JBoss ESB User','2006-12-01 01:21:29.656000000','2006-12-01 01:21:29.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2E7F2B60-8104-11DB-AB60-B54ECE40B22A','jbossesb','JBoss ESB User','2006-12-01 01:21:29.765000000','2006-12-01 01:21:29.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2E8D5C30-8104-11DB-9C30-9A0B2A3D6323','jbossesb','JBoss ESB User','2006-12-01 01:21:29.875000000','2006-12-01 01:21:29.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F4855B0-8610-11DB-95B0-E614B636FC12','jbossesb','JBoss ESB User','2006-12-07 11:30:00.843000000','2006-12-07 11:30:00.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F4AC6B0-8610-11DB-86B0-AE7935AA45FB','jbossesb','JBoss ESB User','2006-12-07 11:30:00.859000000','2006-12-07 11:30:00.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F4F81A0-8610-11DB-81A0-FFC05F24F010','jbossesb','JBoss ESB User','2006-12-07 11:30:00.890000000','2006-12-07 11:30:00.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F591E90-8610-11DB-9E90-F01C724DFE3C','jbossesb','JBoss ESB User','2006-12-07 11:30:00.984000000','2006-12-07 11:30:01.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F604A80-8610-11DB-8A80-DDCF9BC048CF','jbossesb','JBoss ESB User','2006-12-07 11:30:01.0','2006-12-07 11:30:01.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F650570-8610-11DB-8570-91BD78E2A0D7','jbossesb','JBoss ESB User','2006-12-07 11:30:01.310000000','2006-12-07 11:30:01.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F7AA4C0-861A-11DB-A4C0-C6B89072D790','jbossesb','JBoss ESB User','2006-12-07 12:41:36.171000000','2006-12-07 12:41:36.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F8441B0-861A-11DB-81B0-829EC28B9E0A','jbossesb','JBoss ESB User','2006-12-07 12:41:36.218000000','2006-12-07 12:41:36.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F8B6DA0-861A-11DB-ADA0-B89B29687774','jbossesb','JBoss ESB User','2006-12-07 12:41:36.265000000','2006-12-07 12:41:36.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F927280-861A-11DB-B280-A469086745E3','jbossesb','JBoss ESB User','2006-12-07 12:41:36.296000000','2006-12-07 12:41:36.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2F94E380-861A-11DB-A380-98B276418832','jbossesb','JBoss ESB User','2006-12-07 12:41:36.312000000','2006-12-07 12:41:36.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FAA6750-861A-11DB-A750-9EFCFD3FFCC3','jbossesb','JBoss ESB User','2006-12-07 12:41:36.453000000','2006-12-07 12:41:36.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FAF2240-861A-11DB-A240-E6194670048F','jbossesb','JBoss ESB User','2006-12-07 12:41:36.500000000','2006-12-07 12:41:36.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FB3DD30-861A-11DB-9D30-A65B8D9A6CFD','jbossesb','JBoss ESB User','2006-12-07 12:41:36.531000000','2006-12-07 12:41:36.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FBB0920-861A-11DB-8920-82004CDFD608','jbossesb','JBoss ESB User','2006-12-07 12:41:36.562000000','2006-12-07 12:41:36.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FBFC410-861A-11DB-8410-DCA56CE402D7','jbossesb','JBoss ESB User','2006-12-07 12:41:36.609000000','2006-12-07 12:41:36.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FC37D80-814C-11DB-A6BA-8261DC0DB3E1','jbossesb','JBoss ESB User','2006-12-01 09:56:55.640000000','2006-12-01 09:56:55.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FD08CF0-861A-11DB-8CF0-8A499CB3AF3E','jbossesb','JBoss ESB User','2006-12-07 12:41:36.718000000','2006-12-07 12:41:36.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FD44660-814C-11DB-A6BA-E0F9B72A8E71','jbossesb','JBoss ESB User','2006-12-01 09:56:55.781000000','2006-12-01 09:56:55.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FD6E600-816E-11DB-A4E4-FE76CABA367B','jbossesb','JBoss ESB User','2006-12-01 14:00:18.687000000','2006-12-01 14:00:18.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FDC3140-8610-11DB-B140-FF4F9C50C13F','jbossesb','JBoss ESB User','2006-12-07 11:30:01.828000000','2006-12-07 11:30:01.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FE27730-814C-11DB-A6BA-85487F8CEA00','jbossesb','JBoss ESB User','2006-12-01 09:56:55.859000000','2006-12-01 09:56:55.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FE75930-814C-11DB-A6BA-9C5D2B1349EE','jbossesb','JBoss ESB User','2006-12-01 09:56:55.906000000','2006-12-01 09:56:55.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FEACBB0-861A-11DB-8BB0-AE98D77CF5AC','jbossesb','JBoss ESB User','2006-12-07 12:41:36.875000000','2006-12-07 12:41:36.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:2FF850B0-816E-11DB-A4E4-8A564525095F','jbossesb','JBoss ESB User','2006-12-01 14:00:18.890000000','2006-12-01 14:00:18.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:30068180-816E-11DB-A4E4-CD9BED9BFC95','jbossesb','JBoss ESB User','2006-12-01 14:00:18.968000000','2006-12-01 14:00:18.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3014D960-816E-11DB-A4E4-9F2E2258E21B','jbossesb','JBoss ESB User','2006-12-01 14:00:19.930000000','2006-12-01 14:00:19.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:310128E0-80E4-11DB-A8E0-C67C47D31013','jbossesb','JBoss ESB User','2006-11-30 21:32:30.780000000','2006-11-30 21:32:30.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3108A350-8610-11DB-A350-E5B0EFA9EFB9','jbossesb','JBoss ESB User','2006-12-07 11:30:03.781000000','2006-12-07 11:30:03.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3124DD80-80E4-11DB-9D80-CAC7D20EC205','jbossesb','JBoss ESB User','2006-11-30 21:32:30.328000000','2006-11-30 21:32:30.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31418D40-80E4-11DB-8D40-BB8859EE18F8','jbossesb','JBoss ESB User','2006-11-30 21:32:30.515000000','2006-11-30 21:32:30.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3154A010-80E4-11DB-A010-A2F50B91D52E','jbossesb','JBoss ESB User','2006-11-30 21:32:30.609000000','2006-11-30 21:32:30.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31AF2D70-8619-11DB-AD70-CC0567B7D577','jbossesb','JBoss ESB User','2006-12-07 12:34:30.343000000','2006-12-07 12:34:30.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31B19E70-8619-11DB-9E70-EE333CFD4223','jbossesb','JBoss ESB User','2006-12-07 12:34:30.375000000','2006-12-07 12:34:30.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31B5EF60-80E3-11DB-AF60-859C7963CE91','jbossesb','JBoss ESB User','2006-11-30 21:25:21.796000000','2006-11-30 21:25:21.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31B8CA60-8619-11DB-8A60-F36372A305F1','jbossesb','JBoss ESB User','2006-12-07 12:34:30.406000000','2006-12-07 12:34:30.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31BFF650-8619-11DB-B650-CC528FB8DC47','jbossesb','JBoss ESB User','2006-12-07 12:34:30.468000000','2006-12-07 12:34:30.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31C72240-8619-11DB-A240-F842230BE29D','jbossesb','JBoss ESB User','2006-12-07 12:34:30.500000000','2006-12-07 12:34:30.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31D2C690-860F-11DB-8690-9E3FF6D4B205','jbossesb','JBoss ESB User','2006-12-07 11:22:55.625000000','2006-12-07 11:22:55.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31DEF000-8619-11DB-B000-8D48D19A457D','jbossesb','JBoss ESB User','2006-12-07 12:34:30.656000000','2006-12-07 12:34:30.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31E139F0-8619-11DB-B9F0-AD474D6F8DA7','jbossesb','JBoss ESB User','2006-12-07 12:34:30.671000000','2006-12-07 12:34:30.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31E61BF0-8619-11DB-9BF0-EA12A20C98B5','jbossesb','JBoss ESB User','2006-12-07 12:34:30.703000000','2006-12-07 12:34:30.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31EA45D0-80E3-11DB-85D0-B619387FAA67','jbossesb','JBoss ESB User','2006-11-30 21:25:22.125000000','2006-11-30 21:25:22.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31EAD6E0-8619-11DB-96E0-FCC69D0A7174','jbossesb','JBoss ESB User','2006-12-07 12:34:30.750000000','2006-12-07 12:34:30.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31F202D0-8619-11DB-82D0-E7AA8B2406D4','jbossesb','JBoss ESB User','2006-12-07 12:34:30.781000000','2006-12-07 12:34:30.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:31FDA720-860F-11DB-A720-FF0EA186AFF9','jbossesb','JBoss ESB User','2006-12-07 11:22:55.890000000','2006-12-07 11:22:55.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:32093F80-80E3-11DB-BF80-83E15C86532E','jbossesb','JBoss ESB User','2006-11-30 21:25:22.375000000','2006-11-30 21:25:22.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:322D1B30-80E3-11DB-9B30-85F987D153D3','jbossesb','JBoss ESB User','2006-11-30 21:25:22.578000000','2006-11-30 21:25:22.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:329CF590-8147-11DB-A69A-80BD1F6A776B','jbossesb','JBoss ESB User','2006-12-01 09:21:12.937000000','2006-12-01 09:21:12.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:32B00860-8147-11DB-A69A-B4E1C2403601','jbossesb','JBoss ESB User','2006-12-01 09:21:13.780000000','2006-12-01 09:21:13.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:32B9A550-8147-11DB-A69A-FC8BC29987DE','jbossesb','JBoss ESB User','2006-12-01 09:21:13.125000000','2006-12-01 09:21:13.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:32BE6040-8147-11DB-A69A-E0B041687ECA','jbossesb','JBoss ESB User','2006-12-01 09:21:13.171000000','2006-12-01 09:21:13.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:32F12350-8619-11DB-A350-E80FB855D9C9','jbossesb','JBoss ESB User','2006-12-07 12:34:32.468000000','2006-12-07 12:34:32.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:331CF2D0-817A-11DB-B2D0-C4D3EC920F24','jbossesb','JBoss ESB User','2006-12-01 15:26:18.218000000','2006-12-01 15:26:18.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3347D360-817A-11DB-9360-D08A77809A13','jbossesb','JBoss ESB User','2006-12-01 15:26:18.406000000','2006-12-01 15:26:18.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:337DE0B0-861E-11DB-B1A1-DE9BF22AAC07','jbossesb','JBoss ESB User','2006-12-07 13:10:20.859000000','2006-12-07 13:10:20.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33829BA0-861E-11DB-B1A1-F618C8A1AFC3','jbossesb','JBoss ESB User','2006-12-07 13:10:20.890000000','2006-12-07 13:10:20.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33850CA0-861E-11DB-B1A1-86B30A5D6065','jbossesb','JBoss ESB User','2006-12-07 13:10:20.906000000','2006-12-07 13:10:20.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33875690-861E-11DB-B1A1-A6B4FCBE07A2','jbossesb','JBoss ESB User','2006-12-07 13:10:20.921000000','2006-12-07 13:10:20.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3389C790-861E-11DB-B1A1-875C125696A5','jbossesb','JBoss ESB User','2006-12-07 13:10:20.937000000','2006-12-07 13:10:20.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:338C3890-861E-11DB-B1A1-A31645C1E54F','jbossesb','JBoss ESB User','2006-12-07 13:10:20.953000000','2006-12-07 13:10:20.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:339CDA60-861E-11DB-B1A1-B8FC8BA8BAE1','jbossesb','JBoss ESB User','2006-12-07 13:10:21.780000000','2006-12-07 13:10:21.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33A19550-861E-11DB-B1A1-AFA64C790913','jbossesb','JBoss ESB User','2006-12-07 13:10:21.930000000','2006-12-07 13:10:21.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33A67750-861E-11DB-B1A1-891D6E21226C','jbossesb','JBoss ESB User','2006-12-07 13:10:21.125000000','2006-12-07 13:10:21.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33A8C140-861E-11DB-B1A1-F18EAC05F222','jbossesb','JBoss ESB User','2006-12-07 13:10:21.156000000','2006-12-07 13:10:21.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33AD3F10-8563-11DB-A4E1-B2FB4FFFD1B6','jbossesb','JBoss ESB User','2006-12-06 14:51:45.296000000','2006-12-06 14:51:45.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33AD7C30-861E-11DB-B1A1-883049262014','jbossesb','JBoss ESB User','2006-12-07 13:10:21.171000000','2006-12-07 13:10:21.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33AFED30-861E-11DB-B1A1-829581BCE9E5','jbossesb','JBoss ESB User','2006-12-07 13:10:21.203000000','2006-12-07 13:10:21.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33B89300-860E-11DB-9300-9816E5A13843','jbossesb','JBoss ESB User','2006-12-07 11:15:49.312000000','2006-12-07 11:15:49.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33BD7500-860E-11DB-B500-B9401FF1BD3C','jbossesb','JBoss ESB User','2006-12-07 11:15:49.328000000','2006-12-07 11:15:49.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33BDE0E0-8563-11DB-A4E1-E9032476026B','jbossesb','JBoss ESB User','2006-12-06 14:51:45.390000000','2006-12-06 14:51:45.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33BFBEF0-860E-11DB-BEF0-DF2ACF97C21B','jbossesb','JBoss ESB User','2006-12-07 11:15:49.359000000','2006-12-07 11:15:49.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33CE16D0-860E-11DB-96D0-DD0745151BF9','jbossesb','JBoss ESB User','2006-12-07 11:15:49.437000000','2006-12-07 11:15:49.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33D087D0-860E-11DB-87D0-CCBCD27DBB4A','jbossesb','JBoss ESB User','2006-12-07 11:15:49.468000000','2006-12-07 11:15:49.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33D7B3C0-860E-11DB-B3C0-F8E7BA7BA462','jbossesb','JBoss ESB User','2006-12-07 11:15:49.500000000','2006-12-07 11:15:49.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33D81FA0-8563-11DB-A4E1-8C66D40BF2BD','jbossesb','JBoss ESB User','2006-12-06 14:51:45.578000000','2006-12-06 14:51:45.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33E1BC90-8563-11DB-A4E1-97C8B0D0C72C','jbossesb','JBoss ESB User','2006-12-06 14:51:45.640000000','2006-12-06 14:51:45.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33EA9720-861C-11DB-9720-9772710D8CCF','jbossesb','JBoss ESB User','2006-12-07 12:56:02.578000000','2006-12-07 12:56:02.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33F1C310-861C-11DB-8310-AE4BFA59FF85','jbossesb','JBoss ESB User','2006-12-07 12:56:02.625000000','2006-12-07 12:56:02.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:33F939F0-8618-11DB-B9F0-B9F81B338FE8','jbossesb','JBoss ESB User','2006-12-07 12:27:24.703000000','2006-12-07 12:27:24.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3402D6E0-8618-11DB-96E0-E4AD58DFE16C','jbossesb','JBoss ESB User','2006-12-07 12:27:24.750000000','2006-12-07 12:27:24.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:340520D0-8618-11DB-A0D0-DEA02C53491A','jbossesb','JBoss ESB User','2006-12-07 12:27:24.781000000','2006-12-07 12:27:24.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34071FD0-861C-11DB-9FD0-A04648CBDFEA','jbossesb','JBoss ESB User','2006-12-07 12:56:02.765000000','2006-12-07 12:56:02.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3409DBC0-8618-11DB-9BC0-87D65D035996','jbossesb','JBoss ESB User','2006-12-07 12:27:24.812000000','2006-12-07 12:27:24.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:341107B0-8618-11DB-87B0-B315AEC56C6E','jbossesb','JBoss ESB User','2006-12-07 12:27:24.859000000','2006-12-07 12:27:24.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:341577B0-861C-11DB-B7B0-F89ACD4F9639','jbossesb','JBoss ESB User','2006-12-07 12:56:02.875000000','2006-12-07 12:56:02.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:341EED90-861C-11DB-AD90-CBAF750AF838','jbossesb','JBoss ESB User','2006-12-07 12:56:02.921000000','2006-12-07 12:56:02.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3423CF90-861C-11DB-8F90-91587FF4D491','jbossesb','JBoss ESB User','2006-12-07 12:56:03.0','2006-12-07 12:56:03.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34402170-814B-11DB-A6BA-8214439F327A','jbossesb','JBoss ESB User','2006-12-01 09:49:53.687000000','2006-12-01 09:49:53.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3440CA40-8618-11DB-8A40-CC4EA320782E','jbossesb','JBoss ESB User','2006-12-07 12:27:25.156000000','2006-12-07 12:27:25.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:344C2F60-814B-11DB-A6BA-C34B1227DDBE','jbossesb','JBoss ESB User','2006-12-01 09:49:53.765000000','2006-12-01 09:49:53.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34533440-814B-11DB-A6BA-9BC557458D10','jbossesb','JBoss ESB User','2006-12-01 09:49:53.796000000','2006-12-01 09:49:53.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:347065C0-8618-11DB-A5C0-FF0AC756AE14','jbossesb','JBoss ESB User','2006-12-07 12:27:25.515000000','2006-12-07 12:27:25.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:347746C0-861C-11DB-86C0-D1028D35EA1B','jbossesb','JBoss ESB User','2006-12-07 12:56:03.531000000','2006-12-07 12:56:03.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3480BCA0-861C-11DB-BCA0-D3C8E79DFA0A','jbossesb','JBoss ESB User','2006-12-07 12:56:03.578000000','2006-12-07 12:56:03.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34837890-8618-11DB-B890-CC1A855B6636','jbossesb','JBoss ESB User','2006-12-07 12:27:25.609000000','2006-12-07 12:27:25.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34857790-861C-11DB-B790-95BFBC126292','jbossesb','JBoss ESB User','2006-12-07 12:56:03.609000000','2006-12-07 12:56:03.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:348AA480-8618-11DB-A480-E07B655FF351','jbossesb','JBoss ESB User','2006-12-07 12:27:25.640000000','2006-12-07 12:27:25.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:348F1480-861C-11DB-9480-BD80BF5111D2','jbossesb','JBoss ESB User','2006-12-07 12:56:03.671000000','2006-12-07 12:56:03.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3491D070-8618-11DB-9070-C0D639421AB6','jbossesb','JBoss ESB User','2006-12-07 12:27:25.687000000','2006-12-07 12:27:25.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3493CF70-861C-11DB-8F70-DAEFC9FA13F4','jbossesb','JBoss ESB User','2006-12-07 12:56:03.703000000','2006-12-07 12:56:03.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:349D6C60-861C-11DB-AC60-907BFBA6A217','jbossesb','JBoss ESB User','2006-12-07 12:56:03.765000000','2006-12-07 12:56:03.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34A6E240-861C-11DB-A240-9BAF889B6458','jbossesb','JBoss ESB User','2006-12-07 12:56:03.828000000','2006-12-07 12:56:03.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34C39200-861C-11DB-9200-87A02AFDA280','jbossesb','JBoss ESB User','2006-12-07 12:56:04.150000000','2006-12-07 12:56:04.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34EA0290-8618-11DB-8290-B9AC265C8DEC','jbossesb','JBoss ESB User','2006-12-07 12:27:26.281000000','2006-12-07 12:27:26.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:34F8E7F0-861E-11DB-B1A1-FA512DF66F0E','jbossesb','JBoss ESB User','2006-12-07 13:10:23.359000000','2006-12-07 13:10:23.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35246720-8170-11DB-AF51-CA085D469169','jbossesb','JBoss ESB User','2006-12-01 14:14:46.625000000','2006-12-01 14:14:46.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:355AB700-861E-11DB-B1A1-A28479317C68','jbossesb','JBoss ESB User','2006-12-07 13:10:24.0','2006-12-07 13:10:24.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35683ED0-860E-11DB-BED0-E3FEBE3B906A','jbossesb','JBoss ESB User','2006-12-07 11:15:52.125000000','2006-12-07 11:15:52.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35685A50-8618-11DB-9A50-96CAB7C5A876','jbossesb','JBoss ESB User','2006-12-07 12:27:27.109000000','2006-12-07 12:27:27.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35759460-8170-11DB-AF51-B886868DE741','jbossesb','JBoss ESB User','2006-12-01 14:14:47.930000000','2006-12-01 14:14:47.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35A2E5F0-8170-11DB-AF51-DA4DA264D233','jbossesb','JBoss ESB User','2006-12-01 14:14:47.390000000','2006-12-01 14:14:47.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35CDC680-8170-11DB-AF51-FB91B88B0085','jbossesb','JBoss ESB User','2006-12-01 14:14:47.671000000','2006-12-01 14:14:47.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35D5CDB0-860E-11DB-8DB0-FE755C08C90E','jbossesb','JBoss ESB User','2006-12-07 11:15:52.875000000','2006-12-07 11:15:52.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35E166D0-8176-11DB-A6D0-D89FBFDFABBA','jbossesb','JBoss ESB User','2006-12-01 14:57:44.859000000','2006-12-01 14:57:44.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:35F56B60-8173-11DB-B8A9-E9A2858D1BE3','jbossesb','JBoss ESB User','2006-12-01 14:36:16.437000000','2006-12-01 14:36:16.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:360AC820-8173-11DB-B8A9-B7E86F197B7F','jbossesb','JBoss ESB User','2006-12-01 14:36:16.546000000','2006-12-01 14:36:16.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:360C4760-8176-11DB-8760-E9477BD04C04','jbossesb','JBoss ESB User','2006-12-01 14:57:45.780000000','2006-12-01 14:57:45.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:361D1040-8176-11DB-9040-D50198885F2A','jbossesb','JBoss ESB User','2006-12-01 14:57:45.156000000','2006-12-01 14:57:45.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3622BCF0-8173-11DB-B8A9-D186F713404B','jbossesb','JBoss ESB User','2006-12-01 14:36:16.718000000','2006-12-01 14:36:16.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3629D060-8148-11DB-9060-AB47D75D6B05','jbossesb','JBoss ESB User','2006-12-01 09:28:28.390000000','2006-12-01 09:28:28.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:362B6820-8176-11DB-A820-B29B05DEB45C','jbossesb','JBoss ESB User','2006-12-01 14:57:45.265000000','2006-12-01 14:57:45.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36382840-8148-11DB-A840-A147839BC77E','jbossesb','JBoss ESB User','2006-12-01 09:28:28.500000000','2006-12-01 09:28:28.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36440F20-8148-11DB-8F20-EB77C5AEDDC4','jbossesb','JBoss ESB User','2006-12-01 09:28:28.562000000','2006-12-01 09:28:28.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:365BDCE0-8148-11DB-9CE0-FEFE1F94C020','jbossesb','JBoss ESB User','2006-12-01 09:28:28.734000000','2006-12-01 09:28:28.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:367B31A0-817D-11DB-B1A0-E98CE155CE11','jbossesb','JBoss ESB User','2006-12-01 15:47:52.265000000','2006-12-01 15:47:52.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36852740-817E-11DB-A740-DD6D87CA013A','jbossesb','JBoss ESB User','2006-12-01 15:55:01.843000000','2006-12-01 15:55:01.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36A15740-817D-11DB-9740-9D552D87845F','jbossesb','JBoss ESB User','2006-12-01 15:47:52.500000000','2006-12-01 15:47:52.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36AD3E20-817D-11DB-BE20-9D97DD6CF8E6','jbossesb','JBoss ESB User','2006-12-01 15:47:52.578000000','2006-12-01 15:47:52.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36B92500-817D-11DB-A500-F0E1DD121873','jbossesb','JBoss ESB User','2006-12-01 15:47:52.656000000','2006-12-01 15:47:52.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36D91E30-817F-11DB-9E30-EA56708577CE','jbossesb','JBoss ESB User','2006-12-01 16:02:11.906000000','2006-12-01 16:02:11.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36F06C30-817E-11DB-AC30-EEB856B28110','jbossesb','JBoss ESB User','2006-12-01 15:55:02.546000000','2006-12-01 15:55:02.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:36FEC410-817E-11DB-8410-A7F926DA0749','jbossesb','JBoss ESB User','2006-12-01 15:55:02.609000000','2006-12-01 15:55:02.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:370AAAF0-817E-11DB-AAF0-A29E22606A71','jbossesb','JBoss ESB User','2006-12-01 15:55:02.687000000','2006-12-01 15:55:02.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:371D40D0-8619-11DB-80D0-DAB8A96A25D5','jbossesb','JBoss ESB User','2006-12-07 12:34:39.484000000','2006-12-07 12:34:39.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:374D71D0-80E5-11DB-B1D0-E8F255EE6619','jbossesb','JBoss ESB User','2006-11-30 21:39:50.125000000','2006-11-30 21:39:50.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:37696300-814D-11DB-A6BA-B8600228D592','jbossesb','JBoss ESB User','2006-12-01 10:04:17.984000000','2006-12-01 10:04:18.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:37785260-80E5-11DB-9260-A94771B99549','jbossesb','JBoss ESB User','2006-11-30 21:39:50.515000000','2006-11-30 21:39:50.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:377A2BE0-814D-11DB-A6BA-D9F0433E1392','jbossesb','JBoss ESB User','2006-12-01 10:04:18.930000000','2006-12-01 10:04:18.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:378157D0-814D-11DB-A6BA-EAB71928648E','jbossesb','JBoss ESB User','2006-12-01 10:04:18.140000000','2006-12-01 10:04:18.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3785D960-8105-11DB-9960-91CB6E1FA915','jbossesb','JBoss ESB User','2006-12-01 01:28:54.390000000','2006-12-01 01:28:54.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:37885CB0-814D-11DB-A6BA-EB7A8D85100B','jbossesb','JBoss ESB User','2006-12-01 10:04:18.187000000','2006-12-01 10:04:18.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:379DA720-8105-11DB-A720-F70EA560A76B','jbossesb','JBoss ESB User','2006-12-01 01:28:54.546000000','2006-12-01 01:28:54.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:37A7EDE0-80E5-11DB-ADE0-9048074DA28B','jbossesb','JBoss ESB User','2006-11-30 21:39:50.734000000','2006-11-30 21:39:50.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:37ABFF00-8105-11DB-BF00-CA18DAC9CDA2','jbossesb','JBoss ESB User','2006-12-01 01:28:54.656000000','2006-12-01 01:28:54.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:37B46300-817F-11DB-A300-F31B90477087','jbossesb','JBoss ESB User','2006-12-01 16:02:13.312000000','2006-12-01 16:02:13.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:37BA56E0-8105-11DB-96E0-D47C8915F25B','jbossesb','JBoss ESB User','2006-12-01 01:28:54.750000000','2006-12-01 01:28:54.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:37BB00B0-80E5-11DB-80B0-92448EA56B6F','jbossesb','JBoss ESB User','2006-11-30 21:39:50.875000000','2006-11-30 21:39:50.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:382DFFD0-817F-11DB-BFD0-EF0611D710E8','jbossesb','JBoss ESB User','2006-12-01 16:02:14.125000000','2006-12-01 16:02:14.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38386770-817C-11DB-A770-C6F0D24EB5A2','jbossesb','JBoss ESB User','2006-12-01 15:40:45.687000000','2006-12-01 15:40:45.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3852A630-817C-11DB-A630-B99976B5D97E','jbossesb','JBoss ESB User','2006-12-01 15:40:45.859000000','2006-12-01 15:40:45.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:385E8D10-817C-11DB-8D10-FB3998D5FC8C','jbossesb','JBoss ESB User','2006-12-01 15:40:45.937000000','2006-12-01 15:40:45.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:386A9B00-817C-11DB-9B00-D9E7137FB7A3','jbossesb','JBoss ESB User','2006-12-01 15:40:46.0','2006-12-01 15:40:46.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38718460-8172-11DB-B8A9-C196A045797A','jbossesb','JBoss ESB User','2006-12-01 14:29:11.930000000','2006-12-01 14:29:11.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38895220-8172-11DB-B8A9-AB9BCFF874EB','jbossesb','JBoss ESB User','2006-12-01 14:29:11.234000000','2006-12-01 14:29:11.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38953900-8172-11DB-B8A9-F86FE919D01D','jbossesb','JBoss ESB User','2006-12-01 14:29:11.328000000','2006-12-01 14:29:11.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3896FAD0-817F-11DB-BAD0-C34CD5C33CDE','jbossesb','JBoss ESB User','2006-12-01 16:02:14.812000000','2006-12-01 16:02:14.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:389C64F0-8172-11DB-B8A9-A413B6A4A8D0','jbossesb','JBoss ESB User','2006-12-01 14:29:11.359000000','2006-12-01 14:29:11.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38B11550-861B-11DB-9550-BD436E18ACBF','jbossesb','JBoss ESB User','2006-12-07 12:49:01.109000000','2006-12-07 12:49:01.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38B5F750-861B-11DB-B750-E7DCD8C629AA','jbossesb','JBoss ESB User','2006-12-07 12:49:01.171000000','2006-12-07 12:49:01.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38C1DE30-861B-11DB-9E30-8861862A449C','jbossesb','JBoss ESB User','2006-12-07 12:49:01.218000000','2006-12-07 12:49:01.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38C69920-861B-11DB-9920-D5D35ABB5249','jbossesb','JBoss ESB User','2006-12-07 12:49:01.234000000','2006-12-07 12:49:01.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38CB5410-861B-11DB-9410-EAB057BB6C7F','jbossesb','JBoss ESB User','2006-12-07 12:49:01.296000000','2006-12-07 12:49:01.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38E592D0-861B-11DB-92D0-E165AC0EACF7','jbossesb','JBoss ESB User','2006-12-07 12:49:01.437000000','2006-12-07 12:49:01.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38EA4DC0-861B-11DB-8DC0-DB61C40BDABD','jbossesb','JBoss ESB User','2006-12-07 12:49:01.484000000','2006-12-07 12:49:01.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38EF2FC0-861B-11DB-AFC0-8801D7017695','jbossesb','JBoss ESB User','2006-12-07 12:49:01.500000000','2006-12-07 12:49:01.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38F634A0-861B-11DB-B4A0-898273195663','jbossesb','JBoss ESB User','2006-12-07 12:49:01.546000000','2006-12-07 12:49:01.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:38FB16A0-861B-11DB-96A0-8C67899C425D','jbossesb','JBoss ESB User','2006-12-07 12:49:01.578000000','2006-12-07 12:49:01.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:39155560-861B-11DB-9560-EC43E623B943','jbossesb','JBoss ESB User','2006-12-07 12:49:01.750000000','2006-12-07 12:49:01.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:392F4EC0-8175-11DB-AE84-D95E976221DC','jbossesb','JBoss ESB User','2006-12-01 14:50:40.843000000','2006-12-01 14:50:40.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:39557460-8175-11DB-AE84-D21F673424CF','jbossesb','JBoss ESB User','2006-12-01 14:50:41.780000000','2006-12-01 14:50:41.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:395F2FA0-861B-11DB-AFA0-A6C4233191E9','jbossesb','JBoss ESB User','2006-12-07 12:49:02.234000000','2006-12-07 12:49:02.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:39658E10-8182-11DB-AB1E-B23262643141','jbossesb','JBoss ESB User','2006-12-01 16:23:44.656000000','2006-12-01 16:23:44.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:396AF830-8175-11DB-AE84-BC49CEA52AF1','jbossesb','JBoss ESB User','2006-12-01 14:50:41.218000000','2006-12-01 14:50:41.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:39746E10-8175-11DB-AE84-83951FFAB8A9','jbossesb','JBoss ESB User','2006-12-01 14:50:41.312000000','2006-12-01 14:50:41.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:398216C0-8182-11DB-AB1E-EE446B09B228','jbossesb','JBoss ESB User','2006-12-01 16:23:44.812000000','2006-12-01 16:23:44.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:39906EA0-8182-11DB-AB1E-DA1DDA9D6394','jbossesb','JBoss ESB User','2006-12-01 16:23:44.906000000','2006-12-01 16:23:44.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3999E480-8182-11DB-AB1E-9FA8A6251C9F','jbossesb','JBoss ESB User','2006-12-01 16:23:44.968000000','2006-12-01 16:23:45.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:39EFC750-816F-11DB-A4E4-C11D7F790829','jbossesb','JBoss ESB User','2006-12-01 14:07:45.109000000','2006-12-01 14:07:45.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A099050-8100-11DB-B65A-895CA48D6474','jbossesb','JBoss ESB User','2006-12-01 00:53:11.125000000','2006-12-01 00:53:11.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A0A0610-816F-11DB-A4E4-EDFB91E22CB4','jbossesb','JBoss ESB User','2006-12-01 14:07:45.281000000','2006-12-01 14:07:45.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A31FFE0-8100-11DB-B65A-F35465DBB782','jbossesb','JBoss ESB User','2006-12-01 00:53:11.390000000','2006-12-01 00:53:11.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A4512B0-8100-11DB-B65A-BA191C1F1008','jbossesb','JBoss ESB User','2006-12-01 00:53:11.515000000','2006-12-01 00:53:11.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A4CDB70-816F-11DB-A4E4-9748430B1113','jbossesb','JBoss ESB User','2006-12-01 14:07:45.718000000','2006-12-01 14:07:45.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A55DB90-8100-11DB-B65A-BFE43A42FD45','jbossesb','JBoss ESB User','2006-12-01 00:53:11.625000000','2006-12-01 00:53:11.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A5D7D40-816F-11DB-A4E4-9E30594E0DD1','jbossesb','JBoss ESB User','2006-12-01 14:07:45.812000000','2006-12-01 14:07:45.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A63C170-8104-11DB-8170-BEED400D71A6','jbossesb','JBoss ESB User','2006-12-01 01:21:49.718000000','2006-12-01 01:21:49.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A804A20-8104-11DB-8A20-80C7A12879F2','jbossesb','JBoss ESB User','2006-12-01 01:21:49.890000000','2006-12-01 01:21:49.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3A95CDF0-8104-11DB-8DF0-FBF181C3DE87','jbossesb','JBoss ESB User','2006-12-01 01:21:50.310000000','2006-12-01 01:21:50.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3AA1B4D0-8104-11DB-B4D0-B2D0EE3BDED0','jbossesb','JBoss ESB User','2006-12-01 01:21:50.125000000','2006-12-01 01:21:50.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B4E5670-8610-11DB-9670-C290FBB91E10','jbossesb','JBoss ESB User','2006-12-07 11:30:21.150000000','2006-12-07 11:30:21.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B50C770-8610-11DB-8770-916FE8D85E69','jbossesb','JBoss ESB User','2006-12-07 11:30:21.460000000','2006-12-07 11:30:21.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B558260-8610-11DB-8260-BB150633D282','jbossesb','JBoss ESB User','2006-12-07 11:30:21.780000000','2006-12-07 11:30:21.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B63DA40-8610-11DB-9A40-F582CE27E7CE','jbossesb','JBoss ESB User','2006-12-07 11:30:21.156000000','2006-12-07 11:30:21.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B662430-8610-11DB-A430-85D41BC169D9','jbossesb','JBoss ESB User','2006-12-07 11:30:21.187000000','2006-12-07 11:30:21.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B6B0630-8610-11DB-8630-AF38898839A1','jbossesb','JBoss ESB User','2006-12-07 11:30:21.203000000','2006-12-07 11:30:21.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B6B21B0-861A-11DB-A1B0-F765EC298441','jbossesb','JBoss ESB User','2006-12-07 12:41:56.187000000','2006-12-07 12:41:56.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B724DA0-861A-11DB-8DA0-B6491D6DD2A4','jbossesb','JBoss ESB User','2006-12-07 12:41:56.218000000','2006-12-07 12:41:56.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B772FA0-861A-11DB-AFA0-BC9E805158E3','jbossesb','JBoss ESB User','2006-12-07 12:41:56.250000000','2006-12-07 12:41:56.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B797990-861A-11DB-B990-B601960C69D5','jbossesb','JBoss ESB User','2006-12-07 12:41:56.281000000','2006-12-07 12:41:56.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B7E3480-861A-11DB-B480-C49507A13ABF','jbossesb','JBoss ESB User','2006-12-07 12:41:56.312000000','2006-12-07 12:41:56.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B962950-861A-11DB-A950-AF2A9E6A165E','jbossesb','JBoss ESB User','2006-12-07 12:41:56.453000000','2006-12-07 12:41:56.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B9AE440-861A-11DB-A440-DF31EE02210B','jbossesb','JBoss ESB User','2006-12-07 12:41:56.484000000','2006-12-07 12:41:56.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3B9F9F30-861A-11DB-9F30-8F3C77234163','jbossesb','JBoss ESB User','2006-12-07 12:41:56.515000000','2006-12-07 12:41:56.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3BA21030-861A-11DB-9030-EBF4927BFCF6','jbossesb','JBoss ESB User','2006-12-07 12:41:56.531000000','2006-12-07 12:41:56.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3BA6CB20-861A-11DB-8B20-9F5E58EB5499','jbossesb','JBoss ESB User','2006-12-07 12:41:56.578000000','2006-12-07 12:41:56.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3BC97E40-814C-11DB-A6BA-9749AF06CDDD','jbossesb','JBoss ESB User','2006-12-01 09:57:15.828000000','2006-12-01 09:57:15.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3BE14C00-814C-11DB-A6BA-8F65C70F409D','jbossesb','JBoss ESB User','2006-12-01 09:57:15.968000000','2006-12-01 09:57:15.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3BE1A1B0-816E-11DB-A4E4-AF69C1E987C9','jbossesb','JBoss ESB User','2006-12-01 14:00:38.890000000','2006-12-01 14:00:38.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3BE877F0-814C-11DB-A6BA-DAA26A71F7E2','jbossesb','JBoss ESB User','2006-12-01 09:57:16.310000000','2006-12-01 09:57:16.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3BEFA3E0-814C-11DB-A6BA-F999BC07AD35','jbossesb','JBoss ESB User','2006-12-01 09:57:16.780000000','2006-12-01 09:57:16.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3BFE2A60-816E-11DB-A4E4-BBDA5CBA9410','jbossesb','JBoss ESB User','2006-12-01 14:00:39.620000000','2006-12-01 14:00:39.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3C05E6A0-8610-11DB-A6A0-A5FD0102CA6A','jbossesb','JBoss ESB User','2006-12-07 11:30:22.218000000','2006-12-07 11:30:22.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3C0EF340-816E-11DB-A4E4-EA2E81696D1F','jbossesb','JBoss ESB User','2006-12-01 14:00:39.187000000','2006-12-01 14:00:39.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3C1F9510-816E-11DB-A4E4-8B9583463876','jbossesb','JBoss ESB User','2006-12-01 14:00:39.281000000','2006-12-01 14:00:39.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3CA5A910-8610-11DB-A910-813BEE8DF149','jbossesb','JBoss ESB User','2006-12-07 11:30:23.281000000','2006-12-07 11:30:23.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3CFE1DC0-861A-11DB-9DC0-92C976E48396','jbossesb','JBoss ESB User','2006-12-07 12:41:58.828000000','2006-12-07 12:41:58.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3D40F320-861A-11DB-B320-9DB93F9BB6E8','jbossesb','JBoss ESB User','2006-12-07 12:41:59.265000000','2006-12-07 12:41:59.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3D5FDC40-8179-11DB-9C40-CF7F501847F9','jbossesb','JBoss ESB User','2006-12-01 15:19:25.890000000','2006-12-01 15:19:26.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3D8F1E50-80E4-11DB-9E50-F049DBBFC01F','jbossesb','JBoss ESB User','2006-11-30 21:32:51.125000000','2006-11-30 21:32:51.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DAE1800-80E4-11DB-9800-818648F6F7AE','jbossesb','JBoss ESB User','2006-11-30 21:32:51.328000000','2006-11-30 21:32:51.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DB59D60-8179-11DB-9D60-9CA431C853F3','jbossesb','JBoss ESB User','2006-12-01 15:19:26.406000000','2006-12-01 15:19:26.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DB70E20-80E3-11DB-8E20-921E14881B5A','jbossesb','JBoss ESB User','2006-11-30 21:25:41.953000000','2006-11-30 21:25:41.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DBC48D0-80E4-11DB-88D0-E6DF1D60EDB4','jbossesb','JBoss ESB User','2006-11-30 21:32:51.453000000','2006-11-30 21:32:51.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DC7FE70-860F-11DB-BE70-AB7C8A64802C','jbossesb','JBoss ESB User','2006-12-07 11:23:15.671000000','2006-12-07 11:23:15.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DCCE070-860F-11DB-A070-C6DE994C7EFF','jbossesb','JBoss ESB User','2006-12-07 11:23:15.734000000','2006-12-07 11:23:15.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DD43DA0-80E4-11DB-BDA0-FC033BF013FD','jbossesb','JBoss ESB User','2006-11-30 21:32:51.609000000','2006-11-30 21:32:51.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DD65650-860F-11DB-9650-F3510D951A60','jbossesb','JBoss ESB User','2006-12-07 11:23:15.765000000','2006-12-07 11:23:15.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DDB53D0-8619-11DB-93D0-F26AA500301F','jbossesb','JBoss ESB User','2006-12-07 12:34:50.765000000','2006-12-07 12:34:50.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DDD8240-860F-11DB-8240-BF6C1BCF7F81','jbossesb','JBoss ESB User','2006-12-07 11:23:15.812000000','2006-12-07 11:23:15.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DE00EC0-8619-11DB-8EC0-AC799C5E95F2','jbossesb','JBoss ESB User','2006-12-07 12:34:50.796000000','2006-12-07 12:34:50.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DE73AB0-8619-11DB-BAB0-BCE6E0A85013','jbossesb','JBoss ESB User','2006-12-07 12:34:50.843000000','2006-12-07 12:34:50.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DE9ABB0-8619-11DB-ABB0-FB2939000980','jbossesb','JBoss ESB User','2006-12-07 12:34:50.875000000','2006-12-07 12:34:50.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DEE2410-860F-11DB-A410-8F3EF7E93D0B','jbossesb','JBoss ESB User','2006-12-07 11:23:15.937000000','2006-12-07 11:23:15.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DF04690-80E3-11DB-8690-B99429903632','jbossesb','JBoss ESB User','2006-11-30 21:25:42.265000000','2006-11-30 21:25:42.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DF32190-8619-11DB-A190-C1B0CA5FF352','jbossesb','JBoss ESB User','2006-12-07 12:34:50.921000000','2006-12-07 12:34:50.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DF55000-860F-11DB-9000-9A84E1CFC206','jbossesb','JBoss ESB User','2006-12-07 11:23:15.968000000','2006-12-07 11:23:15.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3DF7C100-860F-11DB-8100-AE758565641F','jbossesb','JBoss ESB User','2006-12-07 11:23:16.0','2006-12-07 11:23:16.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E081450-80E3-11DB-9450-A5C1F05621DD','jbossesb','JBoss ESB User','2006-11-30 21:25:42.453000000','2006-11-30 21:25:42.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E0AD3D0-860F-11DB-93D0-F526460B70B4','jbossesb','JBoss ESB User','2006-12-07 11:23:16.125000000','2006-12-07 11:23:16.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E0F8EC0-860F-11DB-8EC0-F360AB45C67F','jbossesb','JBoss ESB User','2006-12-07 11:23:16.156000000','2006-12-07 11:23:16.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E1449B0-860F-11DB-89B0-A46155B4C318','jbossesb','JBoss ESB User','2006-12-07 11:23:16.171000000','2006-12-07 11:23:16.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E16BAB0-860F-11DB-BAB0-B408A02B9ED7','jbossesb','JBoss ESB User','2006-12-07 11:23:16.203000000','2006-12-07 11:23:16.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E225310-80E3-11DB-9310-A0BAE1EEBAF1','jbossesb','JBoss ESB User','2006-11-30 21:25:42.609000000','2006-11-30 21:25:42.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E22A190-860F-11DB-A190-B796DDB3E29A','jbossesb','JBoss ESB User','2006-12-07 11:23:16.265000000','2006-12-07 11:23:16.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E251290-860F-11DB-9290-9A4F2BC2AA29','jbossesb','JBoss ESB User','2006-12-07 11:23:16.281000000','2006-12-07 11:23:16.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E29CD80-860F-11DB-8D80-A9C4ABF62C73','jbossesb','JBoss ESB User','2006-12-07 11:23:16.312000000','2006-12-07 11:23:16.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E2E8870-860F-11DB-8870-841CB6BEE153','jbossesb','JBoss ESB User','2006-12-07 11:23:16.343000000','2006-12-07 11:23:16.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E3A6420-8181-11DB-AB1E-B5EF0D5BBBEC','jbossesb','JBoss ESB User','2006-12-01 16:16:43.281000000','2006-12-01 16:16:43.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E3AB1E0-8619-11DB-B1E0-A99A08DD7A69','jbossesb','JBoss ESB User','2006-12-07 12:34:51.390000000','2006-12-07 12:34:51.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E4B3830-860F-11DB-B830-8FE11D6404AF','jbossesb','JBoss ESB User','2006-12-07 11:23:16.531000000','2006-12-07 11:23:16.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E6EE1A0-8181-11DB-AB1E-AA0C1FD07726','jbossesb','JBoss ESB User','2006-12-01 16:16:43.750000000','2006-12-01 16:16:43.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3E970F70-8147-11DB-A69A-B869F6D29A89','jbossesb','JBoss ESB User','2006-12-01 09:21:33.620000000','2006-12-01 09:21:33.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3EB87A20-8147-11DB-A69A-CCD43BAB04B2','jbossesb','JBoss ESB User','2006-12-01 09:21:33.265000000','2006-12-01 09:21:33.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3ECB8CF0-8147-11DB-A69A-F9FDEED492D6','jbossesb','JBoss ESB User','2006-12-01 09:21:33.375000000','2006-12-01 09:21:33.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3ED291D0-8147-11DB-A69A-D7EA73A4475D','jbossesb','JBoss ESB User','2006-12-01 09:21:33.421000000','2006-12-01 09:21:33.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3EF33100-817A-11DB-B100-AEEBDDF7D56E','jbossesb','JBoss ESB User','2006-12-01 15:26:38.150000000','2006-12-01 15:26:38.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3F27AE80-817A-11DB-AE80-BEF32116B77E','jbossesb','JBoss ESB User','2006-12-01 15:26:38.312000000','2006-12-01 15:26:38.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3F385050-817A-11DB-9050-ED513ECB0533','jbossesb','JBoss ESB User','2006-12-01 15:26:38.437000000','2006-12-01 15:26:38.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3F41ED40-817A-11DB-AD40-98381650AA89','jbossesb','JBoss ESB User','2006-12-01 15:26:38.484000000','2006-12-01 15:26:38.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FAA0710-861E-11DB-B1A1-B581BEF7BE7B','jbossesb','JBoss ESB User','2006-12-07 13:10:41.281000000','2006-12-07 13:10:41.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FAC5100-861E-11DB-B1A1-E3B74871C2F6','jbossesb','JBoss ESB User','2006-12-07 13:10:41.296000000','2006-12-07 13:10:41.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FAEC200-861E-11DB-B1A1-9A82302FCBFB','jbossesb','JBoss ESB User','2006-12-07 13:10:41.343000000','2006-12-07 13:10:41.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FB5EDF0-861E-11DB-B1A1-F33B7D15493A','jbossesb','JBoss ESB User','2006-12-07 13:10:41.359000000','2006-12-07 13:10:41.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FBAA8E0-861E-11DB-B1A1-931DCD4E6ECC','jbossesb','JBoss ESB User','2006-12-07 13:10:41.406000000','2006-12-07 13:10:41.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FBF63D0-861E-11DB-B1A1-AEDE556ADF38','jbossesb','JBoss ESB User','2006-12-07 13:10:41.421000000','2006-12-07 13:10:41.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FCD7E90-8563-11DB-A4E1-82B59F32BB63','jbossesb','JBoss ESB User','2006-12-06 14:52:05.656000000','2006-12-06 14:52:05.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FD8D280-860E-11DB-9280-FC7EE20A534E','jbossesb','JBoss ESB User','2006-12-07 11:16:09.640000000','2006-12-07 11:16:09.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FD96570-8563-11DB-A4E1-8B3468DA7AAA','jbossesb','JBoss ESB User','2006-12-06 14:52:05.718000000','2006-12-06 14:52:05.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FD9A290-861E-11DB-B1A1-EA253C1D72C3','jbossesb','JBoss ESB User','2006-12-07 13:10:41.609000000','2006-12-07 13:10:41.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FDB4380-860E-11DB-8380-B14EB7959832','jbossesb','JBoss ESB User','2006-12-07 11:16:09.656000000','2006-12-07 11:16:09.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FDE8490-861E-11DB-B1A1-AA4AACBD27E5','jbossesb','JBoss ESB User','2006-12-07 13:10:41.625000000','2006-12-07 13:10:41.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FDFFE70-860E-11DB-BE70-9878D4274F6B','jbossesb','JBoss ESB User','2006-12-07 11:16:09.687000000','2006-12-07 11:16:09.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FE33F80-861E-11DB-B1A1-B6E2E5DF2CD7','jbossesb','JBoss ESB User','2006-12-07 13:10:41.671000000','2006-12-07 13:10:41.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FE6FAF0-861C-11DB-BAF0-A7D04D12C4A7','jbossesb','JBoss ESB User','2006-12-07 12:56:22.687000000','2006-12-07 12:56:22.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FEA6B70-861E-11DB-B1A1-FDC007E039AB','jbossesb','JBoss ESB User','2006-12-07 13:10:41.718000000','2006-12-07 13:10:41.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FEBB5E0-861C-11DB-B5E0-8E1CDA82552D','jbossesb','JBoss ESB User','2006-12-07 12:56:22.734000000','2006-12-07 12:56:22.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FEC7840-8563-11DB-A4E1-E177CCDDCA27','jbossesb','JBoss ESB User','2006-12-06 14:52:05.843000000','2006-12-06 14:52:05.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FEF2660-861E-11DB-B1A1-F80E78C7371A','jbossesb','JBoss ESB User','2006-12-07 13:10:41.734000000','2006-12-07 13:10:41.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FF2E1D0-861C-11DB-A1D0-9E56BD48A3BB','jbossesb','JBoss ESB User','2006-12-07 12:56:22.781000000','2006-12-07 12:56:22.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FF3A430-8563-11DB-A4E1-BD7DEB571D44','jbossesb','JBoss ESB User','2006-12-06 14:52:05.875000000','2006-12-06 14:52:05.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FF3E150-861E-11DB-B1A1-F3E9E2A2B1F4','jbossesb','JBoss ESB User','2006-12-07 13:10:41.796000000','2006-12-07 13:10:41.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FFA0DC0-861C-11DB-8DC0-861EB1B8E97D','jbossesb','JBoss ESB User','2006-12-07 12:56:22.828000000','2006-12-07 12:56:22.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:3FFB0D40-861E-11DB-B1A1-CE3CEC499A51','jbossesb','JBoss ESB User','2006-12-07 13:10:41.828000000','2006-12-07 13:10:41.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4003AAB0-861C-11DB-AAB0-B0125144315C','jbossesb','JBoss ESB User','2006-12-07 12:56:22.890000000','2006-12-07 12:56:22.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40062410-860E-11DB-A410-E339D794AFA9','jbossesb','JBoss ESB User','2006-12-07 11:16:09.953000000','2006-12-07 11:16:09.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:400D2090-861C-11DB-A090-D0576537A26E','jbossesb','JBoss ESB User','2006-12-07 12:56:22.953000000','2006-12-07 12:56:22.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:400D5000-860E-11DB-9000-B092505DA561','jbossesb','JBoss ESB User','2006-12-07 11:16:09.984000000','2006-12-07 11:16:09.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:400FC100-860E-11DB-8100-BF9D8CC7D6C8','jbossesb','JBoss ESB User','2006-12-07 11:16:10.150000000','2006-12-07 11:16:10.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:402A1B40-8618-11DB-9B40-C0CB01E392F1','jbossesb','JBoss ESB User','2006-12-07 12:27:45.140000000','2006-12-07 12:27:45.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:402ED630-8618-11DB-9630-C7E23B6606D1','jbossesb','JBoss ESB User','2006-12-07 12:27:45.171000000','2006-12-07 12:27:45.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4033B830-8618-11DB-B830-C0907A9B2045','jbossesb','JBoss ESB User','2006-12-07 12:27:45.203000000','2006-12-07 12:27:45.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40387320-8618-11DB-B320-AE0226C67C18','jbossesb','JBoss ESB User','2006-12-07 12:27:45.250000000','2006-12-07 12:27:45.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:403EF640-814B-11DB-A6BA-ABD14582FBA8','jbossesb','JBoss ESB User','2006-12-01 09:50:13.812000000','2006-12-01 09:50:13.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:403F2D10-861C-11DB-AD10-E10D2E385ADD','jbossesb','JBoss ESB User','2006-12-07 12:56:23.265000000','2006-12-07 12:56:23.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4041E900-8618-11DB-A900-A64D4E17806D','jbossesb','JBoss ESB User','2006-12-07 12:27:45.312000000','2006-12-07 12:27:45.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40465900-861C-11DB-9900-AE9DBE1589ED','jbossesb','JBoss ESB User','2006-12-07 12:56:23.312000000','2006-12-07 12:56:23.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:404B13F0-861C-11DB-93F0-B57ADA6132C6','jbossesb','JBoss ESB User','2006-12-07 12:56:23.359000000','2006-12-07 12:56:23.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:404D4E20-814B-11DB-A6BA-9F04D9C4F896','jbossesb','JBoss ESB User','2006-12-01 09:50:13.890000000','2006-12-01 09:50:13.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:404FF5F0-861C-11DB-B5F0-B0BEC839C651','jbossesb','JBoss ESB User','2006-12-07 12:56:23.390000000','2006-12-07 12:56:23.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40520910-814B-11DB-A6BA-D7D689D22DF5','jbossesb','JBoss ESB User','2006-12-01 09:50:13.937000000','2006-12-01 09:50:13.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40593500-814B-11DB-A6BA-F81DA21C5F3C','jbossesb','JBoss ESB User','2006-12-01 09:50:13.968000000','2006-12-01 09:50:13.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:406109C0-8618-11DB-89C0-D7D6D79BB506','jbossesb','JBoss ESB User','2006-12-07 12:27:45.531000000','2006-12-07 12:27:45.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:406308C0-861C-11DB-88C0-956EA56F314C','jbossesb','JBoss ESB User','2006-12-07 12:56:23.500000000','2006-12-07 12:56:23.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40680EA0-8618-11DB-8EA0-FAB106A5DBCD','jbossesb','JBoss ESB User','2006-12-07 12:27:45.578000000','2006-12-07 12:27:45.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:406A0DA0-861C-11DB-8DA0-C377F50A53E6','jbossesb','JBoss ESB User','2006-12-07 12:56:23.578000000','2006-12-07 12:56:23.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4071AB90-8618-11DB-AB90-F233FE0A8CE2','jbossesb','JBoss ESB User','2006-12-07 12:27:45.625000000','2006-12-07 12:27:45.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40761B90-861C-11DB-9B90-C3AAD7DBAB6D','jbossesb','JBoss ESB User','2006-12-07 12:56:23.640000000','2006-12-07 12:56:23.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4078D780-8618-11DB-9780-B174BC1AD608','jbossesb','JBoss ESB User','2006-12-07 12:27:45.656000000','2006-12-07 12:27:45.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40800370-8618-11DB-8370-D68BE81084AD','jbossesb','JBoss ESB User','2006-12-07 12:27:45.703000000','2006-12-07 12:27:45.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4087BCE0-861E-11DB-B1A1-C0E101C12D18','jbossesb','JBoss ESB User','2006-12-07 13:10:42.781000000','2006-12-07 13:10:42.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40897950-8618-11DB-B950-917E63067125','jbossesb','JBoss ESB User','2006-12-07 12:27:45.765000000','2006-12-07 12:27:45.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:409C4130-861C-11DB-8130-BC399C1FEC79','jbossesb','JBoss ESB User','2006-12-07 12:56:23.890000000','2006-12-07 12:56:23.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40A59800-80E2-11DB-9800-DE6EABD0AB91','jbossesb','JBoss ESB User','2006-11-30 21:18:37.625000000','2006-11-30 21:18:37.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:40C99B20-860E-11DB-9B20-8681A3634D6D','jbossesb','JBoss ESB User','2006-12-07 11:16:11.218000000','2006-12-07 11:16:11.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4104F610-80E2-11DB-B610-AA2C59D18FDF','jbossesb','JBoss ESB User','2006-11-30 21:18:37.953000000','2006-11-30 21:18:38.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:41281DF0-8170-11DB-AF51-9F03E804D7FE','jbossesb','JBoss ESB User','2006-12-01 14:15:06.718000000','2006-12-01 14:15:06.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:41397390-80E2-11DB-B390-E924C79CBC11','jbossesb','JBoss ESB User','2006-11-30 21:18:38.312000000','2006-11-30 21:18:38.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4147F2E0-860E-11DB-B2E0-B05BD6E37238','jbossesb','JBoss ESB User','2006-12-07 11:16:12.460000000','2006-12-07 11:16:12.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:416ACC40-8170-11DB-AF51-FA1C57A996EE','jbossesb','JBoss ESB User','2006-12-01 14:15:07.156000000','2006-12-01 14:15:07.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:416C1120-8618-11DB-9120-F8DEEE73880D','jbossesb','JBoss ESB User','2006-12-07 12:27:47.265000000','2006-12-07 12:27:47.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:41A1BAC0-8170-11DB-AF51-B9261D14E852','jbossesb','JBoss ESB User','2006-12-01 14:15:07.500000000','2006-12-01 14:15:07.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:41CEE540-8170-11DB-AF51-DBA51509551F','jbossesb','JBoss ESB User','2006-12-01 14:15:07.812000000','2006-12-01 14:15:07.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:41E9D890-8176-11DB-9890-9BE8E9642A71','jbossesb','JBoss ESB User','2006-12-01 14:58:04.984000000','2006-12-01 14:58:04.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:41EAA340-8173-11DB-B8A9-D347C8E2D104','jbossesb','JBoss ESB User','2006-12-01 14:36:36.484000000','2006-12-01 14:36:36.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:41EFA390-8619-11DB-A390-E1360D1C91FF','jbossesb','JBoss ESB User','2006-12-07 12:34:57.656000000','2006-12-07 12:34:57.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:420FFE30-8176-11DB-BE30-F2FC7A24FAB3','jbossesb','JBoss ESB User','2006-12-01 14:58:05.218000000','2006-12-01 14:58:05.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:421339E0-8173-11DB-B8A9-D9CFFFF9E092','jbossesb','JBoss ESB User','2006-12-01 14:36:36.734000000','2006-12-01 14:36:36.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4220A000-8176-11DB-A000-BEFB0DCCF45E','jbossesb','JBoss ESB User','2006-12-01 14:58:05.343000000','2006-12-01 14:58:05.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42264CB0-8173-11DB-B8A9-C778587DCF84','jbossesb','JBoss ESB User','2006-12-01 14:36:36.859000000','2006-12-01 14:36:36.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42323390-8173-11DB-B8A9-8FE437F93D12','jbossesb','JBoss ESB User','2006-12-01 14:36:36.953000000','2006-12-01 14:36:36.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:423623D0-8176-11DB-A3D0-ED93B057A279','jbossesb','JBoss ESB User','2006-12-01 14:58:05.453000000','2006-12-01 14:58:05.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:424072F0-8148-11DB-B2F0-A6EDBA0705E3','jbossesb','JBoss ESB User','2006-12-01 09:28:48.671000000','2006-12-01 09:28:48.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4261DDA0-8148-11DB-9DA0-8C83BE3A28EB','jbossesb','JBoss ESB User','2006-12-01 09:28:48.890000000','2006-12-01 09:28:48.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42690990-8148-11DB-8990-A3B870920019','jbossesb','JBoss ESB User','2006-12-01 09:28:48.937000000','2006-12-01 09:28:48.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:427C1C60-8148-11DB-9C60-C48B808E6334','jbossesb','JBoss ESB User','2006-12-01 09:28:49.780000000','2006-12-01 09:28:49.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42810B50-817D-11DB-8B50-B0264F048311','jbossesb','JBoss ESB User','2006-12-01 15:48:12.437000000','2006-12-01 15:48:12.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42BD3480-817E-11DB-B480-E89A46AB375A','jbossesb','JBoss ESB User','2006-12-01 15:55:22.328000000','2006-12-01 15:55:22.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42D77340-817E-11DB-B340-F5D39627A632','jbossesb','JBoss ESB User','2006-12-01 15:55:22.500000000','2006-12-01 15:55:22.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42E5CB20-817E-11DB-8B20-A75EBCBE178B','jbossesb','JBoss ESB User','2006-12-01 15:55:22.578000000','2006-12-01 15:55:22.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42EF4100-817E-11DB-8100-8D647514CCAE','jbossesb','JBoss ESB User','2006-12-01 15:55:22.640000000','2006-12-01 15:55:22.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42F5ED30-817D-11DB-AD30-CE890D16F047','jbossesb','JBoss ESB User','2006-12-01 15:48:13.203000000','2006-12-01 15:48:13.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:42FF8A20-817D-11DB-8A20-A5B18D708F6B','jbossesb','JBoss ESB User','2006-12-01 15:48:13.265000000','2006-12-01 15:48:13.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:430DBAF0-817D-11DB-BAF0-8BAFAC48C4C5','jbossesb','JBoss ESB User','2006-12-01 15:48:13.359000000','2006-12-01 15:48:13.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43375110-817F-11DB-9110-C17B75E0C859','jbossesb','JBoss ESB User','2006-12-01 16:02:32.609000000','2006-12-01 16:02:32.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4352DB10-814D-11DB-A6BA-DF79C75AF480','jbossesb','JBoss ESB User','2006-12-01 10:04:37.968000000','2006-12-01 10:04:37.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4361A360-80E5-11DB-A360-D8E2509D82F8','jbossesb','JBoss ESB User','2006-11-30 21:40:10.406000000','2006-11-30 21:40:10.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43637CE0-814D-11DB-A6BA-99E1D88D56A9','jbossesb','JBoss ESB User','2006-12-01 10:04:38.780000000','2006-12-01 10:04:38.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:436AA8D0-814D-11DB-A6BA-B5FF24D25DDF','jbossesb','JBoss ESB User','2006-12-01 10:04:38.109000000','2006-12-01 10:04:38.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:436F63C0-814D-11DB-A6BA-ADB7B47C157B','jbossesb','JBoss ESB User','2006-12-01 10:04:38.140000000','2006-12-01 10:04:38.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43826440-8105-11DB-A440-C2C6C4303B28','jbossesb','JBoss ESB User','2006-12-01 01:29:14.500000000','2006-12-01 01:29:14.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:439165F0-80E5-11DB-A5F0-D699D773CB5D','jbossesb','JBoss ESB User','2006-11-30 21:40:10.718000000','2006-11-30 21:40:10.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43A3A7E0-8105-11DB-A7E0-A454D973BE9D','jbossesb','JBoss ESB User','2006-12-01 01:29:14.718000000','2006-12-01 01:29:14.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43A6C2B0-80E5-11DB-82B0-8E996B66CA16','jbossesb','JBoss ESB User','2006-11-30 21:40:10.859000000','2006-11-30 21:40:10.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43A9C1F0-817F-11DB-81F0-FE20E45890F7','jbossesb','JBoss ESB User','2006-12-01 16:02:33.359000000','2006-12-01 16:02:33.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43AF8EC0-8105-11DB-8EC0-FD49196094E6','jbossesb','JBoss ESB User','2006-12-01 01:29:14.796000000','2006-12-01 01:29:14.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43B78B90-80E5-11DB-8B90-CEF4AC20692A','jbossesb','JBoss ESB User','2006-11-30 21:40:10.953000000','2006-11-30 21:40:11.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:43BB9CB0-8105-11DB-9CB0-A1C0D459F0A5','jbossesb','JBoss ESB User','2006-12-01 01:29:14.890000000','2006-12-01 01:29:14.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:441295E0-817F-11DB-95E0-C1AF4CCDC67B','jbossesb','JBoss ESB User','2006-12-01 16:02:34.460000000','2006-12-01 16:02:34.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:443C1E40-817C-11DB-9E40-CEEA56CD35AC','jbossesb','JBoss ESB User','2006-12-01 15:41:05.828000000','2006-12-01 15:41:05.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4458A6F0-817C-11DB-A6F0-DC2F85CD5CF9','jbossesb','JBoss ESB User','2006-12-01 15:41:06.310000000','2006-12-01 15:41:06.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:446243E0-817C-11DB-83E0-C6A2F6AFB047','jbossesb','JBoss ESB User','2006-12-01 15:41:06.930000000','2006-12-01 15:41:06.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:446BB9C0-817C-11DB-B9C0-BAEBD90A174B','jbossesb','JBoss ESB User','2006-12-01 15:41:06.156000000','2006-12-01 15:41:06.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4471F3F0-817F-11DB-B3F0-EEBDFB0B8795','jbossesb','JBoss ESB User','2006-12-01 16:02:34.687000000','2006-12-01 16:02:34.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44751420-8172-11DB-B8A9-BA30D2970EC0','jbossesb','JBoss ESB User','2006-12-01 14:29:31.328000000','2006-12-01 14:29:31.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44CC99E0-861B-11DB-99E0-903FDD61C215','jbossesb','JBoss ESB User','2006-12-07 12:49:21.406000000','2006-12-07 12:49:21.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44CEE3D0-861B-11DB-A3D0-F36F230C1DA5','jbossesb','JBoss ESB User','2006-12-07 12:49:21.437000000','2006-12-07 12:49:21.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44D60FC0-861B-11DB-8FC0-D91E02292590','jbossesb','JBoss ESB User','2006-12-07 12:49:21.468000000','2006-12-07 12:49:21.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44DAF1C0-861B-11DB-B1C0-88F5AA101EFB','jbossesb','JBoss ESB User','2006-12-07 12:49:21.500000000','2006-12-07 12:49:21.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44DFACB0-861B-11DB-ACB0-84897D695525','jbossesb','JBoss ESB User','2006-12-07 12:49:21.531000000','2006-12-07 12:49:21.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44EC3FF0-8172-11DB-B8A9-D0BFD433A574','jbossesb','JBoss ESB User','2006-12-01 14:29:32.310000000','2006-12-01 14:29:32.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44F5DCE0-8172-11DB-B8A9-DCFE26BFDBB7','jbossesb','JBoss ESB User','2006-12-01 14:29:32.780000000','2006-12-01 14:29:32.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44F9EB70-861B-11DB-AB70-BC76F1A8F6F5','jbossesb','JBoss ESB User','2006-12-07 12:49:21.703000000','2006-12-07 12:49:21.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:44FEA660-861B-11DB-A660-922BA4CCEE8A','jbossesb','JBoss ESB User','2006-12-07 12:49:21.734000000','2006-12-07 12:49:21.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4501C3C0-8172-11DB-B8A9-827E0AEEF7A4','jbossesb','JBoss ESB User','2006-12-01 14:29:32.171000000','2006-12-01 14:29:32.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45036150-861B-11DB-A150-FAF93BFBE694','jbossesb','JBoss ESB User','2006-12-07 12:49:21.765000000','2006-12-07 12:49:21.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45081C40-861B-11DB-9C40-EFC5750F9FD3','jbossesb','JBoss ESB User','2006-12-07 12:49:21.796000000','2006-12-07 12:49:21.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:450A8D40-861B-11DB-8D40-9695C566F3A8','jbossesb','JBoss ESB User','2006-12-07 12:49:21.812000000','2006-12-07 12:49:21.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45225B00-861B-11DB-9B00-853E93AFA981','jbossesb','JBoss ESB User','2006-12-07 12:49:21.984000000','2006-12-07 12:49:22.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:452BB290-8175-11DB-AE84-E39CFCC599A7','jbossesb','JBoss ESB User','2006-12-01 14:51:00.968000000','2006-12-01 14:51:01.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4551D830-8175-11DB-AE84-97F9DD3A39DC','jbossesb','JBoss ESB User','2006-12-01 14:51:01.171000000','2006-12-01 14:51:01.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45675C00-8175-11DB-AE84-EBDC00566234','jbossesb','JBoss ESB User','2006-12-01 14:51:01.343000000','2006-12-01 14:51:01.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4579BFA0-8182-11DB-AB1E-CDB875976C3C','jbossesb','JBoss ESB User','2006-12-01 16:24:04.921000000','2006-12-01 16:24:04.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45819AC0-8175-11DB-AE84-8A3023AA5FEE','jbossesb','JBoss ESB User','2006-12-01 14:51:01.500000000','2006-12-01 14:51:01.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45918D60-8182-11DB-AB1E-CD3162BB6AD7','jbossesb','JBoss ESB User','2006-12-01 16:24:05.460000000','2006-12-01 16:24:05.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45A4A030-8182-11DB-AB1E-B091335171A7','jbossesb','JBoss ESB User','2006-12-01 16:24:05.203000000','2006-12-01 16:24:05.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45A97CD0-816F-11DB-A4E4-A55FF493A750','jbossesb','JBoss ESB User','2006-12-01 14:08:04.812000000','2006-12-01 14:08:04.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45B2F810-8182-11DB-AB1E-B9ED026CEA79','jbossesb','JBoss ESB User','2006-12-01 16:24:05.265000000','2006-12-01 16:24:05.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:45F5C810-816F-11DB-A4E4-FD03B3DED708','jbossesb','JBoss ESB User','2006-12-01 14:08:05.281000000','2006-12-01 14:08:05.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4601AEF0-816F-11DB-A4E4-E1C9FFE4199F','jbossesb','JBoss ESB User','2006-12-01 14:08:05.359000000','2006-12-01 14:08:05.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:461DC1E0-8100-11DB-B65A-DAE2FE8002B6','jbossesb','JBoss ESB User','2006-12-01 00:53:31.390000000','2006-12-01 00:53:31.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:463F2C90-8100-11DB-B65A-829A161C5404','jbossesb','JBoss ESB User','2006-12-01 00:53:31.625000000','2006-12-01 00:53:31.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:46523F60-8100-11DB-B65A-CA39D29CEEFB','jbossesb','JBoss ESB User','2006-12-01 00:53:31.750000000','2006-12-01 00:53:31.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:46609740-8100-11DB-B65A-F580427EED9D','jbossesb','JBoss ESB User','2006-12-01 00:53:31.828000000','2006-12-01 00:53:31.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:467F1EF0-8104-11DB-9EF0-C34CC723C536','jbossesb','JBoss ESB User','2006-12-01 01:22:10.460000000','2006-12-01 01:22:10.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:46995DB0-8104-11DB-9DB0-90CF31E573FE','jbossesb','JBoss ESB User','2006-12-01 01:22:10.187000000','2006-12-01 01:22:10.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:46A7B590-8104-11DB-B590-87578EBE0771','jbossesb','JBoss ESB User','2006-12-01 01:22:10.281000000','2006-12-01 01:22:10.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:46B12B70-8104-11DB-AB70-81F9DEE0D88D','jbossesb','JBoss ESB User','2006-12-01 01:22:10.375000000','2006-12-01 01:22:10.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:46D450C0-861B-11DB-90C0-8C80B182ABA5','jbossesb','JBoss ESB User','2006-12-07 12:49:24.828000000','2006-12-07 12:49:24.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:477111E0-8179-11DB-91E0-89E5DABFD629','jbossesb','JBoss ESB User','2006-12-01 15:19:42.718000000','2006-12-01 15:19:42.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:477CEDD0-8610-11DB-ADD0-C72031CAE6E1','jbossesb','JBoss ESB User','2006-12-07 11:30:41.453000000','2006-12-07 11:30:41.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:477F37C0-8610-11DB-B7C0-CC445CBD0800','jbossesb','JBoss ESB User','2006-12-07 11:30:41.484000000','2006-12-07 11:30:41.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:478419C0-8610-11DB-99C0-ACCD50F0973B','jbossesb','JBoss ESB User','2006-12-07 11:30:41.515000000','2006-12-07 11:30:41.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:479000A0-8610-11DB-80A0-C75BD09C322C','jbossesb','JBoss ESB User','2006-12-07 11:30:41.609000000','2006-12-07 11:30:41.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4794BB90-8610-11DB-BB90-9D7F0C69290A','jbossesb','JBoss ESB User','2006-12-07 11:30:41.625000000','2006-12-07 11:30:41.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:479BE780-8610-11DB-A780-D71534096B2D','jbossesb','JBoss ESB User','2006-12-07 11:30:41.656000000','2006-12-07 11:30:41.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:479C2A10-861A-11DB-AA10-9A2318754D7B','jbossesb','JBoss ESB User','2006-12-07 12:42:16.625000000','2006-12-07 12:42:16.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47A0D470-8179-11DB-9470-B03C3BDF73EE','jbossesb','JBoss ESB User','2006-12-01 15:19:43.460000000','2006-12-01 15:19:43.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47A0E500-861A-11DB-A500-D3EBEFFA72BB','jbossesb','JBoss ESB User','2006-12-07 12:42:16.671000000','2006-12-07 12:42:16.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47A810F0-861A-11DB-90F0-FCA25CD6CD49','jbossesb','JBoss ESB User','2006-12-07 12:42:16.703000000','2006-12-07 12:42:16.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47AF3CE0-861A-11DB-BCE0-A1F571057543','jbossesb','JBoss ESB User','2006-12-07 12:42:16.750000000','2006-12-07 12:42:16.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47B3E740-8179-11DB-A740-F815F9E4599F','jbossesb','JBoss ESB User','2006-12-01 15:19:43.171000000','2006-12-01 15:19:43.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47B3F7D0-861A-11DB-B7D0-926C074BB3DF','jbossesb','JBoss ESB User','2006-12-07 12:42:16.781000000','2006-12-07 12:42:16.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47BD5D20-8179-11DB-9D20-8581EFE2CB1A','jbossesb','JBoss ESB User','2006-12-01 15:19:43.250000000','2006-12-01 15:19:43.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47C39820-814C-11DB-A6BA-91D989DBAA50','jbossesb','JBoss ESB User','2006-12-01 09:57:35.921000000','2006-12-01 09:57:35.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47CE3690-861A-11DB-B690-AA3470984113','jbossesb','JBoss ESB User','2006-12-07 12:42:16.968000000','2006-12-07 12:42:16.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47D08080-861A-11DB-8080-DDDEAF79F9EB','jbossesb','JBoss ESB User','2006-12-07 12:42:16.968000000','2006-12-07 12:42:17.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47D439F0-814C-11DB-A6BA-F89DC06DDB98','jbossesb','JBoss ESB User','2006-12-01 09:57:36.310000000','2006-12-01 09:57:36.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47DA1D70-861A-11DB-9D70-99E5535BFA45','jbossesb','JBoss ESB User','2006-12-07 12:42:17.310000000','2006-12-07 12:42:17.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47DB65E0-814C-11DB-A6BA-862A052989CB','jbossesb','JBoss ESB User','2006-12-01 09:57:36.780000000','2006-12-01 09:57:36.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47DED860-861A-11DB-9860-B807B6464A46','jbossesb','JBoss ESB User','2006-12-07 12:42:17.930000000','2006-12-07 12:42:17.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47E291D0-814C-11DB-A6BA-B9168D71DE29','jbossesb','JBoss ESB User','2006-12-01 09:57:36.125000000','2006-12-01 09:57:36.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47E60450-861A-11DB-8450-FD2D8EDE6C04','jbossesb','JBoss ESB User','2006-12-07 12:42:17.125000000','2006-12-07 12:42:17.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47EC5D60-816E-11DB-A4E4-B35EF2959429','jbossesb','JBoss ESB User','2006-12-01 14:00:59.780000000','2006-12-01 14:00:59.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:47F45C30-861A-11DB-9C30-F94603EE80DA','jbossesb','JBoss ESB User','2006-12-07 12:42:17.203000000','2006-12-07 12:42:17.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:48090D20-816E-11DB-A4E4-94C20321CB5A','jbossesb','JBoss ESB User','2006-12-01 14:00:59.265000000','2006-12-01 14:00:59.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:48173DF0-816E-11DB-A4E4-A09BB2421787','jbossesb','JBoss ESB User','2006-12-01 14:00:59.359000000','2006-12-01 14:00:59.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:482595D0-816E-11DB-A4E4-FFB90DF9C7A8','jbossesb','JBoss ESB User','2006-12-01 14:00:59.437000000','2006-12-01 14:00:59.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:484E0AC0-8181-11DB-AB1E-CA3A63A9C215','jbossesb','JBoss ESB User','2006-12-01 16:17:00.156000000','2006-12-01 16:17:00.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4884F940-8181-11DB-AB1E-99764C2E3B52','jbossesb','JBoss ESB User','2006-12-01 16:17:00.515000000','2006-12-01 16:17:00.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:489CC700-8181-11DB-AB1E-D00F3F90FCC1','jbossesb','JBoss ESB User','2006-12-01 16:17:00.656000000','2006-12-01 16:17:00.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:489D9480-861A-11DB-9480-A0C038A26362','jbossesb','JBoss ESB User','2006-12-07 12:42:18.328000000','2006-12-07 12:42:18.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:48AB1EE0-8181-11DB-AB1E-D8230534F35A','jbossesb','JBoss ESB User','2006-12-01 16:17:00.765000000','2006-12-01 16:17:00.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:48C85990-8610-11DB-9990-B9F92308CDED','jbossesb','JBoss ESB User','2006-12-07 11:30:43.640000000','2006-12-07 11:30:43.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4967F4F0-8610-11DB-B4F0-CFB7FE605DDA','jbossesb','JBoss ESB User','2006-12-07 11:30:44.687000000','2006-12-07 11:30:44.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:49CDB0B0-80E3-11DB-B0B0-8AA97B9075A9','jbossesb','JBoss ESB User','2006-11-30 21:26:02.421000000','2006-11-30 21:26:02.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:49D2FCB0-8619-11DB-BCB0-D919CDE028F7','jbossesb','JBoss ESB User','2006-12-07 12:35:10.843000000','2006-12-07 12:35:10.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:49D56DB0-8619-11DB-ADB0-91168C9B3DBA','jbossesb','JBoss ESB User','2006-12-07 12:35:10.906000000','2006-12-07 12:35:10.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:49DEE390-8619-11DB-A390-E66E4FDE96AC','jbossesb','JBoss ESB User','2006-12-07 12:35:10.921000000','2006-12-07 12:35:10.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:49E3C590-8619-11DB-8590-B67ACDCA76DD','jbossesb','JBoss ESB User','2006-12-07 12:35:10.968000000','2006-12-07 12:35:10.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:49EAF180-8619-11DB-B180-FEE4B378EFB6','jbossesb','JBoss ESB User','2006-12-07 12:35:11.150000000','2006-12-07 12:35:11.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:49EFAC70-8619-11DB-AC70-AB261B813DDA','jbossesb','JBoss ESB User','2006-12-07 12:35:11.460000000','2006-12-07 12:35:11.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:49FB50C0-860F-11DB-90C0-E64D0C5CE017','jbossesb','JBoss ESB User','2006-12-07 11:23:36.218000000','2006-12-07 11:23:36.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A0C19A0-860F-11DB-99A0-E5064C5BA6A4','jbossesb','JBoss ESB User','2006-12-07 11:23:36.250000000','2006-12-07 11:23:36.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A0C3520-8619-11DB-B520-D848EAA2C986','jbossesb','JBoss ESB User','2006-12-07 12:35:11.218000000','2006-12-07 12:35:11.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A111720-8619-11DB-9720-D24D6F48585E','jbossesb','JBoss ESB User','2006-12-07 12:35:11.265000000','2006-12-07 12:35:11.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A131E80-860F-11DB-9E80-90589B489E9F','jbossesb','JBoss ESB User','2006-12-07 11:23:36.312000000','2006-12-07 11:23:36.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A1A8D00-8619-11DB-8D00-CF83DA80F627','jbossesb','JBoss ESB User','2006-12-07 12:35:11.328000000','2006-12-07 12:35:11.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A1C6CF0-80E3-11DB-ACF0-D64828A57719','jbossesb','JBoss ESB User','2006-11-30 21:26:02.734000000','2006-11-30 21:26:02.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A1F47F0-8619-11DB-87F0-92CD3C5A7C3C','jbossesb','JBoss ESB User','2006-12-07 12:35:11.359000000','2006-12-07 12:35:11.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A23E760-860F-11DB-A760-9BC0801DA89E','jbossesb','JBoss ESB User','2006-12-07 11:23:36.421000000','2006-12-07 11:23:36.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A2673E0-8619-11DB-B3E0-FFD46485DEE9','jbossesb','JBoss ESB User','2006-12-07 12:35:11.390000000','2006-12-07 12:35:11.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A28A250-860F-11DB-A250-E879600D86A6','jbossesb','JBoss ESB User','2006-12-07 11:23:36.437000000','2006-12-07 11:23:36.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A2B1350-860F-11DB-9350-D5C0B200E5BF','jbossesb','JBoss ESB User','2006-12-07 11:23:36.468000000','2006-12-07 11:23:36.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A2FCE40-860F-11DB-8E40-C49E8BF7CF25','jbossesb','JBoss ESB User','2006-12-07 11:23:36.500000000','2006-12-07 11:23:36.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A391CB0-80E3-11DB-9CB0-DF1D57C7C7D9','jbossesb','JBoss ESB User','2006-11-30 21:26:02.890000000','2006-11-30 21:26:02.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A4323A0-8619-11DB-A3A0-9FD9431D28B3','jbossesb','JBoss ESB User','2006-12-07 12:35:11.578000000','2006-12-07 12:35:11.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A4A4F90-8619-11DB-8F90-A8A6C5E11235','jbossesb','JBoss ESB User','2006-12-07 12:35:11.625000000','2006-12-07 12:35:11.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A4F0A80-8619-11DB-8A80-E0498E53F78B','jbossesb','JBoss ESB User','2006-12-07 12:35:11.656000000','2006-12-07 12:35:11.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A533460-80E3-11DB-B460-F16885BA6A5C','jbossesb','JBoss ESB User','2006-11-30 21:26:03.460000000','2006-11-30 21:26:03.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A53C570-8619-11DB-8570-E0B06D48825E','jbossesb','JBoss ESB User','2006-12-07 12:35:11.703000000','2006-12-07 12:35:11.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A5AF160-8619-11DB-B160-94A1B92FC9E6','jbossesb','JBoss ESB User','2006-12-07 12:35:11.750000000','2006-12-07 12:35:11.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4A912950-8147-11DB-A69A-D84EFA601410','jbossesb','JBoss ESB User','2006-12-01 09:21:53.140000000','2006-12-01 09:21:53.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4AA43C20-8147-11DB-A69A-8BDD7AF78560','jbossesb','JBoss ESB User','2006-12-01 09:21:53.250000000','2006-12-01 09:21:53.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4ABC09E0-8147-11DB-A69A-FB0E697E0947','jbossesb','JBoss ESB User','2006-12-01 09:21:53.406000000','2006-12-01 09:21:53.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4AC57FC0-8147-11DB-A69A-C3F3B0F0A4AA','jbossesb','JBoss ESB User','2006-12-01 09:21:53.484000000','2006-12-01 09:21:53.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4AE3D500-817A-11DB-9500-8FDBD7ED553F','jbossesb','JBoss ESB User','2006-12-01 15:26:58.310000000','2006-12-01 15:26:58.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4B0C4490-817A-11DB-8490-AF57502EED5B','jbossesb','JBoss ESB User','2006-12-01 15:26:58.296000000','2006-12-01 15:26:58.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4B173C80-8619-11DB-BC80-A8A8E81508D9','jbossesb','JBoss ESB User','2006-12-07 12:35:12.968000000','2006-12-07 12:35:12.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4B28F450-817A-11DB-B450-C540E75466FC','jbossesb','JBoss ESB User','2006-12-01 15:26:58.468000000','2006-12-01 15:26:58.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4B372520-817A-11DB-A520-F54B88F2330C','jbossesb','JBoss ESB User','2006-12-01 15:26:58.546000000','2006-12-01 15:26:58.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4B959440-8619-11DB-9440-CFCEDF0F92C6','jbossesb','JBoss ESB User','2006-12-07 12:35:13.812000000','2006-12-07 12:35:13.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BC9E260-8563-11DB-A4E1-DF95E8C73A5D','jbossesb','JBoss ESB User','2006-12-06 14:52:25.765000000','2006-12-06 14:52:25.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BD5C940-8563-11DB-A4E1-F1218935A63C','jbossesb','JBoss ESB User','2006-12-06 14:52:25.812000000','2006-12-06 14:52:25.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BD62D70-861E-11DB-B1A1-C32CAC844B71','jbossesb','JBoss ESB User','2006-12-07 13:11:01.703000000','2006-12-07 13:11:01.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BD87760-861E-11DB-B1A1-B4399095A58A','jbossesb','JBoss ESB User','2006-12-07 13:11:01.718000000','2006-12-07 13:11:01.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BDCF530-8563-11DB-A4E1-8FEBD745C092','jbossesb','JBoss ESB User','2006-12-06 14:52:25.859000000','2006-12-06 14:52:25.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BDD5960-861E-11DB-B1A1-FA25719DFC28','jbossesb','JBoss ESB User','2006-12-07 13:11:01.750000000','2006-12-07 13:11:01.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BDFA350-861E-11DB-B1A1-D2E79C0F2F27','jbossesb','JBoss ESB User','2006-12-07 13:11:01.765000000','2006-12-07 13:11:01.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BE21450-861E-11DB-B1A1-DC3492E0EA2C','jbossesb','JBoss ESB User','2006-12-07 13:11:01.781000000','2006-12-07 13:11:01.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BE45E40-861E-11DB-B1A1-C8EFA08E5042','jbossesb','JBoss ESB User','2006-12-07 13:11:01.796000000','2006-12-07 13:11:01.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BF77110-861E-11DB-B1A1-8DA3298AFCA9','jbossesb','JBoss ESB User','2006-12-07 13:11:01.921000000','2006-12-07 13:11:01.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BF9E210-861E-11DB-B1A1-C67829F740CB','jbossesb','JBoss ESB User','2006-12-07 13:11:01.937000000','2006-12-07 13:11:01.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4BFE9D00-861E-11DB-B1A1-DA90C5792FCF','jbossesb','JBoss ESB User','2006-12-07 13:11:01.984000000','2006-12-07 13:11:01.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C0307A0-860F-11DB-87A0-9395D1DA059E','jbossesb','JBoss ESB User','2006-12-07 11:23:39.546000000','2006-12-07 11:23:39.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C037F00-861E-11DB-B1A1-C8AA26A7886B','jbossesb','JBoss ESB User','2006-12-07 13:11:02.0','2006-12-07 13:11:02.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C0839F0-861E-11DB-B1A1-D5A4DB157551','jbossesb','JBoss ESB User','2006-12-07 13:11:02.310000000','2006-12-07 13:11:02.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C0A83E0-861E-11DB-B1A1-BF0EFDBD27B1','jbossesb','JBoss ESB User','2006-12-07 13:11:02.620000000','2006-12-07 13:11:02.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C11AFD0-861E-11DB-B1A1-F7B4BBDFB875','jbossesb','JBoss ESB User','2006-12-07 13:11:02.109000000','2006-12-07 13:11:02.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C159AB0-860E-11DB-9AB0-E64FA170639A','jbossesb','JBoss ESB User','2006-12-07 11:16:30.187000000','2006-12-07 11:16:30.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C17DC40-861C-11DB-9C40-EB06C2E32525','jbossesb','JBoss ESB User','2006-12-07 12:56:43.140000000','2006-12-07 12:56:43.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C1A7CB0-860E-11DB-BCB0-9622A93CB1F9','jbossesb','JBoss ESB User','2006-12-07 11:16:30.218000000','2006-12-07 11:16:30.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C1C9730-861C-11DB-9730-F9ADA12159D7','jbossesb','JBoss ESB User','2006-12-07 12:56:43.187000000','2006-12-07 12:56:43.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C1F37A0-860E-11DB-B7A0-BB14B3162A01','jbossesb','JBoss ESB User','2006-12-07 11:16:30.250000000','2006-12-07 11:16:30.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C263420-861C-11DB-B420-B114B33737FA','jbossesb','JBoss ESB User','2006-12-07 12:56:43.250000000','2006-12-07 12:56:43.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C2BEE90-861E-11DB-B1A1-844764DBAA4C','jbossesb','JBoss ESB User','2006-12-07 13:11:02.265000000','2006-12-07 13:11:02.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C2D6010-861C-11DB-A010-F9246820125B','jbossesb','JBoss ESB User','2006-12-07 12:56:43.296000000','2006-12-07 12:56:43.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C2FD970-860E-11DB-9970-952533FDC710','jbossesb','JBoss ESB User','2006-12-07 11:16:30.343000000','2006-12-07 11:16:30.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C324A70-860E-11DB-8A70-E65E5C38832A','jbossesb','JBoss ESB User','2006-12-07 11:16:30.375000000','2006-12-07 11:16:30.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C345530-814B-11DB-A6BA-CF0CDFEB67B3','jbossesb','JBoss ESB User','2006-12-01 09:50:33.875000000','2006-12-01 09:50:33.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C370560-860E-11DB-8560-C28087B6C1FA','jbossesb','JBoss ESB User','2006-12-07 11:16:30.390000000','2006-12-07 11:16:30.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C3946F0-861C-11DB-86F0-E23CB0AE8F0B','jbossesb','JBoss ESB User','2006-12-07 12:56:43.390000000','2006-12-07 12:56:43.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C42BCD0-861C-11DB-BCD0-F909D7ACE814','jbossesb','JBoss ESB User','2006-12-07 12:56:43.421000000','2006-12-07 12:56:43.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C459FD0-8618-11DB-9FD0-E0B0A2464BED','jbossesb','JBoss ESB User','2006-12-07 12:28:05.468000000','2006-12-07 12:28:05.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C4CCBC0-8618-11DB-8BC0-9E0C585836FF','jbossesb','JBoss ESB User','2006-12-07 12:28:05.500000000','2006-12-07 12:28:05.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C4E93F0-814B-11DB-A6BA-E4A3796643CD','jbossesb','JBoss ESB User','2006-12-01 09:50:34.310000000','2006-12-01 09:50:34.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C5186B0-8618-11DB-86B0-F9009B6EF5CF','jbossesb','JBoss ESB User','2006-12-07 12:28:05.578000000','2006-12-07 12:28:05.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C534EE0-814B-11DB-A6BA-FB2406B7AE4D','jbossesb','JBoss ESB User','2006-12-01 09:50:34.780000000','2006-12-01 09:50:34.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C5809D0-814B-11DB-A6BA-C8557ED9338E','jbossesb','JBoss ESB User','2006-12-01 09:50:34.109000000','2006-12-01 09:50:34.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C5AFC90-8618-11DB-BC90-C83501353CF8','jbossesb','JBoss ESB User','2006-12-07 12:28:05.609000000','2006-12-07 12:28:05.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C5FDE90-8618-11DB-9E90-D13035B6F33D','jbossesb','JBoss ESB User','2006-12-07 12:28:05.625000000','2006-12-07 12:28:05.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C6B5370-861C-11DB-9370-DA200500C2DD','jbossesb','JBoss ESB User','2006-12-07 12:56:43.703000000','2006-12-07 12:56:43.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C727F60-861C-11DB-BF60-A75FDA934DE6','jbossesb','JBoss ESB User','2006-12-07 12:56:43.734000000','2006-12-07 12:56:43.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C773A50-861C-11DB-BA50-B48884025398','jbossesb','JBoss ESB User','2006-12-07 12:56:43.796000000','2006-12-07 12:56:43.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C7C6740-8618-11DB-A740-C419B91F938A','jbossesb','JBoss ESB User','2006-12-07 12:28:05.828000000','2006-12-07 12:28:05.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C80D740-861C-11DB-9740-DE7956918B94','jbossesb','JBoss ESB User','2006-12-07 12:56:43.843000000','2006-12-07 12:56:43.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C812230-8618-11DB-A230-94B7E308061E','jbossesb','JBoss ESB User','2006-12-07 12:28:05.843000000','2006-12-07 12:28:05.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C839330-8618-11DB-9330-D273822BC61A','jbossesb','JBoss ESB User','2006-12-07 12:28:05.875000000','2006-12-07 12:28:05.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C880330-861C-11DB-8330-9BF8A2BDBA2B','jbossesb','JBoss ESB User','2006-12-07 12:56:43.890000000','2006-12-07 12:56:43.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C884E20-8618-11DB-8E20-9DF0C6E3AB70','jbossesb','JBoss ESB User','2006-12-07 12:28:05.906000000','2006-12-07 12:28:05.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C8CBE20-861C-11DB-BE20-F960746A3CDC','jbossesb','JBoss ESB User','2006-12-07 12:56:43.921000000','2006-12-07 12:56:43.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C8D0910-8618-11DB-8910-F9B533A88778','jbossesb','JBoss ESB User','2006-12-07 12:28:05.921000000','2006-12-07 12:28:05.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C943500-8618-11DB-B500-92A717F33114','jbossesb','JBoss ESB User','2006-12-07 12:28:05.968000000','2006-12-07 12:28:05.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4C963400-861C-11DB-B400-BF68163AFF53','jbossesb','JBoss ESB User','2006-12-07 12:56:43.968000000','2006-12-07 12:56:43.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4CC13BA0-861C-11DB-BBA0-E011CC0FD72F','jbossesb','JBoss ESB User','2006-12-07 12:56:44.250000000','2006-12-07 12:56:44.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4CDE3650-8618-11DB-B650-F5DDD3F98304','jbossesb','JBoss ESB User','2006-12-07 12:28:06.468000000','2006-12-07 12:28:06.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4D8322E0-8178-11DB-B9D0-C433600D4C01','jbossesb','JBoss ESB User','2006-12-01 15:12:43.421000000','2006-12-01 15:12:43.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4D8650D0-8170-11DB-AF51-96F640B388C5','jbossesb','JBoss ESB User','2006-12-01 14:15:27.468000000','2006-12-01 14:15:27.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4DBD1840-8170-11DB-AF51-E13A754C95E9','jbossesb','JBoss ESB User','2006-12-01 14:15:27.828000000','2006-12-01 14:15:27.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4DDC11F0-8170-11DB-AF51-B78502D09D12','jbossesb','JBoss ESB User','2006-12-01 14:15:28.310000000','2006-12-01 14:15:28.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4DE18170-8176-11DB-8170-F4D99AF56680','jbossesb','JBoss ESB User','2006-12-01 14:58:25.310000000','2006-12-01 14:58:25.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4DF195C0-8170-11DB-AF51-EBB7F9354C74','jbossesb','JBoss ESB User','2006-12-01 14:15:28.187000000','2006-12-01 14:15:28.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4DF7CFF0-8173-11DB-B8A9-A11AE208E521','jbossesb','JBoss ESB User','2006-12-01 14:36:56.687000000','2006-12-01 14:36:56.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E07A710-8176-11DB-A710-9816BBF634B0','jbossesb','JBoss ESB User','2006-12-01 14:58:25.281000000','2006-12-01 14:58:25.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E0F9DB0-8173-11DB-B8A9-F556140074DD','jbossesb','JBoss ESB User','2006-12-01 14:36:56.859000000','2006-12-01 14:36:56.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E1DF590-8173-11DB-B8A9-DD0225878FCA','jbossesb','JBoss ESB User','2006-12-01 14:36:56.937000000','2006-12-01 14:36:56.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E1F74D0-8176-11DB-B4D0-C97816345514','jbossesb','JBoss ESB User','2006-12-01 14:58:25.437000000','2006-12-01 14:58:25.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E279280-8173-11DB-B8A9-D7271AFDE6C4','jbossesb','JBoss ESB User','2006-12-01 14:36:57.310000000','2006-12-01 14:36:57.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E34F8A0-8176-11DB-B8A0-A758E3652CBA','jbossesb','JBoss ESB User','2006-12-01 14:58:25.593000000','2006-12-01 14:58:25.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E3842E0-8148-11DB-82E0-989002E3320C','jbossesb','JBoss ESB User','2006-12-01 09:29:08.750000000','2006-12-01 09:29:08.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E4B55B0-8148-11DB-95B0-D050EC380FEC','jbossesb','JBoss ESB User','2006-12-01 09:29:08.875000000','2006-12-01 09:29:08.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E573C90-8148-11DB-BC90-ADE1197973D7','jbossesb','JBoss ESB User','2006-12-01 09:29:08.968000000','2006-12-01 09:29:08.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4E5E6880-8148-11DB-A880-A5F4453681AD','jbossesb','JBoss ESB User','2006-12-01 09:29:09.150000000','2006-12-01 09:29:09.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4EBE7A50-817E-11DB-BA50-8D62A1486860','jbossesb','JBoss ESB User','2006-12-01 15:55:42.468000000','2006-12-01 15:55:42.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4EE1AF30-817D-11DB-AF30-BC86AD0059BF','jbossesb','JBoss ESB User','2006-12-01 15:48:33.203000000','2006-12-01 15:48:33.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F00A8E0-817D-11DB-A8E0-F22AFBDEE0DE','jbossesb','JBoss ESB User','2006-12-01 15:48:33.406000000','2006-12-01 15:48:33.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F0C8FC0-817D-11DB-8FC0-A6F96E4322F6','jbossesb','JBoss ESB User','2006-12-01 15:48:33.468000000','2006-12-01 15:48:33.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F1D58A0-817D-11DB-98A0-B3382DCCB326','jbossesb','JBoss ESB User','2006-12-01 15:48:33.593000000','2006-12-01 15:48:33.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F29BF40-817E-11DB-BF40-995BAA69ACEE','jbossesb','JBoss ESB User','2006-12-01 15:55:43.156000000','2006-12-01 15:55:43.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F333520-817E-11DB-B520-B3025FEC13A9','jbossesb','JBoss ESB User','2006-12-01 15:55:43.234000000','2006-12-01 15:55:43.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F42BEC0-860E-11DB-BEC0-D982C15D6F0A','jbossesb','JBoss ESB User','2006-12-07 11:16:35.500000000','2006-12-07 11:16:35.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F7B4530-817F-11DB-8530-DC45662E5A8F','jbossesb','JBoss ESB User','2006-12-01 16:02:53.218000000','2006-12-01 16:02:53.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F8D1FF0-8105-11DB-9FF0-DE7EA5D787EB','jbossesb','JBoss ESB User','2006-12-01 01:29:34.718000000','2006-12-01 01:29:34.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4F99BF20-817E-11DB-BF20-8E8121863666','jbossesb','JBoss ESB User','2006-12-01 15:55:43.906000000','2006-12-01 15:55:43.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4FB0D490-8105-11DB-9490-CFA624C4ECB4','jbossesb','JBoss ESB User','2006-12-01 01:29:34.937000000','2006-12-01 01:29:34.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4FB77990-860E-11DB-B990-C53C449BBC74','jbossesb','JBoss ESB User','2006-12-07 11:16:36.281000000','2006-12-07 11:16:36.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4FBF2C70-8105-11DB-AC70-DF99A4418794','jbossesb','JBoss ESB User','2006-12-01 01:29:35.460000000','2006-12-01 01:29:35.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4FD48930-8105-11DB-8930-E7D2CAEFA7C9','jbossesb','JBoss ESB User','2006-12-01 01:29:35.171000000','2006-12-01 01:29:35.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:4FF4E200-817F-11DB-A200-CBE571B932D9','jbossesb','JBoss ESB User','2006-12-01 16:02:53.984000000','2006-12-01 16:02:54.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:504468F0-817C-11DB-A8F0-AE697F16D85E','jbossesb','JBoss ESB User','2006-12-01 15:41:26.150000000','2006-12-01 15:41:26.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50544010-817F-11DB-8010-FFDC79D331DC','jbossesb','JBoss ESB User','2006-12-01 16:02:54.625000000','2006-12-01 16:02:54.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50577BC0-817C-11DB-BBC0-B5D01F1263D2','jbossesb','JBoss ESB User','2006-12-01 15:41:26.140000000','2006-12-01 15:41:26.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:506CBD00-8172-11DB-B8A9-834C64CF2504','jbossesb','JBoss ESB User','2006-12-01 14:29:51.312000000','2006-12-01 14:29:51.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:507DA160-817C-11DB-A160-8FBBBAAD4985','jbossesb','JBoss ESB User','2006-12-01 15:41:26.406000000','2006-12-01 15:41:26.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:508E27B0-8172-11DB-B8A9-E7CABC8D358D','jbossesb','JBoss ESB User','2006-12-01 14:29:51.531000000','2006-12-01 14:29:51.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:509A0E90-8172-11DB-B8A9-B9FB90AE1216','jbossesb','JBoss ESB User','2006-12-01 14:29:51.609000000','2006-12-01 14:29:51.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50A13A80-8172-11DB-B8A9-9625ECED32FE','jbossesb','JBoss ESB User','2006-12-01 14:29:51.656000000','2006-12-01 14:29:51.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50AEE330-817F-11DB-A330-B4121A59AB26','jbossesb','JBoss ESB User','2006-12-01 16:02:55.203000000','2006-12-01 16:02:55.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50C1D1C0-861B-11DB-91C0-E03D06B83369','jbossesb','JBoss ESB User','2006-12-07 12:49:41.468000000','2006-12-07 12:49:41.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50CB6EB0-861B-11DB-AEB0-BDFDB83FB836','jbossesb','JBoss ESB User','2006-12-07 12:49:41.531000000','2006-12-07 12:49:41.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50D29AA0-861B-11DB-9AA0-CD55C7CF8AE6','jbossesb','JBoss ESB User','2006-12-07 12:49:41.593000000','2006-12-07 12:49:41.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50D38990-817C-11DB-8990-BE1FD91C8BD4','jbossesb','JBoss ESB User','2006-12-01 15:41:26.953000000','2006-12-01 15:41:26.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50D9C690-861B-11DB-8690-97E14EDC9A36','jbossesb','JBoss ESB User','2006-12-07 12:49:41.640000000','2006-12-07 12:49:41.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50E0CB70-861B-11DB-8B70-A92E43ADCC00','jbossesb','JBoss ESB User','2006-12-07 12:49:41.671000000','2006-12-07 12:49:41.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50F8C040-861B-11DB-8040-81B4E41684FE','jbossesb','JBoss ESB User','2006-12-07 12:49:41.843000000','2006-12-07 12:49:41.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:50FB0A30-861B-11DB-8A30-AF97B29F9E3C','jbossesb','JBoss ESB User','2006-12-07 12:49:41.859000000','2006-12-07 12:49:41.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5104A720-861B-11DB-A720-8ABE511C53B7','jbossesb','JBoss ESB User','2006-12-07 12:49:41.906000000','2006-12-07 12:49:41.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5106F110-861B-11DB-B110-C4529BFCB5C3','jbossesb','JBoss ESB User','2006-12-07 12:49:41.937000000','2006-12-07 12:49:41.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:510BD310-861B-11DB-9310-8D3A6CB5F08A','jbossesb','JBoss ESB User','2006-12-07 12:49:41.953000000','2006-12-07 12:49:41.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5112FF00-861B-11DB-BF00-907097D06221','jbossesb','JBoss ESB User','2006-12-07 12:49:42.150000000','2006-12-07 12:49:42.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:513B5040-8175-11DB-AE84-FEF3B3BBB853','jbossesb','JBoss ESB User','2006-12-01 14:51:21.171000000','2006-12-01 14:51:21.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:515CBAF0-8175-11DB-AE84-D02B298ED45E','jbossesb','JBoss ESB User','2006-12-01 14:51:21.375000000','2006-12-01 14:51:21.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:515F4A40-861B-11DB-8A40-84932D5233ED','jbossesb','JBoss ESB User','2006-12-07 12:49:42.500000000','2006-12-07 12:49:42.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:516FCDC0-8175-11DB-AE84-8DD6D067F27A','jbossesb','JBoss ESB User','2006-12-01 14:51:21.515000000','2006-12-01 14:51:21.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5182E090-8175-11DB-AE84-C2F238048063','jbossesb','JBoss ESB User','2006-12-01 14:51:21.640000000','2006-12-01 14:51:21.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:51E64A60-8182-11DB-AB1E-9CABBC348A75','jbossesb','JBoss ESB User','2006-12-01 16:24:25.734000000','2006-12-01 16:24:25.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:51ED70F0-816F-11DB-A4E4-AFF32288B99B','jbossesb','JBoss ESB User','2006-12-01 14:08:25.359000000','2006-12-01 14:08:25.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:51FE1820-8182-11DB-AB1E-FB7CAE0EC032','jbossesb','JBoss ESB User','2006-12-01 16:24:25.906000000','2006-12-01 16:24:25.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5207B510-8182-11DB-AB1E-A91686AC27D4','jbossesb','JBoss ESB User','2006-12-01 16:24:25.984000000','2006-12-01 16:24:26.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:52156AC0-8100-11DB-B65A-DCDDB9C86F9C','jbossesb','JBoss ESB User','2006-12-01 00:53:51.468000000','2006-12-01 00:53:51.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:521856E0-8182-11DB-AB1E-AF17D45B487D','jbossesb','JBoss ESB User','2006-12-01 16:24:26.620000000','2006-12-01 16:24:26.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:52321A80-8100-11DB-B65A-BE49D3F3A1FD','jbossesb','JBoss ESB User','2006-12-01 00:53:51.656000000','2006-12-01 00:53:51.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:524EA330-8100-11DB-B65A-8138EF7D37A4','jbossesb','JBoss ESB User','2006-12-01 00:53:51.843000000','2006-12-01 00:53:51.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:52566BF0-816F-11DB-A4E4-BB588BBC80AD','jbossesb','JBoss ESB User','2006-12-01 14:08:26.310000000','2006-12-01 14:08:26.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:52584020-8100-11DB-B65A-93477E26C754','jbossesb','JBoss ESB User','2006-12-01 00:53:51.906000000','2006-12-01 00:53:51.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:525EFA10-8104-11DB-BA10-96DB3CA21F45','jbossesb','JBoss ESB User','2006-12-01 01:22:29.968000000','2006-12-01 01:22:30.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:528C4BA0-8104-11DB-8BA0-F7805B9B31BC','jbossesb','JBoss ESB User','2006-12-01 01:22:30.234000000','2006-12-01 01:22:30.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:529AA380-8104-11DB-A380-BCDB038E6DF3','jbossesb','JBoss ESB User','2006-12-01 01:22:30.328000000','2006-12-01 01:22:30.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:52A68A60-8104-11DB-8A60-80F0CD563B17','jbossesb','JBoss ESB User','2006-12-01 01:22:30.421000000','2006-12-01 01:22:30.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:52A77220-816F-11DB-A4E4-95F2CB0B9E5C','jbossesb','JBoss ESB User','2006-12-01 14:08:26.578000000','2006-12-01 14:08:26.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5349C110-8179-11DB-8110-9DFDC2C1D4D7','jbossesb','JBoss ESB User','2006-12-01 15:20:02.593000000','2006-12-01 15:20:02.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:535F44E0-8179-11DB-84E0-A863475AFC53','jbossesb','JBoss ESB User','2006-12-01 15:20:02.796000000','2006-12-01 15:20:02.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5380AF90-8179-11DB-AF90-F683D6C0DB85','jbossesb','JBoss ESB User','2006-12-01 15:20:02.953000000','2006-12-01 15:20:02.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:538C9670-8179-11DB-9670-A842F9CD28D7','jbossesb','JBoss ESB User','2006-12-01 15:20:03.310000000','2006-12-01 15:20:03.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53ADCF20-8610-11DB-8F20-98D57045EBC9','jbossesb','JBoss ESB User','2006-12-07 11:31:01.921000000','2006-12-07 11:31:01.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53B28A10-8610-11DB-8A10-904D8711CB9F','jbossesb','JBoss ESB User','2006-12-07 11:31:01.937000000','2006-12-07 11:31:01.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53B74500-8610-11DB-8500-FE224B7CDCE9','jbossesb','JBoss ESB User','2006-12-07 11:31:01.984000000','2006-12-07 11:31:02.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53C80DE0-8610-11DB-8DE0-D17A0471DA86','jbossesb','JBoss ESB User','2006-12-07 11:31:02.780000000','2006-12-07 11:31:02.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53C82960-861A-11DB-A960-89FFB7D68584','jbossesb','JBoss ESB User','2006-12-07 12:42:37.460000000','2006-12-07 12:42:37.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53CA57D0-8610-11DB-97D0-889F5C6C1F4F','jbossesb','JBoss ESB User','2006-12-07 11:31:02.109000000','2006-12-07 11:31:02.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53CBE2D0-814C-11DB-A6BA-FAE0015DBEE1','jbossesb','JBoss ESB User','2006-12-01 09:57:56.109000000','2006-12-01 09:57:56.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53CD0B60-861A-11DB-8B60-ADAE33869DDC','jbossesb','JBoss ESB User','2006-12-07 12:42:37.930000000','2006-12-07 12:42:37.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53D183C0-8610-11DB-83C0-DF6DC43ED066','jbossesb','JBoss ESB User','2006-12-07 11:31:02.140000000','2006-12-07 11:31:02.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53D43750-861A-11DB-B750-82C9B4889301','jbossesb','JBoss ESB User','2006-12-07 12:42:37.140000000','2006-12-07 12:42:37.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53D81F60-816E-11DB-A4E4-F1FC4996FC37','jbossesb','JBoss ESB User','2006-12-01 14:01:19.620000000','2006-12-01 14:01:19.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53D8F240-861A-11DB-B240-BA9359CDE29A','jbossesb','JBoss ESB User','2006-12-07 12:42:37.156000000','2006-12-07 12:42:37.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53DA3AB0-814C-11DB-A6BA-EBB01829E572','jbossesb','JBoss ESB User','2006-12-01 09:57:56.187000000','2006-12-01 09:57:56.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53DDAD30-861A-11DB-AD30-946B28F90D35','jbossesb','JBoss ESB User','2006-12-07 12:42:37.203000000','2006-12-07 12:42:37.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53E62190-814C-11DB-A6BA-A8A8DF69A330','jbossesb','JBoss ESB User','2006-12-01 09:57:56.281000000','2006-12-01 09:57:56.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53E74A20-861A-11DB-8A20-CC9A5592CD92','jbossesb','JBoss ESB User','2006-12-07 12:42:37.265000000','2006-12-07 12:42:37.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:53EB3230-816E-11DB-A4E4-FD34EFD69004','jbossesb','JBoss ESB User','2006-12-01 14:01:19.187000000','2006-12-01 14:01:19.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:540161D0-861A-11DB-A1D0-C6777426D4B5','jbossesb','JBoss ESB User','2006-12-07 12:42:37.421000000','2006-12-07 12:42:37.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5407E1F0-816E-11DB-A4E4-C46FB2CACD2B','jbossesb','JBoss ESB User','2006-12-01 14:01:19.390000000','2006-12-01 14:01:19.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5413C8D0-816E-11DB-A4E4-9358533A9B93','jbossesb','JBoss ESB User','2006-12-01 14:01:19.468000000','2006-12-01 14:01:19.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5416A310-8610-11DB-A310-D042FF9458D7','jbossesb','JBoss ESB User','2006-12-07 11:31:02.609000000','2006-12-07 11:31:02.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:544FDB80-8610-11DB-9B80-C9FAD112472F','jbossesb','JBoss ESB User','2006-12-07 11:31:02.984000000','2006-12-07 11:31:02.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5458C670-8181-11DB-AB1E-C8887C28FB59','jbossesb','JBoss ESB User','2006-12-01 16:17:20.375000000','2006-12-01 16:17:20.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:547A3120-8181-11DB-AB1E-855A5CE49868','jbossesb','JBoss ESB User','2006-12-01 16:17:20.593000000','2006-12-01 16:17:20.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5491FEE0-8181-11DB-AB1E-E5030D25D2F5','jbossesb','JBoss ESB User','2006-12-01 16:17:20.718000000','2006-12-01 16:17:20.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:54A2C7C0-8181-11DB-AB1E-8875063A1F68','jbossesb','JBoss ESB User','2006-12-01 16:17:20.843000000','2006-12-01 16:17:20.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:54AB5080-8103-11DB-BD3E-994CD81ACF80','jbossesb','JBoss ESB User','2006-12-01 01:15:24.328000000','2006-12-01 01:15:24.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:54E23F00-8103-11DB-BD3E-9F0237392AB7','jbossesb','JBoss ESB User','2006-12-01 01:15:24.671000000','2006-12-01 01:15:24.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:55D44280-8619-11DB-8280-FFAAEEB4BC7A','jbossesb','JBoss ESB User','2006-12-07 12:35:31.0','2006-12-07 12:35:31.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:55D8FD70-8619-11DB-BD70-B79946E3627E','jbossesb','JBoss ESB User','2006-12-07 12:35:31.310000000','2006-12-07 12:35:31.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:55DF9850-80E3-11DB-9850-FC7D489C4B6B','jbossesb','JBoss ESB User','2006-11-30 21:26:22.484000000','2006-11-30 21:26:22.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:55E4E450-8619-11DB-A450-FC9B2F571477','jbossesb','JBoss ESB User','2006-12-07 12:35:31.109000000','2006-12-07 12:35:31.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:55E9C650-8619-11DB-8650-A17D0EE35BC8','jbossesb','JBoss ESB User','2006-12-07 12:35:31.125000000','2006-12-07 12:35:31.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:55F0CB30-8619-11DB-8B30-F1409D6C21A1','jbossesb','JBoss ESB User','2006-12-07 12:35:31.171000000','2006-12-07 12:35:31.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:560091C0-817B-11DB-B063-B0E2CD32895D','jbossesb','JBoss ESB User','2006-12-01 15:34:26.171000000','2006-12-01 15:34:26.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5608C000-8619-11DB-8000-CE4EAF72EEAD','jbossesb','JBoss ESB User','2006-12-07 12:35:31.359000000','2006-12-07 12:35:31.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:560A9FF0-80E3-11DB-9FF0-A8AC59561F09','jbossesb','JBoss ESB User','2006-11-30 21:26:22.718000000','2006-11-30 21:26:22.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:561235E0-8619-11DB-B5E0-AEF14CBBD57E','jbossesb','JBoss ESB User','2006-12-07 12:35:31.390000000','2006-12-07 12:35:31.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5616F0D0-8619-11DB-B0D0-96D70E12BB48','jbossesb','JBoss ESB User','2006-12-07 12:35:31.421000000','2006-12-07 12:35:31.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:561BD2D0-8619-11DB-92D0-F950E7B6A926','jbossesb','JBoss ESB User','2006-12-07 12:35:31.468000000','2006-12-07 12:35:31.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5622FEC0-8619-11DB-BEC0-B181DC016E62','jbossesb','JBoss ESB User','2006-12-07 12:35:31.500000000','2006-12-07 12:35:31.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:56330F80-80E3-11DB-8F80-D9713D116058','jbossesb','JBoss ESB User','2006-11-30 21:26:23.310000000','2006-11-30 21:26:23.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5639CA30-817B-11DB-B063-F2390F322B5D','jbossesb','JBoss ESB User','2006-12-01 15:34:26.515000000','2006-12-01 15:34:26.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:56593520-80E3-11DB-B520-DB4EF449532F','jbossesb','JBoss ESB User','2006-11-30 21:26:23.250000000','2006-11-30 21:26:23.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:565C3730-8619-11DB-B730-DA18037017ED','jbossesb','JBoss ESB User','2006-12-07 12:35:31.906000000','2006-12-07 12:35:31.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5684A6C0-8619-11DB-A6C0-DC3153A5AF49','jbossesb','JBoss ESB User','2006-12-07 12:35:32.156000000','2006-12-07 12:35:32.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:56A55AE0-8147-11DB-A69A-E9A8976D8DCB','jbossesb','JBoss ESB User','2006-12-01 09:22:13.390000000','2006-12-01 09:22:13.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:56BADEB0-8147-11DB-A69A-A6F6E9FF9F5A','jbossesb','JBoss ESB User','2006-12-01 09:22:13.531000000','2006-12-01 09:22:13.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:56C45490-8147-11DB-A69A-B4C55F668A00','jbossesb','JBoss ESB User','2006-12-01 09:22:13.609000000','2006-12-01 09:22:13.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:56D03B70-8147-11DB-A69A-E7CED05D9B83','jbossesb','JBoss ESB User','2006-12-01 09:22:13.687000000','2006-12-01 09:22:13.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57065E70-817A-11DB-9E70-9EAD9B79B54E','jbossesb','JBoss ESB User','2006-12-01 15:27:18.406000000','2006-12-01 15:27:18.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:572B8490-8178-11DB-B9D0-8A6B211AD53D','jbossesb','JBoss ESB User','2006-12-01 15:12:59.625000000','2006-12-01 15:12:59.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:574451D0-817A-11DB-91D0-8A199C2E0451','jbossesb','JBoss ESB User','2006-12-01 15:27:18.765000000','2006-12-01 15:27:18.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5745C350-8178-11DB-B9D0-F34232B7069B','jbossesb','JBoss ESB User','2006-12-01 15:12:59.843000000','2006-12-01 15:12:59.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57551AB0-817A-11DB-9AB0-BD29E650348C','jbossesb','JBoss ESB User','2006-12-01 15:27:18.890000000','2006-12-01 15:27:18.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57682D80-817A-11DB-AD80-F4B47AF3A395','jbossesb','JBoss ESB User','2006-12-01 15:27:19.310000000','2006-12-01 15:27:19.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5783B6B0-8178-11DB-B9D0-B14E07E2502C','jbossesb','JBoss ESB User','2006-12-01 15:13:00.218000000','2006-12-01 15:13:00.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57BF1A40-8563-11DB-A4E1-B1785809F418','jbossesb','JBoss ESB User','2006-12-06 14:52:45.812000000','2006-12-06 14:52:45.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57D22D10-8563-11DB-A4E1-8B4F2CF2B0ED','jbossesb','JBoss ESB User','2006-12-06 14:52:45.921000000','2006-12-06 14:52:45.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57D95900-8563-11DB-A4E1-E50690086379','jbossesb','JBoss ESB User','2006-12-06 14:52:45.968000000','2006-12-06 14:52:45.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57E084F0-8563-11DB-A4E1-E4094C15D345','jbossesb','JBoss ESB User','2006-12-06 14:52:46.150000000','2006-12-06 14:52:46.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57EA5F00-861E-11DB-B1A1-DC1FA31C61CB','jbossesb','JBoss ESB User','2006-12-07 13:11:21.968000000','2006-12-07 13:11:21.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57ECD000-861E-11DB-B1A1-FC253332CD39','jbossesb','JBoss ESB User','2006-12-07 13:11:21.984000000','2006-12-07 13:11:21.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57EF4100-861E-11DB-B1A1-BEC610796863','jbossesb','JBoss ESB User','2006-12-07 13:11:22.310000000','2006-12-07 13:11:22.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57F645E0-861E-11DB-B1A1-FE5E49ABC8B8','jbossesb','JBoss ESB User','2006-12-07 13:11:22.620000000','2006-12-07 13:11:22.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57FD71D0-861E-11DB-B1A1-AB080F8C0A26','jbossesb','JBoss ESB User','2006-12-07 13:11:22.930000000','2006-12-07 13:11:22.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:57FFE2D0-861E-11DB-B1A1-A6AC54B7C7C0','jbossesb','JBoss ESB User','2006-12-07 13:11:22.109000000','2006-12-07 13:11:22.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:580AF9A0-860E-11DB-B9A0-C54E1898214D','jbossesb','JBoss ESB User','2006-12-07 11:16:50.250000000','2006-12-07 11:16:50.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:580FB490-860E-11DB-B490-CC4D1DF0F43E','jbossesb','JBoss ESB User','2006-12-07 11:16:50.281000000','2006-12-07 11:16:50.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:581084A0-861E-11DB-B1A1-FB792F1453BE','jbossesb','JBoss ESB User','2006-12-07 13:11:22.234000000','2006-12-07 13:11:22.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:581566A0-861E-11DB-B1A1-FEF59FD1C258','jbossesb','JBoss ESB User','2006-12-07 13:11:22.265000000','2006-12-07 13:11:22.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:581A2190-861E-11DB-B1A1-C4D6C52E9E34','jbossesb','JBoss ESB User','2006-12-07 13:11:22.296000000','2006-12-07 13:11:22.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:581B9B70-860E-11DB-9B70-EDC28D25DDAF','jbossesb','JBoss ESB User','2006-12-07 11:16:50.359000000','2006-12-07 11:16:50.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:581DDD00-861C-11DB-9D00-9C5E5EBBDE3B','jbossesb','JBoss ESB User','2006-12-07 12:57:03.312000000','2006-12-07 12:57:03.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:582297F0-861C-11DB-97F0-F2E1B58EACAE','jbossesb','JBoss ESB User','2006-12-07 12:57:03.343000000','2006-12-07 12:57:03.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58260870-861E-11DB-B1A1-8594672131F2','jbossesb','JBoss ESB User','2006-12-07 13:11:22.359000000','2006-12-07 13:11:22.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:582779F0-861C-11DB-B9F0-BED713C090B1','jbossesb','JBoss ESB User','2006-12-07 12:57:03.390000000','2006-12-07 12:57:03.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:582AC360-861E-11DB-B1A1-84128010019A','jbossesb','JBoss ESB User','2006-12-07 13:11:22.390000000','2006-12-07 13:11:22.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:582BFE10-814B-11DB-A6BA-B175B61D9F10','jbossesb','JBoss ESB User','2006-12-01 09:50:53.953000000','2006-12-01 09:50:53.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:582C34E0-861C-11DB-B4E0-EAF29E556DAD','jbossesb','JBoss ESB User','2006-12-07 12:57:03.421000000','2006-12-07 12:57:03.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:582D3460-861E-11DB-B1A1-D4FD70E35DC3','jbossesb','JBoss ESB User','2006-12-07 13:11:22.406000000','2006-12-07 13:11:22.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5835AAC0-861C-11DB-AAC0-EF03127A053B','jbossesb','JBoss ESB User','2006-12-07 12:57:03.484000000','2006-12-07 12:57:03.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:583CD6B0-861C-11DB-96B0-FDB3C68A3BF6','jbossesb','JBoss ESB User','2006-12-07 12:57:03.531000000','2006-12-07 12:57:03.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:583D48B0-8618-11DB-88B0-C274EB0A87BD','jbossesb','JBoss ESB User','2006-12-07 12:28:25.546000000','2006-12-07 12:28:25.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:583F10E0-814B-11DB-A6BA-C699B2577A75','jbossesb','JBoss ESB User','2006-12-01 09:50:54.780000000','2006-12-01 09:50:54.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:584474A0-8618-11DB-B4A0-9489354B0469','jbossesb','JBoss ESB User','2006-12-07 12:28:25.593000000','2006-12-07 12:28:25.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58450220-861E-11DB-B1A1-D1B89C454792','jbossesb','JBoss ESB User','2006-12-07 13:11:22.562000000','2006-12-07 13:11:22.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5846A310-860E-11DB-A310-8E7424CDA974','jbossesb','JBoss ESB User','2006-12-07 11:16:50.625000000','2006-12-07 11:16:50.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58492F90-8618-11DB-AF90-E751CC3FE06B','jbossesb','JBoss ESB User','2006-12-07 12:28:25.625000000','2006-12-07 12:28:25.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:584B5E00-860E-11DB-9E00-E1CF74116038','jbossesb','JBoss ESB User','2006-12-07 11:16:50.656000000','2006-12-07 11:16:50.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:584D68C0-814B-11DB-A6BA-F6E3A3B399C4','jbossesb','JBoss ESB User','2006-12-01 09:50:54.171000000','2006-12-01 09:50:54.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58505B80-8618-11DB-9B80-B878C4BC6109','jbossesb','JBoss ESB User','2006-12-07 12:28:25.671000000','2006-12-07 12:28:25.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:585494B0-814B-11DB-A6BA-9F20FCC307D7','jbossesb','JBoss ESB User','2006-12-01 09:50:54.203000000','2006-12-01 09:50:54.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5854D3E0-860E-11DB-93E0-CD78BCA86DCF','jbossesb','JBoss ESB User','2006-12-07 11:16:50.734000000','2006-12-07 11:16:50.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58578770-8618-11DB-8770-C305336C921F','jbossesb','JBoss ESB User','2006-12-07 12:28:25.703000000','2006-12-07 12:28:25.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:586C9940-861C-11DB-9940-EBAE0178D77D','jbossesb','JBoss ESB User','2006-12-07 12:57:03.843000000','2006-12-07 12:57:03.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:586EF8F0-80E7-11DB-B8F0-A47031B6BE1B','jbossesb','JBoss ESB User','2006-11-30 21:55:04.734000000','2006-11-30 21:55:04.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5873C530-861C-11DB-8530-AE903369E41E','jbossesb','JBoss ESB User','2006-12-07 12:57:03.875000000','2006-12-07 12:57:03.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58788020-861C-11DB-8020-8575A9F6A450','jbossesb','JBoss ESB User','2006-12-07 12:57:03.906000000','2006-12-07 12:57:03.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5878CB10-8618-11DB-8B10-E0BB7C37A55D','jbossesb','JBoss ESB User','2006-12-07 12:28:25.937000000','2006-12-07 12:28:25.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:587FAC10-861C-11DB-AC10-8EF85E86C815','jbossesb','JBoss ESB User','2006-12-07 12:57:03.968000000','2006-12-07 12:57:03.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:587FF700-8618-11DB-B700-8C6A8D6B4E1E','jbossesb','JBoss ESB User','2006-12-07 12:28:25.984000000','2006-12-07 12:28:25.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5884D900-8618-11DB-9900-DB8AD2EAB93B','jbossesb','JBoss ESB User','2006-12-07 12:28:26.150000000','2006-12-07 12:28:26.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:588921F0-861C-11DB-A1F0-EB2341E62987','jbossesb','JBoss ESB User','2006-12-07 12:57:04.310000000','2006-12-07 12:57:04.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:588993F0-8618-11DB-93F0-D40552C603DC','jbossesb','JBoss ESB User','2006-12-07 12:28:26.460000000','2006-12-07 12:28:26.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:588E4EE0-8618-11DB-8EE0-95B43A7EDFAE','jbossesb','JBoss ESB User','2006-12-07 12:28:26.620000000','2006-12-07 12:28:26.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5897EBD0-8618-11DB-ABD0-F8423AE6EC2F','jbossesb','JBoss ESB User','2006-12-07 12:28:26.140000000','2006-12-07 12:28:26.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5899EAD0-861C-11DB-AAD0-C596FFC09B6D','jbossesb','JBoss ESB User','2006-12-07 12:57:04.140000000','2006-12-07 12:57:04.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58A5D1B0-861C-11DB-91B0-876F75D54B4A','jbossesb','JBoss ESB User','2006-12-07 12:57:04.203000000','2006-12-07 12:57:04.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58D12440-8618-11DB-A440-F4D2670926FC','jbossesb','JBoss ESB User','2006-12-07 12:28:26.500000000','2006-12-07 12:28:26.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58D32340-861C-11DB-A340-E39A28330109','jbossesb','JBoss ESB User','2006-12-07 12:57:04.531000000','2006-12-07 12:57:04.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:58E97F80-861E-11DB-B1A1-E74656B52231','jbossesb','JBoss ESB User','2006-12-07 13:11:23.640000000','2006-12-07 13:11:23.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5976CDC0-8170-11DB-AF51-D7BAEE88B26D','jbossesb','JBoss ESB User','2006-12-01 14:15:47.484000000','2006-12-01 14:15:47.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:59A41F50-8170-11DB-AF51-844974D5828D','jbossesb','JBoss ESB User','2006-12-01 14:15:47.812000000','2006-12-01 14:15:47.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:59C31900-8170-11DB-AF51-B71F74F33A6E','jbossesb','JBoss ESB User','2006-12-01 14:15:47.984000000','2006-12-01 14:15:48.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:59D89CD0-8170-11DB-AF51-A42A525BC433','jbossesb','JBoss ESB User','2006-12-01 14:15:48.140000000','2006-12-01 14:15:48.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:59FDD0B0-8173-11DB-B8A9-C97AE503F441','jbossesb','JBoss ESB User','2006-12-01 14:37:16.859000000','2006-12-01 14:37:16.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:59FF4FF0-8176-11DB-8FF0-85C166BA228D','jbossesb','JBoss ESB User','2006-12-01 14:58:45.375000000','2006-12-01 14:58:45.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A1E49A0-8176-11DB-89A0-A3A91BE41789','jbossesb','JBoss ESB User','2006-12-01 14:58:45.562000000','2006-12-01 14:58:45.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A2CA180-8176-11DB-A180-D7D19C035664','jbossesb','JBoss ESB User','2006-12-01 14:58:45.671000000','2006-12-01 14:58:45.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A2D6F00-860F-11DB-AF00-AD9655D8B806','jbossesb','JBoss ESB User','2006-12-07 11:24:03.312000000','2006-12-07 11:24:03.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A3AF960-8176-11DB-B960-956AD6240CD3','jbossesb','JBoss ESB User','2006-12-01 14:58:45.765000000','2006-12-01 14:58:45.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A561160-8148-11DB-9160-8E563470702A','jbossesb','JBoss ESB User','2006-12-01 09:29:29.930000000','2006-12-01 09:29:29.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A644230-8148-11DB-8230-A8ED2181393A','jbossesb','JBoss ESB User','2006-12-01 09:29:29.171000000','2006-12-01 09:29:29.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A66A4A0-8173-11DB-B8A9-94B5AB68BB29','jbossesb','JBoss ESB User','2006-12-01 14:37:17.546000000','2006-12-01 14:37:17.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A6DD090-8173-11DB-B8A9-C970F88B76D1','jbossesb','JBoss ESB User','2006-12-01 14:37:17.609000000','2006-12-01 14:37:17.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A6DDF20-8148-11DB-9F20-CF6ECE8446F0','jbossesb','JBoss ESB User','2006-12-01 09:29:29.234000000','2006-12-01 09:29:29.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A729A10-8148-11DB-9A10-CBD0B44B8B6B','jbossesb','JBoss ESB User','2006-12-01 09:29:29.281000000','2006-12-01 09:29:29.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5A7C2870-8173-11DB-B8A9-91D7440A5889','jbossesb','JBoss ESB User','2006-12-01 14:37:17.687000000','2006-12-01 14:37:17.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5AC60580-860F-11DB-8580-ABB5861F7467','jbossesb','JBoss ESB User','2006-12-07 11:24:04.312000000','2006-12-07 11:24:04.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5AE2F500-817D-11DB-B500-AE8BCA422208','jbossesb','JBoss ESB User','2006-12-01 15:48:53.328000000','2006-12-01 15:48:53.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5B091AA0-817D-11DB-9AA0-DDF0D2544B0C','jbossesb','JBoss ESB User','2006-12-01 15:48:53.609000000','2006-12-01 15:48:53.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5B150180-817D-11DB-8180-F5818BD18B88','jbossesb','JBoss ESB User','2006-12-01 15:48:53.671000000','2006-12-01 15:48:53.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5B1CAD30-817E-11DB-AD30-F4CAD833DFEC','jbossesb','JBoss ESB User','2006-12-01 15:56:03.218000000','2006-12-01 15:56:03.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5B281450-817D-11DB-9450-81921A2A2364','jbossesb','JBoss ESB User','2006-12-01 15:48:53.781000000','2006-12-01 15:48:53.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5B73A010-860E-11DB-A010-B7CEAC82A392','jbossesb','JBoss ESB User','2006-12-07 11:16:55.953000000','2006-12-07 11:16:55.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5B8F1E10-817E-11DB-9E10-FECB83219A2B','jbossesb','JBoss ESB User','2006-12-01 15:56:03.984000000','2006-12-01 15:56:04.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5B91E7C0-817F-11DB-A7C0-B22EC6D3B594','jbossesb','JBoss ESB User','2006-12-01 16:03:13.468000000','2006-12-01 16:03:14.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5BD11410-8105-11DB-9410-CE0FDC87DA0E','jbossesb','JBoss ESB User','2006-12-01 01:29:55.312000000','2006-12-01 01:29:55.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5BE670D0-8105-11DB-B0D0-CEBB84C8D3DD','jbossesb','JBoss ESB User','2006-12-01 01:29:55.421000000','2006-12-01 01:29:55.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5BEC0B20-817E-11DB-8B20-F7664899157C','jbossesb','JBoss ESB User','2006-12-01 15:56:04.578000000','2006-12-01 15:56:04.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5BF00DC0-8105-11DB-8DC0-DDF858F48666','jbossesb','JBoss ESB User','2006-12-01 01:29:55.484000000','2006-12-01 01:29:55.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5BFF1DF0-817E-11DB-9DF0-99B13CB44256','jbossesb','JBoss ESB User','2006-12-01 15:56:04.703000000','2006-12-01 15:56:04.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5C50A3E0-817F-11DB-A3E0-CF1220307BAB','jbossesb','JBoss ESB User','2006-12-01 16:03:14.750000000','2006-12-01 16:03:14.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5C5EFBC0-817F-11DB-BBC0-B711AF892EA6','jbossesb','JBoss ESB User','2006-12-01 16:03:14.828000000','2006-12-01 16:03:14.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5C835F90-8172-11DB-B8A9-9ABA226C78F5','jbossesb','JBoss ESB User','2006-12-01 14:30:11.625000000','2006-12-01 14:30:11.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5C861320-817C-11DB-9320-BA911E7C395B','jbossesb','JBoss ESB User','2006-12-01 15:41:46.578000000','2006-12-01 15:41:46.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5C9925F0-817C-11DB-A5F0-B09932D109B8','jbossesb','JBoss ESB User','2006-12-01 15:41:46.703000000','2006-12-01 15:41:46.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CA29BD0-817C-11DB-9BD0-BAF1C57D62F6','jbossesb','JBoss ESB User','2006-12-01 15:41:46.765000000','2006-12-01 15:41:46.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CA4CA40-8172-11DB-B8A9-9E29F4C03293','jbossesb','JBoss ESB User','2006-12-01 14:30:11.828000000','2006-12-01 14:30:11.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CB0B120-8172-11DB-B8A9-B66AFB88FA4E','jbossesb','JBoss ESB User','2006-12-01 14:30:11.906000000','2006-12-01 14:30:11.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CB364B0-817C-11DB-A4B0-B10BBB9DC0B5','jbossesb','JBoss ESB User','2006-12-01 15:41:46.875000000','2006-12-01 15:41:46.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CBA29D0-860E-11DB-A9D0-F7E1F6C705D8','jbossesb','JBoss ESB User','2006-12-07 11:16:58.930000000','2006-12-07 11:16:58.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CBBE8D0-817F-11DB-A8D0-B494C71643C6','jbossesb','JBoss ESB User','2006-12-01 16:03:15.421000000','2006-12-01 16:03:15.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CBF0900-8172-11DB-B8A9-FC3875072B65','jbossesb','JBoss ESB User','2006-12-01 14:30:11.984000000','2006-12-01 14:30:12.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CD16F70-861B-11DB-AF70-A361554AC04E','jbossesb','JBoss ESB User','2006-12-07 12:50:01.703000000','2006-12-07 12:50:01.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CD3B960-861B-11DB-B960-E271FA6147BD','jbossesb','JBoss ESB User','2006-12-07 12:50:01.781000000','2006-12-07 12:50:01.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CDD5650-861B-11DB-9650-E348B7BD0C4E','jbossesb','JBoss ESB User','2006-12-07 12:50:01.796000000','2006-12-07 12:50:01.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CE6CC30-861B-11DB-8C30-B26044BD8562','jbossesb','JBoss ESB User','2006-12-07 12:50:01.843000000','2006-12-07 12:50:01.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5CEBAE30-861B-11DB-AE30-A9AED02CFAF6','jbossesb','JBoss ESB User','2006-12-07 12:50:01.875000000','2006-12-07 12:50:01.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D0CF1D0-861B-11DB-B1D0-BF7B2C88593F','jbossesb','JBoss ESB User','2006-12-07 12:50:02.930000000','2006-12-07 12:50:02.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D11D3D0-861B-11DB-93D0-C124FA1E2200','jbossesb','JBoss ESB User','2006-12-07 12:50:02.125000000','2006-12-07 12:50:02.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D18D8B0-861B-11DB-98B0-8CA7D0D6E144','jbossesb','JBoss ESB User','2006-12-07 12:50:02.203000000','2006-12-07 12:50:02.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D2275A0-861B-11DB-B5A0-BF8565D1A9B9','jbossesb','JBoss ESB User','2006-12-07 12:50:02.250000000','2006-12-07 12:50:02.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D2E5C80-861B-11DB-9C80-C26F9CFF76A0','jbossesb','JBoss ESB User','2006-12-07 12:50:02.328000000','2006-12-07 12:50:02.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D3A4360-861B-11DB-8360-FC3F9F1F2E85','jbossesb','JBoss ESB User','2006-12-07 12:50:02.406000000','2006-12-07 12:50:02.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D591EC0-8175-11DB-AE84-F05ADD7A081B','jbossesb','JBoss ESB User','2006-12-01 14:51:41.515000000','2006-12-01 14:51:41.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D5BAE10-861B-11DB-AE10-D0E58545F93C','jbossesb','JBoss ESB User','2006-12-07 12:50:02.609000000','2006-12-07 12:50:02.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D8B2B40-8175-11DB-AE84-BCF08DD831C3','jbossesb','JBoss ESB User','2006-12-01 14:51:41.828000000','2006-12-01 14:51:41.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5D9E3E10-8175-11DB-AE84-F2C0B60AEE06','jbossesb','JBoss ESB User','2006-12-01 14:51:41.937000000','2006-12-01 14:51:41.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5DAC95F0-8175-11DB-AE84-BC9BAC1C375C','jbossesb','JBoss ESB User','2006-12-01 14:51:42.460000000','2006-12-01 14:51:42.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5DDB8240-8182-11DB-AB1E-85B2A0A993B2','jbossesb','JBoss ESB User','2006-12-01 16:24:45.812000000','2006-12-01 16:24:45.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5DF83200-8182-11DB-AB1E-BC278E34B6C8','jbossesb','JBoss ESB User','2006-12-01 16:24:45.984000000','2006-12-01 16:24:46.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E0689E0-8182-11DB-AB1E-869C42B2BF5C','jbossesb','JBoss ESB User','2006-12-01 16:24:46.109000000','2006-12-01 16:24:46.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E172BB0-8182-11DB-AB1E-8B27119FF9F3','jbossesb','JBoss ESB User','2006-12-01 16:24:46.187000000','2006-12-01 16:24:46.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E1C0850-816F-11DB-A4E4-E57956118C69','jbossesb','JBoss ESB User','2006-12-01 14:08:45.812000000','2006-12-01 14:08:45.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E316510-816F-11DB-A4E4-8C6C807FF063','jbossesb','JBoss ESB User','2006-12-01 14:08:45.953000000','2006-12-01 14:08:45.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E4B2E10-8100-11DB-B65A-FFB91482B988','jbossesb','JBoss ESB User','2006-12-01 00:54:12.310000000','2006-12-01 00:54:12.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E562330-8103-11DB-BD3E-AE9746908762','jbossesb','JBoss ESB User','2006-12-01 01:15:40.515000000','2006-12-01 01:15:40.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E7153B0-8100-11DB-B65A-DA3EE269E576','jbossesb','JBoss ESB User','2006-12-01 00:54:12.203000000','2006-12-01 00:54:12.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E7CC890-8104-11DB-8890-86F8C848F4F2','jbossesb','JBoss ESB User','2006-12-01 01:22:50.281000000','2006-12-01 01:22:50.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E7D3A90-8100-11DB-B65A-E1E5FCE54E1A','jbossesb','JBoss ESB User','2006-12-01 00:54:12.281000000','2006-12-01 00:54:12.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E7DB050-816F-11DB-A4E4-A5176D64043A','jbossesb','JBoss ESB User','2006-12-01 14:08:46.421000000','2006-12-01 14:08:46.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E8103C0-8103-11DB-BD3E-ABABD57B2FBB','jbossesb','JBoss ESB User','2006-12-01 01:15:40.796000000','2006-12-01 01:15:40.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E846680-8100-11DB-B65A-BD0D9CFB9135','jbossesb','JBoss ESB User','2006-12-01 00:54:12.328000000','2006-12-01 00:54:12.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E8F5BA0-8103-11DB-BD3E-C6902DC1B90C','jbossesb','JBoss ESB User','2006-12-01 01:15:40.906000000','2006-12-01 01:15:40.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5E970750-8104-11DB-8750-FCA946D663A9','jbossesb','JBoss ESB User','2006-12-01 01:22:50.437000000','2006-12-01 01:22:50.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5EA55F30-8104-11DB-9F30-E2C6E3AF531A','jbossesb','JBoss ESB User','2006-12-01 01:22:50.546000000','2006-12-01 01:22:50.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5EA99A60-8103-11DB-BD3E-9B5F1908FE8B','jbossesb','JBoss ESB User','2006-12-01 01:15:41.780000000','2006-12-01 01:15:41.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5EB87200-8104-11DB-B200-F5CBF00E502F','jbossesb','JBoss ESB User','2006-12-01 01:22:50.656000000','2006-12-01 01:22:50.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5F4895E0-8179-11DB-95E0-80712C86F1D0','jbossesb','JBoss ESB User','2006-12-01 15:20:22.718000000','2006-12-01 15:20:22.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5F5BA8B0-8179-11DB-A8B0-C3D3DFA30ECF','jbossesb','JBoss ESB User','2006-12-01 15:20:22.859000000','2006-12-01 15:20:22.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5F739D80-8179-11DB-9D80-DF32A8D1EB24','jbossesb','JBoss ESB User','2006-12-01 15:20:23.310000000','2006-12-01 15:20:23.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5F8DB530-8179-11DB-B530-C8FAEC0F6884','jbossesb','JBoss ESB User','2006-12-01 15:20:23.187000000','2006-12-01 15:20:23.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5F9125B0-817B-11DB-B063-EEE5AE4EE1BE','jbossesb','JBoss ESB User','2006-12-01 15:34:42.187000000','2006-12-01 15:34:42.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FB65C60-861A-11DB-9C60-A6AC7690620B','jbossesb','JBoss ESB User','2006-12-07 12:42:57.780000000','2006-12-07 12:42:57.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FBD8850-861A-11DB-8850-BC4E29596296','jbossesb','JBoss ESB User','2006-12-07 12:42:57.125000000','2006-12-07 12:42:57.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FBED0C0-814C-11DB-A6BA-B227F49F2F05','jbossesb','JBoss ESB User','2006-12-01 09:58:16.203000000','2006-12-01 09:58:16.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FC24340-861A-11DB-8340-D2225074CCF6','jbossesb','JBoss ESB User','2006-12-07 12:42:57.140000000','2006-12-07 12:42:57.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FC4B440-861A-11DB-B440-8740F6EED441','jbossesb','JBoss ESB User','2006-12-07 12:42:57.171000000','2006-12-07 12:42:57.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FCBE030-861A-11DB-A030-9D9F63EB9DB9','jbossesb','JBoss ESB User','2006-12-07 12:42:57.203000000','2006-12-07 12:42:57.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FCE2A20-861A-11DB-AA20-A965EC918AD5','jbossesb','JBoss ESB User','2006-12-07 12:42:57.250000000','2006-12-07 12:42:57.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FDDCA70-814C-11DB-A6BA-DF2BF8AED53F','jbossesb','JBoss ESB User','2006-12-01 09:58:16.375000000','2006-12-01 09:58:16.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FE22BE0-817B-11DB-B063-C3C1B1097CB8','jbossesb','JBoss ESB User','2006-12-01 15:34:42.750000000','2006-12-01 15:34:42.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FE61EF0-861A-11DB-9EF0-9546CDCDEAC6','jbossesb','JBoss ESB User','2006-12-07 12:42:57.375000000','2006-12-07 12:42:57.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FE9B150-814C-11DB-A6BA-C1510972AD48','jbossesb','JBoss ESB User','2006-12-01 09:58:16.437000000','2006-12-01 09:58:16.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FEAD9E0-861A-11DB-99E0-D7B49A1BE29E','jbossesb','JBoss ESB User','2006-12-07 12:42:57.406000000','2006-12-07 12:42:57.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FED23D0-861A-11DB-A3D0-8F3655D9A19F','jbossesb','JBoss ESB User','2006-12-07 12:42:57.437000000','2006-12-07 12:42:57.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FF0DD40-814C-11DB-A6BA-A9248F79AF03','jbossesb','JBoss ESB User','2006-12-01 09:58:16.484000000','2006-12-01 09:58:16.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FF44FC0-861A-11DB-8FC0-E75544E7D458','jbossesb','JBoss ESB User','2006-12-07 12:42:57.468000000','2006-12-07 12:42:57.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FF6C0C0-861A-11DB-80C0-955C8D097E6D','jbossesb','JBoss ESB User','2006-12-07 12:42:57.484000000','2006-12-07 12:42:57.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:5FFA20B0-817B-11DB-B063-F3A214ABE43C','jbossesb','JBoss ESB User','2006-12-01 15:34:42.890000000','2006-12-01 15:34:42.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6001D4C0-816E-11DB-A4E4-EDE7BA0125B3','jbossesb','JBoss ESB User','2006-12-01 14:01:39.500000000','2006-12-01 14:01:39.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:600D3380-817B-11DB-B063-FC189B048CC8','jbossesb','JBoss ESB User','2006-12-01 15:34:43.0','2006-12-01 15:34:43.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:60129DA0-816E-11DB-A4E4-E45235EF0E8C','jbossesb','JBoss ESB User','2006-12-01 14:01:39.593000000','2006-12-01 14:01:39.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:60134970-861A-11DB-8970-973727AEDD87','jbossesb','JBoss ESB User','2006-12-07 12:42:57.671000000','2006-12-07 12:42:57.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6015BA70-861A-11DB-BA70-84B46D2C967D','jbossesb','JBoss ESB User','2006-12-07 12:42:57.687000000','2006-12-07 12:42:57.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:601A7560-861A-11DB-B560-A1F181173A84','jbossesb','JBoss ESB User','2006-12-07 12:42:57.734000000','2006-12-07 12:42:57.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:601E8480-816E-11DB-A4E4-C65120ABF308','jbossesb','JBoss ESB User','2006-12-01 14:01:39.656000000','2006-12-01 14:01:39.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6021A150-861A-11DB-A150-E49A0425BCDE','jbossesb','JBoss ESB User','2006-12-07 12:42:57.781000000','2006-12-07 12:42:57.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:60265C40-861A-11DB-9C40-AC2789D24446','jbossesb','JBoss ESB User','2006-12-07 12:42:57.812000000','2006-12-07 12:42:57.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:602D8830-861A-11DB-8830-B882E6465F8D','jbossesb','JBoss ESB User','2006-12-07 12:42:57.843000000','2006-12-07 12:42:57.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:60579B40-8181-11DB-AB1E-AF332C345F77','jbossesb','JBoss ESB User','2006-12-01 16:17:40.484000000','2006-12-01 16:17:40.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6084ECD0-8181-11DB-AB1E-C60E0169A4F2','jbossesb','JBoss ESB User','2006-12-01 16:17:40.765000000','2006-12-01 16:17:40.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:60882B50-861A-11DB-AB50-CEB5DE284120','jbossesb','JBoss ESB User','2006-12-07 12:42:58.437000000','2006-12-07 12:42:58.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6097FFA0-8181-11DB-AB1E-A064E55F50FE','jbossesb','JBoss ESB User','2006-12-01 16:17:40.921000000','2006-12-01 16:17:40.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:60AFCD60-8181-11DB-AB1E-C6032B28CAE8','jbossesb','JBoss ESB User','2006-12-01 16:17:41.620000000','2006-12-01 16:17:41.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61C73070-8619-11DB-B070-867E0CCDF3DC','jbossesb','JBoss ESB User','2006-12-07 12:35:51.310000000','2006-12-07 12:35:51.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61CBEB60-8619-11DB-AB60-ADDD8FBF84AE','jbossesb','JBoss ESB User','2006-12-07 12:35:51.620000000','2006-12-07 12:35:51.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61CE5C60-8619-11DB-9C60-F2A4DC30F697','jbossesb','JBoss ESB User','2006-12-07 12:35:51.109000000','2006-12-07 12:35:51.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61DA4340-8619-11DB-8340-D5D4C7AD6614','jbossesb','JBoss ESB User','2006-12-07 12:35:51.156000000','2006-12-07 12:35:51.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61DEFE30-8619-11DB-BE30-8F5E0107E393','jbossesb','JBoss ESB User','2006-12-07 12:35:51.187000000','2006-12-07 12:35:51.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61E85890-860F-11DB-9890-8933D4627749','jbossesb','JBoss ESB User','2006-12-07 11:24:16.296000000','2006-12-07 11:24:16.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61ED1380-860F-11DB-9380-E06E33C02914','jbossesb','JBoss ESB User','2006-12-07 11:24:16.328000000','2006-12-07 11:24:16.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61F1CE70-860F-11DB-8E70-C67E0E7B4047','jbossesb','JBoss ESB User','2006-12-07 11:24:16.390000000','2006-12-07 11:24:16.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61F48200-8619-11DB-8200-9D64126D43B0','jbossesb','JBoss ESB User','2006-12-07 12:35:51.343000000','2006-12-07 12:35:51.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61F93CF0-8619-11DB-BCF0-AC01CAD67786','jbossesb','JBoss ESB User','2006-12-07 12:35:51.375000000','2006-12-07 12:35:51.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61FB6B60-860F-11DB-AB60-CA04B776C587','jbossesb','JBoss ESB User','2006-12-07 11:24:16.437000000','2006-12-07 11:24:16.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:61FDF7E0-8619-11DB-B7E0-A8E663C084AC','jbossesb','JBoss ESB User','2006-12-07 12:35:51.406000000','2006-12-07 12:35:51.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:620523D0-8619-11DB-A3D0-DCEB4A22A3C1','jbossesb','JBoss ESB User','2006-12-07 12:35:51.437000000','2006-12-07 12:35:51.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:620974C0-80E3-11DB-B4C0-CF267FC30C37','jbossesb','JBoss ESB User','2006-11-30 21:26:42.843000000','2006-11-30 21:26:42.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6209DEC0-8619-11DB-9EC0-EB8B39C62983','jbossesb','JBoss ESB User','2006-12-07 12:35:51.468000000','2006-12-07 12:35:51.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:620E7E30-860F-11DB-BE30-997DC1525711','jbossesb','JBoss ESB User','2006-12-07 11:24:16.531000000','2006-12-07 11:24:16.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6210C820-860F-11DB-8820-DA8E5D244F52','jbossesb','JBoss ESB User','2006-12-07 11:24:16.546000000','2006-12-07 11:24:16.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62137BB0-8619-11DB-BBB0-CBE288473CB0','jbossesb','JBoss ESB User','2006-12-07 12:35:51.546000000','2006-12-07 12:35:51.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6215AA20-860F-11DB-AA20-98DEA9631999','jbossesb','JBoss ESB User','2006-12-07 11:24:16.578000000','2006-12-07 11:24:16.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:621A6510-860F-11DB-A510-AECBC138B634','jbossesb','JBoss ESB User','2006-12-07 11:24:16.609000000','2006-12-07 11:24:16.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62264BF0-860F-11DB-8BF0-D63900C5B397','jbossesb','JBoss ESB User','2006-12-07 11:24:16.703000000','2006-12-07 11:24:16.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:622B06E0-860F-11DB-86E0-B7105E45A186','jbossesb','JBoss ESB User','2006-12-07 11:24:16.718000000','2006-12-07 11:24:16.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:622DBA70-8619-11DB-BA70-DB82F6F10098','jbossesb','JBoss ESB User','2006-12-07 12:35:51.703000000','2006-12-07 12:35:51.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:622FE8E0-860F-11DB-A8E0-AB71C3B2DBE0','jbossesb','JBoss ESB User','2006-12-07 11:24:16.765000000','2006-12-07 11:24:16.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62391040-80E3-11DB-9040-D7BA595720B8','jbossesb','JBoss ESB User','2006-11-30 21:26:43.156000000','2006-11-30 21:26:43.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:623E19B0-860F-11DB-99B0-BC29949D43DA','jbossesb','JBoss ESB User','2006-12-07 11:24:16.843000000','2006-12-07 11:24:16.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62408AB0-860F-11DB-8AB0-CD097CA2D5B2','jbossesb','JBoss ESB User','2006-12-07 11:24:16.859000000','2006-12-07 11:24:16.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6242FBB0-860F-11DB-BBB0-E13579808DDB','jbossesb','JBoss ESB User','2006-12-07 11:24:16.875000000','2006-12-07 11:24:16.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6247B6A0-860F-11DB-B6A0-CE8172CCD4FB','jbossesb','JBoss ESB User','2006-12-07 11:24:16.921000000','2006-12-07 11:24:16.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62539D80-860F-11DB-9D80-A3C2FE95D327','jbossesb','JBoss ESB User','2006-12-07 11:24:16.984000000','2006-12-07 11:24:17.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:625F35E0-80E3-11DB-B5E0-EA33F58E4254','jbossesb','JBoss ESB User','2006-11-30 21:26:43.453000000','2006-11-30 21:26:43.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62855B80-80E3-11DB-9B80-AD4F7ECA4586','jbossesb','JBoss ESB User','2006-11-30 21:26:43.656000000','2006-11-30 21:26:43.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62B01690-8147-11DB-A69A-B07F688E481D','jbossesb','JBoss ESB User','2006-12-01 09:22:33.609000000','2006-12-01 09:22:33.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62C32960-8147-11DB-A69A-FCD920F10F65','jbossesb','JBoss ESB User','2006-12-01 09:22:33.718000000','2006-12-01 09:22:33.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62CA5550-8147-11DB-A69A-D88103959C6B','jbossesb','JBoss ESB User','2006-12-01 09:22:33.765000000','2006-12-01 09:22:33.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62CF1040-8147-11DB-A69A-EED735403E7C','jbossesb','JBoss ESB User','2006-12-01 09:22:33.812000000','2006-12-01 09:22:33.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:62FB9650-817A-11DB-9650-94CE504124D9','jbossesb','JBoss ESB User','2006-12-01 15:27:38.421000000','2006-12-01 15:27:38.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6321BBF0-817A-11DB-BBF0-C8972CB58EE2','jbossesb','JBoss ESB User','2006-12-01 15:27:38.671000000','2006-12-01 15:27:38.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:633123E0-861D-11DB-A3E0-B64768061D5C','jbossesb','JBoss ESB User','2006-12-07 13:04:31.515000000','2006-12-07 13:04:31.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:633E6BB0-817A-11DB-ABB0-A8CAD2067574','jbossesb','JBoss ESB User','2006-12-01 15:27:38.890000000','2006-12-01 15:27:38.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6358AA70-817A-11DB-AA70-B670E609F4E5','jbossesb','JBoss ESB User','2006-12-01 15:27:39.460000000','2006-12-01 15:27:39.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:639A1EE0-861D-11DB-9EE0-A36B5CC29417','jbossesb','JBoss ESB User','2006-12-07 13:04:32.930000000','2006-12-07 13:04:32.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63AF11A0-80E7-11DB-91A0-9C6B493EC48D','jbossesb','JBoss ESB User','2006-11-30 21:55:23.609000000','2006-11-30 21:55:23.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63B6EA30-8563-11DB-A4E1-CE1230D1E19D','jbossesb','JBoss ESB User','2006-12-06 14:53:05.875000000','2006-12-06 14:53:05.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63C95060-80E7-11DB-9060-DD975B56BEC1','jbossesb','JBoss ESB User','2006-11-30 21:55:23.765000000','2006-11-30 21:55:23.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63D372E0-8563-11DB-A4E1-B4FB03CB9509','jbossesb','JBoss ESB User','2006-12-06 14:53:06.620000000','2006-12-06 14:53:06.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63DA9ED0-8563-11DB-A4E1-C77B96A51CEA','jbossesb','JBoss ESB User','2006-12-06 14:53:06.125000000','2006-12-06 14:53:06.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63E1CAC0-8563-11DB-A4E1-F0771984E72E','jbossesb','JBoss ESB User','2006-12-06 14:53:06.171000000','2006-12-06 14:53:06.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63E6E9E0-861E-11DB-B1A1-C2EE5F633DB2','jbossesb','JBoss ESB User','2006-12-07 13:11:42.780000000','2006-12-07 13:11:42.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63E933D0-861E-11DB-B1A1-90DF855A1AC5','jbossesb','JBoss ESB User','2006-12-07 13:11:42.930000000','2006-12-07 13:11:42.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63EBA4D0-861E-11DB-B1A1-80E3CD6DA385','jbossesb','JBoss ESB User','2006-12-07 13:11:42.125000000','2006-12-07 13:11:42.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63EE15D0-861E-11DB-B1A1-EE82D0E301C2','jbossesb','JBoss ESB User','2006-12-07 13:11:42.140000000','2006-12-07 13:11:42.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63F2D0C0-861E-11DB-B1A1-A9F70D7C6658','jbossesb','JBoss ESB User','2006-12-07 13:11:42.171000000','2006-12-07 13:11:42.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:63F78BB0-861E-11DB-B1A1-F6918CA89AB7','jbossesb','JBoss ESB User','2006-12-07 13:11:42.187000000','2006-12-07 13:11:42.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64082D80-861E-11DB-B1A1-A362CF270689','jbossesb','JBoss ESB User','2006-12-07 13:11:42.312000000','2006-12-07 13:11:42.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:640D0F80-861E-11DB-B1A1-F03FE92DA088','jbossesb','JBoss ESB User','2006-12-07 13:11:42.328000000','2006-12-07 13:11:42.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6411CA70-861E-11DB-B1A1-B5BD51E706F9','jbossesb','JBoss ESB User','2006-12-07 13:11:42.375000000','2006-12-07 13:11:42.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64168560-861E-11DB-B1A1-F364D8D840F9','jbossesb','JBoss ESB User','2006-12-07 13:11:42.390000000','2006-12-07 13:11:42.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64182650-860E-11DB-A650-B0A6ECD8D3E8','jbossesb','JBoss ESB User','2006-12-07 11:17:10.468000000','2006-12-07 11:17:10.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6418F660-861E-11DB-B1A1-89D1E1B618C2','jbossesb','JBoss ESB User','2006-12-07 13:11:42.421000000','2006-12-07 13:11:42.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:641CE140-860E-11DB-A140-AE31826425FA','jbossesb','JBoss ESB User','2006-12-07 11:17:10.484000000','2006-12-07 11:17:10.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:641F5240-860E-11DB-9240-FB99BDE41E49','jbossesb','JBoss ESB User','2006-12-07 11:17:10.515000000','2006-12-07 11:17:10.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64202250-861E-11DB-B1A1-ED942AA5CAE3','jbossesb','JBoss ESB User','2006-12-07 13:11:42.453000000','2006-12-07 13:11:42.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64274E40-861E-11DB-B1A1-E6096F5931E7','jbossesb','JBoss ESB User','2006-12-07 13:11:42.500000000','2006-12-07 13:11:42.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64326510-860E-11DB-A510-EF1589D4D744','jbossesb','JBoss ESB User','2006-12-07 11:17:10.625000000','2006-12-07 11:17:10.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6434AF00-860E-11DB-AF00-FECBE21CD41D','jbossesb','JBoss ESB User','2006-12-07 11:17:10.671000000','2006-12-07 11:17:10.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:643DE5B0-814B-11DB-A6BA-C9C6F1747C30','jbossesb','JBoss ESB User','2006-12-01 09:51:14.187000000','2006-12-01 09:51:14.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:643E4BF0-860E-11DB-8BF0-8278CDBFE022','jbossesb','JBoss ESB User','2006-12-07 11:17:10.750000000','2006-12-07 11:17:10.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:644A0360-861C-11DB-8360-B6C10D8340D9','jbossesb','JBoss ESB User','2006-12-07 12:57:23.750000000','2006-12-07 12:57:23.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:644A7560-8618-11DB-B560-9FD2217611D8','jbossesb','JBoss ESB User','2006-12-07 12:28:45.765000000','2006-12-07 12:28:45.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:644EBE50-861C-11DB-BE50-CBA2F69C75B0','jbossesb','JBoss ESB User','2006-12-07 12:57:23.781000000','2006-12-07 12:57:23.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6450F880-814B-11DB-A6BA-E97350E100C3','jbossesb','JBoss ESB User','2006-12-01 09:51:14.312000000','2006-12-01 09:51:14.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64537940-861C-11DB-B940-C195611F27D5','jbossesb','JBoss ESB User','2006-12-07 12:57:23.796000000','2006-12-07 12:57:23.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6453EB40-8618-11DB-AB40-C9699A6B4D91','jbossesb','JBoss ESB User','2006-12-07 12:28:45.812000000','2006-12-07 12:28:45.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64582470-814B-11DB-A6BA-85B97FB4170A','jbossesb','JBoss ESB User','2006-12-01 09:51:14.375000000','2006-12-01 09:51:14.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6458A630-8618-11DB-A630-B8ED21152402','jbossesb','JBoss ESB User','2006-12-07 12:28:45.859000000','2006-12-07 12:28:45.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:645AA530-861C-11DB-A530-BF8F148EE373','jbossesb','JBoss ESB User','2006-12-07 12:57:23.843000000','2006-12-07 12:57:23.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64619A50-814B-11DB-A6BA-EB7E3BB4DEFF','jbossesb','JBoss ESB User','2006-12-01 09:51:14.421000000','2006-12-01 09:51:14.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64648D10-8618-11DB-8D10-BB24BFCCCB1C','jbossesb','JBoss ESB User','2006-12-07 12:28:45.921000000','2006-12-07 12:28:45.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64668C10-861C-11DB-8C10-B6274147CA61','jbossesb','JBoss ESB User','2006-12-07 12:57:23.937000000','2006-12-07 12:57:23.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64696F10-8618-11DB-AF10-ED932115AAFF','jbossesb','JBoss ESB User','2006-12-07 12:28:45.968000000','2006-12-07 12:28:45.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6469FC90-861E-11DB-B1A1-A6EBC21B6A80','jbossesb','JBoss ESB User','2006-12-07 13:11:42.937000000','2006-12-07 13:11:42.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:646DB800-861C-11DB-B800-99C2F7ABD772','jbossesb','JBoss ESB User','2006-12-07 12:57:23.984000000','2006-12-07 12:57:24.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:648AB2B0-8618-11DB-B2B0-C2548A5D63EC','jbossesb','JBoss ESB User','2006-12-07 12:28:46.187000000','2006-12-07 12:28:46.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6491DEA0-8618-11DB-9EA0-90153CFCA5F0','jbossesb','JBoss ESB User','2006-12-07 12:28:46.234000000','2006-12-07 12:28:46.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:649B0990-861C-11DB-8990-E342C5571C37','jbossesb','JBoss ESB User','2006-12-07 12:57:24.281000000','2006-12-07 12:57:24.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:649B7B90-8618-11DB-BB90-D3C75C01EF6A','jbossesb','JBoss ESB User','2006-12-07 12:28:46.296000000','2006-12-07 12:28:46.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64A2A780-8618-11DB-A780-D006538F1B8B','jbossesb','JBoss ESB User','2006-12-07 12:28:46.328000000','2006-12-07 12:28:46.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64A4A680-861C-11DB-A680-9BF147595C56','jbossesb','JBoss ESB User','2006-12-07 12:57:24.328000000','2006-12-07 12:57:24.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64A9D370-8618-11DB-9370-FF5CB63B1212','jbossesb','JBoss ESB User','2006-12-07 12:28:46.390000000','2006-12-07 12:28:46.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64AE1C60-861C-11DB-9C60-A0392040388E','jbossesb','JBoss ESB User','2006-12-07 12:57:24.406000000','2006-12-07 12:57:24.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64AE8E60-8618-11DB-8E60-F97A9A1D8507','jbossesb','JBoss ESB User','2006-12-07 12:28:46.437000000','2006-12-07 12:28:46.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64B2D750-861C-11DB-9750-CDE3538898D4','jbossesb','JBoss ESB User','2006-12-07 12:57:24.421000000','2006-12-07 12:57:24.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64B54850-861C-11DB-8850-EADAB42D1CDA','jbossesb','JBoss ESB User','2006-12-07 12:57:24.437000000','2006-12-07 12:57:24.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64B7B950-861C-11DB-B950-D1414BC030A8','jbossesb','JBoss ESB User','2006-12-07 12:57:24.468000000','2006-12-07 12:57:24.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:64C5EA20-861C-11DB-AA20-9227410C51D4','jbossesb','JBoss ESB User','2006-12-07 12:57:24.562000000','2006-12-07 12:57:24.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:65103660-8618-11DB-B660-B58CF5C12A81','jbossesb','JBoss ESB User','2006-12-07 12:28:47.460000000','2006-12-07 12:28:47.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:652EE520-861C-11DB-A520-8150B4B190EC','jbossesb','JBoss ESB User','2006-12-07 12:57:25.234000000','2006-12-07 12:57:25.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6583FA70-8170-11DB-AF51-E97CD5ADB340','jbossesb','JBoss ESB User','2006-12-01 14:16:07.703000000','2006-12-01 14:16:07.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:65AC6A00-8170-11DB-AF51-D717C3B897A3','jbossesb','JBoss ESB User','2006-12-01 14:16:07.984000000','2006-12-01 14:16:08.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:65C6A8C0-8170-11DB-AF51-94345428D95F','jbossesb','JBoss ESB User','2006-12-01 14:16:08.140000000','2006-12-01 14:16:08.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:65D771A0-8170-11DB-AF51-FE5196A9294A','jbossesb','JBoss ESB User','2006-12-01 14:16:08.250000000','2006-12-01 14:16:08.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:660A0BA0-8176-11DB-8BA0-9C3AB6DDA0D7','jbossesb','JBoss ESB User','2006-12-01 14:59:05.593000000','2006-12-01 14:59:05.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:660D4750-8173-11DB-B8A9-E47A9CEF2F75','jbossesb','JBoss ESB User','2006-12-01 14:37:37.930000000','2006-12-01 14:37:37.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6626BB60-8176-11DB-BB60-A692E077D4D2','jbossesb','JBoss ESB User','2006-12-01 14:59:05.765000000','2006-12-01 14:59:05.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:663E8920-8176-11DB-8920-8086885E76D2','jbossesb','JBoss ESB User','2006-12-01 14:59:05.937000000','2006-12-01 14:59:05.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6648FF50-8148-11DB-BF50-D87799B84CF1','jbossesb','JBoss ESB User','2006-12-01 09:29:49.125000000','2006-12-01 09:29:49.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:66519BF0-8176-11DB-9BF0-921D5678C497','jbossesb','JBoss ESB User','2006-12-01 14:59:06.620000000','2006-12-01 14:59:06.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6659A120-8148-11DB-A120-B2B1E3981C2E','jbossesb','JBoss ESB User','2006-12-01 09:29:49.234000000','2006-12-01 09:29:49.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6660BE80-8173-11DB-B8A9-CBFCBC552C6D','jbossesb','JBoss ESB User','2006-12-01 14:37:37.656000000','2006-12-01 14:37:37.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:66631700-8148-11DB-9700-9A77D44245B5','jbossesb','JBoss ESB User','2006-12-01 09:29:49.312000000','2006-12-01 09:29:49.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:666F24F0-8148-11DB-A4F0-E29C55058396','jbossesb','JBoss ESB User','2006-12-01 09:29:49.375000000','2006-12-01 09:29:49.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:66788C40-8173-11DB-B8A9-C78621BEA4DC','jbossesb','JBoss ESB User','2006-12-01 14:37:37.796000000','2006-12-01 14:37:37.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:66849A30-8173-11DB-B8A9-A363E1E6C50C','jbossesb','JBoss ESB User','2006-12-01 14:37:37.890000000','2006-12-01 14:37:37.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6745E2D0-817D-11DB-A2D0-D8A73EE8E6A2','jbossesb','JBoss ESB User','2006-12-01 15:49:14.109000000','2006-12-01 15:49:14.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6764DC80-817D-11DB-9C80-D0EA2FFB50D3','jbossesb','JBoss ESB User','2006-12-01 15:49:14.328000000','2006-12-01 15:49:14.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:677AE010-817E-11DB-A010-D57F9D7A2729','jbossesb','JBoss ESB User','2006-12-01 15:56:23.968000000','2006-12-01 15:56:24.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:67A6CB50-860E-11DB-8B50-E64674E9943F','jbossesb','JBoss ESB User','2006-12-07 11:17:16.437000000','2006-12-07 11:17:16.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:67AE7E30-8105-11DB-BE30-DD4F10D1BE5A','jbossesb','JBoss ESB User','2006-12-01 01:30:15.218000000','2006-12-01 01:30:15.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:67BD0EA0-817D-11DB-8EA0-E7AFFEAD2760','jbossesb','JBoss ESB User','2006-12-01 15:49:14.890000000','2006-12-01 15:49:14.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:67C6AB90-817D-11DB-AB90-DBEFE1B81906','jbossesb','JBoss ESB User','2006-12-01 15:49:14.953000000','2006-12-01 15:49:14.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:67DE40C0-8105-11DB-80C0-DA2B8704490F','jbossesb','JBoss ESB User','2006-12-01 01:30:15.515000000','2006-12-01 01:30:15.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:67ED50F0-817E-11DB-90F0-888D8E40CEC5','jbossesb','JBoss ESB User','2006-12-01 15:56:24.703000000','2006-12-01 15:56:24.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:680063C0-817E-11DB-A3C0-D2048E8A0E55','jbossesb','JBoss ESB User','2006-12-01 15:56:24.843000000','2006-12-01 15:56:24.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:684602D0-817F-11DB-82D0-C8E956EEE22A','jbossesb','JBoss ESB User','2006-12-01 16:03:34.781000000','2006-12-01 16:03:34.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:684BCFA0-8105-11DB-8FA0-8C98274921D4','jbossesb','JBoss ESB User','2006-12-01 01:30:16.250000000','2006-12-01 01:30:16.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:685C9880-8105-11DB-9880-A765CE161B01','jbossesb','JBoss ESB User','2006-12-01 01:30:16.343000000','2006-12-01 01:30:16.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6866EDC0-817E-11DB-ADC0-DC7990BDEDBC','jbossesb','JBoss ESB User','2006-12-01 15:56:25.500000000','2006-12-01 15:56:25.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6871D520-817C-11DB-9520-CF530E1728E0','jbossesb','JBoss ESB User','2006-12-01 15:42:06.578000000','2006-12-01 15:42:06.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:688E1B40-8172-11DB-B8A9-B848F302725E','jbossesb','JBoss ESB User','2006-12-01 14:30:31.890000000','2006-12-01 14:30:31.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:689318C0-817C-11DB-98C0-D16369DC0D80','jbossesb','JBoss ESB User','2006-12-01 15:42:06.796000000','2006-12-01 15:42:06.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:689CB5B0-817C-11DB-B5B0-B702BFF9BEE2','jbossesb','JBoss ESB User','2006-12-01 15:42:06.875000000','2006-12-01 15:42:06.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:68AB0D90-817C-11DB-8D90-94C5C05467F9','jbossesb','JBoss ESB User','2006-12-01 15:42:06.984000000','2006-12-01 15:42:06.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:68AED6C0-817F-11DB-96C0-95B2A69B3D22','jbossesb','JBoss ESB User','2006-12-01 16:03:35.468000000','2006-12-01 16:03:35.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:68B602B0-817F-11DB-82B0-925453CB9CFF','jbossesb','JBoss ESB User','2006-12-01 16:03:35.515000000','2006-12-01 16:03:35.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:68C1E990-817F-11DB-A990-D1A0DFC632EB','jbossesb','JBoss ESB User','2006-12-01 16:03:35.609000000','2006-12-01 16:03:35.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:68DC2B20-861B-11DB-AB20-F55B8FB22FB1','jbossesb','JBoss ESB User','2006-12-07 12:50:21.906000000','2006-12-07 12:50:21.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:68ED7950-8172-11DB-B8A9-D2C842D8DC6A','jbossesb','JBoss ESB User','2006-12-01 14:30:32.421000000','2006-12-01 14:30:32.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:68F8B3D0-861B-11DB-B3D0-951B089DAD48','jbossesb','JBoss ESB User','2006-12-07 12:50:22.125000000','2006-12-07 12:50:22.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:68FE4230-8172-11DB-B8A9-B78537C9EEDD','jbossesb','JBoss ESB User','2006-12-01 14:30:32.531000000','2006-12-01 14:30:32.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6907B810-8172-11DB-B8A9-801E00BADF47','jbossesb','JBoss ESB User','2006-12-01 14:30:32.656000000','2006-12-01 14:30:32.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:693DC360-814A-11DB-A6BA-E69B6ED615A2','jbossesb','JBoss ESB User','2006-12-01 09:44:13.780000000','2006-12-01 09:44:13.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:695A4C10-814A-11DB-A6BA-E27552C05004','jbossesb','JBoss ESB User','2006-12-01 09:44:13.421000000','2006-12-01 09:44:13.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:696FC150-8175-11DB-AE84-EE0686D1B133','jbossesb','JBoss ESB User','2006-12-01 14:52:01.765000000','2006-12-01 14:52:01.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:69854520-8175-11DB-AE84-8ABF761A2A3C','jbossesb','JBoss ESB User','2006-12-01 14:52:01.937000000','2006-12-01 14:52:01.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:698FAF90-860E-11DB-AF90-E3BBB4F66C56','jbossesb','JBoss ESB User','2006-12-07 11:17:19.656000000','2006-12-07 11:17:19.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:699F83E0-8175-11DB-AE84-FEAEC4C0DB58','jbossesb','JBoss ESB User','2006-12-01 14:52:02.930000000','2006-12-01 14:52:02.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:69B4E0A0-8175-11DB-AE84-8AD8B36A08F3','jbossesb','JBoss ESB User','2006-12-01 14:52:02.234000000','2006-12-01 14:52:02.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:69DCC810-8182-11DB-AB1E-8AEFDBEF6685','jbossesb','JBoss ESB User','2006-12-01 16:25:05.937000000','2006-12-01 16:25:05.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:69F495D0-8182-11DB-AB1E-8096154CBFC8','jbossesb','JBoss ESB User','2006-12-01 16:25:06.140000000','2006-12-01 16:25:06.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A055EB0-8182-11DB-AB1E-90DA9D56F04D','jbossesb','JBoss ESB User','2006-12-01 16:25:06.203000000','2006-12-01 16:25:06.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A186C20-816F-11DB-A4E4-C3EFD71D6645','jbossesb','JBoss ESB User','2006-12-01 14:09:05.890000000','2006-12-01 14:09:05.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A187180-8182-11DB-AB1E-9E871DBBDF92','jbossesb','JBoss ESB User','2006-12-01 16:25:06.343000000','2006-12-01 16:25:06.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A386F50-8103-11DB-BD3E-84BCF82FCE08','jbossesb','JBoss ESB User','2006-12-01 01:16:00.468000000','2006-12-01 01:16:00.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A54F800-8103-11DB-BD3E-8BF43CABF9AC','jbossesb','JBoss ESB User','2006-12-01 01:16:00.656000000','2006-12-01 01:16:00.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A680AD0-8103-11DB-BD3E-FFD596CE33B1','jbossesb','JBoss ESB User','2006-12-01 01:16:00.781000000','2006-12-01 01:16:00.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A730F40-816F-11DB-A4E4-C319F2DD37F6','jbossesb','JBoss ESB User','2006-12-01 14:09:06.484000000','2006-12-01 14:09:06.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A78D3B0-8103-11DB-BD3E-9777B2D69194','jbossesb','JBoss ESB User','2006-12-01 01:16:00.906000000','2006-12-01 01:16:00.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6A89F540-8104-11DB-B540-90DB3BA64195','jbossesb','JBoss ESB User','2006-12-01 01:23:10.578000000','2006-12-01 01:23:10.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6AA8EEF0-8104-11DB-AEF0-EAE7C39CB4A1','jbossesb','JBoss ESB User','2006-12-01 01:23:10.703000000','2006-12-01 01:23:10.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6AB990C0-8104-11DB-90C0-9BF6491E5F76','jbossesb','JBoss ESB User','2006-12-01 01:23:10.796000000','2006-12-01 01:23:10.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6ABA9F90-816F-11DB-A4E4-B5D496114E85','jbossesb','JBoss ESB User','2006-12-01 14:09:06.953000000','2006-12-01 14:09:06.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6AC32DB0-8104-11DB-ADB0-C0C32A8D6442','jbossesb','JBoss ESB User','2006-12-01 01:23:10.890000000','2006-12-01 01:23:10.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6AC41570-816F-11DB-A4E4-D09F10190BBE','jbossesb','JBoss ESB User','2006-12-01 14:09:07.460000000','2006-12-01 14:09:07.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6B999770-817B-11DB-B063-B3E5266139B7','jbossesb','JBoss ESB User','2006-12-01 15:35:02.421000000','2006-12-01 15:35:02.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BA94A50-861A-11DB-8A50-EA206CC1DCD0','jbossesb','JBoss ESB User','2006-12-07 12:43:17.109000000','2006-12-07 12:43:17.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BAA92C0-814C-11DB-A6BA-C6DEAAA875A7','jbossesb','JBoss ESB User','2006-12-01 09:58:36.140000000','2006-12-01 09:58:36.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BB679A0-814C-11DB-A6BA-B44DCC4E46D1','jbossesb','JBoss ESB User','2006-12-01 09:58:36.234000000','2006-12-01 09:58:36.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BBADB10-817B-11DB-B063-C6BE4A9CDF02','jbossesb','JBoss ESB User','2006-12-01 15:35:02.593000000','2006-12-01 15:35:02.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BD05EE0-817B-11DB-B063-91F28082DDE6','jbossesb','JBoss ESB User','2006-12-01 15:35:02.734000000','2006-12-01 15:35:02.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BDA5550-814C-11DB-A6BA-E05B22739457','jbossesb','JBoss ESB User','2006-12-01 09:58:36.468000000','2006-12-01 09:58:36.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BDEB6C0-817B-11DB-B063-F67624C80EBF','jbossesb','JBoss ESB User','2006-12-01 15:35:02.859000000','2006-12-01 15:35:02.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BDF1040-814C-11DB-A6BA-9FEEE99B134D','jbossesb','JBoss ESB User','2006-12-01 09:58:36.500000000','2006-12-01 09:58:36.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6BE4F3C0-861A-11DB-B3C0-AB7879D8CBCD','jbossesb','JBoss ESB User','2006-12-07 12:43:17.515000000','2006-12-07 12:43:17.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6C00A990-816E-11DB-A4E4-804A65ECDE87','jbossesb','JBoss ESB User','2006-12-01 14:01:59.640000000','2006-12-01 14:01:59.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6C189E60-816E-11DB-A4E4-D6B6341CD13B','jbossesb','JBoss ESB User','2006-12-01 14:01:59.750000000','2006-12-01 14:01:59.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6C26CF30-816E-11DB-A4E4-883985D2AE7D','jbossesb','JBoss ESB User','2006-12-01 14:01:59.843000000','2006-12-01 14:01:59.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6C2DFB20-816E-11DB-A4E4-CBB857C0D60B','jbossesb','JBoss ESB User','2006-12-01 14:01:59.906000000','2006-12-01 14:01:59.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6C64C7F0-8181-11DB-AB1E-9E7295CDDDA3','jbossesb','JBoss ESB User','2006-12-01 16:18:00.687000000','2006-12-01 16:18:00.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6C7F06B0-8181-11DB-AB1E-99B5DDE4C02C','jbossesb','JBoss ESB User','2006-12-01 16:18:00.859000000','2006-12-01 16:18:00.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6C8D5E90-8181-11DB-AB1E-BECABF85802F','jbossesb','JBoss ESB User','2006-12-01 16:18:00.953000000','2006-12-01 16:18:01.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6C9B8F60-8181-11DB-AB1E-AEE4A216A6AB','jbossesb','JBoss ESB User','2006-12-01 16:18:01.620000000','2006-12-01 16:18:01.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DE96EF0-861D-11DB-AEF0-E588215A8B83','jbossesb','JBoss ESB User','2006-12-07 13:04:49.375000000','2006-12-07 13:04:49.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DEE29E0-861D-11DB-A9E0-8BC6165CA748','jbossesb','JBoss ESB User','2006-12-07 13:04:49.421000000','2006-12-07 13:04:49.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DEE74D0-8619-11DB-B4D0-FF75D8611461','jbossesb','JBoss ESB User','2006-12-07 12:36:11.437000000','2006-12-07 12:36:11.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DF31440-860F-11DB-9440-E32E791BBC84','jbossesb','JBoss ESB User','2006-12-07 11:24:36.484000000','2006-12-07 11:24:36.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DF5A0C0-8619-11DB-A0C0-AFEEEC7A8475','jbossesb','JBoss ESB User','2006-12-07 12:36:11.500000000','2006-12-07 12:36:11.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DFA4030-860F-11DB-8030-CC3375A86376','jbossesb','JBoss ESB User','2006-12-07 11:24:36.546000000','2006-12-07 11:24:36.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DFC81C0-861D-11DB-81C0-EE41F362A7CA','jbossesb','JBoss ESB User','2006-12-07 13:04:49.500000000','2006-12-07 13:04:49.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DFECBB0-861D-11DB-8BB0-FC113E33B9DA','jbossesb','JBoss ESB User','2006-12-07 13:04:49.515000000','2006-12-07 13:04:49.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DFEFB20-860F-11DB-BB20-E55B264A9EF8','jbossesb','JBoss ESB User','2006-12-07 11:24:36.578000000','2006-12-07 11:24:36.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6DFF3DB0-8619-11DB-BDB0-D3B99A10B7F8','jbossesb','JBoss ESB User','2006-12-07 12:36:11.546000000','2006-12-07 12:36:11.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E0386A0-861D-11DB-86A0-E9063D64FFE7','jbossesb','JBoss ESB User','2006-12-07 13:04:49.546000000','2006-12-07 13:04:49.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E03F8A0-8619-11DB-B8A0-959A5905EE22','jbossesb','JBoss ESB User','2006-12-07 12:36:11.578000000','2006-12-07 12:36:11.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E05F7A0-861D-11DB-B7A0-D9192AF272AB','jbossesb','JBoss ESB User','2006-12-07 13:04:49.578000000','2006-12-07 13:04:49.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E0B2490-8619-11DB-A490-CE1636F03DD0','jbossesb','JBoss ESB User','2006-12-07 12:36:11.625000000','2006-12-07 12:36:11.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E120DF0-860F-11DB-8DF0-FF33B62666BC','jbossesb','JBoss ESB User','2006-12-07 11:24:36.687000000','2006-12-07 11:24:36.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E147EF0-860F-11DB-BEF0-DCB2EDE79558','jbossesb','JBoss ESB User','2006-12-07 11:24:36.703000000','2006-12-07 11:24:36.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E1BAAE0-860F-11DB-AAE0-E619E5194B04','jbossesb','JBoss ESB User','2006-12-07 11:24:36.750000000','2006-12-07 11:24:36.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E201750-80E3-11DB-9750-AF7B71B3337D','jbossesb','JBoss ESB User','2006-11-30 21:27:03.125000000','2006-11-30 21:27:03.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E22AFC0-860F-11DB-AFC0-8C0ECA80774C','jbossesb','JBoss ESB User','2006-12-07 11:24:36.812000000','2006-12-07 11:24:36.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E30D830-861D-11DB-9830-A0F32CF7DA9C','jbossesb','JBoss ESB User','2006-12-07 13:04:49.859000000','2006-12-07 13:04:49.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E380420-861D-11DB-8420-DF02BBF43ADB','jbossesb','JBoss ESB User','2006-12-07 13:04:49.906000000','2006-12-07 13:04:49.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E3F3010-861D-11DB-B010-B0828072837D','jbossesb','JBoss ESB User','2006-12-07 13:04:49.937000000','2006-12-07 13:04:49.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E41A110-861D-11DB-A110-ED3C07760D47','jbossesb','JBoss ESB User','2006-12-07 13:04:49.968000000','2006-12-07 13:04:49.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E445D00-8619-11DB-9D00-B2F1D458DEE0','jbossesb','JBoss ESB User','2006-12-07 12:36:12.0','2006-12-07 12:36:12.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E465C00-861D-11DB-9C00-CAEC803E4CA4','jbossesb','JBoss ESB User','2006-12-07 13:04:49.984000000','2006-12-07 13:04:50.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E4AF7E0-80E3-11DB-B7E0-E913521B1C63','jbossesb','JBoss ESB User','2006-11-30 21:27:03.453000000','2006-11-30 21:27:03.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E4B16F0-861D-11DB-96F0-C0624E0FA5C1','jbossesb','JBoss ESB User','2006-12-07 13:04:50.310000000','2006-12-07 13:04:50.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E54B3E0-861D-11DB-B3E0-91C676C5A11C','jbossesb','JBoss ESB User','2006-12-07 13:04:50.780000000','2006-12-07 13:04:50.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E67A7A0-80E3-11DB-A7A0-F5AD0F7B01E2','jbossesb','JBoss ESB User','2006-11-30 21:27:03.593000000','2006-11-30 21:27:03.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6E7D0460-80E3-11DB-8460-947F30B760F2','jbossesb','JBoss ESB User','2006-11-30 21:27:03.750000000','2006-11-30 21:27:03.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6EA0FF20-861D-11DB-BF20-ACEEC51DCEEF','jbossesb','JBoss ESB User','2006-12-07 13:04:50.593000000','2006-12-07 13:04:50.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6EA12E90-860F-11DB-AE90-CA8BB0A02E06','jbossesb','JBoss ESB User','2006-12-07 11:24:37.640000000','2006-12-07 11:24:37.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6EAD30F0-8619-11DB-B0F0-97828BBECBF1','jbossesb','JBoss ESB User','2006-12-07 12:36:12.671000000','2006-12-07 12:36:12.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6EB88850-8147-11DB-A69A-865C45152B1B','jbossesb','JBoss ESB User','2006-12-01 09:22:53.796000000','2006-12-01 09:22:53.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6EC46F30-8147-11DB-A69A-9F0AACB8A2CD','jbossesb','JBoss ESB User','2006-12-01 09:22:53.859000000','2006-12-01 09:22:53.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6EC92A20-8147-11DB-A69A-F63049D3CECB','jbossesb','JBoss ESB User','2006-12-01 09:22:53.890000000','2006-12-01 09:22:53.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6F2C9EB0-817A-11DB-9EB0-913C9F80129E','jbossesb','JBoss ESB User','2006-12-01 15:27:58.875000000','2006-12-01 15:27:58.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6F3ACF80-817A-11DB-8F80-BFD932044199','jbossesb','JBoss ESB User','2006-12-01 15:27:58.968000000','2006-12-01 15:27:59.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6F7968F0-80E7-11DB-A8F0-A6CD47A21758','jbossesb','JBoss ESB User','2006-11-30 21:55:43.390000000','2006-11-30 21:55:43.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6F8C7BC0-80E7-11DB-BBC0-A2BF821E83C3','jbossesb','JBoss ESB User','2006-11-30 21:55:43.515000000','2006-11-30 21:55:43.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6F9F8E90-80E7-11DB-8E90-98D5492C33FE','jbossesb','JBoss ESB User','2006-11-30 21:55:43.625000000','2006-11-30 21:55:43.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6FBCC3E0-8563-11DB-A4E1-A86269B71594','jbossesb','JBoss ESB User','2006-12-06 14:53:26.460000000','2006-12-06 14:53:26.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6FC8D1D0-8563-11DB-A4E1-864DF2DA4443','jbossesb','JBoss ESB User','2006-12-06 14:53:26.140000000','2006-12-06 14:53:26.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6FCFD6B0-8563-11DB-A4E1-DD7F721F5DBB','jbossesb','JBoss ESB User','2006-12-06 14:53:26.187000000','2006-12-06 14:53:26.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:6FD702A0-8563-11DB-A4E1-C9698F9669E5','jbossesb','JBoss ESB User','2006-12-06 14:53:26.218000000','2006-12-06 14:53:26.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70024760-861E-11DB-B1A1-949F9047EA06','jbossesb','JBoss ESB User','2006-12-07 13:12:02.390000000','2006-12-07 13:12:02.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70070250-861E-11DB-B1A1-AB77AFF73025','jbossesb','JBoss ESB User','2006-12-07 13:12:02.421000000','2006-12-07 13:12:02.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:700E2E40-861E-11DB-B1A1-DB818E1954BA','jbossesb','JBoss ESB User','2006-12-07 13:12:02.500000000','2006-12-07 13:12:02.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:701C8620-861E-11DB-B1A1-E584F6DEFCF0','jbossesb','JBoss ESB User','2006-12-07 13:12:02.562000000','2006-12-07 13:12:02.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7023B210-861E-11DB-B1A1-94DE90DD2A41','jbossesb','JBoss ESB User','2006-12-07 13:12:02.609000000','2006-12-07 13:12:02.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70262310-861E-11DB-B1A1-B1757D61B95E','jbossesb','JBoss ESB User','2006-12-07 13:12:02.625000000','2006-12-07 13:12:02.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7037FF90-814B-11DB-A6BA-BB30464F7666','jbossesb','JBoss ESB User','2006-12-01 09:51:34.281000000','2006-12-01 09:51:34.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7046D930-8618-11DB-9930-DD2CA3002425','jbossesb','JBoss ESB User','2006-12-07 12:29:05.875000000','2006-12-07 12:29:05.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7048A160-814B-11DB-A6BA-9C73CB694210','jbossesb','JBoss ESB User','2006-12-01 09:51:34.390000000','2006-12-01 09:51:34.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:704B5190-860E-11DB-9190-81ED50311B37','jbossesb','JBoss ESB User','2006-12-07 11:17:30.953000000','2006-12-07 11:17:30.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:704D5C50-814B-11DB-A6BA-9379A1A135FE','jbossesb','JBoss ESB User','2006-12-01 09:51:34.421000000','2006-12-01 09:51:34.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:704E92A0-861E-11DB-B1A1-98ED6CF30A01','jbossesb','JBoss ESB User','2006-12-07 13:12:02.906000000','2006-12-07 13:12:02.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70504F10-8618-11DB-8F10-8B92215ACE10','jbossesb','JBoss ESB User','2006-12-07 12:29:05.937000000','2006-12-07 12:29:05.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70523E50-814B-11DB-A6BA-E0D111B1E50C','jbossesb','JBoss ESB User','2006-12-01 09:51:34.453000000','2006-12-01 09:51:34.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70534D90-861E-11DB-B1A1-DA5D1DDBE49F','jbossesb','JBoss ESB User','2006-12-07 13:12:02.921000000','2006-12-07 13:12:02.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7054BF10-861C-11DB-BF10-986DEA0657F4','jbossesb','JBoss ESB User','2006-12-07 12:57:43.953000000','2006-12-07 12:57:43.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70577B00-8618-11DB-BB00-DAF8074F759F','jbossesb','JBoss ESB User','2006-12-07 12:29:05.968000000','2006-12-07 12:29:05.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:705A7980-861E-11DB-B1A1-EBF92DE1BD22','jbossesb','JBoss ESB User','2006-12-07 13:12:02.968000000','2006-12-07 13:12:02.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:705BEB00-861C-11DB-AB00-E939DED1E0D2','jbossesb','JBoss ESB User','2006-12-07 12:57:43.984000000','2006-12-07 12:57:44.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:705C5D00-8618-11DB-9D00-D3A651D84480','jbossesb','JBoss ESB User','2006-12-07 12:29:06.150000000','2006-12-07 12:29:06.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:705CEA80-861E-11DB-B1A1-F35FCEA28D72','jbossesb','JBoss ESB User','2006-12-07 13:12:02.984000000','2006-12-07 13:12:02.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7060A5F0-861C-11DB-A5F0-FA26FF8FADDE','jbossesb','JBoss ESB User','2006-12-07 12:57:44.460000000','2006-12-07 12:57:44.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7061A570-861E-11DB-B1A1-F486BD46EADF','jbossesb','JBoss ESB User','2006-12-07 13:12:03.150000000','2006-12-07 13:12:03.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70641670-861E-11DB-B1A1-C0721FA71D57','jbossesb','JBoss ESB User','2006-12-07 13:12:03.460000000','2006-12-07 13:12:03.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7065D2E0-8618-11DB-92E0-9E4B9A29CB3A','jbossesb','JBoss ESB User','2006-12-07 12:29:06.620000000','2006-12-07 12:29:06.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7067D1E0-861C-11DB-91E0-A65B005F31B0','jbossesb','JBoss ESB User','2006-12-07 12:57:44.780000000','2006-12-07 12:57:44.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:706C8CD0-861C-11DB-8CD0-F0F71705812B','jbossesb','JBoss ESB User','2006-12-07 12:57:44.109000000','2006-12-07 12:57:44.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7073B8C0-861C-11DB-B8C0-B517CF0D6152','jbossesb','JBoss ESB User','2006-12-07 12:57:44.140000000','2006-12-07 12:57:44.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70873D90-8618-11DB-BD90-F88F52D26323','jbossesb','JBoss ESB User','2006-12-07 12:29:06.281000000','2006-12-07 12:29:06.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7087CB10-861E-11DB-B1A1-FB746FD24746','jbossesb','JBoss ESB User','2006-12-07 13:12:03.265000000','2006-12-07 13:12:03.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:708BF880-8618-11DB-B880-EDFD5A099A15','jbossesb','JBoss ESB User','2006-12-07 12:29:06.312000000','2006-12-07 12:29:06.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70959570-8618-11DB-9570-8E3694D60CEF','jbossesb','JBoss ESB User','2006-12-07 12:29:06.375000000','2006-12-07 12:29:06.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:709A5060-8618-11DB-9060-FEE454BEC1AA','jbossesb','JBoss ESB User','2006-12-07 12:29:06.406000000','2006-12-07 12:29:06.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:709F0B50-8618-11DB-8B50-98CA7EF5C1A6','jbossesb','JBoss ESB User','2006-12-07 12:29:06.453000000','2006-12-07 12:29:06.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70A209D0-861E-11DB-B1A1-FDF0378174CA','jbossesb','JBoss ESB User','2006-12-07 13:12:03.453000000','2006-12-07 13:12:03.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70A63740-8618-11DB-B740-F0884581AB7F','jbossesb','JBoss ESB User','2006-12-07 12:29:06.500000000','2006-12-07 12:29:06.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70AAA740-861C-11DB-A740-FBA7D5BB4180','jbossesb','JBoss ESB User','2006-12-07 12:57:44.515000000','2006-12-07 12:57:44.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70B1AC20-861C-11DB-AC20-EEAB02A08907','jbossesb','JBoss ESB User','2006-12-07 12:57:44.546000000','2006-12-07 12:57:44.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70B8D810-861C-11DB-9810-CDFEBAAE369F','jbossesb','JBoss ESB User','2006-12-07 12:57:44.609000000','2006-12-07 12:57:44.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70C00400-861C-11DB-8400-96AD84F96BE6','jbossesb','JBoss ESB User','2006-12-07 12:57:44.656000000','2006-12-07 12:57:44.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70C72FF0-861C-11DB-AFF0-B7F431528D34','jbossesb','JBoss ESB User','2006-12-07 12:57:44.703000000','2006-12-07 12:57:44.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70CBEAE0-861C-11DB-AAE0-F41D57CC7525','jbossesb','JBoss ESB User','2006-12-07 12:57:44.718000000','2006-12-07 12:57:44.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70D587D0-861C-11DB-87D0-B664C53DB2E0','jbossesb','JBoss ESB User','2006-12-07 12:57:44.781000000','2006-12-07 12:57:44.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:70EB5690-8618-11DB-9690-B24ECE563C08','jbossesb','JBoss ESB User','2006-12-07 12:29:06.953000000','2006-12-07 12:29:06.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:713C4140-860E-11DB-8140-EFDF7F1A7C1C','jbossesb','JBoss ESB User','2006-12-07 11:17:32.515000000','2006-12-07 11:17:32.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7189FB30-8170-11DB-AF51-ACE298886CFB','jbossesb','JBoss ESB User','2006-12-01 14:16:27.890000000','2006-12-01 14:16:27.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:71B4DBC0-8170-11DB-AF51-E974060AF031','jbossesb','JBoss ESB User','2006-12-01 14:16:28.156000000','2006-12-01 14:16:28.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:71CA3880-8170-11DB-AF51-C25340364163','jbossesb','JBoss ESB User','2006-12-01 14:16:28.328000000','2006-12-01 14:16:28.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:71DFBC50-8170-11DB-AF51-9E802EBD9EC3','jbossesb','JBoss ESB User','2006-12-01 14:16:28.500000000','2006-12-01 14:16:28.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:71E2D920-861C-11DB-9920-B218BA55A225','jbossesb','JBoss ESB User','2006-12-07 12:57:46.546000000','2006-12-07 12:57:46.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:723AECF0-8176-11DB-ACF0-B3C9ED48A5D4','jbossesb','JBoss ESB User','2006-12-01 14:59:26.150000000','2006-12-01 14:59:26.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7247D420-8148-11DB-9420-899F3A820282','jbossesb','JBoss ESB User','2006-12-01 09:30:09.250000000','2006-12-01 09:30:09.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:72514A00-8148-11DB-8A00-B42AC86445EC','jbossesb','JBoss ESB User','2006-12-01 09:30:09.328000000','2006-12-01 09:30:09.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:72552BB0-8176-11DB-ABB0-C03A24CC2FB9','jbossesb','JBoss ESB User','2006-12-01 14:59:26.187000000','2006-12-01 14:59:26.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:725AE6F0-8148-11DB-A6F0-D72948185DDA','jbossesb','JBoss ESB User','2006-12-01 09:30:09.375000000','2006-12-01 09:30:09.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:72638390-8176-11DB-8390-B4B4AFA4D7F9','jbossesb','JBoss ESB User','2006-12-01 14:59:26.312000000','2006-12-01 14:59:26.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7278E050-8176-11DB-A050-D88F48895175','jbossesb','JBoss ESB User','2006-12-01 14:59:26.421000000','2006-12-01 14:59:26.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:72ABDE90-8173-11DB-B8A9-B2C834A9858F','jbossesb','JBoss ESB User','2006-12-01 14:37:58.281000000','2006-12-01 14:37:58.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:72BEF160-8173-11DB-B8A9-CC00745F8E6A','jbossesb','JBoss ESB User','2006-12-01 14:37:58.406000000','2006-12-01 14:37:58.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:72C88E50-8173-11DB-B8A9-9919702D33D7','jbossesb','JBoss ESB User','2006-12-01 14:37:58.453000000','2006-12-01 14:37:58.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:72D47530-8173-11DB-B8A9-E63482BCA31E','jbossesb','JBoss ESB User','2006-12-01 14:37:58.531000000','2006-12-01 14:37:58.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:734BE390-817D-11DB-A390-EF312032E828','jbossesb','JBoss ESB User','2006-12-01 15:49:34.312000000','2006-12-01 15:49:34.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:73614050-817D-11DB-8050-C7C59678EFBD','jbossesb','JBoss ESB User','2006-12-01 15:49:34.437000000','2006-12-01 15:49:34.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:736D4E40-817D-11DB-8E40-E91E585F5172','jbossesb','JBoss ESB User','2006-12-01 15:49:34.500000000','2006-12-01 15:49:34.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:73B99980-817D-11DB-9980-FAE5C11A2557','jbossesb','JBoss ESB User','2006-12-01 15:49:35.150000000','2006-12-01 15:49:35.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:73C520C0-8105-11DB-A0C0-84570BE10D78','jbossesb','JBoss ESB User','2006-12-01 01:30:35.515000000','2006-12-01 01:30:35.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:73D6A1F0-817E-11DB-A1F0-D939E06B3E1D','jbossesb','JBoss ESB User','2006-12-01 15:56:44.734000000','2006-12-01 15:56:44.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:73EB4660-8105-11DB-8660-E42D35C2EDEF','jbossesb','JBoss ESB User','2006-12-01 01:30:35.718000000','2006-12-01 01:30:35.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:73F59BA0-817E-11DB-9BA0-F71191CA4FF9','jbossesb','JBoss ESB User','2006-12-01 15:56:44.890000000','2006-12-01 15:56:44.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:73FC0F40-8105-11DB-8F40-CC8E21F840DF','jbossesb','JBoss ESB User','2006-12-01 01:30:35.843000000','2006-12-01 01:30:35.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7403F380-817E-11DB-B380-E7A9BB6CA33E','jbossesb','JBoss ESB User','2006-12-01 15:56:44.984000000','2006-12-01 15:56:45.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7407F620-8105-11DB-B620-EA411347D459','jbossesb','JBoss ESB User','2006-12-01 01:30:35.906000000','2006-12-01 01:30:35.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74495E90-814A-11DB-A6BA-E6D8186AEA17','jbossesb','JBoss ESB User','2006-12-01 09:44:31.609000000','2006-12-01 09:44:31.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:745C25A0-817E-11DB-A5A0-A24C0091E8A4','jbossesb','JBoss ESB User','2006-12-01 15:56:45.562000000','2006-12-01 15:56:45.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74685840-814A-11DB-A6BA-A71A546201E9','jbossesb','JBoss ESB User','2006-12-01 09:44:31.812000000','2006-12-01 09:44:31.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7478FA10-814A-11DB-A6BA-8A64061A46BF','jbossesb','JBoss ESB User','2006-12-01 09:44:31.921000000','2006-12-01 09:44:31.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74850800-814A-11DB-A6BA-F3FF77B219AC','jbossesb','JBoss ESB User','2006-12-01 09:44:32.0','2006-12-01 09:44:32.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:748C67F0-817F-11DB-A7F0-BB816EC5ABDE','jbossesb','JBoss ESB User','2006-12-01 16:03:55.375000000','2006-12-01 16:03:55.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74AB61A0-817F-11DB-A1A0-84FD4367B617','jbossesb','JBoss ESB User','2006-12-01 16:03:55.593000000','2006-12-01 16:03:55.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74D88EF0-861B-11DB-8EF0-E0C46418146D','jbossesb','JBoss ESB User','2006-12-07 12:50:42.150000000','2006-12-07 12:50:42.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74D97DE0-817C-11DB-BDE0-93141D24FBD6','jbossesb','JBoss ESB User','2006-12-01 15:42:27.406000000','2006-12-01 15:42:27.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74DFBAE0-861B-11DB-BAE0-CB0BEC2C99A8','jbossesb','JBoss ESB User','2006-12-07 12:50:42.780000000','2006-12-07 12:50:42.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74E6E6D0-861B-11DB-A6D0-9E67780D7D41','jbossesb','JBoss ESB User','2006-12-07 12:50:42.125000000','2006-12-07 12:50:42.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74F05CB0-861B-11DB-9CB0-E3AC4EA5DE26','jbossesb','JBoss ESB User','2006-12-07 12:50:42.171000000','2006-12-07 12:50:42.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74F3BCA0-817C-11DB-BCA0-DC1727D8C4F7','jbossesb','JBoss ESB User','2006-12-01 15:42:27.562000000','2006-12-01 15:42:27.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74F788A0-861B-11DB-88A0-834C6DFFB313','jbossesb','JBoss ESB User','2006-12-07 12:50:42.250000000','2006-12-07 12:50:42.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74FD5990-817C-11DB-9990-D25F0C65140F','jbossesb','JBoss ESB User','2006-12-01 15:42:27.625000000','2006-12-01 15:42:27.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74FEB490-861B-11DB-B490-F4F23924373A','jbossesb','JBoss ESB User','2006-12-07 12:50:42.265000000','2006-12-07 12:50:42.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:74FF60F0-8172-11DB-B8A9-C83FF7B21981','jbossesb','JBoss ESB User','2006-12-01 14:30:52.703000000','2006-12-01 14:30:52.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75084EB0-817F-11DB-8EB0-EFE12295189F','jbossesb','JBoss ESB User','2006-12-01 16:03:56.203000000','2006-12-01 16:03:56.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75094070-817C-11DB-8070-A02B524421B2','jbossesb','JBoss ESB User','2006-12-01 15:42:27.750000000','2006-12-01 15:42:27.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75199FB0-8172-11DB-B8A9-F2C0930F6257','jbossesb','JBoss ESB User','2006-12-01 14:30:52.843000000','2006-12-01 14:30:52.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:751B6450-861B-11DB-A450-BD8746C3F2E7','jbossesb','JBoss ESB User','2006-12-07 12:50:42.453000000','2006-12-07 12:50:42.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:751DAE40-861B-11DB-AE40-8F06AFCB1C10','jbossesb','JBoss ESB User','2006-12-07 12:50:42.468000000','2006-12-07 12:50:42.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7524DA30-861B-11DB-9A30-C88EAAF9AD84','jbossesb','JBoss ESB User','2006-12-07 12:50:42.531000000','2006-12-07 12:50:42.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75258690-8172-11DB-B8A9-D5E0755D08F6','jbossesb','JBoss ESB User','2006-12-01 14:30:52.937000000','2006-12-01 14:30:52.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75299520-861B-11DB-9520-B3AB82F911C6','jbossesb','JBoss ESB User','2006-12-07 12:50:42.562000000','2006-12-07 12:50:42.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:752F2380-8172-11DB-B8A9-9F515738D0D8','jbossesb','JBoss ESB User','2006-12-01 14:30:52.984000000','2006-12-01 14:30:53.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7530C110-861B-11DB-8110-945EBA8D4C0A','jbossesb','JBoss ESB User','2006-12-07 12:50:42.593000000','2006-12-07 12:50:42.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7537ED00-861B-11DB-AD00-E27E7871DB76','jbossesb','JBoss ESB User','2006-12-07 12:50:42.640000000','2006-12-07 12:50:42.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:754FBAC0-861B-11DB-BAC0-E4BAD80862B0','jbossesb','JBoss ESB User','2006-12-07 12:50:42.812000000','2006-12-07 12:50:42.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75549CC0-861B-11DB-9CC0-E29CE2DF41DF','jbossesb','JBoss ESB User','2006-12-07 12:50:42.828000000','2006-12-07 12:50:42.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7556E6B0-861B-11DB-A6B0-A39DBFF29137','jbossesb','JBoss ESB User','2006-12-07 12:50:42.875000000','2006-12-07 12:50:42.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:756083A0-861B-11DB-83A0-EC00F91154CE','jbossesb','JBoss ESB User','2006-12-07 12:50:42.921000000','2006-12-07 12:50:42.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75653E90-861B-11DB-BE90-A6B77958764F','jbossesb','JBoss ESB User','2006-12-07 12:50:42.953000000','2006-12-07 12:50:42.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:756A1DC0-817F-11DB-9DC0-EC2DF7283380','jbossesb','JBoss ESB User','2006-12-01 16:03:56.843000000','2006-12-01 16:03:56.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:757AC260-861B-11DB-8260-FD6E1045A19C','jbossesb','JBoss ESB User','2006-12-07 12:50:43.780000000','2006-12-07 12:50:43.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:757CEE00-8175-11DB-AE84-D194AF95EE61','jbossesb','JBoss ESB User','2006-12-01 14:52:21.984000000','2006-12-01 14:52:22.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:757D0C50-861B-11DB-8C50-FA20C5F06EAD','jbossesb','JBoss ESB User','2006-12-07 12:50:43.109000000','2006-12-07 12:50:43.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75843840-861B-11DB-B840-87BA0BC5FC90','jbossesb','JBoss ESB User','2006-12-07 12:50:43.156000000','2006-12-07 12:50:43.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7588F330-861B-11DB-B330-BD3949F61C5D','jbossesb','JBoss ESB User','2006-12-07 12:50:43.171000000','2006-12-07 12:50:43.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:758B6430-861B-11DB-A430-CDAD35D469A3','jbossesb','JBoss ESB User','2006-12-07 12:50:43.218000000','2006-12-07 12:50:43.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75950120-861B-11DB-8120-C0C360FEE8FF','jbossesb','JBoss ESB User','2006-12-07 12:50:43.265000000','2006-12-07 12:50:43.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75972CC0-8175-11DB-AE84-E29FB94E1706','jbossesb','JBoss ESB User','2006-12-01 14:52:22.171000000','2006-12-01 14:52:22.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75A7CE90-8175-11DB-AE84-F7CF7B5B6EFD','jbossesb','JBoss ESB User','2006-12-01 14:52:22.265000000','2006-12-01 14:52:22.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75B189D0-861B-11DB-89D0-8BF281612200','jbossesb','JBoss ESB User','2006-12-07 12:50:43.437000000','2006-12-07 12:50:43.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75B89770-8175-11DB-AE84-A4916A52E3AF','jbossesb','JBoss ESB User','2006-12-01 14:52:22.390000000','2006-12-01 14:52:22.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:75F36AA0-8182-11DB-AB1E-D844706183D7','jbossesb','JBoss ESB User','2006-12-01 16:25:26.250000000','2006-12-01 16:25:26.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7640BA00-8103-11DB-BD3E-FEC7AE96BF5C','jbossesb','JBoss ESB User','2006-12-01 01:16:20.656000000','2006-12-01 01:16:20.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:765EAF90-8182-11DB-AB1E-8FD64775D352','jbossesb','JBoss ESB User','2006-12-01 16:25:26.937000000','2006-12-01 16:25:26.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:765FB3B0-8103-11DB-BD3E-FC3ABEE6EB62','jbossesb','JBoss ESB User','2006-12-01 01:16:20.890000000','2006-12-01 01:16:20.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:766ABD80-8182-11DB-AB1E-83CC000EA82A','jbossesb','JBoss ESB User','2006-12-01 16:25:27.0','2006-12-01 16:25:27.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:76743360-8182-11DB-AB1E-CEBC560ABAC0','jbossesb','JBoss ESB User','2006-12-01 16:25:27.620000000','2006-12-01 16:25:27.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7677A880-8103-11DB-BD3E-B5E382D62469','jbossesb','JBoss ESB User','2006-12-01 01:16:21.150000000','2006-12-01 01:16:21.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:76884A50-8103-11DB-BD3E-FFBDC33649BA','jbossesb','JBoss ESB User','2006-12-01 01:16:21.125000000','2006-12-01 01:16:21.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7694B0F0-8104-11DB-B0F0-8C78BA27E9AC','jbossesb','JBoss ESB User','2006-12-01 01:23:30.718000000','2006-12-01 01:23:30.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:769A7AB0-816F-11DB-A4E4-FA91EB844A3B','jbossesb','JBoss ESB User','2006-12-01 14:09:26.890000000','2006-12-01 14:09:26.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:76B3AAA0-8104-11DB-AAA0-937E23C0A2CE','jbossesb','JBoss ESB User','2006-12-01 01:23:30.906000000','2006-12-01 01:23:30.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:76B97460-816F-11DB-A4E4-CD229F58CED1','jbossesb','JBoss ESB User','2006-12-01 14:09:27.780000000','2006-12-01 14:09:27.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:76C92E70-8104-11DB-AE70-9A6D0A6EED82','jbossesb','JBoss ESB User','2006-12-01 01:23:31.310000000','2006-12-01 01:23:31.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:76D05A60-8104-11DB-9A60-CE15CAF8BCEE','jbossesb','JBoss ESB User','2006-12-01 01:23:31.780000000','2006-12-01 01:23:31.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77034EA0-816F-11DB-A4E4-F696A6C61200','jbossesb','JBoss ESB User','2006-12-01 14:09:27.578000000','2006-12-01 14:09:27.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:774ADEF0-816F-11DB-A4E4-C97891072E2C','jbossesb','JBoss ESB User','2006-12-01 14:09:28.310000000','2006-12-01 14:09:28.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77A1E220-817B-11DB-B063-E847C9F76BC3','jbossesb','JBoss ESB User','2006-12-01 15:35:22.671000000','2006-12-01 15:35:22.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77A81F20-861A-11DB-9F20-8D9DFFC9A243','jbossesb','JBoss ESB User','2006-12-07 12:43:37.234000000','2006-12-07 12:43:37.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77ACDA10-861A-11DB-9A10-88DDE9B77271','jbossesb','JBoss ESB User','2006-12-07 12:43:37.296000000','2006-12-07 12:43:37.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77B67700-861A-11DB-B700-FA4F70E83DB5','jbossesb','JBoss ESB User','2006-12-07 12:43:37.343000000','2006-12-07 12:43:37.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77BFECE0-861A-11DB-ACE0-93AC0FED7954','jbossesb','JBoss ESB User','2006-12-07 12:43:37.390000000','2006-12-07 12:43:37.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77C0DBD0-817B-11DB-B063-D76333243524','jbossesb','JBoss ESB User','2006-12-01 15:35:22.781000000','2006-12-01 15:35:22.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77C4A7D0-861A-11DB-A7D0-E84972CF5517','jbossesb','JBoss ESB User','2006-12-07 12:43:37.421000000','2006-12-07 12:43:37.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77C989D0-861A-11DB-89D0-E4D8E79B11DC','jbossesb','JBoss ESB User','2006-12-07 12:43:37.453000000','2006-12-07 12:43:37.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77CF33B0-817B-11DB-B063-BDA9FA9BAECB','jbossesb','JBoss ESB User','2006-12-01 15:35:22.875000000','2006-12-01 15:35:22.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77D92A20-814C-11DB-A6BA-B257FE2D7AD5','jbossesb','JBoss ESB User','2006-12-01 09:58:56.578000000','2006-12-01 09:58:56.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77E75AF0-814C-11DB-A6BA-90184C9D0727','jbossesb','JBoss ESB User','2006-12-01 09:58:56.671000000','2006-12-01 09:58:56.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77E88380-861A-11DB-8380-F94D04ED91F4','jbossesb','JBoss ESB User','2006-12-07 12:43:37.671000000','2006-12-07 12:43:37.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77EA21A0-816E-11DB-A4E4-8FE948588C82','jbossesb','JBoss ESB User','2006-12-01 14:02:19.578000000','2006-12-01 14:02:19.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77EC3CF0-814C-11DB-A6BA-E456ACC5587E','jbossesb','JBoss ESB User','2006-12-01 09:58:56.718000000','2006-12-01 09:58:56.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77EFAF70-861A-11DB-AF70-B830BE54D459','jbossesb','JBoss ESB User','2006-12-07 12:43:37.703000000','2006-12-07 12:43:37.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77F0F7E0-814C-11DB-A6BA-CF4F5C0BDCBD','jbossesb','JBoss ESB User','2006-12-01 09:58:56.734000000','2006-12-01 09:58:56.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77F46A60-861A-11DB-AA60-EF4D33DDDE17','jbossesb','JBoss ESB User','2006-12-07 12:43:37.734000000','2006-12-07 12:43:37.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77F6DB60-861A-11DB-9B60-9F70937050BB','jbossesb','JBoss ESB User','2006-12-07 12:43:37.781000000','2006-12-07 12:43:37.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77FD3470-816E-11DB-A4E4-862D1BB48FDF','jbossesb','JBoss ESB User','2006-12-01 14:02:19.718000000','2006-12-01 14:02:19.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:77FDE040-861A-11DB-A040-BBED84A8F097','jbossesb','JBoss ESB User','2006-12-07 12:43:37.796000000','2006-12-07 12:43:37.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:78005140-861A-11DB-9140-DABB96EA8A34','jbossesb','JBoss ESB User','2006-12-07 12:43:37.828000000','2006-12-07 12:43:37.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:781D0100-861A-11DB-8100-9B53EC482D83','jbossesb','JBoss ESB User','2006-12-07 12:43:38.0','2006-12-07 12:43:38.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:781F4AF0-861A-11DB-8AF0-EAF11FC167D7','jbossesb','JBoss ESB User','2006-12-07 12:43:38.150000000','2006-12-07 12:43:38.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:782405E0-861A-11DB-85E0-87796BE5A66D','jbossesb','JBoss ESB User','2006-12-07 12:43:38.460000000','2006-12-07 12:43:38.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7828E7E0-861A-11DB-A7E0-C4200BC491EA','jbossesb','JBoss ESB User','2006-12-07 12:43:38.930000000','2006-12-07 12:43:38.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:782DA2D0-861A-11DB-A2D0-CA930A7590CA','jbossesb','JBoss ESB User','2006-12-07 12:43:38.125000000','2006-12-07 12:43:38.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:783FE2C0-816E-11DB-A4E4-82DCBCD93427','jbossesb','JBoss ESB User','2006-12-01 14:02:20.156000000','2006-12-01 14:02:20.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7847E190-861A-11DB-A190-FA95928B7906','jbossesb','JBoss ESB User','2006-12-07 12:43:38.281000000','2006-12-07 12:43:38.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:784A2B80-861A-11DB-AB80-91075866DB3D','jbossesb','JBoss ESB User','2006-12-07 12:43:38.312000000','2006-12-07 12:43:38.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:784BC9A0-816E-11DB-A4E4-AB61FBC198B8','jbossesb','JBoss ESB User','2006-12-01 14:02:20.218000000','2006-12-01 14:02:20.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:784F0D80-861A-11DB-8D80-8ED68637C53E','jbossesb','JBoss ESB User','2006-12-07 12:43:38.343000000','2006-12-07 12:43:38.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:78563970-861A-11DB-B970-D7D67DCB482C','jbossesb','JBoss ESB User','2006-12-07 12:43:38.375000000','2006-12-07 12:43:38.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:78588360-861A-11DB-8360-D3890D1C988E','jbossesb','JBoss ESB User','2006-12-07 12:43:38.406000000','2006-12-07 12:43:38.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:78639CC0-8181-11DB-AB1E-A4B5D542AA98','jbossesb','JBoss ESB User','2006-12-01 16:18:20.843000000','2006-12-01 16:18:20.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:786E0730-861A-11DB-8730-D9FB0628E80F','jbossesb','JBoss ESB User','2006-12-07 12:43:38.531000000','2006-12-07 12:43:38.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:788253E0-8177-11DB-93E0-9BB76B942CF2','jbossesb','JBoss ESB User','2006-12-01 15:06:46.312000000','2006-12-01 15:06:46.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:788E7D50-8181-11DB-AB1E-ED8CF02D8F50','jbossesb','JBoss ESB User','2006-12-01 16:18:21.109000000','2006-12-01 16:18:21.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:789676C0-861A-11DB-B6C0-FEF8A826C191','jbossesb','JBoss ESB User','2006-12-07 12:43:38.812000000','2006-12-07 12:43:38.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:789F4630-8181-11DB-AB1E-B21A16C0BB9D','jbossesb','JBoss ESB User','2006-12-01 16:18:21.218000000','2006-12-01 16:18:21.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:78A8BC10-8181-11DB-AB1E-DE40B25956C8','jbossesb','JBoss ESB User','2006-12-01 16:18:21.265000000','2006-12-01 16:18:21.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:78D5CB10-8177-11DB-8B10-E73131A4DB33','jbossesb','JBoss ESB User','2006-12-01 15:06:46.609000000','2006-12-01 15:06:46.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:794B2BF0-80E4-11DB-ABF0-DB135C6795D4','jbossesb','JBoss ESB User','2006-11-30 21:34:31.375000000','2006-11-30 21:34:31.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79787D80-80E4-11DB-BD80-C4EF2E86A31C','jbossesb','JBoss ESB User','2006-11-30 21:34:31.640000000','2006-11-30 21:34:31.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79ECFEB0-861D-11DB-BEB0-EB0095DD4E99','jbossesb','JBoss ESB User','2006-12-07 13:05:09.531000000','2006-12-07 13:05:09.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79EFBAA0-8619-11DB-BAA0-AB1D6A934008','jbossesb','JBoss ESB User','2006-12-07 12:36:31.625000000','2006-12-07 12:36:31.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79F1B9A0-861D-11DB-B9A0-E0CB79C6605E','jbossesb','JBoss ESB User','2006-12-07 13:05:09.578000000','2006-12-07 13:05:09.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79F67490-861D-11DB-B490-9421F0331732','jbossesb','JBoss ESB User','2006-12-07 13:05:09.609000000','2006-12-07 13:05:09.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79F91500-860F-11DB-9500-ABD26C207A94','jbossesb','JBoss ESB User','2006-12-07 11:24:56.656000000','2006-12-07 11:24:56.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79FB5690-861D-11DB-9690-CBC07E4799AF','jbossesb','JBoss ESB User','2006-12-07 13:05:09.625000000','2006-12-07 13:05:09.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79FB5EF0-860F-11DB-9EF0-B6099D0C7616','jbossesb','JBoss ESB User','2006-12-07 11:24:56.671000000','2006-12-07 11:24:56.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:79FDCFF0-860F-11DB-8FF0-B5C5416FD764','jbossesb','JBoss ESB User','2006-12-07 11:24:56.703000000','2006-12-07 11:24:56.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A001180-861D-11DB-9180-94B9CA471705','jbossesb','JBoss ESB User','2006-12-07 13:05:09.656000000','2006-12-07 13:05:09.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A005C70-8619-11DB-9C70-D4BFADD93E89','jbossesb','JBoss ESB User','2006-12-07 12:36:31.687000000','2006-12-07 12:36:31.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A04CC70-861D-11DB-8C70-BDD1E54F985D','jbossesb','JBoss ESB User','2006-12-07 13:05:09.687000000','2006-12-07 13:05:09.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A078860-8619-11DB-8860-9EF0A8757393','jbossesb','JBoss ESB User','2006-12-07 12:36:31.734000000','2006-12-07 12:36:31.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A0C27D0-860F-11DB-A7D0-D114ECE2C4AD','jbossesb','JBoss ESB User','2006-12-07 11:24:56.781000000','2006-12-07 11:24:56.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A0C6A60-8619-11DB-AA60-BD5C4D88493C','jbossesb','JBoss ESB User','2006-12-07 12:36:31.765000000','2006-12-07 12:36:31.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A0E71C0-860F-11DB-B1C0-E74C27061FB6','jbossesb','JBoss ESB User','2006-12-07 11:24:56.796000000','2006-12-07 11:24:56.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A10E2C0-860F-11DB-A2C0-F9A1F39E157C','jbossesb','JBoss ESB User','2006-12-07 11:24:56.812000000','2006-12-07 11:24:56.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A136F40-8619-11DB-AF40-BB75529535FD','jbossesb','JBoss ESB User','2006-12-07 12:36:31.796000000','2006-12-07 12:36:31.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A180EB0-860F-11DB-8EB0-C7C76B77C778','jbossesb','JBoss ESB User','2006-12-07 11:24:56.875000000','2006-12-07 11:24:56.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A185140-8619-11DB-9140-F0D3F65EAF2E','jbossesb','JBoss ESB User','2006-12-07 12:36:31.828000000','2006-12-07 12:36:31.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A288110-861D-11DB-8110-CB1E72615653','jbossesb','JBoss ESB User','2006-12-07 13:05:09.937000000','2006-12-07 13:05:09.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A28B080-860F-11DB-B080-BF9869C4BC4F','jbossesb','JBoss ESB User','2006-12-07 11:24:56.984000000','2006-12-07 11:24:56.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A2F8DF0-80E3-11DB-8DF0-D76613A39EF5','jbossesb','JBoss ESB User','2006-11-30 21:27:23.390000000','2006-11-30 21:27:23.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A321E00-861D-11DB-9E00-8922B4DF6A61','jbossesb','JBoss ESB User','2006-12-07 13:05:09.984000000','2006-12-07 13:05:09.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A348F00-861D-11DB-8F00-916F7A8F7257','jbossesb','JBoss ESB User','2006-12-07 13:05:10.0','2006-12-07 13:05:10.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A3949F0-861D-11DB-89F0-9E5FB35B9154','jbossesb','JBoss ESB User','2006-12-07 13:05:10.310000000','2006-12-07 13:05:10.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A3B93E0-861D-11DB-93E0-DCF1280E6B31','jbossesb','JBoss ESB User','2006-12-07 13:05:10.460000000','2006-12-07 13:05:10.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A3E04E0-861D-11DB-84E0-B94E73F164EA','jbossesb','JBoss ESB User','2006-12-07 13:05:10.780000000','2006-12-07 13:05:10.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A4C5CC0-861D-11DB-9CC0-F961912B85B9','jbossesb','JBoss ESB User','2006-12-07 13:05:10.156000000','2006-12-07 13:05:10.156000000',0,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A582490-80E3-11DB-A490-EDDAC9AB4C31','jbossesb','JBoss ESB User','2006-11-30 21:27:23.609000000','2006-11-30 21:27:23.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A6FF250-80E3-11DB-B250-E70F098FE564','jbossesb','JBoss ESB User','2006-11-30 21:27:23.765000000','2006-11-30 21:27:23.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7A830520-80E3-11DB-8520-B3F90C20EB48','jbossesb','JBoss ESB User','2006-11-30 21:27:23.890000000','2006-11-30 21:27:23.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7AB2A230-8147-11DB-A69A-A9D522C8C57A','jbossesb','JBoss ESB User','2006-12-01 09:23:13.875000000','2006-12-01 09:23:13.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7AC0D300-8147-11DB-A69A-BCC399920722','jbossesb','JBoss ESB User','2006-12-01 09:23:13.968000000','2006-12-01 09:23:13.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7AC7FEF0-8147-11DB-A69A-AB13697ACDEC','jbossesb','JBoss ESB User','2006-12-01 09:23:14.150000000','2006-12-01 09:23:14.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7ACF2AE0-8147-11DB-A69A-A75C7CDDC72A','jbossesb','JBoss ESB User','2006-12-01 09:23:14.780000000','2006-12-01 09:23:14.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7B19BBB0-8619-11DB-BBB0-EFC19C15D589','jbossesb','JBoss ESB User','2006-12-07 12:36:33.531000000','2006-12-07 12:36:33.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7B244790-817A-11DB-8790-E092853DAF69','jbossesb','JBoss ESB User','2006-12-01 15:28:18.968000000','2006-12-01 15:28:19.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7B7382D0-80E7-11DB-82D0-B6BD8F1542E3','jbossesb','JBoss ESB User','2006-11-30 21:56:03.484000000','2006-11-30 21:56:03.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7B91D670-817A-11DB-9670-9C349B78CCE5','jbossesb','JBoss ESB User','2006-12-01 15:28:19.687000000','2006-12-01 15:28:19.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7B9BF260-80E7-11DB-B260-E37D75E2C4B1','jbossesb','JBoss ESB User','2006-11-30 21:56:03.718000000','2006-11-30 21:56:03.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7BAC1530-817A-11DB-9530-910D852C1D9B','jbossesb','JBoss ESB User','2006-12-01 15:28:19.843000000','2006-12-01 15:28:19.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7BACBB40-80E7-11DB-BB40-8625F9E58BD6','jbossesb','JBoss ESB User','2006-11-30 21:56:03.875000000','2006-11-30 21:56:03.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7BBA6D10-817A-11DB-AD10-FC6A51FFB0CF','jbossesb','JBoss ESB User','2006-12-01 15:28:19.953000000','2006-12-01 15:28:19.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7BBB98B0-8563-11DB-A4E1-9180F959CF5C','jbossesb','JBoss ESB User','2006-12-06 14:53:46.203000000','2006-12-06 14:53:46.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7BBFCE10-80E7-11DB-8E10-C1588CD0C983','jbossesb','JBoss ESB User','2006-11-30 21:56:03.968000000','2006-11-30 21:56:03.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7BCEAB80-8563-11DB-A4E1-9C2DD712BB48','jbossesb','JBoss ESB User','2006-12-06 14:53:46.296000000','2006-12-06 14:53:46.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7BD5D770-8563-11DB-A4E1-D637166EC758','jbossesb','JBoss ESB User','2006-12-06 14:53:46.343000000','2006-12-06 14:53:46.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7BDAB970-8563-11DB-A4E1-CDFAB163CFD6','jbossesb','JBoss ESB User','2006-12-06 14:53:46.375000000','2006-12-06 14:53:46.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C142140-8619-11DB-A140-A6FD2D3FABC3','jbossesb','JBoss ESB User','2006-12-07 12:36:35.171000000','2006-12-07 12:36:35.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C1B5AF0-861E-11DB-B1A1-AE0632FA02B0','jbossesb','JBoss ESB User','2006-12-07 13:12:22.687000000','2006-12-07 13:12:22.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C1DCBF0-861E-11DB-B1A1-B8AE3889A8E3','jbossesb','JBoss ESB User','2006-12-07 13:12:22.750000000','2006-12-07 13:12:22.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C2400C0-860E-11DB-80C0-D659AAD83D66','jbossesb','JBoss ESB User','2006-12-07 11:17:50.796000000','2006-12-07 11:17:50.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C2671C0-860E-11DB-B1C0-B41D18412330','jbossesb','JBoss ESB User','2006-12-07 11:17:50.812000000','2006-12-07 11:17:50.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C2741D0-861E-11DB-B1A1-FB45FAE6C817','jbossesb','JBoss ESB User','2006-12-07 13:12:22.765000000','2006-12-07 13:12:22.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C29B2D0-861E-11DB-B1A1-A5EF7E4D034C','jbossesb','JBoss ESB User','2006-12-07 13:12:22.781000000','2006-12-07 13:12:22.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C2B2CB0-860E-11DB-ACB0-874291B8A3E7','jbossesb','JBoss ESB User','2006-12-07 11:17:50.859000000','2006-12-07 11:17:50.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C2DE040-8618-11DB-A040-F9FBAD42C16D','jbossesb','JBoss ESB User','2006-12-07 12:29:25.828000000','2006-12-07 12:29:25.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C2E6DC0-861E-11DB-B1A1-F3DCFD353E30','jbossesb','JBoss ESB User','2006-12-07 13:12:22.828000000','2006-12-07 13:12:22.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C302A30-8618-11DB-AA30-DE45494C9F27','jbossesb','JBoss ESB User','2006-12-07 12:29:25.859000000','2006-12-07 12:29:25.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C3328B0-861E-11DB-B1A1-EFD56E481258','jbossesb','JBoss ESB User','2006-12-07 13:12:22.859000000','2006-12-07 13:12:22.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C34C9A0-860E-11DB-89A0-9482B90D8EAE','jbossesb','JBoss ESB User','2006-12-07 11:17:50.921000000','2006-12-07 11:17:50.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C39C720-8618-11DB-8720-F21E3D34F3E5','jbossesb','JBoss ESB User','2006-12-07 12:29:25.937000000','2006-12-07 12:29:25.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C3B8F50-814B-11DB-A6BA-F118BE3505F7','jbossesb','JBoss ESB User','2006-12-01 09:51:54.484000000','2006-12-01 09:51:54.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C40F310-8618-11DB-B310-D3833909BAB7','jbossesb','JBoss ESB User','2006-12-07 12:29:25.968000000','2006-12-07 12:29:25.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C45AE00-8618-11DB-AE00-A083206C571E','jbossesb','JBoss ESB User','2006-12-07 12:29:25.984000000','2006-12-07 12:29:26.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C463B80-861E-11DB-B1A1-E667EAA5136E','jbossesb','JBoss ESB User','2006-12-07 13:12:22.968000000','2006-12-07 13:12:22.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C477630-814B-11DB-A6BA-E61FDBB6FDA7','jbossesb','JBoss ESB User','2006-12-01 09:51:54.531000000','2006-12-01 09:51:54.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C48AC80-861E-11DB-B1A1-A065B188F701','jbossesb','JBoss ESB User','2006-12-07 13:12:23.0','2006-12-07 13:12:23.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C4D6770-861E-11DB-B1A1-CF9A5515EDA6','jbossesb','JBoss ESB User','2006-12-07 13:12:23.310000000','2006-12-07 13:12:23.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C4EA220-814B-11DB-A6BA-87042068DD0E','jbossesb','JBoss ESB User','2006-12-01 09:51:54.562000000','2006-12-01 09:51:54.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C4F0860-860E-11DB-8860-B99062F166D1','jbossesb','JBoss ESB User','2006-12-07 11:17:51.780000000','2006-12-07 11:17:51.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C515250-860E-11DB-9250-AFB26E5B5355','jbossesb','JBoss ESB User','2006-12-07 11:17:51.125000000','2006-12-07 11:17:51.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C522260-861E-11DB-B1A1-C4721D1A3443','jbossesb','JBoss ESB User','2006-12-07 13:12:23.620000000','2006-12-07 13:12:23.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C570460-861E-11DB-B1A1-CEABF9A387A3','jbossesb','JBoss ESB User','2006-12-07 13:12:23.780000000','2006-12-07 13:12:23.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C587E40-860E-11DB-BE40-F77E4D5CB311','jbossesb','JBoss ESB User','2006-12-07 11:17:51.156000000','2006-12-07 11:17:51.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C5D3930-860E-11DB-B930-C267BB7F58B0','jbossesb','JBoss ESB User','2006-12-07 11:17:51.187000000','2006-12-07 11:17:51.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C5E3050-861E-11DB-B1A1-CE2F3AB02384','jbossesb','JBoss ESB User','2006-12-07 13:12:23.125000000','2006-12-07 13:12:23.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C6435B0-861C-11DB-B5B0-A84F25EA8767','jbossesb','JBoss ESB User','2006-12-07 12:58:04.187000000','2006-12-07 12:58:04.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C6718B0-8618-11DB-98B0-AE72E085D476','jbossesb','JBoss ESB User','2006-12-07 12:29:26.203000000','2006-12-07 12:29:26.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C6B61A0-861C-11DB-A1A0-A28FFF27B936','jbossesb','JBoss ESB User','2006-12-07 12:58:04.234000000','2006-12-07 12:58:04.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C6BD3A0-8618-11DB-93A0-DFBB252F9D60','jbossesb','JBoss ESB User','2006-12-07 12:29:26.234000000','2006-12-07 12:29:26.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C6E0210-860E-11DB-8210-A338BECA5207','jbossesb','JBoss ESB User','2006-12-07 11:17:51.281000000','2006-12-07 11:17:51.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C704C00-860E-11DB-8C00-85C7E1F50BB5','jbossesb','JBoss ESB User','2006-12-07 11:17:51.312000000','2006-12-07 11:17:51.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C72FF90-8618-11DB-BF90-A8AD1C29E2B1','jbossesb','JBoss ESB User','2006-12-07 12:29:26.296000000','2006-12-07 12:29:26.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C752E00-860E-11DB-AE00-C6932E3E3434','jbossesb','JBoss ESB User','2006-12-07 11:17:51.343000000','2006-12-07 11:17:51.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C774880-861C-11DB-8880-D46DABC59075','jbossesb','JBoss ESB User','2006-12-07 12:58:04.296000000','2006-12-07 12:58:04.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C7A2B80-8618-11DB-AB80-E7E3778F9F80','jbossesb','JBoss ESB User','2006-12-07 12:29:26.328000000','2006-12-07 12:29:26.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C7EE670-8618-11DB-A670-E77B635D6A84','jbossesb','JBoss ESB User','2006-12-07 12:29:26.375000000','2006-12-07 12:29:26.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C80E570-861C-11DB-A570-C362A614CBCC','jbossesb','JBoss ESB User','2006-12-07 12:58:04.359000000','2006-12-07 12:58:04.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C85A060-861C-11DB-A060-FEC88427A8A5','jbossesb','JBoss ESB User','2006-12-07 12:58:04.390000000','2006-12-07 12:58:04.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C85CFD0-860E-11DB-8FD0-D0FC8A2C58A6','jbossesb','JBoss ESB User','2006-12-07 11:17:51.453000000','2006-12-07 11:17:51.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C885C50-8618-11DB-9C50-FA817403AC2F','jbossesb','JBoss ESB User','2006-12-07 12:29:26.437000000','2006-12-07 12:29:26.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C8A5B50-861C-11DB-9B50-D7D17CC3C5B0','jbossesb','JBoss ESB User','2006-12-07 12:58:04.421000000','2006-12-07 12:58:04.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C8A8AC0-860E-11DB-8AC0-8D900D3D5B2C','jbossesb','JBoss ESB User','2006-12-07 11:17:51.484000000','2006-12-07 11:17:51.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7C8F6CC0-860E-11DB-ACC0-8ED992B39DD3','jbossesb','JBoss ESB User','2006-12-07 11:17:51.500000000','2006-12-07 11:17:51.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7CCABFB0-861C-11DB-BFB0-9D549B438A3A','jbossesb','JBoss ESB User','2006-12-07 12:58:04.843000000','2006-12-07 12:58:04.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7CD1EBA0-861C-11DB-ABA0-A4D5F3FAAD67','jbossesb','JBoss ESB User','2006-12-07 12:58:04.921000000','2006-12-07 12:58:04.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7CD55C20-861E-11DB-B1A1-BFB5D7D8C327','jbossesb','JBoss ESB User','2006-12-07 13:12:23.953000000','2006-12-07 13:12:23.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7CDB8890-861C-11DB-8890-E09F49DE7CB4','jbossesb','JBoss ESB User','2006-12-07 12:58:04.968000000','2006-12-07 12:58:04.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7CE4FE70-861C-11DB-BE70-F0B9DD7C7ABB','jbossesb','JBoss ESB User','2006-12-07 12:58:05.150000000','2006-12-07 12:58:05.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7CE9B960-861C-11DB-B960-88A355832A4F','jbossesb','JBoss ESB User','2006-12-07 12:58:05.460000000','2006-12-07 12:58:05.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7CEC2A60-861C-11DB-AA60-F3AD85B61632','jbossesb','JBoss ESB User','2006-12-07 12:58:05.780000000','2006-12-07 12:58:05.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7CF5C750-861C-11DB-8750-D4A1D78B9718','jbossesb','JBoss ESB User','2006-12-07 12:58:05.125000000','2006-12-07 12:58:05.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7D105100-8618-11DB-9100-9954BA8DBC1F','jbossesb','JBoss ESB User','2006-12-07 12:29:27.328000000','2006-12-07 12:29:27.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7D20A7E0-861C-11DB-A7E0-8106DC362B2E','jbossesb','JBoss ESB User','2006-12-07 12:58:05.421000000','2006-12-07 12:58:05.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7D421AF0-860E-11DB-9AF0-C5BEF3D17193','jbossesb','JBoss ESB User','2006-12-07 11:17:52.703000000','2006-12-07 11:17:52.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7D9B4430-861E-11DB-B1A1-CF39EB2B2E20','jbossesb','JBoss ESB User','2006-12-07 13:12:25.250000000','2006-12-07 13:12:25.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7D9BE2D0-8170-11DB-AF51-F23234B02DF3','jbossesb','JBoss ESB User','2006-12-01 14:16:48.140000000','2006-12-01 14:16:48.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7DAB15F0-860E-11DB-95F0-995BD8A0BEC2','jbossesb','JBoss ESB User','2006-12-07 11:17:53.375000000','2006-12-07 11:17:53.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7DC90D50-8170-11DB-AF51-E1CB4D0D7AAE','jbossesb','JBoss ESB User','2006-12-01 14:16:48.437000000','2006-12-01 14:16:48.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7DE34C10-8170-11DB-AF51-E43E4CBF71C1','jbossesb','JBoss ESB User','2006-12-01 14:16:48.609000000','2006-12-01 14:16:48.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7DF65EE0-8170-11DB-AF51-E94086EC8BCD','jbossesb','JBoss ESB User','2006-12-01 14:16:48.718000000','2006-12-01 14:16:48.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7E304BE0-8176-11DB-8BE0-F87412679EE3','jbossesb','JBoss ESB User','2006-12-01 14:59:46.109000000','2006-12-01 14:59:46.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7E3F7D00-8148-11DB-BD00-9307BA7CF366','jbossesb','JBoss ESB User','2006-12-01 09:30:29.328000000','2006-12-01 09:30:29.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7E501ED0-8148-11DB-9ED0-E27327D571BA','jbossesb','JBoss ESB User','2006-12-01 09:30:29.453000000','2006-12-01 09:30:29.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7E567180-8176-11DB-B180-F37946C9016A','jbossesb','JBoss ESB User','2006-12-01 14:59:46.343000000','2006-12-01 14:59:46.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7E574AC0-8148-11DB-8AC0-F42BB6C74AA5','jbossesb','JBoss ESB User','2006-12-01 09:30:29.500000000','2006-12-01 09:30:29.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7E5E76B0-8148-11DB-B6B0-D96981AEC445','jbossesb','JBoss ESB User','2006-12-01 09:30:29.531000000','2006-12-01 09:30:29.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7E671350-8176-11DB-9350-8AB5E7CEB8C7','jbossesb','JBoss ESB User','2006-12-01 14:59:46.437000000','2006-12-01 14:59:46.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7E70B040-8176-11DB-B040-997DA2B674B2','jbossesb','JBoss ESB User','2006-12-01 14:59:46.500000000','2006-12-01 14:59:46.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7EAF6E50-8173-11DB-B8A9-C5D7E776A27E','jbossesb','JBoss ESB User','2006-12-01 14:38:18.421000000','2006-12-01 14:38:18.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7ED0D900-8173-11DB-B8A9-BD16373AA23B','jbossesb','JBoss ESB User','2006-12-01 14:38:18.656000000','2006-12-01 14:38:18.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7F1D2440-8173-11DB-B8A9-CB397763EB7C','jbossesb','JBoss ESB User','2006-12-01 14:38:19.156000000','2006-12-01 14:38:19.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7F34F200-8173-11DB-B8A9-856D4360DB2A','jbossesb','JBoss ESB User','2006-12-01 14:38:19.296000000','2006-12-01 14:38:19.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7F8D66B0-817D-11DB-A6B0-FC98B3E6301B','jbossesb','JBoss ESB User','2006-12-01 15:49:54.843000000','2006-12-01 15:49:54.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:7FFD8DA0-817D-11DB-8DA0-E41ABBB80E54','jbossesb','JBoss ESB User','2006-12-01 15:49:55.593000000','2006-12-01 15:49:55.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:800914E0-8105-11DB-94E0-C43ED3525CE4','jbossesb','JBoss ESB User','2006-12-01 01:30:56.620000000','2006-12-01 01:30:56.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80097480-817D-11DB-B480-B54B4B7E8677','jbossesb','JBoss ESB User','2006-12-01 15:49:55.671000000','2006-12-01 15:49:55.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:802835A0-8105-11DB-B5A0-80E7C7B799A9','jbossesb','JBoss ESB User','2006-12-01 01:30:56.265000000','2006-12-01 01:30:56.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:803019E0-817E-11DB-99E0-EF7222C4D02A','jbossesb','JBoss ESB User','2006-12-01 15:57:05.437000000','2006-12-01 15:57:05.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:803065A0-814A-11DB-A6BA-92CB0A7AE4AA','jbossesb','JBoss ESB User','2006-12-01 09:44:51.578000000','2006-12-01 09:44:51.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80366670-8105-11DB-A670-DDB642379618','jbossesb','JBoss ESB User','2006-12-01 01:30:56.375000000','2006-12-01 01:30:56.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:803E9670-814A-11DB-A6BA-8A08039CDF28','jbossesb','JBoss ESB User','2006-12-01 09:44:51.687000000','2006-12-01 09:44:51.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8044BE50-8105-11DB-BE50-E57C0194D61C','jbossesb','JBoss ESB User','2006-12-01 01:30:56.468000000','2006-12-01 01:30:56.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:804F5F50-814A-11DB-A6BA-E5272194354C','jbossesb','JBoss ESB User','2006-12-01 09:44:51.812000000','2006-12-01 09:44:51.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:805B4630-814A-11DB-A6BA-A71E363396CD','jbossesb','JBoss ESB User','2006-12-01 09:44:51.859000000','2006-12-01 09:44:51.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:805D6B70-817E-11DB-AB70-C5F65917EF31','jbossesb','JBoss ESB User','2006-12-01 15:57:05.734000000','2006-12-01 15:57:05.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:805F35A0-817D-11DB-B5A0-D63FE940E173','jbossesb','JBoss ESB User','2006-12-01 15:49:56.234000000','2006-12-01 15:49:56.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80B7E780-817E-11DB-A780-999ABEDB8247','jbossesb','JBoss ESB User','2006-12-01 15:57:06.296000000','2006-12-01 15:57:06.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80C7B0E0-817C-11DB-B0E0-E2D6CDC85753','jbossesb','JBoss ESB User','2006-12-01 15:42:47.421000000','2006-12-01 15:42:47.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80C8B060-817E-11DB-B060-CE1F0091C9DC','jbossesb','JBoss ESB User','2006-12-01 15:57:06.437000000','2006-12-01 15:57:06.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80E1EFA0-817C-11DB-AFA0-B4D04C5CE356','jbossesb','JBoss ESB User','2006-12-01 15:42:47.593000000','2006-12-01 15:42:47.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80EA9AD0-817F-11DB-9AD0-DE5B43133006','jbossesb','JBoss ESB User','2006-12-01 16:04:16.156000000','2006-12-01 16:04:16.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80EB22F0-8172-11DB-B8A9-EF9DAD1C1B62','jbossesb','JBoss ESB User','2006-12-01 14:31:12.687000000','2006-12-01 14:31:12.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80F02070-817C-11DB-A070-BD1B30AAAC8D','jbossesb','JBoss ESB User','2006-12-01 15:42:47.687000000','2006-12-01 15:42:47.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80FB3F70-861B-11DB-BF70-9579254ED621','jbossesb','JBoss ESB User','2006-12-07 12:51:02.375000000','2006-12-07 12:51:02.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:80FFFA60-861B-11DB-BA60-9EF9FDFA6CCA','jbossesb','JBoss ESB User','2006-12-07 12:51:02.421000000','2006-12-07 12:51:02.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8100A6C0-8172-11DB-B8A9-B7207AA18CE8','jbossesb','JBoss ESB User','2006-12-01 14:31:12.859000000','2006-12-01 14:31:12.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:81081540-817C-11DB-9540-C229F819A143','jbossesb','JBoss ESB User','2006-12-01 15:42:47.828000000','2006-12-01 15:42:47.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:81097040-861B-11DB-B040-F548B7F3EA84','jbossesb','JBoss ESB User','2006-12-07 12:51:02.468000000','2006-12-07 12:51:02.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:81130D30-861B-11DB-8D30-DACFFBAB344F','jbossesb','JBoss ESB User','2006-12-07 12:51:02.546000000','2006-12-07 12:51:02.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8113B990-8172-11DB-B8A9-8F8D387CB347','jbossesb','JBoss ESB User','2006-12-01 14:31:12.953000000','2006-12-01 14:31:12.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:811AE580-8172-11DB-B8A9-A0BD6E1BABD1','jbossesb','JBoss ESB User','2006-12-01 14:31:13.0','2006-12-01 14:31:13.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:811C8310-861B-11DB-8310-FB79A4038C50','jbossesb','JBoss ESB User','2006-12-07 12:51:02.593000000','2006-12-07 12:51:02.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:813477E0-861B-11DB-B7E0-B098947C1561','jbossesb','JBoss ESB User','2006-12-07 12:51:02.765000000','2006-12-07 12:51:02.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:813932D0-861B-11DB-B2D0-A1F8B8CC28B7','jbossesb','JBoss ESB User','2006-12-07 12:51:02.781000000','2006-12-07 12:51:02.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:813DEDC0-861B-11DB-ADC0-D750EEEB67D8','jbossesb','JBoss ESB User','2006-12-07 12:51:02.828000000','2006-12-07 12:51:02.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8142A8B0-861B-11DB-A8B0-AEBE685D9DA4','jbossesb','JBoss ESB User','2006-12-07 12:51:02.843000000','2006-12-07 12:51:02.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8149D4A0-861B-11DB-94A0-A85ABB11D5B2','jbossesb','JBoss ESB User','2006-12-07 12:51:02.906000000','2006-12-07 12:51:02.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8150FDC0-817F-11DB-BDC0-A6F473F568A3','jbossesb','JBoss ESB User','2006-12-01 16:04:16.812000000','2006-12-01 16:04:16.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:81668190-817F-11DB-8190-E7546B3AA440','jbossesb','JBoss ESB User','2006-12-01 16:04:16.937000000','2006-12-01 16:04:16.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:816B3C80-817F-11DB-BC80-9AEB8BECCD72','jbossesb','JBoss ESB User','2006-12-01 16:04:16.984000000','2006-12-01 16:04:17.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:81807DC0-8175-11DB-AE84-B32746E25263','jbossesb','JBoss ESB User','2006-12-01 14:52:42.203000000','2006-12-01 14:52:42.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:819F7770-8175-11DB-AE84-D7D44C03DFE4','jbossesb','JBoss ESB User','2006-12-01 14:52:42.343000000','2006-12-01 14:52:42.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:81B9B630-8175-11DB-AE84-FBF36F6FB1FB','jbossesb','JBoss ESB User','2006-12-01 14:52:42.546000000','2006-12-01 14:52:42.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:81D183F0-8175-11DB-AE84-8E5622D02124','jbossesb','JBoss ESB User','2006-12-01 14:52:42.671000000','2006-12-01 14:52:42.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:81F4B070-8182-11DB-AB1E-F4CA6DF5D9BF','jbossesb','JBoss ESB User','2006-12-01 16:25:46.406000000','2006-12-01 16:25:46.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82007B10-80E4-11DB-BB10-F5703BE1B2CD','jbossesb','JBoss ESB User','2006-11-30 21:34:45.968000000','2006-11-30 21:34:45.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8213AA20-8182-11DB-AB1E-B12EAB765628','jbossesb','JBoss ESB User','2006-12-01 16:25:46.562000000','2006-12-01 16:25:46.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:821AB9D0-80E4-11DB-B9D0-F626128BD34B','jbossesb','JBoss ESB User','2006-11-30 21:34:46.140000000','2006-11-30 21:34:46.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82220200-8182-11DB-AB1E-FB24CDF8828F','jbossesb','JBoss ESB User','2006-12-01 16:25:46.671000000','2006-12-01 16:25:46.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:823862E0-8103-11DB-BD3E-91004FE71A17','jbossesb','JBoss ESB User','2006-12-01 01:16:40.765000000','2006-12-01 01:16:40.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:823DEF70-8177-11DB-AF70-AB70C684BBD6','jbossesb','JBoss ESB User','2006-12-01 15:07:02.390000000','2006-12-01 15:07:02.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:825512A0-8103-11DB-BD3E-E5616DD53603','jbossesb','JBoss ESB User','2006-12-01 01:16:40.921000000','2006-12-01 01:16:40.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82719B50-8103-11DB-BD3E-E02714F30338','jbossesb','JBoss ESB User','2006-12-01 01:16:41.125000000','2006-12-01 01:16:41.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:827EEF10-8182-11DB-AB1E-C0506E619CAD','jbossesb','JBoss ESB User','2006-12-01 16:25:47.281000000','2006-12-01 16:25:47.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82830EC0-8177-11DB-8EC0-C041826E055B','jbossesb','JBoss ESB User','2006-12-01 15:07:02.843000000','2006-12-01 15:07:02.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8284AE20-8103-11DB-BD3E-C8E17B924559','jbossesb','JBoss ESB User','2006-12-01 01:16:41.250000000','2006-12-01 01:16:41.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82893A70-80E1-11DB-BA70-AE97D081679D','jbossesb','JBoss ESB User','2006-11-30 21:13:18.406000000','2006-11-30 21:13:18.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82986B80-8177-11DB-AB80-85B28336FFC6','jbossesb','JBoss ESB User','2006-12-01 15:07:02.984000000','2006-12-01 15:07:03.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82AB7E50-8177-11DB-BE50-A7ADFB9D3E6A','jbossesb','JBoss ESB User','2006-12-01 15:07:03.125000000','2006-12-01 15:07:03.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82B73A60-8104-11DB-BA60-B7EF13C2983A','jbossesb','JBoss ESB User','2006-12-01 01:23:51.780000000','2006-12-01 01:23:51.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82D016F0-816F-11DB-A4E4-CCB540AE6B3A','jbossesb','JBoss ESB User','2006-12-01 14:09:47.390000000','2006-12-01 14:09:47.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82DB1610-8104-11DB-9610-909D251323C2','jbossesb','JBoss ESB User','2006-12-01 01:23:51.296000000','2006-12-01 01:23:51.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82E96DF0-8104-11DB-ADF0-C6A492FB91D7','jbossesb','JBoss ESB User','2006-12-01 01:23:51.390000000','2006-12-01 01:23:51.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:82F554D0-8104-11DB-94D0-D62E219EFA80','jbossesb','JBoss ESB User','2006-12-01 01:23:51.484000000','2006-12-01 01:23:51.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:832D0400-816F-11DB-A4E4-8B5FF6D519DD','jbossesb','JBoss ESB User','2006-12-01 14:09:48.0','2006-12-01 14:09:48.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:837BC040-816F-11DB-A4E4-BCDAF52D6FBB','jbossesb','JBoss ESB User','2006-12-01 14:09:48.484000000','2006-12-01 14:09:48.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:838ED310-816F-11DB-A4E4-CFDFD858B2A1','jbossesb','JBoss ESB User','2006-12-01 14:09:48.625000000','2006-12-01 14:09:48.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:839B0D10-861A-11DB-8D10-BB85B94BEEEE','jbossesb','JBoss ESB User','2006-12-07 12:43:57.281000000','2006-12-07 12:43:57.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:839D5700-861A-11DB-9700-F313DC601D4B','jbossesb','JBoss ESB User','2006-12-07 12:43:57.296000000','2006-12-07 12:43:57.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83A23900-861A-11DB-B900-F8A037594436','jbossesb','JBoss ESB User','2006-12-07 12:43:57.343000000','2006-12-07 12:43:57.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83A964F0-861A-11DB-A4F0-D9163541B634','jbossesb','JBoss ESB User','2006-12-07 12:43:57.390000000','2006-12-07 12:43:57.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83B2DAD0-861A-11DB-9AD0-8DA3D079064E','jbossesb','JBoss ESB User','2006-12-07 12:43:57.437000000','2006-12-07 12:43:57.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83C85EA0-861A-11DB-9EA0-F5592C6FED04','jbossesb','JBoss ESB User','2006-12-07 12:43:57.593000000','2006-12-07 12:43:57.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83C9A710-814C-11DB-A6BA-A41561035144','jbossesb','JBoss ESB User','2006-12-01 09:59:16.609000000','2006-12-01 09:59:16.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83CD1990-861A-11DB-9990-B1C15A258EFF','jbossesb','JBoss ESB User','2006-12-07 12:43:57.625000000','2006-12-07 12:43:57.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83D44580-861A-11DB-8580-AE8A9862C653','jbossesb','JBoss ESB User','2006-12-07 12:43:57.671000000','2006-12-07 12:43:57.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83DA48E0-814C-11DB-A6BA-9BB96BEE5DFC','jbossesb','JBoss ESB User','2006-12-01 09:59:16.734000000','2006-12-01 09:59:16.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83DB7170-861A-11DB-B170-D7340D113B06','jbossesb','JBoss ESB User','2006-12-07 12:43:57.703000000','2006-12-07 12:43:57.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83DC6060-817B-11DB-B063-AFD01F8D8DC5','jbossesb','JBoss ESB User','2006-12-01 15:35:43.780000000','2006-12-01 15:35:43.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83DDBB60-861A-11DB-BB60-D92C340458A3','jbossesb','JBoss ESB User','2006-12-07 12:43:57.750000000','2006-12-07 12:43:57.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83E174D0-814C-11DB-A6BA-9B760B7E12A3','jbossesb','JBoss ESB User','2006-12-01 09:59:16.781000000','2006-12-01 09:59:16.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83E8A0C0-814C-11DB-A6BA-C003D353F6E7','jbossesb','JBoss ESB User','2006-12-01 09:59:16.812000000','2006-12-01 09:59:16.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83E9A240-861A-11DB-A240-F881CC009112','jbossesb','JBoss ESB User','2006-12-07 12:43:57.796000000','2006-12-07 12:43:57.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83F69F20-817B-11DB-B063-BC8CC1AC54F9','jbossesb','JBoss ESB User','2006-12-01 15:35:43.250000000','2006-12-01 15:35:43.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83F72740-816E-11DB-A4E4-8C42405BC169','jbossesb','JBoss ESB User','2006-12-01 14:02:39.796000000','2006-12-01 14:02:39.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:83FCB510-861A-11DB-B510-C1140C4C68D6','jbossesb','JBoss ESB User','2006-12-07 12:43:57.921000000','2006-12-07 12:43:57.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:840740F0-817B-11DB-B063-DE0520392BB3','jbossesb','JBoss ESB User','2006-12-01 15:35:43.390000000','2006-12-01 15:35:43.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8407F020-816E-11DB-A4E4-B4BEC37D804E','jbossesb','JBoss ESB User','2006-12-01 14:02:39.906000000','2006-12-01 14:02:39.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8413D700-816E-11DB-A4E4-89733475F8B5','jbossesb','JBoss ESB User','2006-12-01 14:02:40.0','2006-12-01 14:02:40.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:841A53C0-817B-11DB-B063-828254E45474','jbossesb','JBoss ESB User','2006-12-01 15:35:43.484000000','2006-12-01 15:35:43.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:84222EE0-816E-11DB-A4E4-CAFC91A74626','jbossesb','JBoss ESB User','2006-12-01 14:02:40.930000000','2006-12-01 14:02:40.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:847BB3A0-861B-11DB-B3A0-80A5D62DCDEB','jbossesb','JBoss ESB User','2006-12-07 12:51:08.250000000','2006-12-07 12:51:08.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:84816B40-8181-11DB-AB1E-98EC211230E7','jbossesb','JBoss ESB User','2006-12-01 16:18:41.218000000','2006-12-01 16:18:41.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:84AA01E0-8181-11DB-AB1E-B1A262959AB5','jbossesb','JBoss ESB User','2006-12-01 16:18:41.421000000','2006-12-01 16:18:41.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:84BAA3B0-8181-11DB-AB1E-CFFA5CF73AFD','jbossesb','JBoss ESB User','2006-12-01 16:18:41.531000000','2006-12-01 16:18:41.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:84C58DE0-861B-11DB-8DE0-B2F60C25425B','jbossesb','JBoss ESB User','2006-12-07 12:51:08.734000000','2006-12-07 12:51:08.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:84C68A90-8181-11DB-AB1E-CDA45A17F8B7','jbossesb','JBoss ESB User','2006-12-01 16:18:41.609000000','2006-12-01 16:18:41.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:85D450B0-8619-11DB-90B0-D603429B0BB8','jbossesb','JBoss ESB User','2006-12-07 12:36:51.515000000','2006-12-07 12:36:51.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:85D6C1B0-8619-11DB-81B0-D99FCB2345CD','jbossesb','JBoss ESB User','2006-12-07 12:36:51.531000000','2006-12-07 12:36:51.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:85D90BA0-8619-11DB-8BA0-E99F2739C5C0','jbossesb','JBoss ESB User','2006-12-07 12:36:51.546000000','2006-12-07 12:36:51.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:85E03790-8619-11DB-B790-F5ED10D01FC6','jbossesb','JBoss ESB User','2006-12-07 12:36:51.593000000','2006-12-07 12:36:51.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:85E51990-8619-11DB-9990-D36D425A15BF','jbossesb','JBoss ESB User','2006-12-07 12:36:51.625000000','2006-12-07 12:36:51.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:85E76380-8619-11DB-A380-9D994332309F','jbossesb','JBoss ESB User','2006-12-07 12:36:51.656000000','2006-12-07 12:36:51.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:85F7E9D0-860F-11DB-A9D0-934B292C2EB7','jbossesb','JBoss ESB User','2006-12-07 11:25:16.796000000','2006-12-07 11:25:16.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:85FCA4C0-860F-11DB-A4C0-AB00B3AD8E30','jbossesb','JBoss ESB User','2006-12-07 11:25:16.828000000','2006-12-07 11:25:16.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86015FB0-860F-11DB-9FB0-BCFE02EF6AC6','jbossesb','JBoss ESB User','2006-12-07 11:25:16.859000000','2006-12-07 11:25:16.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86041340-8619-11DB-9340-C3AADBAF6463','jbossesb','JBoss ESB User','2006-12-07 12:36:51.828000000','2006-12-07 12:36:51.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8608CE30-8619-11DB-8E30-A5CCFB1E2FA5','jbossesb','JBoss ESB User','2006-12-07 12:36:51.859000000','2006-12-07 12:36:51.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:860D8920-8619-11DB-8920-F35277BBA4D9','jbossesb','JBoss ESB User','2006-12-07 12:36:51.890000000','2006-12-07 12:36:51.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86124410-8619-11DB-8410-981B7D3CA6B9','jbossesb','JBoss ESB User','2006-12-07 12:36:51.921000000','2006-12-07 12:36:51.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86147280-860F-11DB-B280-E07241904779','jbossesb','JBoss ESB User','2006-12-07 11:25:17.0','2006-12-07 11:25:17.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86172610-8619-11DB-A610-C68B48A89DD3','jbossesb','JBoss ESB User','2006-12-07 12:36:51.953000000','2006-12-07 12:36:51.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:861B9E70-860F-11DB-9E70-CB844EC3E1C8','jbossesb','JBoss ESB User','2006-12-07 11:25:17.150000000','2006-12-07 11:25:17.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86205960-860F-11DB-9960-A3C53CE76452','jbossesb','JBoss ESB User','2006-12-07 11:25:17.460000000','2006-12-07 11:25:17.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8633AEC0-8619-11DB-AEC0-EF47C230FA15','jbossesb','JBoss ESB User','2006-12-07 12:36:52.140000000','2006-12-07 12:36:52.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:863869B0-8619-11DB-A9B0-FC4B9ED41B10','jbossesb','JBoss ESB User','2006-12-07 12:36:52.187000000','2006-12-07 12:36:52.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:863D4BB0-8619-11DB-8BB0-A57BF1475E75','jbossesb','JBoss ESB User','2006-12-07 12:36:52.218000000','2006-12-07 12:36:52.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:864477A0-8619-11DB-B7A0-B64BC48D6C92','jbossesb','JBoss ESB User','2006-12-07 12:36:52.250000000','2006-12-07 12:36:52.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86465790-80E3-11DB-9790-97579D2150BA','jbossesb','JBoss ESB User','2006-11-30 21:27:43.640000000','2006-11-30 21:27:43.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:864B7C80-8619-11DB-BC80-E4815AD084AF','jbossesb','JBoss ESB User','2006-12-07 12:36:52.296000000','2006-12-07 12:36:52.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:864DED80-8619-11DB-AD80-FD4AD3C20522','jbossesb','JBoss ESB User','2006-12-07 12:36:52.312000000','2006-12-07 12:36:52.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8665BB40-8619-11DB-BB40-E775E864BEFB','jbossesb','JBoss ESB User','2006-12-07 12:36:52.468000000','2006-12-07 12:36:52.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86682C40-8619-11DB-AC40-9A174372E093','jbossesb','JBoss ESB User','2006-12-07 12:36:52.500000000','2006-12-07 12:36:52.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:866C7D30-80E3-11DB-BD30-A51D59C44BF5','jbossesb','JBoss ESB User','2006-11-30 21:27:43.875000000','2006-11-30 21:27:43.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:866CE730-8619-11DB-A730-CFFFB7D6706A','jbossesb','JBoss ESB User','2006-12-07 12:36:52.531000000','2006-12-07 12:36:52.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86741320-8619-11DB-9320-DE3DA4B7F3EF','jbossesb','JBoss ESB User','2006-12-07 12:36:52.578000000','2006-12-07 12:36:52.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8678CE10-8619-11DB-8E10-9AC05ED7059B','jbossesb','JBoss ESB User','2006-12-07 12:36:52.609000000','2006-12-07 12:36:52.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:867F9000-80E3-11DB-9000-B22E850F6ADD','jbossesb','JBoss ESB User','2006-11-30 21:27:44.460000000','2006-11-30 21:27:44.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:869E89B0-80E3-11DB-89B0-B3F283E5F704','jbossesb','JBoss ESB User','2006-11-30 21:27:44.218000000','2006-11-30 21:27:44.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86B3C0F0-8147-11DB-A69A-A629CF87FAD2','jbossesb','JBoss ESB User','2006-12-01 09:23:34.150000000','2006-12-01 09:23:34.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86BD5DE0-8147-11DB-A69A-B92693698BC2','jbossesb','JBoss ESB User','2006-12-01 09:23:34.780000000','2006-12-01 09:23:34.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86C6D3C0-8147-11DB-A69A-9A1C018EEB0D','jbossesb','JBoss ESB User','2006-12-01 09:23:34.140000000','2006-12-01 09:23:34.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:86FBC540-860F-11DB-8540-8FC7B19939EB','jbossesb','JBoss ESB User','2006-12-07 11:25:18.500000000','2006-12-07 11:25:18.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87231C60-817A-11DB-9C60-E151D7ACD0F1','jbossesb','JBoss ESB User','2006-12-01 15:28:39.109000000','2006-12-01 15:28:39.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8746D100-817A-11DB-9100-D9E72AC7487D','jbossesb','JBoss ESB User','2006-12-01 15:28:39.312000000','2006-12-01 15:28:39.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87485310-8619-11DB-9310-FB8BEB1764F5','jbossesb','JBoss ESB User','2006-12-07 12:36:53.968000000','2006-12-07 12:36:53.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8752B7E0-817A-11DB-B7E0-FBA7DD3433BC','jbossesb','JBoss ESB User','2006-12-01 15:28:39.421000000','2006-12-01 15:28:39.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:876A85A0-817A-11DB-85A0-84B5B734F73B','jbossesb','JBoss ESB User','2006-12-01 15:28:39.546000000','2006-12-01 15:28:39.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:876B2BB0-80E7-11DB-ABB0-A0F2FA429321','jbossesb','JBoss ESB User','2006-11-30 21:56:23.828000000','2006-11-30 21:56:23.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87A2B3A0-860F-11DB-B3A0-8C137F5F466B','jbossesb','JBoss ESB User','2006-12-07 11:25:19.578000000','2006-12-07 11:25:19.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87B2BC00-80E7-11DB-BC00-98D7AA4B4F4E','jbossesb','JBoss ESB User','2006-11-30 21:56:24.150000000','2006-11-30 21:56:24.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87B368A0-8563-11DB-A4E1-C647371C5989','jbossesb','JBoss ESB User','2006-12-06 14:54:06.265000000','2006-12-06 14:54:06.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87BA6D80-8563-11DB-A4E1-EB7A02192822','jbossesb','JBoss ESB User','2006-12-06 14:54:06.312000000','2006-12-06 14:54:06.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87BF4F80-8563-11DB-A4E1-F6D443FF3D41','jbossesb','JBoss ESB User','2006-12-06 14:54:06.343000000','2006-12-06 14:54:06.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87C0ECD0-80E7-11DB-ACD0-B1857523D7D4','jbossesb','JBoss ESB User','2006-11-30 21:56:24.930000000','2006-11-30 21:56:24.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87CA89C0-80E7-11DB-89C0-C9A3163F9F96','jbossesb','JBoss ESB User','2006-11-30 21:56:24.171000000','2006-11-30 21:56:24.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:87ECD070-8619-11DB-9070-93029D5DB54F','jbossesb','JBoss ESB User','2006-12-07 12:36:55.310000000','2006-12-07 12:36:55.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88333830-814B-11DB-A6BA-DA00C098EAE4','jbossesb','JBoss ESB User','2006-12-01 09:52:14.531000000','2006-12-01 09:52:14.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:883CD520-814B-11DB-A6BA-FAEBD70F5C1A','jbossesb','JBoss ESB User','2006-12-01 09:52:14.593000000','2006-12-01 09:52:14.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88440110-814B-11DB-A6BA-E929E0078703','jbossesb','JBoss ESB User','2006-12-01 09:52:14.625000000','2006-12-01 09:52:14.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:884DDD30-860E-11DB-9D30-81183FAD5776','jbossesb','JBoss ESB User','2006-12-07 11:18:11.203000000','2006-12-07 11:18:11.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88529820-860E-11DB-9820-D4A075780A13','jbossesb','JBoss ESB User','2006-12-07 11:18:11.234000000','2006-12-07 11:18:11.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88575310-860E-11DB-9310-95B3C47CE4EC','jbossesb','JBoss ESB User','2006-12-07 11:18:11.265000000','2006-12-07 11:18:11.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:885A06A0-8618-11DB-86A0-DFE22EA224BC','jbossesb','JBoss ESB User','2006-12-07 12:29:46.250000000','2006-12-07 12:29:46.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:885C5090-8618-11DB-9090-CD4B0EBF0D95','jbossesb','JBoss ESB User','2006-12-07 12:29:46.281000000','2006-12-07 12:29:46.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8861C010-861E-11DB-B1A1-EB386C7EB4B4','jbossesb','JBoss ESB User','2006-12-07 13:12:43.281000000','2006-12-07 13:12:43.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:886339F0-860E-11DB-B9F0-C54CFDCFF7E2','jbossesb','JBoss ESB User','2006-12-07 11:18:11.343000000','2006-12-07 11:18:11.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88637C80-8618-11DB-BC80-B540083DFBE7','jbossesb','JBoss ESB User','2006-12-07 12:29:46.328000000','2006-12-07 12:29:46.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88640A00-861E-11DB-B1A1-A493AFDCD2EA','jbossesb','JBoss ESB User','2006-12-07 13:12:43.296000000','2006-12-07 13:12:43.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8865AAF0-860E-11DB-AAF0-C73284245A14','jbossesb','JBoss ESB User','2006-12-07 11:18:11.359000000','2006-12-07 11:18:11.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8867EC80-861C-11DB-AC80-B91E1BAEBD06','jbossesb','JBoss ESB User','2006-12-07 12:58:24.359000000','2006-12-07 12:58:24.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8868EC00-861E-11DB-B1A1-D0B6716C27A5','jbossesb','JBoss ESB User','2006-12-07 13:12:43.328000000','2006-12-07 13:12:43.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:886A65E0-860E-11DB-A5E0-B2A85E4AB90E','jbossesb','JBoss ESB User','2006-12-07 11:18:11.390000000','2006-12-07 11:18:11.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:886B35F0-861E-11DB-B1A1-DF6022837A40','jbossesb','JBoss ESB User','2006-12-07 13:12:43.343000000','2006-12-07 13:12:43.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:886D1970-8618-11DB-9970-C56D0DFDE3FE','jbossesb','JBoss ESB User','2006-12-07 12:29:46.390000000','2006-12-07 12:29:46.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:886DA6F0-861E-11DB-B1A1-E79D0B6A2798','jbossesb','JBoss ESB User','2006-12-07 13:12:43.375000000','2006-12-07 13:12:43.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:886F1870-861C-11DB-9870-936DFCA1A5FA','jbossesb','JBoss ESB User','2006-12-07 12:58:24.375000000','2006-12-07 12:58:24.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:887261E0-861E-11DB-B1A1-ADAC82644E46','jbossesb','JBoss ESB User','2006-12-07 13:12:43.390000000','2006-12-07 13:12:43.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8873D360-861C-11DB-9360-EB0A3ECE27A4','jbossesb','JBoss ESB User','2006-12-07 12:58:24.421000000','2006-12-07 12:58:24.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:887AFF50-861C-11DB-BF50-B6648A2557B9','jbossesb','JBoss ESB User','2006-12-07 12:58:24.453000000','2006-12-07 12:58:24.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:887B4A40-8618-11DB-8A40-AAC842C380CB','jbossesb','JBoss ESB User','2006-12-07 12:29:46.468000000','2006-12-07 12:29:46.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88822B40-861C-11DB-AB40-954FCF8BAE3B','jbossesb','JBoss ESB User','2006-12-07 12:58:24.500000000','2006-12-07 12:58:24.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8887E5B0-861E-11DB-B1A1-88F295063B5E','jbossesb','JBoss ESB User','2006-12-07 13:12:43.531000000','2006-12-07 13:12:43.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88893020-861C-11DB-B020-E345FCB42FF9','jbossesb','JBoss ESB User','2006-12-07 12:58:24.546000000','2006-12-07 12:58:24.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:888A2FA0-861E-11DB-B1A1-EEC8502F87CE','jbossesb','JBoss ESB User','2006-12-07 13:12:43.546000000','2006-12-07 13:12:43.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:888CA0A0-861E-11DB-B1A1-873B32620730','jbossesb','JBoss ESB User','2006-12-07 13:12:43.562000000','2006-12-07 13:12:43.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88915B90-861E-11DB-B1A1-DA1989FF63A9','jbossesb','JBoss ESB User','2006-12-07 13:12:43.609000000','2006-12-07 13:12:43.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88963D90-861E-11DB-B1A1-8A6103A3091F','jbossesb','JBoss ESB User','2006-12-07 13:12:43.625000000','2006-12-07 13:12:43.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88988780-861E-11DB-B1A1-CE5763E9BA96','jbossesb','JBoss ESB User','2006-12-07 13:12:43.640000000','2006-12-07 13:12:43.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88A3E0E0-8618-11DB-A0E0-DEA7CDD890C7','jbossesb','JBoss ESB User','2006-12-07 12:29:46.734000000','2006-12-07 12:29:46.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88A651E0-8618-11DB-91E0-AA48CE3B196C','jbossesb','JBoss ESB User','2006-12-07 12:29:46.750000000','2006-12-07 12:29:46.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88AFC7C0-8618-11DB-87C0-BEAB7967738D','jbossesb','JBoss ESB User','2006-12-07 12:29:46.828000000','2006-12-07 12:29:46.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88B437C0-861C-11DB-B7C0-AD648F2F15DB','jbossesb','JBoss ESB User','2006-12-07 12:58:24.828000000','2006-12-07 12:58:24.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88B681B0-861C-11DB-81B0-8D416B8D26A7','jbossesb','JBoss ESB User','2006-12-07 12:58:24.843000000','2006-12-07 12:58:24.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88BDADA0-861C-11DB-ADA0-F6203BFD8259','jbossesb','JBoss ESB User','2006-12-07 12:58:24.890000000','2006-12-07 12:58:24.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88BE1FA0-8618-11DB-9FA0-B8F506EF8A78','jbossesb','JBoss ESB User','2006-12-07 12:29:46.937000000','2006-12-07 12:29:46.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88C26890-861C-11DB-A890-A9D8B127AC2B','jbossesb','JBoss ESB User','2006-12-07 12:58:24.921000000','2006-12-07 12:58:24.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88C54B90-8618-11DB-8B90-FE6DA47ED56C','jbossesb','JBoss ESB User','2006-12-07 12:29:46.968000000','2006-12-07 12:29:46.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88C74A90-861C-11DB-8A90-F935CA4191A9','jbossesb','JBoss ESB User','2006-12-07 12:58:24.953000000','2006-12-07 12:58:24.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:88CC0580-861C-11DB-8580-BE156590901D','jbossesb','JBoss ESB User','2006-12-07 12:58:25.0','2006-12-07 12:58:25.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8900B270-860E-11DB-B270-E617E943E222','jbossesb','JBoss ESB User','2006-12-07 11:18:12.406000000','2006-12-07 11:18:12.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:89063D70-861E-11DB-B1A1-A90DFD4C98BA','jbossesb','JBoss ESB User','2006-12-07 13:12:44.375000000','2006-12-07 13:12:44.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:891D7DB0-8618-11DB-BDB0-A90CAABAA4B8','jbossesb','JBoss ESB User','2006-12-07 12:29:47.546000000','2006-12-07 12:29:47.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:896E4150-860E-11DB-8150-B32171D28B09','jbossesb','JBoss ESB User','2006-12-07 11:18:13.109000000','2006-12-07 11:18:13.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8975AFD0-8618-11DB-AFD0-83147A4CEDE6','jbossesb','JBoss ESB User','2006-12-07 12:29:48.109000000','2006-12-07 12:29:48.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:89A42D80-8170-11DB-AF51-A623ED592AB5','jbossesb','JBoss ESB User','2006-12-01 14:17:08.312000000','2006-12-01 14:17:08.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:89AABAD0-861E-11DB-B1A1-8DC9A145F85D','jbossesb','JBoss ESB User','2006-12-07 13:12:45.468000000','2006-12-07 13:12:45.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:89BF3F20-861C-11DB-BF20-CDFFC69DDC91','jbossesb','JBoss ESB User','2006-12-07 12:58:26.578000000','2006-12-07 12:58:26.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:89CF0E10-8170-11DB-AF51-98C53A66230C','jbossesb','JBoss ESB User','2006-12-01 14:17:08.625000000','2006-12-01 14:17:08.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8A2C2230-8170-11DB-AF51-9DE71872C3BF','jbossesb','JBoss ESB User','2006-12-01 14:17:09.203000000','2006-12-01 14:17:09.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8A316AA0-8176-11DB-AAA0-809B3FDB9492','jbossesb','JBoss ESB User','2006-12-01 15:00:06.234000000','2006-12-01 15:00:06.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8A3CC400-8170-11DB-AF51-C0CF56CA02BF','jbossesb','JBoss ESB User','2006-12-01 14:17:09.328000000','2006-12-01 14:17:09.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8A46EE70-8176-11DB-AE70-C1579D0771C3','jbossesb','JBoss ESB User','2006-12-01 15:00:06.375000000','2006-12-01 15:00:06.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8A614B80-861C-11DB-8B80-DE590496E35B','jbossesb','JBoss ESB User','2006-12-07 12:58:27.640000000','2006-12-07 12:58:27.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8A71CF00-8176-11DB-8F00-B6D7ED77FF51','jbossesb','JBoss ESB User','2006-12-01 15:00:06.671000000','2006-12-01 15:00:06.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8A8026E0-8176-11DB-A6E0-DDDFD1EFEBE6','jbossesb','JBoss ESB User','2006-12-01 15:00:06.734000000','2006-12-01 15:00:06.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8A979B30-80E1-11DB-9B30-B05E4B64C8A5','jbossesb','JBoss ESB User','2006-11-30 21:13:31.875000000','2006-11-30 21:13:31.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8AACF7F0-80E1-11DB-B7F0-CFECC7416376','jbossesb','JBoss ESB User','2006-11-30 21:13:32.310000000','2006-11-30 21:13:32.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8AB32520-8173-11DB-B8A9-C4B27A0B8A11','jbossesb','JBoss ESB User','2006-12-01 14:38:38.640000000','2006-12-01 14:38:38.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8AD468C0-8173-11DB-B8A9-987952E73C0E','jbossesb','JBoss ESB User','2006-12-01 14:38:38.812000000','2006-12-01 14:38:38.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8B232500-8173-11DB-B8A9-CE5BC0066DB3','jbossesb','JBoss ESB User','2006-12-01 14:38:39.312000000','2006-12-01 14:38:39.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8B2F0BE0-8173-11DB-B8A9-F9AD3673505C','jbossesb','JBoss ESB User','2006-12-01 14:38:39.406000000','2006-12-01 14:38:39.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8BDAF7C0-817D-11DB-B7C0-E0C69FE1FCEB','jbossesb','JBoss ESB User','2006-12-01 15:50:15.515000000','2006-12-01 15:50:15.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8BF80030-817E-11DB-8030-98F57770DA14','jbossesb','JBoss ESB User','2006-12-01 15:57:25.203000000','2006-12-01 15:57:25.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8BFC6270-817D-11DB-A270-C037661ECDB1','jbossesb','JBoss ESB User','2006-12-01 15:50:15.703000000','2006-12-01 15:50:15.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C022180-80FE-11DB-BEA2-DA60B5F7C7DC','jbossesb','JBoss ESB User','2006-12-01 00:41:09.671000000','2006-12-01 00:41:09.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C084950-817D-11DB-8950-F58BF3A2040C','jbossesb','JBoss ESB User','2006-12-01 15:50:15.781000000','2006-12-01 15:50:15.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C0A5AB0-8105-11DB-9AB0-D4AEECD92C56','jbossesb','JBoss ESB User','2006-12-01 01:31:16.203000000','2006-12-01 01:31:16.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C11BF30-817D-11DB-BF30-8B3D6DA01FB7','jbossesb','JBoss ESB User','2006-12-01 15:50:15.843000000','2006-12-01 15:50:15.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C3FDC40-814A-11DB-A6BA-8F38422A60E5','jbossesb','JBoss ESB User','2006-12-01 09:45:11.828000000','2006-12-01 09:45:11.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C4E6CC0-80FE-11DB-BEA2-FD0D28E68798','jbossesb','JBoss ESB User','2006-12-01 00:41:10.312000000','2006-12-01 00:41:10.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C507E10-814A-11DB-A6BA-850B08FE62AD','jbossesb','JBoss ESB User','2006-12-01 09:45:11.921000000','2006-12-01 09:45:11.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C57AA00-814A-11DB-A6BA-BDC6D8B6584F','jbossesb','JBoss ESB User','2006-12-01 09:45:11.984000000','2006-12-01 09:45:11.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C5ED5F0-814A-11DB-A6BA-A812EC3C2CAB','jbossesb','JBoss ESB User','2006-12-01 09:45:12.310000000','2006-12-01 09:45:12.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C6A7110-817E-11DB-B110-D4CA26370805','jbossesb','JBoss ESB User','2006-12-01 15:57:25.953000000','2006-12-01 15:57:25.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C7F3C90-8105-11DB-BC90-EF986AB01BDD','jbossesb','JBoss ESB User','2006-12-01 01:31:16.984000000','2006-12-01 01:31:17.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8C924F60-8105-11DB-8F60-E79696F1F620','jbossesb','JBoss ESB User','2006-12-01 01:31:17.930000000','2006-12-01 01:31:17.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8CA2F130-8105-11DB-B130-BCE311181FAA','jbossesb','JBoss ESB User','2006-12-01 01:31:17.203000000','2006-12-01 01:31:17.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8CCFFB90-817C-11DB-BB90-D41029C8D64C','jbossesb','JBoss ESB User','2006-12-01 15:43:07.625000000','2006-12-01 15:43:07.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8CD0FB10-817E-11DB-BB10-A45C90C7B09E','jbossesb','JBoss ESB User','2006-12-01 15:57:26.609000000','2006-12-01 15:57:26.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8CDA9800-817E-11DB-9800-D8FB95F154D5','jbossesb','JBoss ESB User','2006-12-01 15:57:26.656000000','2006-12-01 15:57:26.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8CF62130-817C-11DB-A130-D84B16436AA4','jbossesb','JBoss ESB User','2006-12-01 15:43:07.843000000','2006-12-01 15:43:07.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8CFD4D20-817C-11DB-8D20-AEB357B5EF61','jbossesb','JBoss ESB User','2006-12-01 15:43:07.906000000','2006-12-01 15:43:07.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D06A780-8172-11DB-B8A9-B34A7ACE04DD','jbossesb','JBoss ESB User','2006-12-01 14:31:32.984000000','2006-12-01 14:31:33.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D093400-817C-11DB-B400-E33B2DD72313','jbossesb','JBoss ESB User','2006-12-01 15:43:07.968000000','2006-12-01 15:43:07.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D1B57E0-861B-11DB-97E0-E291B393B790','jbossesb','JBoss ESB User','2006-12-07 12:51:22.718000000','2006-12-07 12:51:22.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D1C2B50-8172-11DB-B8A9-AB3AAB6160B5','jbossesb','JBoss ESB User','2006-12-01 14:31:33.125000000','2006-12-01 14:31:33.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D2039E0-861B-11DB-B9E0-99192EA1FB5A','jbossesb','JBoss ESB User','2006-12-07 12:51:22.765000000','2006-12-07 12:51:22.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D273EC0-861B-11DB-BEC0-B98DFECE69F5','jbossesb','JBoss ESB User','2006-12-07 12:51:22.812000000','2006-12-07 12:51:22.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D30DBB0-861B-11DB-9BB0-B28DD1026E10','jbossesb','JBoss ESB User','2006-12-07 12:51:22.859000000','2006-12-07 12:51:22.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D3349E0-817F-11DB-89E0-B5C5087888DC','jbossesb','JBoss ESB User','2006-12-01 16:04:36.750000000','2006-12-01 16:04:36.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D334CB0-861B-11DB-8CB0-F6626B7582D4','jbossesb','JBoss ESB User','2006-12-07 12:51:22.875000000','2006-12-07 12:51:22.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D4B1A70-861B-11DB-9A70-CEFD8790FFC6','jbossesb','JBoss ESB User','2006-12-07 12:51:23.460000000','2006-12-07 12:51:23.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D4FD560-861B-11DB-9560-9E6C28DDDE2A','jbossesb','JBoss ESB User','2006-12-07 12:51:23.620000000','2006-12-07 12:51:23.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D524660-861B-11DB-8660-85D7FDD84689','jbossesb','JBoss ESB User','2006-12-07 12:51:23.109000000','2006-12-07 12:51:23.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D597250-861B-11DB-B250-D41D5905D46E','jbossesb','JBoss ESB User','2006-12-07 12:51:23.156000000','2006-12-07 12:51:23.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D62E830-861B-11DB-A830-94DC2A12197D','jbossesb','JBoss ESB User','2006-12-07 12:51:23.187000000','2006-12-07 12:51:23.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D639490-8172-11DB-B8A9-E44C1D2654CC','jbossesb','JBoss ESB User','2006-12-01 14:31:33.593000000','2006-12-01 14:31:33.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8D6F7B70-8172-11DB-B8A9-F61B9EE76C70','jbossesb','JBoss ESB User','2006-12-01 14:31:33.687000000','2006-12-01 14:31:33.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8DA0FFD0-817F-11DB-BFD0-C35F579AE2B0','jbossesb','JBoss ESB User','2006-12-01 16:04:37.468000000','2006-12-01 16:04:37.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8DACE6B0-817F-11DB-A6B0-DA31CCB267B4','jbossesb','JBoss ESB User','2006-12-01 16:04:37.562000000','2006-12-01 16:04:37.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8DB15F10-8175-11DB-AE84-C5A43D186089','jbossesb','JBoss ESB User','2006-12-01 14:53:02.625000000','2006-12-01 14:53:02.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8DD058C0-8175-11DB-AE84-8F88AAD47EDA','jbossesb','JBoss ESB User','2006-12-01 14:53:02.812000000','2006-12-01 14:53:02.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8DE121A0-8175-11DB-AE84-AE301A7F48CB','jbossesb','JBoss ESB User','2006-12-01 14:53:02.906000000','2006-12-01 14:53:02.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8DEF7980-8175-11DB-AE84-8965661DD1ED','jbossesb','JBoss ESB User','2006-12-01 14:53:03.150000000','2006-12-01 14:53:03.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8DF11440-8182-11DB-AB1E-C95F7FA07E6B','jbossesb','JBoss ESB User','2006-12-01 16:26:06.500000000','2006-12-01 16:26:06.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E0C44C0-817F-11DB-84C0-9E9CE2F9D589','jbossesb','JBoss ESB User','2006-12-01 16:04:38.171000000','2006-12-01 16:04:38.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E0C9280-8617-11DB-9280-9BC6E4180B25','jbossesb','JBoss ESB User','2006-12-07 12:22:46.359000000','2006-12-07 12:22:46.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E127EF0-8182-11DB-AB1E-F7169598306F','jbossesb','JBoss ESB User','2006-12-01 16:26:06.687000000','2006-12-01 16:26:06.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E2CBDB0-8182-11DB-AB1E-DE6F01162F0E','jbossesb','JBoss ESB User','2006-12-01 16:26:06.859000000','2006-12-01 16:26:06.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E41FE30-80E4-11DB-BE30-969B2ABDD186','jbossesb','JBoss ESB User','2006-11-30 21:35:06.515000000','2006-11-30 21:35:06.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E424180-8182-11DB-AB1E-A458B9E76A95','jbossesb','JBoss ESB User','2006-12-01 16:26:07.150000000','2006-12-01 16:26:07.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E522100-8177-11DB-A100-A9BE1A1AE2AE','jbossesb','JBoss ESB User','2006-12-01 15:07:22.640000000','2006-12-01 15:07:22.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E5D5D50-8103-11DB-BD3E-86FC29EC06F1','jbossesb','JBoss ESB User','2006-12-01 01:17:01.125000000','2006-12-01 01:17:01.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E6BF090-8617-11DB-B090-9F73C780B2D0','jbossesb','JBoss ESB User','2006-12-07 12:22:46.953000000','2006-12-07 12:22:46.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E711AB0-8177-11DB-9AB0-B0B183D91246','jbossesb','JBoss ESB User','2006-12-01 15:07:22.859000000','2006-12-01 15:07:22.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E869E80-8177-11DB-9E80-DFF58359B6D3','jbossesb','JBoss ESB User','2006-12-01 15:07:23.0','2006-12-01 15:07:23.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E8AAEE0-8103-11DB-BD3E-9ECA0722EFF6','jbossesb','JBoss ESB User','2006-12-01 01:17:01.390000000','2006-12-01 01:17:01.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E957560-80E4-11DB-B560-87614AEE95A2','jbossesb','JBoss ESB User','2006-11-30 21:35:07.140000000','2006-11-30 21:35:07.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E974050-8177-11DB-8050-A7EF11A55B55','jbossesb','JBoss ESB User','2006-12-01 15:07:23.109000000','2006-12-01 15:07:23.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8E9906C0-8103-11DB-BD3E-97A0DAE31C6E','jbossesb','JBoss ESB User','2006-12-01 01:17:01.484000000','2006-12-01 01:17:01.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8EA75EA0-8103-11DB-BD3E-F699FE7F5133','jbossesb','JBoss ESB User','2006-12-01 01:17:01.593000000','2006-12-01 01:17:01.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8EBD3B20-8104-11DB-BB20-C6053F07BD0A','jbossesb','JBoss ESB User','2006-12-01 01:24:11.234000000','2006-12-01 01:24:11.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8EC9F2E0-80E4-11DB-B2E0-AE427BFAFF06','jbossesb','JBoss ESB User','2006-11-30 21:35:07.406000000','2006-11-30 21:35:07.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8ED3A6B0-816F-11DB-A4E4-C5C6552294E6','jbossesb','JBoss ESB User','2006-12-01 14:10:07.546000000','2006-12-01 14:10:07.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8EDD05B0-80E4-11DB-85B0-E133507DE5D1','jbossesb','JBoss ESB User','2006-11-30 21:35:07.578000000','2006-11-30 21:35:07.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8EDEA5D0-8104-11DB-A5D0-94EDE453AFE9','jbossesb','JBoss ESB User','2006-12-01 01:24:11.437000000','2006-12-01 01:24:11.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8EECFDB0-8104-11DB-BDB0-83A492CFCCAB','jbossesb','JBoss ESB User','2006-12-01 01:24:11.546000000','2006-12-01 01:24:11.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8EFB5590-8104-11DB-9590-FE626A6BC852','jbossesb','JBoss ESB User','2006-12-01 01:24:11.625000000','2006-12-01 01:24:11.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8F2BD8D0-816F-11DB-A4E4-ED5A20D84536','jbossesb','JBoss ESB User','2006-12-01 14:10:08.109000000','2006-12-01 14:10:08.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8F7D0610-816F-11DB-A4E4-CF18C2D16EA5','jbossesb','JBoss ESB User','2006-12-01 14:10:08.640000000','2006-12-01 14:10:08.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8F8B36E0-816F-11DB-A4E4-E7D572566866','jbossesb','JBoss ESB User','2006-12-01 14:10:08.718000000','2006-12-01 14:10:09.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FAA83B0-861A-11DB-83B0-D13DAC9764DB','jbossesb','JBoss ESB User','2006-12-07 12:44:17.515000000','2006-12-07 12:44:17.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FAF3EA0-861A-11DB-BEA0-9144D343B160','jbossesb','JBoss ESB User','2006-12-07 12:44:17.546000000','2006-12-07 12:44:17.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FB420A0-861A-11DB-A0A0-FE42D19583F2','jbossesb','JBoss ESB User','2006-12-07 12:44:17.578000000','2006-12-07 12:44:17.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FB8DB90-861A-11DB-9B90-BDD079F4F107','jbossesb','JBoss ESB User','2006-12-07 12:44:17.625000000','2006-12-07 12:44:17.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FC25170-861A-11DB-9170-CA95AD3C8BA3','jbossesb','JBoss ESB User','2006-12-07 12:44:17.703000000','2006-12-07 12:44:17.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FCFA7D0-814C-11DB-A6BA-D84CBE93991B','jbossesb','JBoss ESB User','2006-12-01 09:59:36.812000000','2006-12-01 09:59:36.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FE049A0-814C-11DB-A6BA-EF8B5A1B35AD','jbossesb','JBoss ESB User','2006-12-01 09:59:36.921000000','2006-12-01 09:59:36.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FE3BC20-861A-11DB-BC20-C949EDCA8893','jbossesb','JBoss ESB User','2006-12-07 12:44:17.921000000','2006-12-07 12:44:17.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FE77590-814C-11DB-A6BA-910B534FCC16','jbossesb','JBoss ESB User','2006-12-01 09:59:36.953000000','2006-12-01 09:59:36.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FEAE810-861A-11DB-A810-CE54CCC434C5','jbossesb','JBoss ESB User','2006-12-07 12:44:17.937000000','2006-12-07 12:44:17.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FED5910-861A-11DB-9910-ABFA287DD689','jbossesb','JBoss ESB User','2006-12-07 12:44:17.968000000','2006-12-07 12:44:17.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FF14120-816E-11DB-A4E4-9820C09A49A0','jbossesb','JBoss ESB User','2006-12-01 14:02:59.906000000','2006-12-01 14:02:59.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FF21400-861A-11DB-9400-E38306E85820','jbossesb','JBoss ESB User','2006-12-07 12:44:17.984000000','2006-12-07 12:44:18.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FF48500-861A-11DB-8500-C3C7E113E866','jbossesb','JBoss ESB User','2006-12-07 12:44:18.150000000','2006-12-07 12:44:18.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:8FFB89E0-861A-11DB-89E0-FAAD5D358A43','jbossesb','JBoss ESB User','2006-12-07 12:44:18.620000000','2006-12-07 12:44:18.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:900B7FE0-816E-11DB-A4E4-F51742B72364','jbossesb','JBoss ESB User','2006-12-01 14:03:00.620000000','2006-12-01 14:03:00.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:901766C0-816E-11DB-A4E4-B9566026F126','jbossesb','JBoss ESB User','2006-12-01 14:03:00.140000000','2006-12-01 14:03:00.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9037B310-861B-11DB-B310-BE610BEC483F','jbossesb','JBoss ESB User','2006-12-07 12:51:27.937000000','2006-12-07 12:51:27.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:90431A30-861A-11DB-9A30-CF7C4AF38F3D','jbossesb','JBoss ESB User','2006-12-07 12:44:18.515000000','2006-12-07 12:44:18.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:90555A20-816E-11DB-A4E4-8167898C9BA4','jbossesb','JBoss ESB User','2006-12-01 14:03:00.562000000','2006-12-01 14:03:00.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:907B8520-8181-11DB-AB1E-C11075C43449','jbossesb','JBoss ESB User','2006-12-01 16:19:01.265000000','2006-12-01 16:19:01.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:909F39C0-8181-11DB-AB1E-DAD02198CF53','jbossesb','JBoss ESB User','2006-12-01 16:19:01.468000000','2006-12-01 16:19:01.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:90AB20A0-8181-11DB-AB1E-C1B3A92D2885','jbossesb','JBoss ESB User','2006-12-01 16:19:01.562000000','2006-12-01 16:19:01.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:90BBE980-8181-11DB-AB1E-8F2876145F20','jbossesb','JBoss ESB User','2006-12-01 16:19:01.671000000','2006-12-01 16:19:01.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:90D50480-861B-11DB-8480-FE7D32C7BAD8','jbossesb','JBoss ESB User','2006-12-07 12:51:28.968000000','2006-12-07 12:51:28.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:91FBBC20-8619-11DB-BC20-E5FBDE634F83','jbossesb','JBoss ESB User','2006-12-07 12:37:11.921000000','2006-12-07 12:37:11.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92007710-8619-11DB-B710-DE1AF2B8EC43','jbossesb','JBoss ESB User','2006-12-07 12:37:11.953000000','2006-12-07 12:37:11.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92053200-8619-11DB-B200-ACBC3CA82107','jbossesb','JBoss ESB User','2006-12-07 12:37:11.968000000','2006-12-07 12:37:12.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:920C5DF0-8619-11DB-9DF0-A8A855467F19','jbossesb','JBoss ESB User','2006-12-07 12:37:12.150000000','2006-12-07 12:37:12.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:921118E0-8619-11DB-98E0-E28A3513DA8A','jbossesb','JBoss ESB User','2006-12-07 12:37:12.460000000','2006-12-07 12:37:12.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92265A20-860F-11DB-9A20-FDFFDAA1465F','jbossesb','JBoss ESB User','2006-12-07 11:25:37.265000000','2006-12-07 11:25:37.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92290DB0-8619-11DB-8DB0-E0B5E3831E10','jbossesb','JBoss ESB User','2006-12-07 12:37:12.203000000','2006-12-07 12:37:12.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:922DC8A0-8619-11DB-88A0-9DA0DB3F87B2','jbossesb','JBoss ESB User','2006-12-07 12:37:12.250000000','2006-12-07 12:37:12.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:922FF710-860F-11DB-B710-9F61DDE3E776','jbossesb','JBoss ESB User','2006-12-07 11:25:37.281000000','2006-12-07 11:25:37.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92324100-860F-11DB-8100-F08B3C05498D','jbossesb','JBoss ESB User','2006-12-07 11:25:37.312000000','2006-12-07 11:25:37.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92328390-8619-11DB-8390-CE0167FF6621','jbossesb','JBoss ESB User','2006-12-07 12:37:12.281000000','2006-12-07 12:37:12.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9239AF80-8619-11DB-AF80-E84246CB1BAD','jbossesb','JBoss ESB User','2006-12-07 12:37:12.328000000','2006-12-07 12:37:12.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:924098E0-860F-11DB-98E0-951139CFE68E','jbossesb','JBoss ESB User','2006-12-07 11:25:37.390000000','2006-12-07 11:25:37.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9240DB70-8619-11DB-9B70-CFB10F5C3E1E','jbossesb','JBoss ESB User','2006-12-07 12:37:12.375000000','2006-12-07 12:37:12.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:924309E0-860F-11DB-89E0-C2D8E4F8C5D6','jbossesb','JBoss ESB User','2006-12-07 11:25:37.421000000','2006-12-07 11:25:37.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9247C4D0-860F-11DB-84D0-DE78609F0FA4','jbossesb','JBoss ESB User','2006-12-07 11:25:37.453000000','2006-12-07 11:25:37.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92480760-8619-11DB-8760-DFC84CDD1D04','jbossesb','JBoss ESB User','2006-12-07 12:37:12.406000000','2006-12-07 12:37:12.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92511340-80E3-11DB-9340-D83C6DD9CE50','jbossesb','JBoss ESB User','2006-11-30 21:28:03.843000000','2006-11-30 21:28:03.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:927738E0-80E3-11DB-B8E0-B531563F5035','jbossesb','JBoss ESB User','2006-11-30 21:28:04.109000000','2006-11-30 21:28:04.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:928AB5B0-8619-11DB-B5B0-EDFE38DE155D','jbossesb','JBoss ESB User','2006-12-07 12:37:12.875000000','2006-12-07 12:37:12.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:928C95A0-80E3-11DB-95A0-96316BE51369','jbossesb','JBoss ESB User','2006-11-30 21:28:04.234000000','2006-11-30 21:28:04.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92941010-860F-11DB-9010-BAC2F15036B9','jbossesb','JBoss ESB User','2006-12-07 11:25:37.937000000','2006-12-07 11:25:37.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92985700-8147-11DB-A69A-E0BB545E0FEB','jbossesb','JBoss ESB User','2006-12-01 09:23:53.984000000','2006-12-01 09:23:53.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:929FA870-80E3-11DB-A870-DC57E4762810','jbossesb','JBoss ESB User','2006-11-30 21:28:04.359000000','2006-11-30 21:28:04.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92B04BD0-8147-11DB-A69A-DF3E8EF55D97','jbossesb','JBoss ESB User','2006-12-01 09:23:54.125000000','2006-12-01 09:23:54.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92CF4580-8147-11DB-A69A-E77E1CCE9E88','jbossesb','JBoss ESB User','2006-12-01 09:23:54.343000000','2006-12-01 09:23:54.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:92DB2C60-8147-11DB-A69A-9EF9E47F4319','jbossesb','JBoss ESB User','2006-12-01 09:23:54.406000000','2006-12-01 09:23:54.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:93671080-817A-11DB-9080-96BC050796D5','jbossesb','JBoss ESB User','2006-12-01 15:28:59.656000000','2006-12-01 15:28:59.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9375E760-80E7-11DB-A760-DA94A00A6CF9','jbossesb','JBoss ESB User','2006-11-30 21:56:43.765000000','2006-11-30 21:56:43.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:93860A30-817A-11DB-8A30-B2C37567F0D1','jbossesb','JBoss ESB User','2006-12-01 15:28:59.875000000','2006-12-01 15:28:59.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:93946210-817A-11DB-A210-8D82698527CF','jbossesb','JBoss ESB User','2006-12-01 15:28:59.953000000','2006-12-01 15:28:59.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9394E110-80E7-11DB-A110-B28B621F705A','jbossesb','JBoss ESB User','2006-11-30 21:56:43.953000000','2006-11-30 21:56:43.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:939DD7F0-817A-11DB-97F0-A5751D4D637B','jbossesb','JBoss ESB User','2006-12-01 15:29:00.150000000','2006-12-01 15:29:00.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:93A7F3E0-80E7-11DB-B3E0-CA7F08C55D36','jbossesb','JBoss ESB User','2006-11-30 21:56:44.620000000','2006-11-30 21:56:44.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:93AD5B70-8563-11DB-A4E1-88C5152A5CC5','jbossesb','JBoss ESB User','2006-12-06 14:54:26.343000000','2006-12-06 14:54:26.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:93B6F860-8563-11DB-A4E1-A12FAA6C8F09','jbossesb','JBoss ESB User','2006-12-06 14:54:26.421000000','2006-12-06 14:54:26.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:93BB06B0-80E7-11DB-86B0-C177BEE5DC18','jbossesb','JBoss ESB User','2006-11-30 21:56:44.187000000','2006-11-30 21:56:44.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:93BE2450-8563-11DB-A4E1-8DCE81CFF4BC','jbossesb','JBoss ESB User','2006-12-06 14:54:26.453000000','2006-12-06 14:54:26.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9405A170-860F-11DB-A170-81100A31A52A','jbossesb','JBoss ESB User','2006-12-07 11:25:40.359000000','2006-12-07 11:25:40.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:941CB040-814B-11DB-A6BA-8B173F5D8DF2','jbossesb','JBoss ESB User','2006-12-01 09:52:34.515000000','2006-12-01 09:52:34.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9436C7F0-814B-11DB-A6BA-D6519D6332A7','jbossesb','JBoss ESB User','2006-12-01 09:52:34.671000000','2006-12-01 09:52:34.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9442D5E0-814B-11DB-A6BA-B8D5E5CDED31','jbossesb','JBoss ESB User','2006-12-01 09:52:34.750000000','2006-12-01 09:52:34.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:944790D0-814B-11DB-A6BA-A898403CFFF0','jbossesb','JBoss ESB User','2006-12-01 09:52:34.781000000','2006-12-01 09:52:34.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:946BABB0-860E-11DB-ABB0-D0342F271F27','jbossesb','JBoss ESB User','2006-12-07 11:18:31.531000000','2006-12-07 11:18:31.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:946DF5A0-860E-11DB-B5A0-D830F084A07C','jbossesb','JBoss ESB User','2006-12-07 11:18:31.546000000','2006-12-07 11:18:31.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9472D7A0-860E-11DB-97A0-A668E099DEB2','jbossesb','JBoss ESB User','2006-12-07 11:18:31.578000000','2006-12-07 11:18:31.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:947EBE80-860E-11DB-BE80-B7B71D251039','jbossesb','JBoss ESB User','2006-12-07 11:18:31.656000000','2006-12-07 11:18:31.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94837970-860E-11DB-B970-D46A523B5AD8','jbossesb','JBoss ESB User','2006-12-07 11:18:31.703000000','2006-12-07 11:18:31.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:948AA560-860E-11DB-A560-C60CA375AB32','jbossesb','JBoss ESB User','2006-12-07 11:18:31.734000000','2006-12-07 11:18:31.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:948AE7F0-8618-11DB-A7F0-ED71C1BA341C','jbossesb','JBoss ESB User','2006-12-07 12:30:06.718000000','2006-12-07 12:30:06.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9491D150-860E-11DB-9150-E07D480952DD','jbossesb','JBoss ESB User','2006-12-07 11:18:31.781000000','2006-12-07 11:18:31.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:949213E0-8618-11DB-93E0-E3634B54BF3A','jbossesb','JBoss ESB User','2006-12-07 12:30:06.750000000','2006-12-07 12:30:06.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:949918C0-8618-11DB-98C0-BC43C72E88E1','jbossesb','JBoss ESB User','2006-12-07 12:30:06.796000000','2006-12-07 12:30:06.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:949DFAC0-8618-11DB-BAC0-F7C069DEF9D3','jbossesb','JBoss ESB User','2006-12-07 12:30:06.828000000','2006-12-07 12:30:06.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94A770A0-8618-11DB-B0A0-88ACBE6C7FCC','jbossesb','JBoss ESB User','2006-12-07 12:30:06.890000000','2006-12-07 12:30:06.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94A96FA0-861C-11DB-AFA0-DF8324A87E71','jbossesb','JBoss ESB User','2006-12-07 12:58:44.890000000','2006-12-07 12:58:44.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94B09B90-861C-11DB-9B90-855D78A6DD04','jbossesb','JBoss ESB User','2006-12-07 12:58:44.937000000','2006-12-07 12:58:44.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94B55680-861C-11DB-9680-F26FBBCF8E91','jbossesb','JBoss ESB User','2006-12-07 12:58:44.984000000','2006-12-07 12:58:45.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94BC8270-861C-11DB-8270-E3D80FEBD66C','jbossesb','JBoss ESB User','2006-12-07 12:58:45.150000000','2006-12-07 12:58:45.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94C13D60-861C-11DB-BD60-E17E104F2493','jbossesb','JBoss ESB User','2006-12-07 12:58:45.620000000','2006-12-07 12:58:45.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94C1AF60-8618-11DB-AF60-EFA18408D2D9','jbossesb','JBoss ESB User','2006-12-07 12:30:07.620000000','2006-12-07 12:30:07.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94C61F60-861C-11DB-9F60-C3EE64C95209','jbossesb','JBoss ESB User','2006-12-07 12:58:45.780000000','2006-12-07 12:58:45.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94C66A50-8618-11DB-AA50-B2C0D652E2F4','jbossesb','JBoss ESB User','2006-12-07 12:30:07.109000000','2006-12-07 12:30:07.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94CD9640-8618-11DB-9640-876A2CACF125','jbossesb','JBoss ESB User','2006-12-07 12:30:07.171000000','2006-12-07 12:30:07.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94D73330-8618-11DB-B330-9BCB9D356B31','jbossesb','JBoss ESB User','2006-12-07 12:30:07.203000000','2006-12-07 12:30:07.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94D961A0-860E-11DB-A1A0-C591E3F0B3A9','jbossesb','JBoss ESB User','2006-12-07 11:18:32.250000000','2006-12-07 11:18:32.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94D97D20-8618-11DB-BD20-9F738AFB2EFC','jbossesb','JBoss ESB User','2006-12-07 12:30:07.234000000','2006-12-07 12:30:07.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94E76300-861C-11DB-A300-F02E1E9C4322','jbossesb','JBoss ESB User','2006-12-07 12:58:45.296000000','2006-12-07 12:58:45.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94EC4500-861C-11DB-8500-B2DCC33C30F8','jbossesb','JBoss ESB User','2006-12-07 12:58:45.343000000','2006-12-07 12:58:45.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94F0FFF0-861C-11DB-BFF0-CAD52CE335E1','jbossesb','JBoss ESB User','2006-12-07 12:58:45.375000000','2006-12-07 12:58:45.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94F5BAE0-861C-11DB-BAE0-CE9C13D2B770','jbossesb','JBoss ESB User','2006-12-07 12:58:45.390000000','2006-12-07 12:58:45.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:94FCE6D0-861C-11DB-A6D0-800A66D8BA59','jbossesb','JBoss ESB User','2006-12-07 12:58:45.437000000','2006-12-07 12:58:45.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9501A1C0-861C-11DB-A1C0-A683170ED670','jbossesb','JBoss ESB User','2006-12-07 12:58:45.468000000','2006-12-07 12:58:45.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:957213A0-8618-11DB-93A0-C8A89F5990BF','jbossesb','JBoss ESB User','2006-12-07 12:30:08.218000000','2006-12-07 12:30:08.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:95D77FD0-8170-11DB-AF51-D6423D84CE37','jbossesb','JBoss ESB User','2006-12-01 14:17:28.875000000','2006-12-01 14:17:28.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:95DFC990-8618-11DB-8990-AEB823892EF5','jbossesb','JBoss ESB User','2006-12-07 12:30:08.937000000','2006-12-07 12:30:08.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:95E14AA0-80FE-11DB-BEA2-F36B55ADA72F','jbossesb','JBoss ESB User','2006-12-01 00:41:26.250000000','2006-12-01 00:41:26.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9609E140-80FE-11DB-BEA2-913D99708B4B','jbossesb','JBoss ESB User','2006-12-01 00:41:26.500000000','2006-12-01 00:41:26.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:96183920-80FE-11DB-BEA2-B8D4D5C32BBE','jbossesb','JBoss ESB User','2006-12-01 00:41:26.578000000','2006-12-01 00:41:26.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:961F1020-8170-11DB-AF51-E0984461E987','jbossesb','JBoss ESB User','2006-12-01 14:17:29.265000000','2006-12-01 14:17:29.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:962B4BF0-80FE-11DB-BEA2-C4E47E85950B','jbossesb','JBoss ESB User','2006-12-01 00:41:26.718000000','2006-12-01 00:41:26.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:96477FB0-8170-11DB-AF51-B2C693897F9E','jbossesb','JBoss ESB User','2006-12-01 14:17:29.531000000','2006-12-01 14:17:29.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:96672DF0-8176-11DB-ADF0-A1B6ABECD5A2','jbossesb','JBoss ESB User','2006-12-01 15:00:26.734000000','2006-12-01 15:00:26.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:96691E70-80E1-11DB-9E70-92CBE6546782','jbossesb','JBoss ESB User','2006-11-30 21:13:51.765000000','2006-11-30 21:13:51.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:968D5390-8176-11DB-9390-C4DCF5C9F022','jbossesb','JBoss ESB User','2006-12-01 15:00:26.968000000','2006-12-01 15:00:26.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9693CAF0-8170-11DB-AF51-A30321D9859C','jbossesb','JBoss ESB User','2006-12-01 14:17:30.310000000','2006-12-01 14:17:30.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9693FF00-80E1-11DB-BF00-AE300FEA45B9','jbossesb','JBoss ESB User','2006-11-30 21:13:52.0','2006-11-30 21:13:52.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:96993A70-8176-11DB-BA70-E1D166E00719','jbossesb','JBoss ESB User','2006-12-01 15:00:27.310000000','2006-12-01 15:00:27.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:96A52150-8176-11DB-A150-C306BAA03FC4','jbossesb','JBoss ESB User','2006-12-01 15:00:27.109000000','2006-12-01 15:00:27.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:96BDE0D0-8173-11DB-B8A9-90C197312DE5','jbossesb','JBoss ESB User','2006-12-01 14:38:58.781000000','2006-12-01 14:38:58.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:971C9280-861C-11DB-9280-FBBC00068B33','jbossesb','JBoss ESB User','2006-12-07 12:58:49.150000000','2006-12-07 12:58:49.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:971F88D0-8173-11DB-B8A9-9779CA1A28CF','jbossesb','JBoss ESB User','2006-12-01 14:38:59.437000000','2006-12-01 14:38:59.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:972DE0B0-8173-11DB-B8A9-F62B2D8D5139','jbossesb','JBoss ESB User','2006-12-01 14:38:59.546000000','2006-12-01 14:38:59.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9739C790-8173-11DB-B8A9-ADFD8EDEBB9B','jbossesb','JBoss ESB User','2006-12-01 14:38:59.593000000','2006-12-01 14:38:59.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97A69C50-8617-11DB-9C50-89135CF7D415','jbossesb','JBoss ESB User','2006-12-07 12:23:02.421000000','2006-12-07 12:23:02.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97ADC840-8617-11DB-8840-CAD48F6E8401','jbossesb','JBoss ESB User','2006-12-07 12:23:02.468000000','2006-12-07 12:23:02.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97B2AA40-8617-11DB-AA40-A29C57FF854E','jbossesb','JBoss ESB User','2006-12-07 12:23:02.500000000','2006-12-07 12:23:02.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97B76530-8617-11DB-A530-C5BA3E9BBDDF','jbossesb','JBoss ESB User','2006-12-07 12:23:02.531000000','2006-12-07 12:23:02.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97CCC1F0-8617-11DB-81F0-F3A7827593AA','jbossesb','JBoss ESB User','2006-12-07 12:23:02.703000000','2006-12-07 12:23:02.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97D3EDE0-8617-11DB-ADE0-E97DFDBB6B72','jbossesb','JBoss ESB User','2006-12-07 12:23:02.750000000','2006-12-07 12:23:02.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97DB19D0-8617-11DB-99D0-A3ACF3DB1964','jbossesb','JBoss ESB User','2006-12-07 12:23:02.781000000','2006-12-07 12:23:02.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97DD9890-861C-11DB-9890-8DCBE616D84E','jbossesb','JBoss ESB User','2006-12-07 12:58:50.281000000','2006-12-07 12:58:50.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:97DFD4C0-8617-11DB-94C0-FE9798CF1475','jbossesb','JBoss ESB User','2006-12-07 12:23:02.812000000','2006-12-07 12:23:02.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:980F9750-8617-11DB-9750-8B1D75F1275D','jbossesb','JBoss ESB User','2006-12-07 12:23:03.109000000','2006-12-07 12:23:03.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:981A30F0-817D-11DB-B0F0-A5189BBFF90C','jbossesb','JBoss ESB User','2006-12-01 15:50:36.460000000','2006-12-01 15:50:36.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98346FB0-817D-11DB-AFB0-8C1BAA254E90','jbossesb','JBoss ESB User','2006-12-01 15:50:36.218000000','2006-12-01 15:50:36.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9835BCF0-8617-11DB-BCF0-EF22E4D4427D','jbossesb','JBoss ESB User','2006-12-07 12:23:03.359000000','2006-12-07 12:23:03.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9842A080-817D-11DB-A080-FC38175F47D2','jbossesb','JBoss ESB User','2006-12-01 15:50:36.328000000','2006-12-01 15:50:36.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:984D08F0-814A-11DB-A6BA-AADF02A7EE20','jbossesb','JBoss ESB User','2006-12-01 09:45:32.310000000','2006-12-01 09:45:32.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98536960-817D-11DB-A960-D5FD0436AC0B','jbossesb','JBoss ESB User','2006-12-01 15:50:36.421000000','2006-12-01 15:50:36.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98567ED0-814A-11DB-A6BA-BE1EFFE5F18B','jbossesb','JBoss ESB User','2006-12-01 09:45:32.109000000','2006-12-01 09:45:32.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98601BC0-814A-11DB-A6BA-E9FC3DBFAFAB','jbossesb','JBoss ESB User','2006-12-01 09:45:32.171000000','2006-12-01 09:45:32.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9863D2A0-8105-11DB-92A0-EA55F095327E','jbossesb','JBoss ESB User','2006-12-01 01:31:36.906000000','2006-12-01 01:31:36.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:986E27E0-817E-11DB-A7E0-A5D6082A0575','jbossesb','JBoss ESB User','2006-12-01 15:57:46.780000000','2006-12-01 15:57:46.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:987EC9B0-817E-11DB-89B0-DE3F9F061F8F','jbossesb','JBoss ESB User','2006-12-01 15:57:46.203000000','2006-12-01 15:57:46.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98805B50-8105-11DB-9B50-E554716AD9FC','jbossesb','JBoss ESB User','2006-12-01 01:31:37.109000000','2006-12-01 01:31:37.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:988C4230-8105-11DB-8230-C40EB198B571','jbossesb','JBoss ESB User','2006-12-01 01:31:37.218000000','2006-12-01 01:31:37.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:989A9A10-8105-11DB-9A10-ACCBCA8E2829','jbossesb','JBoss ESB User','2006-12-01 01:31:37.281000000','2006-12-01 01:31:37.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98CC8670-817C-11DB-8670-CD67C7576BC3','jbossesb','JBoss ESB User','2006-12-01 15:43:27.734000000','2006-12-01 15:43:27.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98D96CD0-817E-11DB-ACD0-85A028BC3863','jbossesb','JBoss ESB User','2006-12-01 15:57:46.781000000','2006-12-01 15:57:46.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98E45430-817C-11DB-9430-D811D8B9216C','jbossesb','JBoss ESB User','2006-12-01 15:43:27.875000000','2006-12-01 15:43:27.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98E553B0-817E-11DB-93B0-9A9DC27C289E','jbossesb','JBoss ESB User','2006-12-01 15:57:46.859000000','2006-12-01 15:57:46.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:98FBDF60-8172-11DB-B8A9-BF5255C96FEE','jbossesb','JBoss ESB User','2006-12-01 14:31:53.620000000','2006-12-01 14:31:53.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9905BEE0-817C-11DB-BEE0-805267FF298A','jbossesb','JBoss ESB User','2006-12-01 15:43:28.780000000','2006-12-01 15:43:28.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9918D1B0-817C-11DB-91B0-D1FD4385713B','jbossesb','JBoss ESB User','2006-12-01 15:43:28.234000000','2006-12-01 15:43:28.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:991B0020-8172-11DB-B8A9-A54FE232EFA3','jbossesb','JBoss ESB User','2006-12-01 14:31:53.265000000','2006-12-01 14:31:53.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99247600-8172-11DB-B8A9-FA98F88C5BDC','jbossesb','JBoss ESB User','2006-12-01 14:31:53.343000000','2006-12-01 14:31:53.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:992D3F80-861B-11DB-BF80-E8CC6A27C0C2','jbossesb','JBoss ESB User','2006-12-07 12:51:42.984000000','2006-12-07 12:51:43.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:992D63C0-817F-11DB-A3C0-896CC92A911E','jbossesb','JBoss ESB User','2006-12-01 16:04:56.828000000','2006-12-01 16:04:56.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99305CE0-8172-11DB-B8A9-9A9CD6B18130','jbossesb','JBoss ESB User','2006-12-01 14:31:53.406000000','2006-12-01 14:31:53.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99346B70-861B-11DB-AB70-B4495772BF58','jbossesb','JBoss ESB User','2006-12-07 12:51:43.150000000','2006-12-07 12:51:43.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99392660-861B-11DB-A660-FBCC3A0F0C2E','jbossesb','JBoss ESB User','2006-12-07 12:51:43.460000000','2006-12-07 12:51:43.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:993E0860-861B-11DB-8860-E99FAF3BDD39','jbossesb','JBoss ESB User','2006-12-07 12:51:43.780000000','2006-12-07 12:51:43.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99453450-861B-11DB-B450-F1195BE55C88','jbossesb','JBoss ESB User','2006-12-07 12:51:43.156000000','2006-12-07 12:51:43.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:995D0210-861B-11DB-8210-B272BE76E79E','jbossesb','JBoss ESB User','2006-12-07 12:51:43.296000000','2006-12-07 12:51:43.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9961BD00-861B-11DB-BD00-98ECFB348FA5','jbossesb','JBoss ESB User','2006-12-07 12:51:43.312000000','2006-12-07 12:51:43.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:996DA3E0-861B-11DB-A3E0-C4DE33CB6B17','jbossesb','JBoss ESB User','2006-12-07 12:51:43.390000000','2006-12-07 12:51:43.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99725ED0-861B-11DB-9ED0-F712EDAED9E1','jbossesb','JBoss ESB User','2006-12-07 12:51:43.421000000','2006-12-07 12:51:43.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99798AC0-861B-11DB-8AC0-AB370A06DAF5','jbossesb','JBoss ESB User','2006-12-07 12:51:43.468000000','2006-12-07 12:51:43.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99A44D00-8175-11DB-AE84-941D11802C05','jbossesb','JBoss ESB User','2006-12-01 14:53:22.640000000','2006-12-01 14:53:22.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99B9D0D0-8175-11DB-AE84-BDE5B0F7046A','jbossesb','JBoss ESB User','2006-12-01 14:53:22.796000000','2006-12-01 14:53:22.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99CCE3A0-8175-11DB-AE84-F0AD1EF0243E','jbossesb','JBoss ESB User','2006-12-01 14:53:22.937000000','2006-12-01 14:53:22.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99D8CA80-8175-11DB-AE84-94AB7B823630','jbossesb','JBoss ESB User','2006-12-01 14:53:23.0','2006-12-01 14:53:23.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99F6F8C0-80E4-11DB-B8C0-D707FF09EB54','jbossesb','JBoss ESB User','2006-11-30 21:35:26.171000000','2006-11-30 21:35:26.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:99F806C0-817F-11DB-86C0-E26B6CAC5F9A','jbossesb','JBoss ESB User','2006-12-01 16:04:58.171000000','2006-12-01 16:04:58.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A1AF0B0-8182-11DB-AB1E-AE306204E9EC','jbossesb','JBoss ESB User','2006-12-01 16:26:26.890000000','2006-12-01 16:26:26.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A1D1E60-80E4-11DB-9E60-F014F4DA1509','jbossesb','JBoss ESB User','2006-11-30 21:35:26.453000000','2006-11-30 21:35:26.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A3C1810-80E4-11DB-9810-B7E122952980','jbossesb','JBoss ESB User','2006-11-30 21:35:26.625000000','2006-11-30 21:35:26.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A3EA550-8182-11DB-AB1E-EF3F7B5F300B','jbossesb','JBoss ESB User','2006-12-01 16:26:27.140000000','2006-12-01 16:26:27.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A429DF0-8177-11DB-9DF0-88A4ADC0D7EA','jbossesb','JBoss ESB User','2006-12-01 15:07:42.687000000','2006-12-01 15:07:42.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A448E70-80E2-11DB-8E70-E6CC5CC0A92F','jbossesb','JBoss ESB User','2006-11-30 21:21:07.703000000','2006-11-30 21:21:07.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A519BE0-80E4-11DB-9BE0-FA8C1C714220','jbossesb','JBoss ESB User','2006-11-30 21:35:26.812000000','2006-11-30 21:35:26.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A51B820-8182-11DB-AB1E-EF44F83D7F5E','jbossesb','JBoss ESB User','2006-12-01 16:26:27.234000000','2006-12-01 16:26:27.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A5C1FC0-817F-11DB-9FC0-9E0304ABB624','jbossesb','JBoss ESB User','2006-12-01 16:04:58.828000000','2006-12-01 16:04:58.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A6259F0-8182-11DB-AB1E-8330612CCF61','jbossesb','JBoss ESB User','2006-12-01 16:26:27.343000000','2006-12-01 16:26:27.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A65CF10-8103-11DB-BD3E-B7828B4C5489','jbossesb','JBoss ESB User','2006-12-01 01:17:21.296000000','2006-12-01 01:17:21.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A6A77A0-817F-11DB-B7A0-FE987AAABDBF','jbossesb','JBoss ESB User','2006-12-01 16:04:58.906000000','2006-12-01 16:04:58.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A6B3490-8177-11DB-B490-A149004F54E3','jbossesb','JBoss ESB User','2006-12-01 15:07:42.937000000','2006-12-01 15:07:42.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A8739C0-8103-11DB-BD3E-BC6D7A588875','jbossesb','JBoss ESB User','2006-12-01 01:17:21.515000000','2006-12-01 01:17:21.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A8A2E40-8177-11DB-AE40-845FB03CE8BC','jbossesb','JBoss ESB User','2006-12-01 15:07:43.156000000','2006-12-01 15:07:43.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A934AB0-80E2-11DB-8AB0-BC67D17DCA60','jbossesb','JBoss ESB User','2006-11-30 21:21:08.187000000','2006-11-30 21:21:08.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9A9D4110-8177-11DB-8110-DB5F296812F8','jbossesb','JBoss ESB User','2006-12-01 15:07:43.281000000','2006-12-01 15:07:43.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9AA63370-8103-11DB-BD3E-AB357B7CFCE8','jbossesb','JBoss ESB User','2006-12-01 01:17:21.750000000','2006-12-01 01:17:21.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9AB94640-8103-11DB-BD3E-A2D772FE8201','jbossesb','JBoss ESB User','2006-12-01 01:17:21.828000000','2006-12-01 01:17:21.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9AD193C0-8104-11DB-93C0-93A4DD1837E9','jbossesb','JBoss ESB User','2006-12-01 01:24:31.500000000','2006-12-01 01:24:31.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9AF08D70-8104-11DB-8D70-BEF63BC3E34F','jbossesb','JBoss ESB User','2006-12-01 01:24:31.687000000','2006-12-01 01:24:31.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9B0ACC30-8104-11DB-8C30-B9B5145573D5','jbossesb','JBoss ESB User','2006-12-01 01:24:31.890000000','2006-12-01 01:24:31.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9B16B310-8104-11DB-B310-889D8ED3AD99','jbossesb','JBoss ESB User','2006-12-01 01:24:31.937000000','2006-12-01 01:24:31.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9B6D8300-816F-11DB-A4E4-D8CC58AD8B91','jbossesb','JBoss ESB User','2006-12-01 14:10:28.671000000','2006-12-01 14:10:28.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9B9137A0-816F-11DB-A4E4-C8F6D429C5FA','jbossesb','JBoss ESB User','2006-12-01 14:10:28.906000000','2006-12-01 14:10:28.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BBA2160-861A-11DB-A160-BEC16AF319CB','jbossesb','JBoss ESB User','2006-12-07 12:44:37.750000000','2006-12-07 12:44:37.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BBEDC50-861A-11DB-9C50-A3DEB24523B7','jbossesb','JBoss ESB User','2006-12-07 12:44:37.796000000','2006-12-07 12:44:37.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BC60840-861A-11DB-8840-B36943EB42A1','jbossesb','JBoss ESB User','2006-12-07 12:44:37.828000000','2006-12-07 12:44:37.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BCAC330-861A-11DB-8330-C863AE64E0BE','jbossesb','JBoss ESB User','2006-12-07 12:44:37.890000000','2006-12-07 12:44:37.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BCC0BA0-814C-11DB-A6BA-F856104B54C8','jbossesb','JBoss ESB User','2006-12-01 09:59:56.937000000','2006-12-01 09:59:56.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BD1EF20-861A-11DB-AF20-A62AAB8B8596','jbossesb','JBoss ESB User','2006-12-07 12:44:37.921000000','2006-12-07 12:44:37.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BDCD480-814C-11DB-A6BA-C82889723249','jbossesb','JBoss ESB User','2006-12-01 09:59:57.0','2006-12-01 09:59:57.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BDD82E0-816F-11DB-A4E4-82BBB53284B4','jbossesb','JBoss ESB User','2006-12-01 14:10:29.406000000','2006-12-01 14:10:29.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BE18F70-814C-11DB-A6BA-96E5D1AF1D1F','jbossesb','JBoss ESB User','2006-12-01 09:59:57.460000000','2006-12-01 09:59:57.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BE8BB60-814C-11DB-A6BA-EF975B070D67','jbossesb','JBoss ESB User','2006-12-01 09:59:57.930000000','2006-12-01 09:59:57.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BEE77D0-861A-11DB-B7D0-B959DB41E6CA','jbossesb','JBoss ESB User','2006-12-07 12:44:38.109000000','2006-12-07 12:44:38.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BF095B0-816F-11DB-A4E4-AB749F2586CF','jbossesb','JBoss ESB User','2006-12-01 14:10:29.531000000','2006-12-01 14:10:29.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BF359D0-861A-11DB-99D0-AA83235EACBC','jbossesb','JBoss ESB User','2006-12-07 12:44:38.125000000','2006-12-07 12:44:38.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9BF814C0-861A-11DB-94C0-BACE8D662381','jbossesb','JBoss ESB User','2006-12-07 12:44:38.187000000','2006-12-07 12:44:38.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C018AA0-861A-11DB-8AA0-AE61CF837702','jbossesb','JBoss ESB User','2006-12-07 12:44:38.218000000','2006-12-07 12:44:38.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C0328C0-816E-11DB-A4E4-E47BBCD3D5A8','jbossesb','JBoss ESB User','2006-12-01 14:03:20.156000000','2006-12-01 14:03:20.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C066CA0-861A-11DB-ACA0-FE0C86B1FADA','jbossesb','JBoss ESB User','2006-12-07 12:44:38.250000000','2006-12-07 12:44:38.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C163B90-816E-11DB-A4E4-9503A9D1FE32','jbossesb','JBoss ESB User','2006-12-01 14:03:20.359000000','2006-12-01 14:03:20.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C616870-861B-11DB-A870-AB1B7AF5CF14','jbossesb','JBoss ESB User','2006-12-07 12:51:48.375000000','2006-12-07 12:51:48.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C6C23C0-816E-11DB-A4E4-A9D12E2921C4','jbossesb','JBoss ESB User','2006-12-01 14:03:20.843000000','2006-12-01 14:03:20.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C780AA0-816E-11DB-A4E4-89CCD2126B13','jbossesb','JBoss ESB User','2006-12-01 14:03:20.968000000','2006-12-01 14:03:20.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C825360-861A-11DB-9360-F49E3114F532','jbossesb','JBoss ESB User','2006-12-07 12:44:39.780000000','2006-12-07 12:44:39.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9C8AFBC0-8181-11DB-AB1E-8CDAC7534409','jbossesb','JBoss ESB User','2006-12-01 16:19:21.500000000','2006-12-01 16:19:21.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9CAC6670-8181-11DB-AB1E-994CEF4A6CEE','jbossesb','JBoss ESB User','2006-12-01 16:19:21.687000000','2006-12-01 16:19:21.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9CB84D50-8181-11DB-AB1E-A603E8A4C008','jbossesb','JBoss ESB User','2006-12-01 16:19:21.765000000','2006-12-01 16:19:21.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9CC91630-8181-11DB-AB1E-D53A24F4CA26','jbossesb','JBoss ESB User','2006-12-01 16:19:21.875000000','2006-12-01 16:19:21.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9CCF1E60-861B-11DB-9E60-A1ADF7BF4B25','jbossesb','JBoss ESB User','2006-12-07 12:51:49.780000000','2006-12-07 12:51:49.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9D26D0C0-861A-11DB-90C0-E22E0FCD9C6F','jbossesb','JBoss ESB User','2006-12-07 12:44:40.156000000','2006-12-07 12:44:40.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E1BB910-860F-11DB-B910-A091EE5ED149','jbossesb','JBoss ESB User','2006-12-07 11:25:57.281000000','2006-12-07 11:25:57.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E207400-860F-11DB-B400-B3ED12C6E8A8','jbossesb','JBoss ESB User','2006-12-07 11:25:57.328000000','2006-12-07 11:25:57.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E27E280-8619-11DB-A280-B623C357AEBB','jbossesb','JBoss ESB User','2006-12-07 12:37:32.328000000','2006-12-07 12:37:32.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E2A10F0-860F-11DB-90F0-9BA67B19706F','jbossesb','JBoss ESB User','2006-12-07 11:25:57.390000000','2006-12-07 11:25:57.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E2C9D70-8619-11DB-9D70-E4EE4BD299EF','jbossesb','JBoss ESB User','2006-12-07 12:37:32.359000000','2006-12-07 12:37:32.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E33C960-8619-11DB-8960-E7CE92FEDF72','jbossesb','JBoss ESB User','2006-12-07 12:37:32.437000000','2006-12-07 12:37:32.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E3AF550-8619-11DB-B550-98543EAB172A','jbossesb','JBoss ESB User','2006-12-07 12:37:32.468000000','2006-12-07 12:37:32.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E3D23C0-860F-11DB-A3C0-F7ACD4F653FC','jbossesb','JBoss ESB User','2006-12-07 11:25:57.500000000','2006-12-07 11:25:57.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E41DEB0-860F-11DB-9EB0-82AC0C1050CF','jbossesb','JBoss ESB User','2006-12-07 11:25:57.531000000','2006-12-07 11:25:57.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E422140-8619-11DB-A140-88971962C81B','jbossesb','JBoss ESB User','2006-12-07 12:37:32.515000000','2006-12-07 12:37:32.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E4428A0-860F-11DB-A8A0-FDB7327EEE86','jbossesb','JBoss ESB User','2006-12-07 11:25:57.546000000','2006-12-07 11:25:57.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E5E18E0-80E3-11DB-98E0-B0FF756A375E','jbossesb','JBoss ESB User','2006-11-30 21:28:24.780000000','2006-11-30 21:28:24.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E5EA9F0-8619-11DB-A9F0-C7FE5BB8BC1F','jbossesb','JBoss ESB User','2006-12-07 12:37:32.703000000','2006-12-07 12:37:32.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E6364E0-8619-11DB-A4E0-E1069B7D0A7C','jbossesb','JBoss ESB User','2006-12-07 12:37:32.718000000','2006-12-07 12:37:32.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E6A90D0-8619-11DB-90D0-9D03212BD8D5','jbossesb','JBoss ESB User','2006-12-07 12:37:32.765000000','2006-12-07 12:37:32.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E6D01D0-8619-11DB-81D0-F71B8BF0238C','jbossesb','JBoss ESB User','2006-12-07 12:37:32.796000000','2006-12-07 12:37:32.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9E71BCC0-8619-11DB-BCC0-DC7D9920CBF7','jbossesb','JBoss ESB User','2006-12-07 12:37:32.828000000','2006-12-07 12:37:32.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9EA583B0-8147-11DB-A69A-8884E998DD56','jbossesb','JBoss ESB User','2006-12-01 09:24:14.203000000','2006-12-01 09:24:14.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9EB62580-8147-11DB-A69A-E10C4E429137','jbossesb','JBoss ESB User','2006-12-01 09:24:14.312000000','2006-12-01 09:24:14.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9EC47D60-8147-11DB-A69A-9F62A80FBA68','jbossesb','JBoss ESB User','2006-12-01 09:24:14.390000000','2006-12-01 09:24:14.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9ECBA950-8147-11DB-A69A-9E886D42A586','jbossesb','JBoss ESB User','2006-12-01 09:24:14.453000000','2006-12-01 09:24:14.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9EED3980-80E3-11DB-B980-D03F643A9261','jbossesb','JBoss ESB User','2006-11-30 21:28:24.984000000','2006-11-30 21:28:25.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F050740-80E3-11DB-8740-AD6611835294','jbossesb','JBoss ESB User','2006-11-30 21:28:25.171000000','2006-11-30 21:28:25.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F1A8B10-80E3-11DB-8B10-B70575C0CA23','jbossesb','JBoss ESB User','2006-11-30 21:28:25.281000000','2006-11-30 21:28:25.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F551C70-817A-11DB-9C70-D0E32A9C1847','jbossesb','JBoss ESB User','2006-12-01 15:29:19.703000000','2006-12-01 15:29:19.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F6E50C0-860F-11DB-90C0-D115499325F1','jbossesb','JBoss ESB User','2006-12-07 11:25:59.500000000','2006-12-07 11:25:59.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F7B4210-817A-11DB-8210-E8A466CB175F','jbossesb','JBoss ESB User','2006-12-01 15:29:19.921000000','2006-12-01 15:29:19.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F886870-860F-11DB-A870-9D7AECD4CE7E','jbossesb','JBoss ESB User','2006-12-07 11:25:59.671000000','2006-12-07 11:25:59.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F8C0AF0-817A-11DB-8AF0-93EEA99C39E6','jbossesb','JBoss ESB User','2006-12-01 15:29:20.310000000','2006-12-01 15:29:20.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F8C89F0-80E7-11DB-89F0-AE967321D605','jbossesb','JBoss ESB User','2006-11-30 21:57:04.310000000','2006-11-30 21:57:04.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F96D380-8563-11DB-A4E1-BF5101A0872F','jbossesb','JBoss ESB User','2006-12-06 14:54:46.343000000','2006-12-06 14:54:46.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9F9A62D0-817A-11DB-A2D0-E61CC5CE7A9A','jbossesb','JBoss ESB User','2006-12-01 15:29:20.125000000','2006-12-01 15:29:20.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9FB065A0-80E7-11DB-A5A0-DF15703EF0F4','jbossesb','JBoss ESB User','2006-11-30 21:57:04.265000000','2006-11-30 21:57:04.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9FBC4C80-80E7-11DB-8C80-FE3ECF202534','jbossesb','JBoss ESB User','2006-11-30 21:57:04.343000000','2006-11-30 21:57:04.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9FCA7D50-80E7-11DB-BD50-F196AD68D0F8','jbossesb','JBoss ESB User','2006-11-30 21:57:04.421000000','2006-11-30 21:57:04.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9FCD9AF0-8563-11DB-A4E1-84B47D44053A','jbossesb','JBoss ESB User','2006-12-06 14:54:46.703000000','2006-12-06 14:54:46.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9FDBF2D0-8563-11DB-A4E1-F791791FF3D9','jbossesb','JBoss ESB User','2006-12-06 14:54:46.781000000','2006-12-06 14:54:46.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:9FE31EC0-8563-11DB-A4E1-F84F421AE5C0','jbossesb','JBoss ESB User','2006-12-06 14:54:46.843000000','2006-12-06 14:54:46.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A01DCF00-814B-11DB-A6BA-C8FDF37E8234','jbossesb','JBoss ESB User','2006-12-01 09:52:54.656000000','2006-12-01 09:52:54.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0380DC0-814B-11DB-A6BA-ADAB98D8FD88','jbossesb','JBoss ESB User','2006-12-01 09:52:54.812000000','2006-12-01 09:52:54.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A03F39B0-814B-11DB-A6BA-C57BD8C5BABD','jbossesb','JBoss ESB User','2006-12-01 09:52:54.875000000','2006-12-01 09:52:54.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A04665A0-814B-11DB-A6BA-C614083BE517','jbossesb','JBoss ESB User','2006-12-01 09:52:54.906000000','2006-12-01 09:52:54.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A07D9350-860E-11DB-9350-C8F0D5DEC27E','jbossesb','JBoss ESB User','2006-12-07 11:18:51.781000000','2006-12-07 11:18:51.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A07FDD40-860E-11DB-9D40-8526A0EA0779','jbossesb','JBoss ESB User','2006-12-07 11:18:51.796000000','2006-12-07 11:18:51.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0824E40-860E-11DB-8E40-C091E735242F','jbossesb','JBoss ESB User','2006-12-07 11:18:51.828000000','2006-12-07 11:18:51.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A08C75E0-8178-11DB-A966-EFD04711E8F1','jbossesb','JBoss ESB User','2006-12-01 15:15:02.781000000','2006-12-01 15:15:02.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A090A620-860E-11DB-A620-F3F2FFFA90FA','jbossesb','JBoss ESB User','2006-12-07 11:18:51.906000000','2006-12-07 11:18:51.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A090E8B0-8618-11DB-A8B0-FAED1E3E9061','jbossesb','JBoss ESB User','2006-12-07 12:30:26.890000000','2006-12-07 12:30:26.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A092F010-860E-11DB-B010-A655CC1B9C4D','jbossesb','JBoss ESB User','2006-12-07 11:18:51.937000000','2006-12-07 11:18:51.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A09A1C00-860E-11DB-9C00-CA8260CC19BF','jbossesb','JBoss ESB User','2006-12-07 11:18:51.984000000','2006-12-07 11:18:51.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A09A5E90-8618-11DB-9E90-F46BA188BBA0','jbossesb','JBoss ESB User','2006-12-07 12:30:26.968000000','2006-12-07 12:30:27.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0A147F0-860E-11DB-87F0-F3E5168DB2E4','jbossesb','JBoss ESB User','2006-12-07 11:18:52.150000000','2006-12-07 11:18:52.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0A64570-8618-11DB-8570-AFFB3568ADE9','jbossesb','JBoss ESB User','2006-12-07 12:30:27.150000000','2006-12-07 12:30:27.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0AD7160-8618-11DB-B160-E24B7F83A248','jbossesb','JBoss ESB User','2006-12-07 12:30:27.780000000','2006-12-07 12:30:27.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0AF7060-861C-11DB-B060-E8ED9C083F4A','jbossesb','JBoss ESB User','2006-12-07 12:59:05.780000000','2006-12-07 12:59:05.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0AF9FD0-860E-11DB-9FD0-C37E1EBF0102','jbossesb','JBoss ESB User','2006-12-07 11:18:52.125000000','2006-12-07 11:18:52.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0B42B50-861C-11DB-AB50-BE535EC459D0','jbossesb','JBoss ESB User','2006-12-07 12:59:05.930000000','2006-12-07 12:59:05.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0B49D50-8618-11DB-9D50-CBFD5C0E2479','jbossesb','JBoss ESB User','2006-12-07 12:30:27.125000000','2006-12-07 12:30:27.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0B90D50-861C-11DB-8D50-919B1F375B4F','jbossesb','JBoss ESB User','2006-12-07 12:59:05.140000000','2006-12-07 12:59:05.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0C01230-861C-11DB-9230-86C293891575','jbossesb','JBoss ESB User','2006-12-07 12:59:05.171000000','2006-12-07 12:59:05.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0C4F430-861C-11DB-B430-9B589C154E43','jbossesb','JBoss ESB User','2006-12-07 12:59:05.203000000','2006-12-07 12:59:05.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0C73E20-861C-11DB-BE20-CDC8C390F3D7','jbossesb','JBoss ESB User','2006-12-07 12:59:05.218000000','2006-12-07 12:59:05.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0CEDC10-8618-11DB-9C10-94E75286BCDE','jbossesb','JBoss ESB User','2006-12-07 12:30:27.281000000','2006-12-07 12:30:27.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0D39700-8618-11DB-9700-B3D6FF2AC79B','jbossesb','JBoss ESB User','2006-12-07 12:30:27.328000000','2006-12-07 12:30:27.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0D67730-8178-11DB-A966-A4AC22C3908C','jbossesb','JBoss ESB User','2006-12-01 15:15:03.203000000','2006-12-01 15:15:03.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0DAC2F0-8618-11DB-82F0-D543CE1422E0','jbossesb','JBoss ESB User','2006-12-07 12:30:27.359000000','2006-12-07 12:30:27.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0E1EEE0-8618-11DB-AEE0-D8B298A16CEB','jbossesb','JBoss ESB User','2006-12-07 12:30:27.406000000','2006-12-07 12:30:27.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0E6A9D0-8618-11DB-A9D0-D7402D635EEA','jbossesb','JBoss ESB User','2006-12-07 12:30:27.453000000','2006-12-07 12:30:27.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0ED63C0-861C-11DB-A3C0-B47B18EB79A1','jbossesb','JBoss ESB User','2006-12-07 12:59:05.468000000','2006-12-07 12:59:05.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0F245C0-861C-11DB-85C0-F7ED02807B25','jbossesb','JBoss ESB User','2006-12-07 12:59:05.500000000','2006-12-07 12:59:05.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0F31070-8619-11DB-9070-DA7453F8127C','jbossesb','JBoss ESB User','2006-12-07 12:37:37.460000000','2006-12-07 12:37:37.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0F94AA0-861C-11DB-8AA0-8C2867D3059A','jbossesb','JBoss ESB User','2006-12-07 12:59:05.546000000','2006-12-07 12:59:05.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0FBBBA0-861C-11DB-BBA0-F6DD29868351','jbossesb','JBoss ESB User','2006-12-07 12:59:05.562000000','2006-12-07 12:59:05.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A0FC2DA0-8618-11DB-ADA0-AA8E2ECB5849','jbossesb','JBoss ESB User','2006-12-07 12:30:27.578000000','2006-12-07 12:30:27.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A1007690-861C-11DB-B690-C4655FFD6379','jbossesb','JBoss ESB User','2006-12-07 12:59:05.593000000','2006-12-07 12:59:05.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A1055890-861C-11DB-9890-FBE38EFBF2BE','jbossesb','JBoss ESB User','2006-12-07 12:59:05.671000000','2006-12-07 12:59:05.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A162B7A0-8618-11DB-B7A0-D5F2D6E22671','jbossesb','JBoss ESB User','2006-12-07 12:30:28.265000000','2006-12-07 12:30:28.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A19543E0-8619-11DB-83E0-C70E0B45F545','jbossesb','JBoss ESB User','2006-12-07 12:37:38.109000000','2006-12-07 12:37:38.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A1D199B0-8170-11DB-AF51-DC9CDDE0EFAD','jbossesb','JBoss ESB User','2006-12-01 14:17:48.875000000','2006-12-01 14:17:48.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A203A630-8170-11DB-AF51-B796728BBAFE','jbossesb','JBoss ESB User','2006-12-01 14:17:49.218000000','2006-12-01 14:17:49.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A2229FE0-8170-11DB-AF51-CC32B934017B','jbossesb','JBoss ESB User','2006-12-01 14:17:49.406000000','2006-12-01 14:17:49.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A222F4D0-80FE-11DB-BEA2-9BA5623EE479','jbossesb','JBoss ESB User','2006-12-01 00:41:46.796000000','2006-12-01 00:41:46.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A23A6DA0-8170-11DB-AF51-D2CEB0D672BC','jbossesb','JBoss ESB User','2006-12-01 14:17:49.578000000','2006-12-01 14:17:49.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A23F7D80-80FE-11DB-BEA2-DD9D97666D33','jbossesb','JBoss ESB User','2006-12-01 00:41:46.984000000','2006-12-01 00:41:47.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A2550150-80FE-11DB-BEA2-E5414F86A400','jbossesb','JBoss ESB User','2006-12-01 00:41:47.125000000','2006-12-01 00:41:47.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A26CCF10-80FE-11DB-BEA2-DA37DCE5589D','jbossesb','JBoss ESB User','2006-12-01 00:41:47.281000000','2006-12-01 00:41:47.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A2DF1F10-80E1-11DB-9F10-985100A24FB4','jbossesb','JBoss ESB User','2006-11-30 21:14:12.640000000','2006-11-30 21:14:12.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A2F76C90-80E2-11DB-AC90-A44C44181823','jbossesb','JBoss ESB User','2006-11-30 21:21:22.296000000','2006-11-30 21:21:22.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A2F95DD0-80E1-11DB-9DD0-DC303E1DB3EC','jbossesb','JBoss ESB User','2006-11-30 21:14:12.796000000','2006-11-30 21:14:12.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A311AB50-80E2-11DB-AB50-AAC3A580D080','jbossesb','JBoss ESB User','2006-11-30 21:21:22.453000000','2006-11-30 21:21:22.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A31758C0-8173-11DB-B8A9-EF385454ED71','jbossesb','JBoss ESB User','2006-12-01 14:39:19.515000000','2006-12-01 14:39:19.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A3299820-861C-11DB-9820-E999F57D9D2D','jbossesb','JBoss ESB User','2006-12-07 12:59:09.218000000','2006-12-07 12:59:09.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A32CB580-8173-11DB-B8A9-AC9962AB5AEA','jbossesb','JBoss ESB User','2006-12-01 14:39:19.656000000','2006-12-01 14:39:19.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A33B0D60-8173-11DB-B8A9-C0CDDCF35F95','jbossesb','JBoss ESB User','2006-12-01 14:39:19.781000000','2006-12-01 14:39:19.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A3933F80-8173-11DB-B8A9-B89CE65D8A13','jbossesb','JBoss ESB User','2006-12-01 14:39:20.328000000','2006-12-01 14:39:20.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A409BEF0-861C-11DB-BEF0-8CB36A8022FA','jbossesb','JBoss ESB User','2006-12-07 12:59:10.687000000','2006-12-07 12:59:10.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A41694C0-817D-11DB-94C0-81C1319B4F3F','jbossesb','JBoss ESB User','2006-12-01 15:50:56.156000000','2006-12-01 15:50:56.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A4319F00-814A-11DB-A6BA-CF32AB4AD752','jbossesb','JBoss ESB User','2006-12-01 09:45:52.0','2006-12-01 09:45:52.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A437FF70-817D-11DB-BF70-8EC24BF0C468','jbossesb','JBoss ESB User','2006-12-01 15:50:56.375000000','2006-12-01 15:50:56.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A443E650-817D-11DB-A650-8C9C09695F5A','jbossesb','JBoss ESB User','2006-12-01 15:50:56.453000000','2006-12-01 15:50:56.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A4496CC0-814A-11DB-A6BA-8333A8F925E6','jbossesb','JBoss ESB User','2006-12-01 09:45:52.140000000','2006-12-01 09:45:52.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A44E0300-817E-11DB-8300-8F9365FF3A6B','jbossesb','JBoss ESB User','2006-12-01 15:58:06.0','2006-12-01 15:58:06.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A457C4A0-814A-11DB-A6BA-AEF75A8E8CC5','jbossesb','JBoss ESB User','2006-12-01 09:45:52.234000000','2006-12-01 09:45:52.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A45EF090-814A-11DB-A6BA-9CA98B01129C','jbossesb','JBoss ESB User','2006-12-01 09:45:52.296000000','2006-12-01 09:45:52.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A470FF50-8105-11DB-BF50-88391B77898C','jbossesb','JBoss ESB User','2006-12-01 01:31:57.125000000','2006-12-01 01:31:57.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A47583A0-861D-11DB-B1A1-A24BD41BD379','jbossesb','JBoss ESB User','2006-12-07 13:06:21.265000000','2006-12-07 13:06:21.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A48FF900-8105-11DB-B900-DBBEBB33722A','jbossesb','JBoss ESB User','2006-12-01 01:31:57.343000000','2006-12-01 01:31:57.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A492A290-817D-11DB-A290-E07F9F776B57','jbossesb','JBoss ESB User','2006-12-01 15:50:56.984000000','2006-12-01 15:50:57.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A4A09AD0-8105-11DB-9AD0-80BFC333FED7','jbossesb','JBoss ESB User','2006-12-01 01:31:57.453000000','2006-12-01 01:31:57.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A4AC81B0-8105-11DB-81B0-B088A5D19BB3','jbossesb','JBoss ESB User','2006-12-01 01:31:57.531000000','2006-12-01 01:31:58.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A4C073E0-817E-11DB-B3E0-86D2E5279A7A','jbossesb','JBoss ESB User','2006-12-01 15:58:06.750000000','2006-12-01 15:58:06.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A4CEA4B0-817E-11DB-A4B0-CF3A8A380674','jbossesb','JBoss ESB User','2006-12-01 15:58:06.843000000','2006-12-01 15:58:07.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A4FFB1B0-817C-11DB-B1B0-D0FA8D589F17','jbossesb','JBoss ESB User','2006-12-01 15:43:48.171000000','2006-12-01 15:43:48.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A50B7D10-8172-11DB-B8A9-A4BF4815D2E0','jbossesb','JBoss ESB User','2006-12-01 14:32:13.718000000','2006-12-01 14:32:13.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A519F070-817C-11DB-B070-DCA64B1B9E2A','jbossesb','JBoss ESB User','2006-12-01 15:43:48.343000000','2006-12-01 15:43:48.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5211C60-817C-11DB-9C60-D4B09366F092','jbossesb','JBoss ESB User','2006-12-01 15:43:48.406000000','2006-12-01 15:43:48.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5248CE0-817E-11DB-8CE0-F48EC1FBE296','jbossesb','JBoss ESB User','2006-12-01 15:58:07.406000000','2006-12-01 15:58:07.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A529C790-817F-11DB-8790-CD38C5D51330','jbossesb','JBoss ESB User','2006-12-01 16:05:16.984000000','2006-12-01 16:05:17.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A52D0340-817C-11DB-8340-B863D0FA53A3','jbossesb','JBoss ESB User','2006-12-01 15:43:48.468000000','2006-12-01 15:43:48.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5440920-861B-11DB-8920-B8112042D9AD','jbossesb','JBoss ESB User','2006-12-07 12:52:03.265000000','2006-12-07 12:52:03.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A548C410-861B-11DB-8410-D996FB98762B','jbossesb','JBoss ESB User','2006-12-07 12:52:03.312000000','2006-12-07 12:52:03.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A54FF000-861B-11DB-B000-BBCBD4FDECFC','jbossesb','JBoss ESB User','2006-12-07 12:52:03.328000000','2006-12-07 12:52:03.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A554AAF0-861B-11DB-AAF0-C7671ABBDF9A','jbossesb','JBoss ESB User','2006-12-07 12:52:03.375000000','2006-12-07 12:52:03.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A55965E0-861B-11DB-A5E0-83303DC22FD4','jbossesb','JBoss ESB User','2006-12-07 12:52:03.390000000','2006-12-07 12:52:03.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5686A20-8172-11DB-B8A9-E12F36989153','jbossesb','JBoss ESB User','2006-12-01 14:32:13.937000000','2006-12-01 14:32:13.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A56EE9B0-861B-11DB-A9B0-90A0FC5D1673','jbossesb','JBoss ESB User','2006-12-07 12:52:03.531000000','2006-12-07 12:52:03.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A573A4A0-861B-11DB-A4A0-90D64C469010','jbossesb','JBoss ESB User','2006-12-07 12:52:03.562000000','2006-12-07 12:52:03.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A57615A0-861B-11DB-95A0-84866127137B','jbossesb','JBoss ESB User','2006-12-07 12:52:03.593000000','2006-12-07 12:52:03.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A57AD090-861B-11DB-9090-FF97388F6CDB','jbossesb','JBoss ESB User','2006-12-07 12:52:03.625000000','2006-12-07 12:52:03.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A57B7CF0-8172-11DB-B8A9-9BD94B5BE629','jbossesb','JBoss ESB User','2006-12-01 14:32:14.150000000','2006-12-01 14:32:14.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A57F8B80-861B-11DB-8B80-A725CB964780','jbossesb','JBoss ESB User','2006-12-07 12:52:03.640000000','2006-12-07 12:52:03.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A582A8E0-8172-11DB-B8A9-ACB6AA433D83','jbossesb','JBoss ESB User','2006-12-01 14:32:14.620000000','2006-12-01 14:32:14.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5950C80-817F-11DB-8C80-D3EF201EEC92','jbossesb','JBoss ESB User','2006-12-01 16:05:17.640000000','2006-12-01 16:05:17.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5AA9050-817F-11DB-9050-E6B0C40D68ED','jbossesb','JBoss ESB User','2006-12-01 16:05:17.796000000','2006-12-01 16:05:17.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5BD6090-8175-11DB-AE84-A88A74F0BACB','jbossesb','JBoss ESB User','2006-12-01 14:53:42.968000000','2006-12-01 14:53:42.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5BDA320-817F-11DB-A320-BB3BA75EE0AB','jbossesb','JBoss ESB User','2006-12-01 16:05:17.937000000','2006-12-01 16:05:18.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5C40C00-80E0-11DB-8C00-B760B758C584','jbossesb','JBoss ESB User','2006-11-30 21:07:08.0','2006-11-30 21:07:08.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5D79F50-8175-11DB-AE84-91DB8480F660','jbossesb','JBoss ESB User','2006-12-01 14:53:43.125000000','2006-12-01 14:53:43.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5E305B0-80E0-11DB-85B0-FF2FB9716EF6','jbossesb','JBoss ESB User','2006-11-30 21:07:08.250000000','2006-11-30 21:07:08.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5F42800-8175-11DB-AE84-E2AB12E97E89','jbossesb','JBoss ESB User','2006-12-01 14:53:43.296000000','2006-12-01 14:53:43.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A5FB53F0-8175-11DB-AE84-C065185CD361','jbossesb','JBoss ESB User','2006-12-01 14:53:43.343000000','2006-12-01 14:53:43.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6042570-80E4-11DB-A570-ACCAB30D8512','jbossesb','JBoss ESB User','2006-11-30 21:35:46.375000000','2006-11-30 21:35:46.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A612C840-80E0-11DB-8840-F332373BB514','jbossesb','JBoss ESB User','2006-11-30 21:07:08.484000000','2006-11-30 21:07:08.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6256910-80E4-11DB-A910-9FE62BDB4E2F','jbossesb','JBoss ESB User','2006-11-30 21:35:46.625000000','2006-11-30 21:35:46.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6552BA0-80E4-11DB-ABA0-F34A32D0322D','jbossesb','JBoss ESB User','2006-11-30 21:35:46.906000000','2006-11-30 21:35:47.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A65BB180-8177-11DB-B180-93A5EB72DF7D','jbossesb','JBoss ESB User','2006-12-01 15:08:02.984000000','2006-12-01 15:08:03.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A65FE8F0-8103-11DB-BD3E-E2B5E1D2FCDE','jbossesb','JBoss ESB User','2006-12-01 01:17:41.390000000','2006-12-01 01:17:41.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A673A650-8177-11DB-A650-8CD05D38A66B','jbossesb','JBoss ESB User','2006-12-01 15:08:03.140000000','2006-12-01 15:08:03.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A67B5140-80E4-11DB-9140-BBF496F040D4','jbossesb','JBoss ESB User','2006-11-30 21:35:47.187000000','2006-11-30 21:35:47.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A67DDE80-8182-11DB-AB1E-E63435BAB783','jbossesb','JBoss ESB User','2006-12-01 16:26:47.687000000','2006-12-01 16:26:47.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6812C90-8103-11DB-BD3E-FA651C32CABD','jbossesb','JBoss ESB User','2006-12-01 01:17:41.640000000','2006-12-01 01:17:41.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A68B7410-8177-11DB-B410-AB58C0D9536D','jbossesb','JBoss ESB User','2006-12-01 15:08:03.296000000','2006-12-01 15:08:03.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A691F570-8103-11DB-BD3E-CF520E141846','jbossesb','JBoss ESB User','2006-12-01 01:17:41.718000000','2006-12-01 01:17:41.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A69CD830-8182-11DB-AB1E-DF6DDC423EDD','jbossesb','JBoss ESB User','2006-12-01 16:26:47.875000000','2006-12-01 16:26:47.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6A0D0D0-8177-11DB-90D0-C1C2A92EA960','jbossesb','JBoss ESB User','2006-12-01 15:08:03.437000000','2006-12-01 15:08:03.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6A260A0-861B-11DB-A0A0-94AFC3C4E6A8','jbossesb','JBoss ESB User','2006-12-07 12:52:05.546000000','2006-12-07 12:52:05.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6A29740-8103-11DB-BD3E-CFA656F8583E','jbossesb','JBoss ESB User','2006-12-01 01:17:41.812000000','2006-12-01 01:17:41.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6AD7A00-8182-11DB-AB1E-9372F411FE5A','jbossesb','JBoss ESB User','2006-12-01 16:26:47.984000000','2006-12-01 16:26:48.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6B960E0-8182-11DB-AB1E-8C8CDCDBBB34','jbossesb','JBoss ESB User','2006-12-01 16:26:48.620000000','2006-12-01 16:26:48.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6D22330-861B-11DB-A330-EE7EFBE49B54','jbossesb','JBoss ESB User','2006-12-07 12:52:05.875000000','2006-12-07 12:52:05.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A6F94850-861D-11DB-B1A1-AE83DF3297CA','jbossesb','JBoss ESB User','2006-12-07 13:06:25.109000000','2006-12-07 13:06:25.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7073000-8104-11DB-B000-FDC1B4BCEE1C','jbossesb','JBoss ESB User','2006-12-01 01:24:52.0','2006-12-01 01:24:52.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A723DFC0-8104-11DB-9FC0-AA4751A5D619','jbossesb','JBoss ESB User','2006-12-01 01:24:52.171000000','2006-12-01 01:24:52.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7348190-8104-11DB-8190-A9583925F252','jbossesb','JBoss ESB User','2006-12-01 01:24:52.296000000','2006-12-01 01:24:52.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7356950-816F-11DB-A4E4-A043FAC1C4AB','jbossesb','JBoss ESB User','2006-12-01 14:10:48.421000000','2006-12-01 14:10:48.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7900C70-816F-11DB-A4E4-817F70743480','jbossesb','JBoss ESB User','2006-12-01 14:10:49.310000000','2006-12-01 14:10:49.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A79BF350-816F-11DB-A4E4-C8BD01F78B35','jbossesb','JBoss ESB User','2006-12-01 14:10:49.930000000','2006-12-01 14:10:49.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7A4A880-8104-11DB-A880-DF2CE70B7C0B','jbossesb','JBoss ESB User','2006-12-01 01:24:53.150000000','2006-12-01 01:24:53.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7A7DA30-816F-11DB-A4E4-CF75B7331FD2','jbossesb','JBoss ESB User','2006-12-01 14:10:49.203000000','2006-12-01 14:10:49.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7B68530-861A-11DB-8530-8D76E2AA6CA4','jbossesb','JBoss ESB User','2006-12-07 12:44:57.859000000','2006-12-07 12:44:57.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7BB4020-861A-11DB-8020-A2840A9C3E50','jbossesb','JBoss ESB User','2006-12-07 12:44:57.890000000','2006-12-07 12:44:57.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7BFFB10-861A-11DB-BB10-DBD7AAAC9E62','jbossesb','JBoss ESB User','2006-12-07 12:44:57.937000000','2006-12-07 12:44:57.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7C72700-861A-11DB-A700-FA17219DF43E','jbossesb','JBoss ESB User','2006-12-07 12:44:57.984000000','2006-12-07 12:44:57.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7CE52F0-861A-11DB-92F0-B0FFD00549DE','jbossesb','JBoss ESB User','2006-12-07 12:44:58.150000000','2006-12-07 12:44:58.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7D20C60-814C-11DB-A6BA-DF3779353902','jbossesb','JBoss ESB User','2006-12-01 10:00:17.930000000','2006-12-01 10:00:17.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7DBA950-814C-11DB-A6BA-E9724EA400AD','jbossesb','JBoss ESB User','2006-12-01 10:00:17.125000000','2006-12-01 10:00:17.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7E06440-814C-11DB-A6BA-980B772C8DFC','jbossesb','JBoss ESB User','2006-12-01 10:00:17.171000000','2006-12-01 10:00:17.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7EFBDA0-861A-11DB-BDA0-E7BC613DEFF9','jbossesb','JBoss ESB User','2006-12-07 12:44:58.265000000','2006-12-07 12:44:58.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7F47890-861A-11DB-B890-E0D2364304B8','jbossesb','JBoss ESB User','2006-12-07 12:44:58.281000000','2006-12-07 12:44:58.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7F93380-861A-11DB-B380-AF98DD18CFC8','jbossesb','JBoss ESB User','2006-12-07 12:44:58.296000000','2006-12-07 12:44:58.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A7FE1580-861A-11DB-9580-FD05444E1697','jbossesb','JBoss ESB User','2006-12-07 12:44:58.328000000','2006-12-07 12:44:58.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A802D070-861A-11DB-9070-D3BD2E667EFC','jbossesb','JBoss ESB User','2006-12-07 12:44:58.390000000','2006-12-07 12:44:58.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A8236840-816E-11DB-A4E4-872879A6B82A','jbossesb','JBoss ESB User','2006-12-01 14:03:40.484000000','2006-12-01 14:03:40.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A8367B10-816E-11DB-A4E4-92F8576958FE','jbossesb','JBoss ESB User','2006-12-01 14:03:40.625000000','2006-12-01 14:03:40.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A844D2F0-816E-11DB-A4E4-8E8BA88FE8F9','jbossesb','JBoss ESB User','2006-12-01 14:03:40.703000000','2006-12-01 14:03:40.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A84E48D0-816E-11DB-A4E4-E4BCB0F2AAF2','jbossesb','JBoss ESB User','2006-12-01 14:03:40.781000000','2006-12-01 14:03:40.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A889D090-8181-11DB-AB1E-F021C422EFC1','jbossesb','JBoss ESB User','2006-12-01 16:19:41.656000000','2006-12-01 16:19:41.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A8AFF630-8181-11DB-AB1E-F298A8C471D9','jbossesb','JBoss ESB User','2006-12-01 16:19:41.843000000','2006-12-01 16:19:41.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A8BE4E10-8181-11DB-AB1E-DFE52FBE1251','jbossesb','JBoss ESB User','2006-12-01 16:19:41.953000000','2006-12-01 16:19:41.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A8CA34F0-8181-11DB-AB1E-8935E91BCCF5','jbossesb','JBoss ESB User','2006-12-01 16:19:42.150000000','2006-12-01 16:19:42.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:A91341F0-860D-11DB-B8CF-CFBE6D20644A','jbossesb','JBoss ESB User','2006-12-07 11:11:56.703000000','2006-12-07 11:11:56.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA166E30-861A-11DB-AE30-DC3A7B116905','jbossesb','JBoss ESB User','2006-12-07 12:45:01.875000000','2006-12-07 12:45:01.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA34CCA0-860F-11DB-8CA0-F26AECB5B819','jbossesb','JBoss ESB User','2006-12-07 11:26:17.593000000','2006-12-07 11:26:17.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA3BF890-860F-11DB-B890-8EB31F2C28C5','jbossesb','JBoss ESB User','2006-12-07 11:26:17.640000000','2006-12-07 11:26:17.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA40F610-8619-11DB-B610-ACD422125B9A','jbossesb','JBoss ESB User','2006-12-07 12:37:52.640000000','2006-12-07 12:37:52.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA42FD70-860F-11DB-BD70-BA6ED9F5D50A','jbossesb','JBoss ESB User','2006-12-07 11:26:17.671000000','2006-12-07 11:26:17.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA45B100-8619-11DB-B100-C6A82D0CD056','jbossesb','JBoss ESB User','2006-12-07 12:37:52.671000000','2006-12-07 12:37:52.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA4CDCF0-8619-11DB-9CF0-C31F704E8847','jbossesb','JBoss ESB User','2006-12-07 12:37:52.703000000','2006-12-07 12:37:52.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA515550-860F-11DB-9550-C9224FA75C01','jbossesb','JBoss ESB User','2006-12-07 11:26:17.765000000','2006-12-07 11:26:17.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA5197E0-8619-11DB-97E0-FF39A60925E8','jbossesb','JBoss ESB User','2006-12-07 12:37:52.765000000','2006-12-07 12:37:52.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA561040-860F-11DB-9040-8436119D7CDF','jbossesb','JBoss ESB User','2006-12-07 11:26:17.812000000','2006-12-07 11:26:17.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA5AF240-860F-11DB-B240-801421BCC6F3','jbossesb','JBoss ESB User','2006-12-07 11:26:17.828000000','2006-12-07 11:26:17.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA5B0DC0-8619-11DB-8DC0-C61B7AD10BA7','jbossesb','JBoss ESB User','2006-12-07 12:37:52.812000000','2006-12-07 12:37:52.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA649A20-8178-11DB-A966-998A7B905EBD','jbossesb','JBoss ESB User','2006-12-01 15:15:19.250000000','2006-12-01 15:15:19.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA65D9A0-860D-11DB-B8CF-CB5FF8062D66','jbossesb','JBoss ESB User','2006-12-07 11:11:58.937000000','2006-12-07 11:11:58.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA754C80-8619-11DB-8C80-A85E6B3A1083','jbossesb','JBoss ESB User','2006-12-07 12:37:52.968000000','2006-12-07 12:37:52.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA769FB0-8171-11DB-B8A9-BBDAD8C2B552','jbossesb','JBoss ESB User','2006-12-01 14:25:12.937000000','2006-12-01 14:25:13.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA7A2E80-8619-11DB-AE80-C41567B6ABB2','jbossesb','JBoss ESB User','2006-12-07 12:37:53.0','2006-12-07 12:37:53.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA7EE970-8619-11DB-A970-AC69F42D15FF','jbossesb','JBoss ESB User','2006-12-07 12:37:53.310000000','2006-12-07 12:37:53.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA813360-8619-11DB-B360-9EF747A09C66','jbossesb','JBoss ESB User','2006-12-07 12:37:53.620000000','2006-12-07 12:37:53.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA861560-8619-11DB-9560-D47968F475BD','jbossesb','JBoss ESB User','2006-12-07 12:37:53.930000000','2006-12-07 12:37:53.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AA8A8DC0-860F-11DB-8DC0-F0D93F7ED3CC','jbossesb','JBoss ESB User','2006-12-07 11:26:18.140000000','2006-12-07 11:26:18.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAAD6720-8171-11DB-B8A9-B8C193DB8DC5','jbossesb','JBoss ESB User','2006-12-01 14:25:13.281000000','2006-12-01 14:25:13.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAB5A050-8178-11DB-A966-BAD606E2A278','jbossesb','JBoss ESB User','2006-12-01 15:15:19.781000000','2006-12-01 15:15:19.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAC5C330-8147-11DB-A69A-C43E455FBBBE','jbossesb','JBoss ESB User','2006-12-01 09:24:34.546000000','2006-12-01 09:24:34.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AACD6E10-8178-11DB-A966-B2321D100E37','jbossesb','JBoss ESB User','2006-12-01 15:15:19.937000000','2006-12-01 15:15:19.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AACF3910-8147-11DB-A69A-B9E6D4896A56','jbossesb','JBoss ESB User','2006-12-01 09:24:34.593000000','2006-12-01 09:24:34.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAD1CF90-80E3-11DB-8F90-E6D62A2361FA','jbossesb','JBoss ESB User','2006-11-30 21:28:44.953000000','2006-11-30 21:28:44.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAD41B10-8147-11DB-A69A-FC82B711A2DA','jbossesb','JBoss ESB User','2006-12-01 09:24:34.625000000','2006-12-01 09:24:34.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAD6D900-860F-11DB-9900-AE55E9ED627D','jbossesb','JBoss ESB User','2006-12-07 11:26:18.656000000','2006-12-07 11:26:18.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AADE36F0-8178-11DB-A966-8CEAE9EE2C48','jbossesb','JBoss ESB User','2006-12-01 15:15:20.460000000','2006-12-01 15:15:20.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAED1F20-861A-11DB-9F20-ED1871DF8AFF','jbossesb','JBoss ESB User','2006-12-07 12:45:03.250000000','2006-12-07 12:45:03.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAF61540-8619-11DB-9540-C549A23CE4EF','jbossesb','JBoss ESB User','2006-12-07 12:37:53.828000000','2006-12-07 12:37:53.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AAFCB020-80E3-11DB-B020-FDF9D48BD347','jbossesb','JBoss ESB User','2006-11-30 21:28:45.234000000','2006-11-30 21:28:45.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AB1233F0-80E3-11DB-B3F0-FBDA1A4AA8A0','jbossesb','JBoss ESB User','2006-11-30 21:28:45.359000000','2006-11-30 21:28:45.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AB208BD0-80E3-11DB-8BD0-AEF0C7B9E1CF','jbossesb','JBoss ESB User','2006-11-30 21:28:45.468000000','2006-11-30 21:28:45.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AB731200-817A-11DB-9200-D1F269CFBC7B','jbossesb','JBoss ESB User','2006-12-01 15:29:40.150000000','2006-12-01 15:29:40.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AB8D29B0-817A-11DB-A9B0-A95F9A2FB31A','jbossesb','JBoss ESB User','2006-12-01 15:29:40.171000000','2006-12-01 15:29:40.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AB8EABC0-8619-11DB-ABC0-8E3334211600','jbossesb','JBoss ESB User','2006-12-07 12:37:54.828000000','2006-12-07 12:37:54.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AB95A850-8563-11DB-A4E1-C5E05D23688C','jbossesb','JBoss ESB User','2006-12-06 14:55:06.468000000','2006-12-06 14:55:06.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AB9745A0-80E7-11DB-85A0-CDEB3F61D947','jbossesb','JBoss ESB User','2006-11-30 21:57:24.234000000','2006-11-30 21:57:24.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AB9B8190-817A-11DB-8190-B4D93C59B71A','jbossesb','JBoss ESB User','2006-12-01 15:29:40.281000000','2006-12-01 15:29:40.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ABA76870-817A-11DB-A870-A0EFD5E73937','jbossesb','JBoss ESB User','2006-12-01 15:29:40.375000000','2006-12-01 15:29:40.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ABAB0510-8563-11DB-A4E1-AFD3925B0C90','jbossesb','JBoss ESB User','2006-12-06 14:55:06.609000000','2006-12-06 14:55:06.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ABB95CF0-8563-11DB-A4E1-84A10948353A','jbossesb','JBoss ESB User','2006-12-06 14:55:06.687000000','2006-12-06 14:55:06.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ABBD6B40-80E7-11DB-AB40-9E8EDECEAD01','jbossesb','JBoss ESB User','2006-11-30 21:57:24.484000000','2006-11-30 21:57:24.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ABC088E0-8563-11DB-A4E1-826BAA3C4409','jbossesb','JBoss ESB User','2006-12-06 14:55:06.734000000','2006-12-06 14:55:06.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ABCBC320-80E7-11DB-8320-AB02E38D37F2','jbossesb','JBoss ESB User','2006-11-30 21:57:24.578000000','2006-11-30 21:57:24.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ABDA1B00-80E7-11DB-9B00-D278430B95AB','jbossesb','JBoss ESB User','2006-11-30 21:57:24.687000000','2006-11-30 21:57:24.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ABEF8640-8180-11DB-BF4A-BF60127D89EB','jbossesb','JBoss ESB User','2006-12-01 16:12:37.968000000','2006-12-01 16:12:38.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC215EC0-814B-11DB-A6BA-E14A593D2989','jbossesb','JBoss ESB User','2006-12-01 09:53:14.796000000','2006-12-01 09:53:14.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC2FB6A0-814B-11DB-A6BA-D2A18FF7ACF8','jbossesb','JBoss ESB User','2006-12-01 09:53:14.890000000','2006-12-01 09:53:14.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC395390-814B-11DB-A6BA-B9496FDCD57D','jbossesb','JBoss ESB User','2006-12-01 09:53:14.968000000','2006-12-01 09:53:14.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC453A70-814B-11DB-A6BA-9EDF279C1E6F','jbossesb','JBoss ESB User','2006-12-01 09:53:15.310000000','2006-12-01 09:53:15.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC61F720-8180-11DB-BF4A-D79E675D13C4','jbossesb','JBoss ESB User','2006-12-01 16:12:38.625000000','2006-12-01 16:12:38.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC7C6820-860E-11DB-A820-8D5943495782','jbossesb','JBoss ESB User','2006-12-07 11:19:11.921000000','2006-12-07 11:19:11.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC812310-860E-11DB-A310-9161FFB53FE3','jbossesb','JBoss ESB User','2006-12-07 11:19:11.937000000','2006-12-07 11:19:11.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC85DE00-860E-11DB-9E00-D245924FD755','jbossesb','JBoss ESB User','2006-12-07 11:19:11.968000000','2006-12-07 11:19:11.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC91C4E0-860E-11DB-84E0-AC6EC6A62A5B','jbossesb','JBoss ESB User','2006-12-07 11:19:12.460000000','2006-12-07 11:19:12.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC9435E0-860E-11DB-B5E0-FA8C65816690','jbossesb','JBoss ESB User','2006-12-07 11:19:12.930000000','2006-12-07 11:19:12.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC9B61D0-860E-11DB-A1D0-E241F53A6977','jbossesb','JBoss ESB User','2006-12-07 11:19:12.109000000','2006-12-07 11:19:12.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AC9FED50-861C-11DB-AD50-DBB4152997C4','jbossesb','JBoss ESB User','2006-12-07 12:59:25.930000000','2006-12-07 12:59:25.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACA25E50-861C-11DB-9E50-A1FF7859D3A1','jbossesb','JBoss ESB User','2006-12-07 12:59:25.125000000','2006-12-07 12:59:25.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACA98A40-861C-11DB-8A40-F9C5AD1DCD33','jbossesb','JBoss ESB User','2006-12-07 12:59:25.156000000','2006-12-07 12:59:25.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACAC4630-8618-11DB-8630-D7BCC29007DB','jbossesb','JBoss ESB User','2006-12-07 12:30:47.203000000','2006-12-07 12:30:47.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACB0B630-861C-11DB-B630-8F2B8D49E1E8','jbossesb','JBoss ESB User','2006-12-07 12:59:25.203000000','2006-12-07 12:59:25.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACB30020-861C-11DB-8020-A6A69D3AFF8D','jbossesb','JBoss ESB User','2006-12-07 12:59:25.218000000','2006-12-07 12:59:25.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACB37220-8618-11DB-B220-C54AF31778FC','jbossesb','JBoss ESB User','2006-12-07 12:30:47.250000000','2006-12-07 12:30:47.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACB7E220-861C-11DB-A220-816A02538D37','jbossesb','JBoss ESB User','2006-12-07 12:59:25.250000000','2006-12-07 12:59:25.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACBA9E10-8618-11DB-9E10-A179F56F35E5','jbossesb','JBoss ESB User','2006-12-07 12:30:47.296000000','2006-12-07 12:30:47.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACC1CA00-8618-11DB-8A00-CD6208B14966','jbossesb','JBoss ESB User','2006-12-07 12:30:47.343000000','2006-12-07 12:30:47.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACCB3FE0-8618-11DB-BFE0-C1D860C5D54B','jbossesb','JBoss ESB User','2006-12-07 12:30:47.421000000','2006-12-07 12:30:47.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACD6DBD0-861C-11DB-9BD0-A3978912E1A1','jbossesb','JBoss ESB User','2006-12-07 12:59:25.515000000','2006-12-07 12:59:25.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACE77DA0-861C-11DB-BDA0-98162AFFEDD9','jbossesb','JBoss ESB User','2006-12-07 12:59:25.578000000','2006-12-07 12:59:25.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACECAA90-8618-11DB-AA90-D1038762BB0F','jbossesb','JBoss ESB User','2006-12-07 12:30:47.609000000','2006-12-07 12:30:47.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACEEA990-861C-11DB-A990-8338E4C8ED53','jbossesb','JBoss ESB User','2006-12-07 12:59:25.625000000','2006-12-07 12:59:25.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACF16580-8618-11DB-A580-DEEB1CBC86E7','jbossesb','JBoss ESB User','2006-12-07 12:30:47.640000000','2006-12-07 12:30:47.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACF5D580-861C-11DB-9580-E9F55811AE26','jbossesb','JBoss ESB User','2006-12-07 12:59:25.656000000','2006-12-07 12:59:25.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACF89170-8618-11DB-9170-9C22DB8D979F','jbossesb','JBoss ESB User','2006-12-07 12:30:47.703000000','2006-12-07 12:30:47.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACFD0170-861C-11DB-8170-BC54630B69DC','jbossesb','JBoss ESB User','2006-12-07 12:59:25.718000000','2006-12-07 12:59:25.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ACFFBD60-8618-11DB-BD60-914C82A7A39C','jbossesb','JBoss ESB User','2006-12-07 12:30:47.734000000','2006-12-07 12:30:47.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AD01BC60-861C-11DB-BC60-9A062B01E793','jbossesb','JBoss ESB User','2006-12-07 12:59:25.734000000','2006-12-07 12:59:25.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AD047850-8618-11DB-B850-FB2B3B674D5F','jbossesb','JBoss ESB User','2006-12-07 12:30:47.781000000','2006-12-07 12:30:47.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AD0B3240-861C-11DB-B240-E581AA61F775','jbossesb','JBoss ESB User','2006-12-07 12:59:25.796000000','2006-12-07 12:59:25.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AD343AE0-8618-11DB-BAE0-A572EA7A433C','jbossesb','JBoss ESB User','2006-12-07 12:30:48.780000000','2006-12-07 12:30:48.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AD3FAFC0-861C-11DB-AFC0-D2387F039711','jbossesb','JBoss ESB User','2006-12-07 12:59:26.140000000','2006-12-07 12:59:26.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AD9F7FD0-8618-11DB-BFD0-900022A1CD3D','jbossesb','JBoss ESB User','2006-12-07 12:30:48.781000000','2006-12-07 12:30:48.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ADEADB20-80FE-11DB-BEA2-A9976F023D8B','jbossesb','JBoss ESB User','2006-12-01 00:42:06.562000000','2006-12-01 00:42:06.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ADFDEDF0-80FE-11DB-BEA2-F09A3ADD7BF4','jbossesb','JBoss ESB User','2006-12-01 00:42:06.687000000','2006-12-01 00:42:06.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AE0C45D0-80FE-11DB-BEA2-CC1F0BD682B5','jbossesb','JBoss ESB User','2006-12-01 00:42:06.765000000','2006-12-01 00:42:06.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AE23BEA0-8170-11DB-AF51-FADEE224FC8A','jbossesb','JBoss ESB User','2006-12-01 14:18:09.578000000','2006-12-01 14:18:09.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AE3562C0-860E-11DB-A2C0-914D986385DD','jbossesb','JBoss ESB User','2006-12-07 11:19:14.812000000','2006-12-07 11:19:14.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AE4D5790-860E-11DB-9790-E58076A43E0E','jbossesb','JBoss ESB User','2006-12-07 11:19:14.953000000','2006-12-07 11:19:14.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AE538130-8170-11DB-AF51-83FE26B73C29','jbossesb','JBoss ESB User','2006-12-01 14:18:09.859000000','2006-12-01 14:18:09.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AE6DBFF0-8170-11DB-AF51-9D0F52AEFC05','jbossesb','JBoss ESB User','2006-12-01 14:18:10.310000000','2006-12-01 14:18:10.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AE7E61C0-8170-11DB-AF51-935AE3F54423','jbossesb','JBoss ESB User','2006-12-01 14:18:10.156000000','2006-12-01 14:18:10.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AEC50050-8173-11DB-B8A9-BA85B575C518','jbossesb','JBoss ESB User','2006-12-01 14:39:39.930000000','2006-12-01 14:39:39.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF2DFB50-8173-11DB-B8A9-A7DA1CBF66AF','jbossesb','JBoss ESB User','2006-12-01 14:39:39.781000000','2006-12-01 14:39:39.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF39B590-861D-11DB-B1A1-8F832A223AB6','jbossesb','JBoss ESB User','2006-12-07 13:06:38.953000000','2006-12-07 13:06:38.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF3B60B0-80E2-11DB-A0B0-ABD4CE6CDDF8','jbossesb','JBoss ESB User','2006-11-30 21:21:42.890000000','2006-11-30 21:21:42.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF3E7080-861D-11DB-B1A1-8654389587EB','jbossesb','JBoss ESB User','2006-12-07 13:06:38.984000000','2006-12-07 13:06:39.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF3E9D20-8173-11DB-B8A9-CB88C9F07434','jbossesb','JBoss ESB User','2006-12-01 14:39:39.890000000','2006-12-01 14:39:39.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF432B70-861D-11DB-B1A1-B305FDCA00E5','jbossesb','JBoss ESB User','2006-12-07 13:06:39.150000000','2006-12-07 13:06:39.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF435810-8173-11DB-B8A9-819FD42050CD','jbossesb','JBoss ESB User','2006-12-01 14:39:39.937000000','2006-12-01 14:39:39.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF47E660-861D-11DB-B1A1-B4CEE57CB3E5','jbossesb','JBoss ESB User','2006-12-07 13:06:39.780000000','2006-12-07 13:06:39.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF518350-861D-11DB-B1A1-A3FB1C192C10','jbossesb','JBoss ESB User','2006-12-07 13:06:39.109000000','2006-12-07 13:06:39.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF563E40-861D-11DB-B1A1-FEDC6D602E8C','jbossesb','JBoss ESB User','2006-12-07 13:06:39.156000000','2006-12-07 13:06:39.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF91E7B0-861D-11DB-B1A1-B476E8407038','jbossesb','JBoss ESB User','2006-12-07 13:06:39.531000000','2006-12-07 13:06:39.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF9431A0-861D-11DB-B1A1-84C83DDE2EF6','jbossesb','JBoss ESB User','2006-12-07 13:06:39.546000000','2006-12-07 13:06:39.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AF9B5D90-861D-11DB-B1A1-C7F5C582B21A','jbossesb','JBoss ESB User','2006-12-07 13:06:39.609000000','2006-12-07 13:06:39.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AFA28980-861D-11DB-B1A1-B75A777E897F','jbossesb','JBoss ESB User','2006-12-07 13:06:39.671000000','2006-12-07 13:06:39.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AFA9B570-861D-11DB-B1A1-AE8FF577EB32','jbossesb','JBoss ESB User','2006-12-07 13:06:39.703000000','2006-12-07 13:06:39.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AFADD190-80E2-11DB-9190-B62DCCB0AE89','jbossesb','JBoss ESB User','2006-11-30 21:21:43.593000000','2006-11-30 21:21:43.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AFB0E160-861D-11DB-B1A1-851539027E22','jbossesb','JBoss ESB User','2006-12-07 13:06:39.734000000','2006-12-07 13:06:39.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AFB80D50-861D-11DB-B1A1-C14D61F2C785','jbossesb','JBoss ESB User','2006-12-07 13:06:39.781000000','2006-12-07 13:06:39.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AFD8D930-80E2-11DB-9930-83B25BEE93C2','jbossesb','JBoss ESB User','2006-11-30 21:21:43.875000000','2006-11-30 21:21:43.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:AFF0A6F0-80E2-11DB-A6F0-B6CC59577981','jbossesb','JBoss ESB User','2006-11-30 21:21:44.620000000','2006-11-30 21:21:44.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0321950-817D-11DB-9950-CD829BF29C4F','jbossesb','JBoss ESB User','2006-12-01 15:51:16.453000000','2006-12-01 15:51:16.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B045F7A0-814A-11DB-A6BA-A542111F394B','jbossesb','JBoss ESB User','2006-12-01 09:46:12.265000000','2006-12-01 09:46:12.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0628050-814A-11DB-A6BA-CFC1259072E5','jbossesb','JBoss ESB User','2006-12-01 09:46:12.437000000','2006-12-01 09:46:12.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B06C1D40-814A-11DB-A6BA-AC4854958117','jbossesb','JBoss ESB User','2006-12-01 09:46:12.531000000','2006-12-01 09:46:12.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0759320-814A-11DB-A6BA-858878E55AD5','jbossesb','JBoss ESB User','2006-12-01 09:46:12.578000000','2006-12-01 09:46:12.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B07BBB00-8105-11DB-BB00-A6B5CF53F87B','jbossesb','JBoss ESB User','2006-12-01 01:32:17.343000000','2006-12-01 01:32:17.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B098A350-817D-11DB-A350-8353882A91A7','jbossesb','JBoss ESB User','2006-12-01 15:51:17.125000000','2006-12-01 15:51:17.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0992310-817E-11DB-A310-B98A1B42E2A4','jbossesb','JBoss ESB User','2006-12-01 15:58:26.640000000','2006-12-01 15:58:26.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B09AB4B0-8105-11DB-B4B0-A1B360B3A47B','jbossesb','JBoss ESB User','2006-12-01 01:32:17.531000000','2006-12-01 01:32:17.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0A94520-817D-11DB-8520-FAC6AA440DD7','jbossesb','JBoss ESB User','2006-12-01 15:51:17.234000000','2006-12-01 15:51:17.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0AB5680-8105-11DB-9680-9FE25B0874BC','jbossesb','JBoss ESB User','2006-12-01 01:32:17.640000000','2006-12-01 01:32:17.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0B07110-817D-11DB-B110-FF5635F32E2A','jbossesb','JBoss ESB User','2006-12-01 15:51:17.296000000','2006-12-01 15:51:17.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0B73D60-8105-11DB-BD60-898EEBCB71FD','jbossesb','JBoss ESB User','2006-12-01 01:32:17.734000000','2006-12-01 01:32:17.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0BF48B0-817E-11DB-88B0-8F730AA5FC2D','jbossesb','JBoss ESB User','2006-12-01 15:58:26.890000000','2006-12-01 15:58:27.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B0F29FA0-817C-11DB-9FA0-A0C8142B6524','jbossesb','JBoss ESB User','2006-12-01 15:44:08.218000000','2006-12-01 15:44:08.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B10A51E0-8172-11DB-B8A9-F36E5858CBB2','jbossesb','JBoss ESB User','2006-12-01 14:32:33.421000000','2006-12-01 14:32:33.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B118C540-817C-11DB-8540-C3DE090C23E5','jbossesb','JBoss ESB User','2006-12-01 15:44:08.468000000','2006-12-01 15:44:08.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B11C35C0-817E-11DB-B5C0-CAA6CEE95269','jbossesb','JBoss ESB User','2006-12-01 15:58:27.500000000','2006-12-01 15:58:27.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B1294B90-8172-11DB-B8A9-DD8B647560E9','jbossesb','JBoss ESB User','2006-12-01 14:32:33.609000000','2006-12-01 14:32:33.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B13686E0-8102-11DB-86E0-EBBEACD972A1','jbossesb','JBoss ESB User','2006-12-01 01:10:50.234000000','2006-12-01 01:10:50.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B13C5E60-8172-11DB-B8A9-95B3AC5678C4','jbossesb','JBoss ESB User','2006-12-01 14:32:33.734000000','2006-12-01 14:32:33.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B145D440-8172-11DB-B8A9-B6372029FC16','jbossesb','JBoss ESB User','2006-12-01 14:32:33.796000000','2006-12-01 14:32:33.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B16C3C70-817C-11DB-BC70-D3D2F1A1768A','jbossesb','JBoss ESB User','2006-12-01 15:44:09.310000000','2006-12-01 15:44:09.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B175E9F0-861D-11DB-B1A1-8D7948E5C275','jbossesb','JBoss ESB User','2006-12-07 13:06:42.703000000','2006-12-07 13:06:42.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B181C040-817C-11DB-8040-DE58A6EF7780','jbossesb','JBoss ESB User','2006-12-01 15:44:09.171000000','2006-12-01 15:44:09.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B182BFC0-817E-11DB-BFC0-F6C3C68BFACA','jbossesb','JBoss ESB User','2006-12-01 15:58:28.156000000','2006-12-01 15:58:28.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B1E23030-8102-11DB-B030-E511B2541E87','jbossesb','JBoss ESB User','2006-12-01 01:10:51.203000000','2006-12-01 01:10:51.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B1E986F0-8175-11DB-AE84-CC578D6C6700','jbossesb','JBoss ESB User','2006-12-01 14:54:03.390000000','2006-12-01 14:54:03.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B20D3B90-8175-11DB-AE84-E3D3CC3DE7DE','jbossesb','JBoss ESB User','2006-12-01 14:54:03.593000000','2006-12-01 14:54:03.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B21B9370-8175-11DB-AE84-BE866AABD509','jbossesb','JBoss ESB User','2006-12-01 14:54:03.687000000','2006-12-01 14:54:03.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2277A50-8175-11DB-AE84-9F0151236843','jbossesb','JBoss ESB User','2006-12-01 14:54:03.765000000','2006-12-01 14:54:03.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B22A2DE0-817F-11DB-ADE0-F9172FEB5C88','jbossesb','JBoss ESB User','2006-12-01 16:05:38.796000000','2006-12-01 16:05:38.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2433790-80E4-11DB-B790-98F010BE704F','jbossesb','JBoss ESB User','2006-11-30 21:36:07.150000000','2006-11-30 21:36:07.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B26F5F90-8103-11DB-BD3E-FDBB1C151418','jbossesb','JBoss ESB User','2006-12-01 01:18:01.625000000','2006-12-01 01:18:01.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B274C510-8177-11DB-8510-96C8BD2DF922','jbossesb','JBoss ESB User','2006-12-01 15:08:23.328000000','2006-12-01 15:08:23.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B27EE100-80E4-11DB-A100-B519A9641EAC','jbossesb','JBoss ESB User','2006-11-30 21:36:07.343000000','2006-11-30 21:36:07.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B28D5520-8182-11DB-AB1E-BF34FF107C04','jbossesb','JBoss ESB User','2006-12-01 16:27:07.890000000','2006-12-01 16:27:07.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2931430-8103-11DB-BD3E-9FF5082F026F','jbossesb','JBoss ESB User','2006-12-01 01:18:01.875000000','2006-12-01 01:18:01.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B29572D0-817F-11DB-B2D0-A8230FF2845B','jbossesb','JBoss ESB User','2006-12-01 16:05:39.468000000','2006-12-01 16:05:39.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B29FA5A0-8177-11DB-A5A0-CC52175B5B81','jbossesb','JBoss ESB User','2006-12-01 15:08:23.562000000','2006-12-01 15:08:23.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2A3DD10-8103-11DB-BD3E-BC28609EF645','jbossesb','JBoss ESB User','2006-12-01 01:18:01.984000000','2006-12-01 01:18:02.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2A522E0-8182-11DB-AB1E-A11686B5B2C7','jbossesb','JBoss ESB User','2006-12-01 16:27:08.620000000','2006-12-01 16:27:08.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2A9C190-80E4-11DB-8190-9C11FEAEA02F','jbossesb','JBoss ESB User','2006-11-30 21:36:07.640000000','2006-11-30 21:36:07.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2AACF90-817F-11DB-8F90-B79A7CADF2DC','jbossesb','JBoss ESB User','2006-12-01 16:05:39.593000000','2006-12-01 16:05:40.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2B52970-8177-11DB-A970-E14D65D041F4','jbossesb','JBoss ESB User','2006-12-01 15:08:23.703000000','2006-12-01 15:08:23.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2B5EBC0-8182-11DB-AB1E-D3290433934B','jbossesb','JBoss ESB User','2006-12-01 16:27:08.171000000','2006-12-01 16:27:08.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2B6EFE0-8103-11DB-BD3E-EF865225508E','jbossesb','JBoss ESB User','2006-12-01 01:18:02.930000000','2006-12-01 01:18:02.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2C11050-8177-11DB-9050-FD9983CE4863','jbossesb','JBoss ESB User','2006-12-01 15:08:23.781000000','2006-12-01 15:08:23.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2C1B660-80E4-11DB-B660-D6261E0625D0','jbossesb','JBoss ESB User','2006-11-30 21:36:07.750000000','2006-11-30 21:36:07.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B2C1D2A0-8182-11DB-AB1E-C24E3A6EC9C3','jbossesb','JBoss ESB User','2006-12-01 16:27:08.234000000','2006-12-01 16:27:08.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B307E3B0-817F-11DB-A3B0-9D71EC1A0F55','jbossesb','JBoss ESB User','2006-12-01 16:05:40.218000000','2006-12-01 16:05:40.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B30FA1C0-8104-11DB-A1C0-81FAE77E659D','jbossesb','JBoss ESB User','2006-12-01 01:25:12.156000000','2006-12-01 01:25:12.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3204820-8147-11DB-8820-C10996F02A4C','jbossesb','JBoss ESB User','2006-12-01 09:24:48.656000000','2006-12-01 09:24:48.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3249EA0-860D-11DB-B8CF-83DAAF708616','jbossesb','JBoss ESB User','2006-12-07 11:12:13.578000000','2006-12-07 11:12:13.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3295990-860D-11DB-B8CF-CA839439095C','jbossesb','JBoss ESB User','2006-12-07 11:12:13.609000000','2006-12-07 11:12:13.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B32E9B70-8104-11DB-9B70-A555C039F6F5','jbossesb','JBoss ESB User','2006-12-01 01:25:12.359000000','2006-12-01 01:25:12.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B33CF350-8104-11DB-B350-ABB99162470E','jbossesb','JBoss ESB User','2006-12-01 01:25:12.468000000','2006-12-01 01:25:12.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B33EDD60-860D-11DB-B8CF-DB368C520585','jbossesb','JBoss ESB User','2006-12-07 11:12:13.750000000','2006-12-07 11:12:13.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B341B2D0-8147-11DB-B2D0-D0F1E43DF9FD','jbossesb','JBoss ESB User','2006-12-01 09:24:48.765000000','2006-12-01 09:24:48.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3429600-816F-11DB-A4E4-D48A7B8D8C11','jbossesb','JBoss ESB User','2006-12-01 14:11:08.656000000','2006-12-01 14:11:09.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3439850-860D-11DB-B8CF-CEA45D8D298E','jbossesb','JBoss ESB User','2006-12-07 11:12:13.781000000','2006-12-07 11:12:13.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B34D9520-8104-11DB-9520-82D5295C273C','jbossesb','JBoss ESB User','2006-12-01 01:25:12.562000000','2006-12-01 01:25:12.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3602100-860D-11DB-B8CF-A8AC10F61A5D','jbossesb','JBoss ESB User','2006-12-07 11:12:13.984000000','2006-12-07 11:12:13.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B39D8C40-861A-11DB-8C40-9552A35CC62A','jbossesb','JBoss ESB User','2006-12-07 12:45:17.828000000','2006-12-07 12:45:17.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3B2BCF0-816F-11DB-A4E4-B192547552D6','jbossesb','JBoss ESB User','2006-12-01 14:11:09.390000000','2006-12-01 14:11:09.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3BC85F0-861A-11DB-85F0-D4B3481DD283','jbossesb','JBoss ESB User','2006-12-07 12:45:18.460000000','2006-12-07 12:45:18.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3BDCE60-814C-11DB-A6BA-DC36BCEB4A23','jbossesb','JBoss ESB User','2006-12-01 10:00:37.620000000','2006-12-01 10:00:37.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3C1F010-860D-11DB-B8CF-F653B51F635A','jbossesb','JBoss ESB User','2006-12-07 11:12:14.625000000','2006-12-07 11:12:14.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3CC2640-814C-11DB-A6BA-9C61A4FA2921','jbossesb','JBoss ESB User','2006-12-01 10:00:37.171000000','2006-12-01 10:00:37.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3CCD4A0-816F-11DB-A4E4-F9B1E32EB08E','jbossesb','JBoss ESB User','2006-12-01 14:11:09.578000000','2006-12-01 14:11:09.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3D35230-814C-11DB-A6BA-A23175501DF6','jbossesb','JBoss ESB User','2006-12-01 10:00:37.218000000','2006-12-01 10:00:37.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B3DCC810-814C-11DB-A6BA-A917342EA557','jbossesb','JBoss ESB User','2006-12-01 10:00:37.265000000','2006-12-01 10:00:37.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B41F0160-8171-11DB-B8A9-AD9106B9B96B','jbossesb','JBoss ESB User','2006-12-01 14:25:29.930000000','2006-12-01 14:25:29.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B4204BD0-816F-11DB-A4E4-F5A9CC2F79E6','jbossesb','JBoss ESB User','2006-12-01 14:11:10.109000000','2006-12-01 14:11:10.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B4296900-816E-11DB-A4E4-FAB0827B4178','jbossesb','JBoss ESB User','2006-12-01 14:04:01.150000000','2006-12-01 14:04:01.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B4394020-8171-11DB-B8A9-9C31004A39A7','jbossesb','JBoss ESB User','2006-12-01 14:25:29.265000000','2006-12-01 14:25:29.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B475B440-816E-11DB-A4E4-83F9AE3245EC','jbossesb','JBoss ESB User','2006-12-01 14:04:01.156000000','2006-12-01 14:04:01.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B4819B20-816E-11DB-A4E4-E575340D7C9C','jbossesb','JBoss ESB User','2006-12-01 14:04:01.234000000','2006-12-01 14:04:01.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B48B1100-816E-11DB-A4E4-A4FD66CDC6CB','jbossesb','JBoss ESB User','2006-12-01 14:04:01.296000000','2006-12-01 14:04:01.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B49BB830-8181-11DB-AB1E-D56050E411D9','jbossesb','JBoss ESB User','2006-12-01 16:20:01.859000000','2006-12-01 16:20:01.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B4C44ED0-8181-11DB-AB1E-F220FDCF03EF','jbossesb','JBoss ESB User','2006-12-01 16:20:02.109000000','2006-12-01 16:20:02.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B4D2A6B0-8181-11DB-AB1E-88304460FF99','jbossesb','JBoss ESB User','2006-12-01 16:20:02.234000000','2006-12-01 16:20:02.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B4E34880-8181-11DB-AB1E-896F9CB4825F','jbossesb','JBoss ESB User','2006-12-01 16:20:02.343000000','2006-12-01 16:20:02.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B5828B30-8180-11DB-BF4A-DCF40DE9BAAA','jbossesb','JBoss ESB User','2006-12-01 16:12:53.875000000','2006-12-01 16:12:53.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B5A8B0D0-8180-11DB-BF4A-EE48CC2EE843','jbossesb','JBoss ESB User','2006-12-01 16:12:54.109000000','2006-12-01 16:12:54.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B5B708B0-8180-11DB-BF4A-996FCDDA0FA9','jbossesb','JBoss ESB User','2006-12-01 16:12:54.218000000','2006-12-01 16:12:54.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B5CA1B80-8180-11DB-BF4A-86473EF422BE','jbossesb','JBoss ESB User','2006-12-01 16:12:54.328000000','2006-12-01 16:12:54.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B64485D0-8619-11DB-85D0-9CE55FE50464','jbossesb','JBoss ESB User','2006-12-07 12:38:12.796000000','2006-12-07 12:38:12.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B64940C0-8619-11DB-80C0-D6B327CB0093','jbossesb','JBoss ESB User','2006-12-07 12:38:12.828000000','2006-12-07 12:38:12.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B64DFBB0-8619-11DB-BBB0-E1C787D905A9','jbossesb','JBoss ESB User','2006-12-07 12:38:12.843000000','2006-12-07 12:38:12.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B652DDB0-8619-11DB-9DB0-8FF80CBA6F10','jbossesb','JBoss ESB User','2006-12-07 12:38:12.890000000','2006-12-07 12:38:12.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B659E290-8619-11DB-A290-D31C4D48CFCC','jbossesb','JBoss ESB User','2006-12-07 12:38:12.921000000','2006-12-07 12:38:12.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B6633CF0-860F-11DB-BCF0-9B9A6498F00E','jbossesb','JBoss ESB User','2006-12-07 11:26:38.310000000','2006-12-07 11:26:38.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B665DFF0-8178-11DB-A966-AFB1372DB51E','jbossesb','JBoss ESB User','2006-12-01 15:15:39.437000000','2006-12-01 15:15:39.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B66CD9E0-860F-11DB-99E0-D1E5BAC10560','jbossesb','JBoss ESB User','2006-12-07 11:26:38.109000000','2006-12-07 11:26:38.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B66CF560-8619-11DB-B560-9563A1FE0780','jbossesb','JBoss ESB User','2006-12-07 12:38:13.620000000','2006-12-07 12:38:13.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B671D760-8619-11DB-9760-EB94FA7A5490','jbossesb','JBoss ESB User','2006-12-07 12:38:13.930000000','2006-12-07 12:38:13.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B6769250-8619-11DB-9250-E6FDD6CA8A75','jbossesb','JBoss ESB User','2006-12-07 12:38:13.125000000','2006-12-07 12:38:13.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B67D7BB0-860F-11DB-BBB0-ECE8FAF97EC9','jbossesb','JBoss ESB User','2006-12-07 11:26:38.203000000','2006-12-07 11:26:38.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B67DBE40-8619-11DB-BE40-91CF80B0769B','jbossesb','JBoss ESB User','2006-12-07 12:38:13.156000000','2006-12-07 12:38:13.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B684EA30-8619-11DB-AA30-FF919CFEAEE8','jbossesb','JBoss ESB User','2006-12-07 12:38:13.203000000','2006-12-07 12:38:13.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B68E4F80-8178-11DB-A966-F8E06F5F13DB','jbossesb','JBoss ESB User','2006-12-01 15:15:39.656000000','2006-12-01 15:15:39.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B68E6010-8619-11DB-A010-DEB7360EFE9C','jbossesb','JBoss ESB User','2006-12-07 12:38:13.281000000','2006-12-07 12:38:13.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B6954970-860F-11DB-8970-B33E729BBAA0','jbossesb','JBoss ESB User','2006-12-07 11:26:38.359000000','2006-12-07 11:26:38.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B69A2B70-860F-11DB-AB70-FCB8B9DEE6D6','jbossesb','JBoss ESB User','2006-12-07 11:26:38.375000000','2006-12-07 11:26:38.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B69C7560-860F-11DB-B560-E0AF4294D76D','jbossesb','JBoss ESB User','2006-12-07 11:26:38.406000000','2006-12-07 11:26:38.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B69F1860-8178-11DB-A966-E9041937ADF5','jbossesb','JBoss ESB User','2006-12-01 15:15:39.781000000','2006-12-01 15:15:39.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B6A2E190-817B-11DB-A190-A4C7ED3AB0C4','jbossesb','JBoss ESB User','2006-12-01 15:37:08.421000000','2006-12-01 15:37:08.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B6AFBA30-8178-11DB-A966-F65E96B77B21','jbossesb','JBoss ESB User','2006-12-01 15:15:39.875000000','2006-12-01 15:15:39.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B6C79880-8619-11DB-9880-C0E9F1D4C8FA','jbossesb','JBoss ESB User','2006-12-07 12:38:13.656000000','2006-12-07 12:38:13.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B6EA71E0-817B-11DB-B1E0-91AD7B328B2B','jbossesb','JBoss ESB User','2006-12-01 15:37:08.750000000','2006-12-01 15:37:08.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B6ED5420-80E3-11DB-9420-802E0A23A367','jbossesb','JBoss ESB User','2006-11-30 21:29:05.281000000','2006-11-30 21:29:05.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B75ED400-817A-11DB-9400-DC90B0B2ADCF','jbossesb','JBoss ESB User','2006-12-01 15:30:00.0','2006-12-01 15:30:00.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B772D7D0-80E3-11DB-97D0-C00005F5BC4C','jbossesb','JBoss ESB User','2006-11-30 21:29:06.156000000','2006-11-30 21:29:06.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B777E140-860F-11DB-A140-B8BFFE2F2A58','jbossesb','JBoss ESB User','2006-12-07 11:26:39.828000000','2006-12-07 11:26:39.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B78CEF80-80E3-11DB-AF80-B2C620CE9378','jbossesb','JBoss ESB User','2006-11-30 21:29:06.296000000','2006-11-30 21:29:06.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B7AB9E40-80E7-11DB-9E40-F7CC8EEE4487','jbossesb','JBoss ESB User','2006-11-30 21:57:44.500000000','2006-11-30 21:57:44.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B7C536F0-817A-11DB-B6F0-96B57870B704','jbossesb','JBoss ESB User','2006-12-01 15:30:00.687000000','2006-12-01 15:30:00.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B7C5DD00-80E7-11DB-9D00-B89898131016','jbossesb','JBoss ESB User','2006-11-30 21:57:44.671000000','2006-11-30 21:57:44.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B7D434E0-80E7-11DB-B4E0-F1E333BFF5D0','jbossesb','JBoss ESB User','2006-11-30 21:57:44.765000000','2006-11-30 21:57:44.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B7D5FFD0-817A-11DB-BFD0-F76FF1088A4F','jbossesb','JBoss ESB User','2006-12-01 15:30:00.796000000','2006-12-01 15:30:00.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B7D93AC0-80E3-11DB-BAC0-ABB98D925246','jbossesb','JBoss ESB User','2006-11-30 21:29:06.812000000','2006-11-30 21:29:06.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B7DF75B0-817A-11DB-B5B0-9B24B7B3523A','jbossesb','JBoss ESB User','2006-12-01 15:30:00.843000000','2006-12-01 15:30:00.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B7E265B0-80E7-11DB-A5B0-CF11480EBE53','jbossesb','JBoss ESB User','2006-11-30 21:57:44.843000000','2006-11-30 21:57:44.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8192EB0-814B-11DB-A6BA-A1451988B8AC','jbossesb','JBoss ESB User','2006-12-01 09:53:34.875000000','2006-12-01 09:53:34.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B82E8B70-814B-11DB-A6BA-99ADB087C92F','jbossesb','JBoss ESB User','2006-12-01 09:53:35.310000000','2006-12-01 09:53:35.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B83A7250-814B-11DB-A6BA-8F3F1549809C','jbossesb','JBoss ESB User','2006-12-01 09:53:35.930000000','2006-12-01 09:53:35.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8440F40-814B-11DB-A6BA-8DEF27A0A129','jbossesb','JBoss ESB User','2006-12-01 09:53:35.156000000','2006-12-01 09:53:35.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8A16290-860E-11DB-A290-CC2E102920B2','jbossesb','JBoss ESB User','2006-12-07 11:19:32.296000000','2006-12-07 11:19:32.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8A88E80-860E-11DB-8E80-EE516CDF6F76','jbossesb','JBoss ESB User','2006-12-07 11:19:32.328000000','2006-12-07 11:19:32.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8AD4970-860E-11DB-8970-AE0F78BE71BD','jbossesb','JBoss ESB User','2006-12-07 11:19:32.359000000','2006-12-07 11:19:32.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8C29DD0-861C-11DB-9DD0-943932B27036','jbossesb','JBoss ESB User','2006-12-07 12:59:45.453000000','2006-12-07 12:59:45.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8C2CD40-860E-11DB-8D40-868DE033CF64','jbossesb','JBoss ESB User','2006-12-07 11:19:32.531000000','2006-12-07 11:19:32.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8C9D220-860E-11DB-9220-A77CDDD5D5DA','jbossesb','JBoss ESB User','2006-12-07 11:19:32.578000000','2006-12-07 11:19:32.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8D0CEA0-861C-11DB-8EA0-E0BEF75312BA','jbossesb','JBoss ESB User','2006-12-07 12:59:45.546000000','2006-12-07 12:59:45.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8D0FE10-860E-11DB-BE10-839B28C86EDC','jbossesb','JBoss ESB User','2006-12-07 11:19:32.593000000','2006-12-07 11:19:32.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8DCDC90-861C-11DB-9C90-DC2EACD0C45D','jbossesb','JBoss ESB User','2006-12-07 12:59:45.625000000','2006-12-07 12:59:45.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8DF2680-861C-11DB-A680-FB9F56AF6DB5','jbossesb','JBoss ESB User','2006-12-07 12:59:45.640000000','2006-12-07 12:59:45.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8E3E170-861C-11DB-A170-A145BC78C594','jbossesb','JBoss ESB User','2006-12-07 12:59:45.671000000','2006-12-07 12:59:45.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8E65270-861C-11DB-9270-DF1B82702CA8','jbossesb','JBoss ESB User','2006-12-07 12:59:45.703000000','2006-12-07 12:59:45.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8E6C470-8618-11DB-8470-B3E6E6639523','jbossesb','JBoss ESB User','2006-12-07 12:31:07.718000000','2006-12-07 12:31:07.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8EB7F60-8618-11DB-BF60-9776E7D6ED99','jbossesb','JBoss ESB User','2006-12-07 12:31:07.734000000','2006-12-07 12:31:07.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8F03A50-8618-11DB-BA50-FF75A315CD7E','jbossesb','JBoss ESB User','2006-12-07 12:31:07.765000000','2006-12-07 12:31:07.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8F2AB50-8618-11DB-AB50-A42580916870','jbossesb','JBoss ESB User','2006-12-07 12:31:07.781000000','2006-12-07 12:31:07.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B8F76640-8618-11DB-A640-9CD4C0274571','jbossesb','JBoss ESB User','2006-12-07 12:31:07.812000000','2006-12-07 12:31:07.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B90A0710-861C-11DB-8710-C3D659B210A0','jbossesb','JBoss ESB User','2006-12-07 12:59:45.937000000','2006-12-07 12:59:45.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B90A7910-8618-11DB-B910-9A0D821074A6','jbossesb','JBoss ESB User','2006-12-07 12:31:07.953000000','2006-12-07 12:31:07.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B90EE910-861C-11DB-A910-F214BF36B6F2','jbossesb','JBoss ESB User','2006-12-07 12:59:45.968000000','2006-12-07 12:59:45.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B911A500-8618-11DB-A500-FB074D6336A5','jbossesb','JBoss ESB User','2006-12-07 12:31:07.984000000','2006-12-07 12:31:07.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B913A400-861C-11DB-A400-DA632C28424F','jbossesb','JBoss ESB User','2006-12-07 12:59:45.984000000','2006-12-07 12:59:46.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B918D0F0-8618-11DB-90F0-9AB2B9C0AD78','jbossesb','JBoss ESB User','2006-12-07 12:31:08.620000000','2006-12-07 12:31:08.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B91F8AE0-861C-11DB-8AE0-96DA201CF2D3','jbossesb','JBoss ESB User','2006-12-07 12:59:46.620000000','2006-12-07 12:59:46.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B92246D0-8618-11DB-86D0-E91401540A6A','jbossesb','JBoss ESB User','2006-12-07 12:31:08.930000000','2006-12-07 12:31:08.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B92445D0-861C-11DB-85D0-C4CE6F193676','jbossesb','JBoss ESB User','2006-12-07 12:59:46.930000000','2006-12-07 12:59:46.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B926B6D0-861C-11DB-B6D0-EFC17266960E','jbossesb','JBoss ESB User','2006-12-07 12:59:46.125000000','2006-12-07 12:59:46.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B92728D0-8618-11DB-A8D0-CE1DF152680E','jbossesb','JBoss ESB User','2006-12-07 12:31:08.125000000','2006-12-07 12:31:08.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B932CD20-860E-11DB-8D20-D9755D4A1CCD','jbossesb','JBoss ESB User','2006-12-07 11:19:33.234000000','2006-12-07 11:19:33.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B9330FB0-8618-11DB-8FB0-9A063F6AEB2D','jbossesb','JBoss ESB User','2006-12-07 12:31:08.203000000','2006-12-07 12:31:08.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B97F1860-860E-11DB-9860-CF5356A1E90D','jbossesb','JBoss ESB User','2006-12-07 11:19:33.750000000','2006-12-07 11:19:33.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B98415E0-8618-11DB-95E0-FF73B01CE2D4','jbossesb','JBoss ESB User','2006-12-07 12:31:08.734000000','2006-12-07 12:31:08.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B9D69D20-80FE-11DB-BEA2-E3A9B5C5E7C6','jbossesb','JBoss ESB User','2006-12-01 00:42:26.562000000','2006-12-01 00:42:26.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B9DE4700-861C-11DB-8700-CBA191C03418','jbossesb','JBoss ESB User','2006-12-07 12:59:47.343000000','2006-12-07 12:59:47.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:B9FF33C0-80FE-11DB-BEA2-EEC24603351C','jbossesb','JBoss ESB User','2006-12-01 00:42:26.828000000','2006-12-01 00:42:26.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BA0FD590-80FE-11DB-BEA2-D30EB5A11EEB','jbossesb','JBoss ESB User','2006-12-01 00:42:26.953000000','2006-12-01 00:42:26.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BA209E70-80FE-11DB-BEA2-9C26AD805848','jbossesb','JBoss ESB User','2006-12-01 00:42:27.310000000','2006-12-01 00:42:27.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BA714FB0-8170-11DB-AF51-EED360BA8F06','jbossesb','JBoss ESB User','2006-12-01 14:18:30.218000000','2006-12-01 14:18:30.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BA82C460-861C-11DB-8460-86B8D82E730C','jbossesb','JBoss ESB User','2006-12-07 12:59:48.406000000','2006-12-07 12:59:48.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BA9C3040-8170-11DB-AF51-8D367F94A645','jbossesb','JBoss ESB User','2006-12-01 14:18:30.468000000','2006-12-01 14:18:30.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BABB29F0-8170-11DB-AF51-ABEB9CE26C39','jbossesb','JBoss ESB User','2006-12-01 14:18:30.687000000','2006-12-01 14:18:30.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BACBF2D0-8170-11DB-AF51-9C3AD39F9D47','jbossesb','JBoss ESB User','2006-12-01 14:18:30.796000000','2006-12-01 14:18:30.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BAEBA050-80E2-11DB-A050-9F0A2060BA91','jbossesb','JBoss ESB User','2006-11-30 21:22:02.468000000','2006-11-30 21:22:02.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BAF46C60-8102-11DB-AC60-BD8C72573328','jbossesb','JBoss ESB User','2006-12-01 01:11:06.406000000','2006-12-01 01:11:06.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB102060-8173-11DB-B8A9-93BEFD32CA6C','jbossesb','JBoss ESB User','2006-12-01 14:39:59.718000000','2006-12-01 14:39:59.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB140FE0-80E2-11DB-8FE0-9D5B1EAE8F9B','jbossesb','JBoss ESB User','2006-11-30 21:22:02.750000000','2006-11-30 21:22:02.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB182100-8102-11DB-A100-DC40745B2F9B','jbossesb','JBoss ESB User','2006-12-01 01:11:06.671000000','2006-12-01 01:11:06.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB1BDAA0-861D-11DB-B1A1-EC78A93E3D1D','jbossesb','JBoss ESB User','2006-12-07 13:06:58.890000000','2006-12-07 13:06:58.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB20E940-8173-11DB-B8A9-D7BBF181CBFD','jbossesb','JBoss ESB User','2006-12-01 14:39:59.828000000','2006-12-01 14:39:59.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB2FEEC0-8102-11DB-AEC0-969D4B011A1D','jbossesb','JBoss ESB User','2006-12-01 01:11:06.796000000','2006-12-01 01:11:06.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB357A90-80E2-11DB-BA90-D47F5D516A88','jbossesb','JBoss ESB User','2006-11-30 21:22:02.937000000','2006-11-30 21:22:02.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB361960-861D-11DB-B1A1-B93A380EF795','jbossesb','JBoss ESB User','2006-12-07 13:06:59.109000000','2006-12-07 13:06:59.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB3BFCB0-8102-11DB-BCB0-B9CE63066E22','jbossesb','JBoss ESB User','2006-12-01 01:11:06.875000000','2006-12-01 01:11:06.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB4FB950-80E2-11DB-B950-983580C2912D','jbossesb','JBoss ESB User','2006-11-30 21:22:03.171000000','2006-11-30 21:22:03.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB746070-8173-11DB-B8A9-F278EF91C629','jbossesb','JBoss ESB User','2006-12-01 14:40:00.390000000','2006-12-01 14:40:00.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BB804750-8173-11DB-B8A9-95E53974DBF7','jbossesb','JBoss ESB User','2006-12-01 14:40:00.453000000','2006-12-01 14:40:00.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC0803E0-8563-11DB-A053-FD6CA3301868','jbossesb','JBoss ESB User','2006-12-06 14:55:34.156000000','2006-12-06 14:55:34.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC202540-817D-11DB-A540-FDF58AF9909E','jbossesb','JBoss ESB User','2006-12-01 15:51:36.500000000','2006-12-01 15:51:36.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC3C8160-8563-11DB-A053-F06340FB0680','jbossesb','JBoss ESB User','2006-12-06 14:55:34.406000000','2006-12-06 14:55:34.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC471660-814A-11DB-A6BA-C18D3ECA0BF4','jbossesb','JBoss ESB User','2006-12-01 09:46:32.390000000','2006-12-01 09:46:32.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC57DF40-814A-11DB-A6BA-D224E0D5BC35','jbossesb','JBoss ESB User','2006-12-01 09:46:32.515000000','2006-12-01 09:46:32.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC5EE420-814A-11DB-A6BA-A0B792881DEF','jbossesb','JBoss ESB User','2006-12-01 09:46:32.562000000','2006-12-01 09:46:32.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC661010-814A-11DB-A6BA-92E23349C5F0','jbossesb','JBoss ESB User','2006-12-01 09:46:32.593000000','2006-12-01 09:46:32.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC8405B0-8105-11DB-85B0-8A23C37AFC44','jbossesb','JBoss ESB User','2006-12-01 01:32:37.515000000','2006-12-01 01:32:37.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC892040-817D-11DB-A040-EA08BFC1CEB3','jbossesb','JBoss ESB User','2006-12-01 15:51:37.187000000','2006-12-01 15:51:37.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BC977820-817D-11DB-B820-A2F9303276E5','jbossesb','JBoss ESB User','2006-12-01 15:51:37.265000000','2006-12-01 15:51:37.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BCAEE640-8105-11DB-A640-FD35E2110A99','jbossesb','JBoss ESB User','2006-12-01 01:32:37.796000000','2006-12-01 01:32:37.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BCAF45E0-817D-11DB-85E0-B3E72A200FDC','jbossesb','JBoss ESB User','2006-12-01 15:51:37.421000000','2006-12-01 15:51:37.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BCC1F910-8105-11DB-B910-902370D5345B','jbossesb','JBoss ESB User','2006-12-01 01:32:37.921000000','2006-12-01 01:32:38.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BCD77CE0-8105-11DB-BCE0-F0B850A5FC9A','jbossesb','JBoss ESB User','2006-12-01 01:32:38.930000000','2006-12-01 01:32:38.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BCDF6120-817E-11DB-A120-D4C4A23EA4B7','jbossesb','JBoss ESB User','2006-12-01 15:58:47.218000000','2006-12-01 15:58:47.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BCFC10E0-817E-11DB-90E0-E9E4F35EA734','jbossesb','JBoss ESB User','2006-12-01 15:58:47.421000000','2006-12-01 15:58:47.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD06F840-817C-11DB-B840-CE8E3C30304B','jbossesb','JBoss ESB User','2006-12-01 15:44:28.484000000','2006-12-01 15:44:28.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD155020-817C-11DB-9020-B0FA8A8FC5BD','jbossesb','JBoss ESB User','2006-12-01 15:44:28.593000000','2006-12-01 15:44:28.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD2CDB50-8172-11DB-B8A9-D2ABFDA47FEA','jbossesb','JBoss ESB User','2006-12-01 14:32:53.781000000','2006-12-01 14:32:53.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD50B700-8172-11DB-B8A9-C36D8D486790','jbossesb','JBoss ESB User','2006-12-01 14:32:54.150000000','2006-12-01 14:32:54.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD56B400-817E-11DB-B400-8F86DFF2AD37','jbossesb','JBoss ESB User','2006-12-01 15:58:48.0','2006-12-01 15:58:48.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD5A2CE0-8172-11DB-B8A9-C5613FC717E4','jbossesb','JBoss ESB User','2006-12-01 14:32:54.780000000','2006-12-01 14:32:54.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD6613C0-8172-11DB-B8A9-CB12DBD11B43','jbossesb','JBoss ESB User','2006-12-01 14:32:54.156000000','2006-12-01 14:32:54.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD6755D0-817E-11DB-95D0-ECAF6DF70234','jbossesb','JBoss ESB User','2006-12-01 15:58:48.109000000','2006-12-01 15:58:48.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BD8F05E0-860F-11DB-85E0-FDB1A1480D14','jbossesb','JBoss ESB User','2006-12-07 11:26:50.460000000','2006-12-07 11:26:50.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BDEACCC0-8175-11DB-AE84-CC6FD6AE3BD8','jbossesb','JBoss ESB User','2006-12-01 14:54:23.515000000','2006-12-01 14:54:23.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE09C670-8175-11DB-AE84-DD9D19309208','jbossesb','JBoss ESB User','2006-12-01 14:54:23.703000000','2006-12-01 14:54:23.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE15AD50-8175-11DB-AE84-F510861F816F','jbossesb','JBoss ESB User','2006-12-01 14:54:23.796000000','2006-12-01 14:54:23.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE219430-8175-11DB-AE84-DBA9100949F3','jbossesb','JBoss ESB User','2006-12-01 14:54:23.890000000','2006-12-01 14:54:23.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE300790-817F-11DB-8790-9238F1ECBFC3','jbossesb','JBoss ESB User','2006-12-01 16:05:58.937000000','2006-12-01 16:05:58.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE493850-80E4-11DB-B850-BB1B452EBB7F','jbossesb','JBoss ESB User','2006-11-30 21:36:27.218000000','2006-11-30 21:36:27.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE69FDC0-8147-11DB-BDC0-E8AF470F2532','jbossesb','JBoss ESB User','2006-12-01 09:25:07.484000000','2006-12-01 09:25:07.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE77AA40-8103-11DB-BD3E-E802022D8669','jbossesb','JBoss ESB User','2006-12-01 01:18:21.812000000','2006-12-01 01:18:21.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE804310-8182-11DB-AB1E-F5243DA98855','jbossesb','JBoss ESB User','2006-12-01 16:27:27.937000000','2006-12-01 16:27:27.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE843C80-8147-11DB-BC80-889F7ACCD4B5','jbossesb','JBoss ESB User','2006-12-01 09:25:07.656000000','2006-12-01 09:25:07.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE8462C0-8177-11DB-A2C0-D1083CA5CFA2','jbossesb','JBoss ESB User','2006-12-01 15:08:43.515000000','2006-12-01 15:08:43.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE88F770-8147-11DB-B770-9B7B0B535D90','jbossesb','JBoss ESB User','2006-12-01 09:25:07.703000000','2006-12-01 09:25:07.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE8E57A0-80E4-11DB-97A0-EE33F189D9E3','jbossesb','JBoss ESB User','2006-11-30 21:36:27.562000000','2006-11-30 21:36:27.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE902360-8147-11DB-A360-AFE838258AEF','jbossesb','JBoss ESB User','2006-12-01 09:25:07.734000000','2006-12-01 09:25:07.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE945A00-8103-11DB-BD3E-EA1D577096A8','jbossesb','JBoss ESB User','2006-12-01 01:18:21.984000000','2006-12-01 01:18:22.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BE969190-817F-11DB-9190-9B0C7CE41861','jbossesb','JBoss ESB User','2006-12-01 16:05:59.593000000','2006-12-01 16:05:59.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEA0EB70-8177-11DB-AB70-C69158FFB7BA','jbossesb','JBoss ESB User','2006-12-01 15:08:43.703000000','2006-12-01 15:08:43.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEA76CD0-8103-11DB-BD3E-A2ECB76C2C0D','jbossesb','JBoss ESB User','2006-12-01 01:18:22.109000000','2006-12-01 01:18:22.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEA89660-80E4-11DB-9660-A4316ED9751F','jbossesb','JBoss ESB User','2006-11-30 21:36:27.718000000','2006-11-30 21:36:27.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEB66F40-8177-11DB-AF40-98146F1925A7','jbossesb','JBoss ESB User','2006-12-01 15:08:43.828000000','2006-12-01 15:08:43.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEB80EA0-8103-11DB-BD3E-B770D22EA55C','jbossesb','JBoss ESB User','2006-12-01 01:18:22.218000000','2006-12-01 01:18:22.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEB95F40-80E4-11DB-9F40-DF9CDE930145','jbossesb','JBoss ESB User','2006-11-30 21:36:27.859000000','2006-11-30 21:36:27.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEC25620-8177-11DB-9620-CDAD4E52A9D0','jbossesb','JBoss ESB User','2006-12-01 15:08:43.921000000','2006-12-01 15:08:43.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEEB8800-8182-11DB-AB1E-88F3FCE8F765','jbossesb','JBoss ESB User','2006-12-01 16:27:28.671000000','2006-12-01 16:27:28.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEEC79C0-817F-11DB-B9C0-8CE3E731A06E','jbossesb','JBoss ESB User','2006-12-01 16:06:00.156000000','2006-12-01 16:06:00.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEF860A0-817F-11DB-A0A0-A42E4C2BD811','jbossesb','JBoss ESB User','2006-12-01 16:06:00.234000000','2006-12-01 16:06:00.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BEFE9AD0-8182-11DB-AB1E-C95BB76E42A1','jbossesb','JBoss ESB User','2006-12-01 16:27:28.765000000','2006-12-01 16:27:28.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF05C6C0-8182-11DB-AB1E-F93E3F6A252B','jbossesb','JBoss ESB User','2006-12-01 16:27:28.828000000','2006-12-01 16:27:28.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF0E7690-8104-11DB-B690-A7548E2C501B','jbossesb','JBoss ESB User','2006-12-01 01:25:32.296000000','2006-12-01 01:25:32.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF178C90-860D-11DB-B8CF-F79A4BA5F7CA','jbossesb','JBoss ESB User','2006-12-07 11:12:33.625000000','2006-12-07 11:12:33.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF19D680-860D-11DB-B8CF-CE04C378E2A2','jbossesb','JBoss ESB User','2006-12-07 11:12:33.656000000','2006-12-07 11:12:33.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF23D350-8104-11DB-9350-EC9ADA3911F9','jbossesb','JBoss ESB User','2006-12-01 01:25:32.437000000','2006-12-01 01:25:32.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF31A440-860D-11DB-B8CF-AC894E1256C7','jbossesb','JBoss ESB User','2006-12-07 11:12:33.796000000','2006-12-07 11:12:33.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF368640-860D-11DB-B8CF-F882B84FAD52','jbossesb','JBoss ESB User','2006-12-07 11:12:33.843000000','2006-12-07 11:12:33.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF953520-861A-11DB-B520-EDF2E3C15B39','jbossesb','JBoss ESB User','2006-12-07 12:45:37.921000000','2006-12-07 12:45:37.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BF9EAB00-861A-11DB-AB00-A7E21489B43D','jbossesb','JBoss ESB User','2006-12-07 12:45:37.968000000','2006-12-07 12:45:37.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFA11C00-861A-11DB-9C00-E30D6392DA30','jbossesb','JBoss ESB User','2006-12-07 12:45:37.984000000','2006-12-07 12:45:38.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFA5D6F0-861A-11DB-96F0-CA9BB293C419','jbossesb','JBoss ESB User','2006-12-07 12:45:38.310000000','2006-12-07 12:45:38.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFAD02E0-861A-11DB-82E0-F4B689E76D5B','jbossesb','JBoss ESB User','2006-12-07 12:45:38.620000000','2006-12-07 12:45:38.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFB1BDD0-861A-11DB-BDD0-E4CDC33EBBA8','jbossesb','JBoss ESB User','2006-12-07 12:45:38.930000000','2006-12-07 12:45:38.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFC3CF20-814C-11DB-A6BA-C1E3633FB8A4','jbossesb','JBoss ESB User','2006-12-01 10:00:57.234000000','2006-12-01 10:00:57.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFCD4500-814C-11DB-A6BA-879BB880ED80','jbossesb','JBoss ESB User','2006-12-01 10:00:57.296000000','2006-12-01 10:00:57.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFCE6D90-861A-11DB-AD90-EF40C1850961','jbossesb','JBoss ESB User','2006-12-07 12:45:38.281000000','2006-12-07 12:45:38.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFD0B780-861A-11DB-B780-E52AB26A9577','jbossesb','JBoss ESB User','2006-12-07 12:45:38.312000000','2006-12-07 12:45:38.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFD2D560-816F-11DB-A4E4-DA5EE9191299','jbossesb','JBoss ESB User','2006-12-01 14:11:29.734000000','2006-12-01 14:11:29.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFD59980-861A-11DB-9980-91FA5FF92F0F','jbossesb','JBoss ESB User','2006-12-07 12:45:38.343000000','2006-12-07 12:45:38.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFDCC570-861A-11DB-8570-C2242218AE3E','jbossesb','JBoss ESB User','2006-12-07 12:45:38.390000000','2006-12-07 12:45:38.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFDDB460-817B-11DB-B460-D86CFA8AFC89','jbossesb','JBoss ESB User','2006-12-01 15:37:23.750000000','2006-12-01 15:37:23.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFE3CA50-861A-11DB-8A50-98CD5CF504BD','jbossesb','JBoss ESB User','2006-12-07 12:45:38.437000000','2006-12-07 12:45:38.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFE8AC50-861A-11DB-AC50-824755DF0526','jbossesb','JBoss ESB User','2006-12-07 12:45:38.453000000','2006-12-07 12:45:38.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFEE5630-817B-11DB-9630-DB1D4A873D9D','jbossesb','JBoss ESB User','2006-12-01 15:37:23.875000000','2006-12-01 15:37:23.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:BFFEB840-860D-11DB-B8CF-BAB618F02EF1','jbossesb','JBoss ESB User','2006-12-07 11:12:35.140000000','2006-12-07 11:12:35.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C002EB10-861A-11DB-AB10-AC34BA596D65','jbossesb','JBoss ESB User','2006-12-07 12:45:38.625000000','2006-12-07 12:45:38.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0053500-861A-11DB-B500-C49B7AC92671','jbossesb','JBoss ESB User','2006-12-07 12:45:38.656000000','2006-12-07 12:45:38.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C00752E0-816F-11DB-A4E4-F98C52B468C6','jbossesb','JBoss ESB User','2006-12-01 14:11:30.620000000','2006-12-01 14:11:30.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C00C60F0-861A-11DB-A0F0-EC0C32593E20','jbossesb','JBoss ESB User','2006-12-07 12:45:38.703000000','2006-12-07 12:45:38.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0138CE0-861A-11DB-8CE0-A4899390E7B6','jbossesb','JBoss ESB User','2006-12-07 12:45:38.750000000','2006-12-07 12:45:38.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C01847D0-861A-11DB-87D0-C159058ECB8E','jbossesb','JBoss ESB User','2006-12-07 12:45:38.781000000','2006-12-07 12:45:38.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C039B280-861A-11DB-B280-FB62D518CF69','jbossesb','JBoss ESB User','2006-12-07 12:45:38.984000000','2006-12-07 12:45:39.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C03CABA0-860D-11DB-B8CF-D1054FFF1B38','jbossesb','JBoss ESB User','2006-12-07 11:12:35.546000000','2006-12-07 11:12:35.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C03E6D70-861A-11DB-AD70-EAA772A8A180','jbossesb','JBoss ESB User','2006-12-07 12:45:39.620000000','2006-12-07 12:45:39.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0418AD0-8171-11DB-B8A9-867C44510913','jbossesb','JBoss ESB User','2006-12-01 14:25:49.437000000','2006-12-01 14:25:49.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C04A5450-861A-11DB-9450-BD89B8C19A49','jbossesb','JBoss ESB User','2006-12-07 12:45:39.109000000','2006-12-07 12:45:39.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0518040-861A-11DB-8040-CFE93A261540','jbossesb','JBoss ESB User','2006-12-07 12:45:39.140000000','2006-12-07 12:45:39.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0563B30-861A-11DB-BB30-8D3B8502A6DA','jbossesb','JBoss ESB User','2006-12-07 12:45:39.171000000','2006-12-07 12:45:39.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C05B1D30-861A-11DB-9D30-FDC6E4F4EA07','jbossesb','JBoss ESB User','2006-12-07 12:45:39.234000000','2006-12-07 12:45:39.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C05CBB50-816E-11DB-A4E4-BD909FE10061','jbossesb','JBoss ESB User','2006-12-01 14:04:21.140000000','2006-12-01 14:04:21.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C05D3B10-816F-11DB-A4E4-8C9B77147C03','jbossesb','JBoss ESB User','2006-12-01 14:11:30.625000000','2006-12-01 14:11:30.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C06FCE20-816E-11DB-A4E4-E9B239BF9C49','jbossesb','JBoss ESB User','2006-12-01 14:04:21.265000000','2006-12-01 14:04:21.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C07297D0-816F-11DB-A4E4-EE79850257AD','jbossesb','JBoss ESB User','2006-12-01 14:11:30.781000000','2006-12-01 14:11:30.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0760850-8171-11DB-B8A9-956AF545112F','jbossesb','JBoss ESB User','2006-12-01 14:25:49.796000000','2006-12-01 14:25:49.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C07BB500-816E-11DB-A4E4-A5AFC57AE7C5','jbossesb','JBoss ESB User','2006-12-01 14:04:21.343000000','2006-12-01 14:04:21.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0838CC0-861A-11DB-8CC0-E52106A1FD89','jbossesb','JBoss ESB User','2006-12-07 12:45:39.468000000','2006-12-07 12:45:39.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0852AE0-816E-11DB-A4E4-D36AC824D031','jbossesb','JBoss ESB User','2006-12-01 14:04:21.390000000','2006-12-01 14:04:21.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0929100-8171-11DB-B8A9-985E274FDBA5','jbossesb','JBoss ESB User','2006-12-01 14:25:49.984000000','2006-12-01 14:25:50.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0A5A3D0-8171-11DB-B8A9-B52CFD5BD31B','jbossesb','JBoss ESB User','2006-12-01 14:25:50.930000000','2006-12-01 14:25:50.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0AD9FD0-8181-11DB-AB1E-D85A65C339A4','jbossesb','JBoss ESB User','2006-12-01 16:20:22.125000000','2006-12-01 16:20:22.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0D3C570-8181-11DB-AB1E-B7E399A26482','jbossesb','JBoss ESB User','2006-12-01 16:20:22.359000000','2006-12-01 16:20:22.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0E21D50-8181-11DB-AB1E-B0A892A82811','jbossesb','JBoss ESB User','2006-12-01 16:20:22.453000000','2006-12-01 16:20:22.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C0EE0430-8181-11DB-AB1E-EA7D976E1B68','jbossesb','JBoss ESB User','2006-12-01 16:20:22.531000000','2006-12-01 16:20:22.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C170BE30-8180-11DB-BF4A-FB5A8AE74FC3','jbossesb','JBoss ESB User','2006-12-01 16:13:13.890000000','2006-12-01 16:13:13.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C18AD5E0-8180-11DB-BF4A-B04383A71D3F','jbossesb','JBoss ESB User','2006-12-01 16:13:14.780000000','2006-12-01 16:13:14.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C1C40E50-8180-11DB-BF4A-B25A4A82CEFF','jbossesb','JBoss ESB User','2006-12-01 16:13:14.468000000','2006-12-01 16:13:14.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C1E0BE10-8180-11DB-BF4A-87EB853B39D2','jbossesb','JBoss ESB User','2006-12-01 16:13:14.625000000','2006-12-01 16:13:14.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2625450-8619-11DB-9450-A6A648A86A26','jbossesb','JBoss ESB User','2006-12-07 12:38:33.109000000','2006-12-07 12:38:33.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2670F40-8619-11DB-8F40-8143A37DEBE2','jbossesb','JBoss ESB User','2006-12-07 12:38:33.140000000','2006-12-07 12:38:33.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C26BB9A0-8178-11DB-A966-DAF2884EB284','jbossesb','JBoss ESB User','2006-12-01 15:15:59.593000000','2006-12-01 15:15:59.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C26BCA30-8619-11DB-8A30-FC3D0479C3BA','jbossesb','JBoss ESB User','2006-12-07 12:38:33.203000000','2006-12-07 12:38:33.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2756720-8619-11DB-A720-E0AFF95B5EA8','jbossesb','JBoss ESB User','2006-12-07 12:38:33.250000000','2006-12-07 12:38:33.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C27A2210-8619-11DB-A210-94F022F11B63','jbossesb','JBoss ESB User','2006-12-07 12:38:33.265000000','2006-12-07 12:38:33.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2837C70-860F-11DB-BC70-BBC2E28BFCC3','jbossesb','JBoss ESB User','2006-12-07 11:26:58.375000000','2006-12-07 11:26:58.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C28AA860-860F-11DB-A860-FFF0DB5019D1','jbossesb','JBoss ESB User','2006-12-07 11:26:58.406000000','2006-12-07 11:26:58.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C28ADA60-8178-11DB-A966-A267CA22E778','jbossesb','JBoss ESB User','2006-12-01 15:15:59.765000000','2006-12-01 15:15:59.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C28CF250-860F-11DB-B250-ADCDAB3D1B5E','jbossesb','JBoss ESB User','2006-12-07 11:26:58.421000000','2006-12-07 11:26:58.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C291EFD0-8619-11DB-AFD0-901BD23279FB','jbossesb','JBoss ESB User','2006-12-07 12:38:33.421000000','2006-12-07 12:38:33.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C296D1D0-8619-11DB-91D0-8C14416E3CF1','jbossesb','JBoss ESB User','2006-12-07 12:38:33.453000000','2006-12-07 12:38:33.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2991BC0-8619-11DB-9BC0-C919BA0F991D','jbossesb','JBoss ESB User','2006-12-07 12:38:33.500000000','2006-12-07 12:38:33.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C29B4A30-860F-11DB-8A30-EABB175338AA','jbossesb','JBoss ESB User','2006-12-07 11:26:58.515000000','2006-12-07 11:26:58.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C29B7C30-8178-11DB-A966-CCEE5A84CD0D','jbossesb','JBoss ESB User','2006-12-01 15:15:59.875000000','2006-12-01 15:15:59.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C29DBB30-860F-11DB-BB30-CCE7F68F95DE','jbossesb','JBoss ESB User','2006-12-07 11:26:58.546000000','2006-12-07 11:26:58.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2A047B0-8619-11DB-87B0-F5EBDFB1554E','jbossesb','JBoss ESB User','2006-12-07 12:38:33.531000000','2006-12-07 12:38:33.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2A27620-860F-11DB-B620-FE2C192B7003','jbossesb','JBoss ESB User','2006-12-07 11:26:58.609000000','2006-12-07 11:26:58.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2A502A0-8619-11DB-82A0-F3CA07A89108','jbossesb','JBoss ESB User','2006-12-07 12:38:33.546000000','2006-12-07 12:38:33.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2A9D410-8178-11DB-A966-957B004DF56F','jbossesb','JBoss ESB User','2006-12-01 15:15:59.968000000','2006-12-01 15:15:59.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C2C16FD0-860F-11DB-AFD0-996667CA1C15','jbossesb','JBoss ESB User','2006-12-07 11:26:58.765000000','2006-12-07 11:26:58.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C308B1A0-80E3-11DB-B1A0-CFA0B8AB5725','jbossesb','JBoss ESB User','2006-11-30 21:29:25.562000000','2006-11-30 21:29:25.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C327AB50-80E3-11DB-AB50-90AC12642C47','jbossesb','JBoss ESB User','2006-11-30 21:29:25.765000000','2006-11-30 21:29:25.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C3491600-80E3-11DB-9600-AB768CA6270A','jbossesb','JBoss ESB User','2006-11-30 21:29:26.0','2006-11-30 21:29:26.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C360E3C0-80E3-11DB-A3C0-D5C975F72FEC','jbossesb','JBoss ESB User','2006-11-30 21:29:26.156000000','2006-11-30 21:29:26.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C3662FC0-8619-11DB-AFC0-890967D8A49C','jbossesb','JBoss ESB User','2006-12-07 12:38:34.828000000','2006-12-07 12:38:34.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C3806E80-8619-11DB-AE80-9E8D4AB144A5','jbossesb','JBoss ESB User','2006-12-07 12:38:35.0','2006-12-07 12:38:35.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C39E8C30-80E7-11DB-8C30-904ACACA3FE1','jbossesb','JBoss ESB User','2006-11-30 21:58:04.531000000','2006-11-30 21:58:04.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C3B3E8F0-80E7-11DB-A8F0-FAE8FEA23C2A','jbossesb','JBoss ESB User','2006-11-30 21:58:04.671000000','2006-11-30 21:58:04.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C3B5DAF0-817A-11DB-9AF0-E799DE34709E','jbossesb','JBoss ESB User','2006-12-01 15:30:20.718000000','2006-12-01 15:30:20.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C3E0BB80-817A-11DB-BB80-CF71F8940E1A','jbossesb','JBoss ESB User','2006-12-01 15:30:21.0','2006-12-01 15:30:21.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C3EA3160-817A-11DB-B160-BFBE817B231E','jbossesb','JBoss ESB User','2006-12-01 15:30:21.620000000','2006-12-01 15:30:21.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C3F63F50-817A-11DB-BF50-BA1D175F2151','jbossesb','JBoss ESB User','2006-12-01 15:30:21.125000000','2006-12-01 15:30:21.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C40BF590-814B-11DB-A6BA-AC619E7F044F','jbossesb','JBoss ESB User','2006-12-01 09:53:54.921000000','2006-12-01 09:53:54.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4180380-814B-11DB-A6BA-FB48460005BA','jbossesb','JBoss ESB User','2006-12-01 09:53:55.0','2006-12-01 09:53:55.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4263450-814B-11DB-A6BA-D6C2D748961A','jbossesb','JBoss ESB User','2006-12-01 09:53:55.930000000','2006-12-01 09:53:55.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C42B1650-814B-11DB-A6BA-BD7B9E92B53D','jbossesb','JBoss ESB User','2006-12-01 09:53:55.156000000','2006-12-01 09:53:55.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4CB17F0-860E-11DB-97F0-BC8BA8BBB479','jbossesb','JBoss ESB User','2006-12-07 11:19:52.687000000','2006-12-07 11:19:52.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4CD88F0-860E-11DB-88F0-EFED78D7212B','jbossesb','JBoss ESB User','2006-12-07 11:19:52.718000000','2006-12-07 11:19:52.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4D243E0-860E-11DB-83E0-AF429E582869','jbossesb','JBoss ESB User','2006-12-07 11:19:52.750000000','2006-12-07 11:19:52.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4DE2AC0-860E-11DB-AAC0-9856D1E29A00','jbossesb','JBoss ESB User','2006-12-07 11:19:52.828000000','2006-12-07 11:19:52.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4E2E5B0-860E-11DB-A5B0-DE4D401913C1','jbossesb','JBoss ESB User','2006-12-07 11:19:52.843000000','2006-12-07 11:19:52.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4E7C7B0-860E-11DB-87B0-93CCDBD46188','jbossesb','JBoss ESB User','2006-12-07 11:19:52.875000000','2006-12-07 11:19:52.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C4FCF500-861C-11DB-B500-98C75C880531','jbossesb','JBoss ESB User','2006-12-07 13:00:05.984000000','2006-12-07 13:00:05.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C501D700-861C-11DB-9700-BC76076BA791','jbossesb','JBoss ESB User','2006-12-07 13:00:06.150000000','2006-12-07 13:00:06.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C508DBE0-861C-11DB-9BE0-E1F81FF07585','jbossesb','JBoss ESB User','2006-12-07 13:00:06.460000000','2006-12-07 13:00:06.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C50DBDE0-861C-11DB-BDE0-A7E80872A5AF','jbossesb','JBoss ESB User','2006-12-07 13:00:06.930000000','2006-12-07 13:00:06.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C51079D0-8618-11DB-B9D0-BE22E9303CCE','jbossesb','JBoss ESB User','2006-12-07 12:31:28.109000000','2006-12-07 12:31:28.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C512EAD0-8618-11DB-AAD0-E45E26C28818','jbossesb','JBoss ESB User','2006-12-07 12:31:28.140000000','2006-12-07 12:31:28.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C514E9D0-861C-11DB-A9D0-8A7F60FFB713','jbossesb','JBoss ESB User','2006-12-07 13:00:06.125000000','2006-12-07 13:00:06.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C51571F0-860F-11DB-B1F0-80B20BE477C2','jbossesb','JBoss ESB User','2006-12-07 11:27:02.671000000','2006-12-07 11:27:02.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C517A5C0-8618-11DB-A5C0-DECEB51EA9DD','jbossesb','JBoss ESB User','2006-12-07 12:31:28.156000000','2006-12-07 12:31:28.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C51BEEB0-861C-11DB-AEB0-B09B956F6235','jbossesb','JBoss ESB User','2006-12-07 13:00:06.171000000','2006-12-07 13:00:06.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C51ED1B0-8618-11DB-91B0-C81DFA436DC1','jbossesb','JBoss ESB User','2006-12-07 12:31:28.203000000','2006-12-07 12:31:28.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C5238CA0-8618-11DB-8CA0-DC840562C66C','jbossesb','JBoss ESB User','2006-12-07 12:31:28.234000000','2006-12-07 12:31:28.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C53FCA60-861C-11DB-8A60-F17E36162E09','jbossesb','JBoss ESB User','2006-12-07 13:00:06.406000000','2006-12-07 13:00:06.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C5401550-8618-11DB-9550-83E5EE67ED2F','jbossesb','JBoss ESB User','2006-12-07 12:31:28.421000000','2006-12-07 12:31:28.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C5421450-861C-11DB-9450-88BE3C362F20','jbossesb','JBoss ESB User','2006-12-07 13:00:06.453000000','2006-12-07 13:00:06.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C544F750-8618-11DB-B750-F81A0E1F1FD2','jbossesb','JBoss ESB User','2006-12-07 12:31:28.468000000','2006-12-07 12:31:28.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C5494040-861C-11DB-8040-A0FB6C5F4500','jbossesb','JBoss ESB User','2006-12-07 13:00:06.468000000','2006-12-07 13:00:06.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C54E6D30-8618-11DB-AD30-F3694A5B1D0F','jbossesb','JBoss ESB User','2006-12-07 12:31:28.515000000','2006-12-07 12:31:28.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C5506C30-861C-11DB-AC30-C8260FDA0224','jbossesb','JBoss ESB User','2006-12-07 13:00:06.515000000','2006-12-07 13:00:06.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C5559920-8618-11DB-9920-BB783733F736','jbossesb','JBoss ESB User','2006-12-07 12:31:28.562000000','2006-12-07 12:31:28.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C5579820-861C-11DB-9820-8F69FCA9AE48','jbossesb','JBoss ESB User','2006-12-07 13:00:06.578000000','2006-12-07 13:00:06.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C55C5310-861C-11DB-9310-EF0861E4DE26','jbossesb','JBoss ESB User','2006-12-07 13:00:06.593000000','2006-12-07 13:00:06.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C55F3610-8618-11DB-B610-818F529EA01E','jbossesb','JBoss ESB User','2006-12-07 12:31:28.640000000','2006-12-07 12:31:28.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C568ABF0-8618-11DB-ABF0-FFF4EEB7FE6C','jbossesb','JBoss ESB User','2006-12-07 12:31:28.703000000','2006-12-07 12:31:28.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C58C6090-8618-11DB-A090-8E8F3F3C0AA7','jbossesb','JBoss ESB User','2006-12-07 12:31:28.937000000','2006-12-07 12:31:28.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C5D7E2F0-80FE-11DB-BEA2-D8BEC212F9D0','jbossesb','JBoss ESB User','2006-12-01 00:42:47.150000000','2006-12-01 00:42:47.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C60A6D60-861C-11DB-AD60-9CD6B1FDF24B','jbossesb','JBoss ESB User','2006-12-07 13:00:07.750000000','2006-12-07 13:00:07.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C621BD30-80FE-11DB-BEA2-829A3E8C6C5D','jbossesb','JBoss ESB User','2006-12-01 00:42:47.171000000','2006-12-01 00:42:47.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C6301510-80FE-11DB-BEA2-AB721242D31A','jbossesb','JBoss ESB User','2006-12-01 00:42:47.265000000','2006-12-01 00:42:47.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C639B200-80FE-11DB-BEA2-EEA2110D3841','jbossesb','JBoss ESB User','2006-12-01 00:42:47.328000000','2006-12-01 00:42:47.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C63F8630-8563-11DB-A053-A814352C9FE0','jbossesb','JBoss ESB User','2006-12-06 14:55:51.187000000','2006-12-06 14:55:51.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C65E1400-860E-11DB-9400-A9A9663EC24C','jbossesb','JBoss ESB User','2006-12-07 11:19:55.343000000','2006-12-07 11:19:55.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C65E7FE0-8563-11DB-A053-D49977400A87','jbossesb','JBoss ESB User','2006-12-06 14:55:51.390000000','2006-12-06 14:55:51.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C66A66C0-8563-11DB-A053-AF6E76C3676D','jbossesb','JBoss ESB User','2006-12-06 14:55:51.484000000','2006-12-06 14:55:51.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C6734150-861C-11DB-8150-CC0243612F2D','jbossesb','JBoss ESB User','2006-12-07 13:00:08.453000000','2006-12-07 13:00:08.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C67403B0-8563-11DB-A053-B0F66BE76B82','jbossesb','JBoss ESB User','2006-12-06 14:55:51.546000000','2006-12-06 14:55:51.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C69B0510-8170-11DB-AF51-D3439EC13135','jbossesb','JBoss ESB User','2006-12-01 14:18:51.150000000','2006-12-01 14:18:51.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C6C958F0-860E-11DB-98F0-B14E4C964D33','jbossesb','JBoss ESB User','2006-12-07 11:19:56.620000000','2006-12-07 11:19:56.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C704B3E0-80E2-11DB-B3E0-A76CC4D474BC','jbossesb','JBoss ESB User','2006-11-30 21:22:22.781000000','2006-11-30 21:22:22.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C71712E0-8170-11DB-AF51-CAC4D4BA93AE','jbossesb','JBoss ESB User','2006-12-01 14:18:51.406000000','2006-12-01 14:18:51.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C72AD980-80E2-11DB-9980-D44ED9D1F5AC','jbossesb','JBoss ESB User','2006-11-30 21:22:23.150000000','2006-11-30 21:22:23.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7303340-861D-11DB-B1A1-814AC7D898A3','jbossesb','JBoss ESB User','2006-12-07 13:07:19.171000000','2006-12-07 13:07:19.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7375F30-861D-11DB-B1A1-C6C924BCB823','jbossesb','JBoss ESB User','2006-12-07 13:07:19.203000000','2006-12-07 13:07:19.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C73F8270-8170-11DB-AF51-CBBBBBB19575','jbossesb','JBoss ESB User','2006-12-01 14:18:51.671000000','2006-12-01 14:18:51.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C740D510-861D-11DB-B1A1-FDB97B3E13B9','jbossesb','JBoss ESB User','2006-12-07 13:07:19.265000000','2006-12-07 13:07:19.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C74A9EA0-8173-11DB-B8A9-8C51695EB895','jbossesb','JBoss ESB User','2006-12-01 14:40:20.250000000','2006-12-01 14:40:20.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C750FF20-80E2-11DB-BF20-9A68CB999B18','jbossesb','JBoss ESB User','2006-11-30 21:22:23.375000000','2006-11-30 21:22:23.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C759C130-8170-11DB-AF51-937460150139','jbossesb','JBoss ESB User','2006-12-01 14:18:51.875000000','2006-12-01 14:18:51.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7623FC0-861D-11DB-B1A1-8BE1E8702F27','jbossesb','JBoss ESB User','2006-12-07 13:07:19.500000000','2006-12-07 13:07:19.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C76C0950-8173-11DB-B8A9-E128F99A143E','jbossesb','JBoss ESB User','2006-12-01 14:40:20.468000000','2006-12-01 14:40:20.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C77097A0-861D-11DB-B1A1-B9A4DFB328C9','jbossesb','JBoss ESB User','2006-12-07 13:07:19.593000000','2006-12-07 13:07:19.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7755290-861D-11DB-B1A1-8493921992B2','jbossesb','JBoss ESB User','2006-12-07 13:07:19.609000000','2006-12-07 13:07:19.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C77A0D80-861D-11DB-B1A1-C3D265EC9499','jbossesb','JBoss ESB User','2006-12-07 13:07:19.640000000','2006-12-07 13:07:19.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C77BDFB0-80E2-11DB-9FB0-EA8E2258EE3D','jbossesb','JBoss ESB User','2006-11-30 21:22:23.531000000','2006-11-30 21:22:23.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7A4EE10-861D-11DB-B1A1-DEB3E4F01232','jbossesb','JBoss ESB User','2006-12-07 13:07:19.937000000','2006-12-07 13:07:19.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7A9D010-861D-11DB-B1A1-93500F2771B4','jbossesb','JBoss ESB User','2006-12-07 13:07:19.953000000','2006-12-07 13:07:19.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7AE8B00-861D-11DB-B1A1-B6CB2D92EB41','jbossesb','JBoss ESB User','2006-12-07 13:07:19.984000000','2006-12-07 13:07:19.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7B345F0-861D-11DB-B1A1-81A49D83278B','jbossesb','JBoss ESB User','2006-12-07 13:07:20.310000000','2006-12-07 13:07:20.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7B800E0-861D-11DB-B1A1-ABA5A3B9DBCF','jbossesb','JBoss ESB User','2006-12-07 13:07:20.460000000','2006-12-07 13:07:20.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7BA9E80-8173-11DB-B8A9-B69B2C456902','jbossesb','JBoss ESB User','2006-12-01 14:40:20.984000000','2006-12-01 14:40:21.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7BCE2E0-861D-11DB-B1A1-DC320336E90E','jbossesb','JBoss ESB User','2006-12-07 13:07:20.780000000','2006-12-07 13:07:20.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7C19DD0-861D-11DB-B1A1-891A5A730693','jbossesb','JBoss ESB User','2006-12-07 13:07:20.109000000','2006-12-07 13:07:20.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7CB6760-8173-11DB-B8A9-946B7080C915','jbossesb','JBoss ESB User','2006-12-01 14:40:21.780000000','2006-12-01 14:40:21.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7CE5760-80E0-11DB-9760-C6537F71A312','jbossesb','JBoss ESB User','2006-11-30 21:08:05.930000000','2006-11-30 21:08:05.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7E30880-861D-11DB-B1A1-E12872D53E99','jbossesb','JBoss ESB User','2006-12-07 13:07:20.343000000','2006-12-07 13:07:20.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7E7C370-861D-11DB-B1A1-FEC02A3705FE','jbossesb','JBoss ESB User','2006-12-07 13:07:20.359000000','2006-12-07 13:07:20.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7EC7E60-861D-11DB-B1A1-EA5967C0B791','jbossesb','JBoss ESB User','2006-12-07 13:07:20.390000000','2006-12-07 13:07:20.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7F3AA50-861D-11DB-B1A1-CA0D6B905638','jbossesb','JBoss ESB User','2006-12-07 13:07:20.453000000','2006-12-07 13:07:20.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7F86540-861D-11DB-B1A1-88ADD5B90024','jbossesb','JBoss ESB User','2006-12-07 13:07:20.484000000','2006-12-07 13:07:20.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7FBA8F0-80E0-11DB-A8F0-90E6722A65CE','jbossesb','JBoss ESB User','2006-11-30 21:08:05.421000000','2006-11-30 21:08:05.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C7FF9130-861D-11DB-B1A1-994839117911','jbossesb','JBoss ESB User','2006-12-07 13:07:20.531000000','2006-12-07 13:07:20.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8544310-814A-11DB-A6BA-AD951F32D4AD','jbossesb','JBoss ESB User','2006-12-01 09:46:52.656000000','2006-12-01 09:46:52.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C85A3450-861D-11DB-B1A1-B68980E27742','jbossesb','JBoss ESB User','2006-12-07 13:07:21.125000000','2006-12-07 13:07:21.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C85EEF40-861D-11DB-B1A1-9ADE52E4FA2A','jbossesb','JBoss ESB User','2006-12-07 13:07:21.140000000','2006-12-07 13:07:21.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8616040-861D-11DB-B1A1-D6B38F9061F8','jbossesb','JBoss ESB User','2006-12-07 13:07:21.156000000','2006-12-07 13:07:21.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8661B30-861D-11DB-B1A1-CE001B9B49ED','jbossesb','JBoss ESB User','2006-12-07 13:07:21.187000000','2006-12-07 13:07:21.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C86AD620-861D-11DB-B1A1-AA62E8C9DF6F','jbossesb','JBoss ESB User','2006-12-07 13:07:21.218000000','2006-12-07 13:07:21.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C86FB820-861D-11DB-B1A1-F1D1740F39F0','jbossesb','JBoss ESB User','2006-12-07 13:07:21.250000000','2006-12-07 13:07:21.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8747310-861D-11DB-B1A1-FDF4AEA84CAA','jbossesb','JBoss ESB User','2006-12-07 13:07:21.281000000','2006-12-07 13:07:21.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C877F7B0-814A-11DB-A6BA-AC598782159D','jbossesb','JBoss ESB User','2006-12-01 09:46:52.843000000','2006-12-01 09:46:52.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C87F23A0-814A-11DB-A6BA-A57CEDE85C6E','jbossesb','JBoss ESB User','2006-12-01 09:46:52.890000000','2006-12-01 09:46:52.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8864F90-814A-11DB-A6BA-917CEC6A6B28','jbossesb','JBoss ESB User','2006-12-01 09:46:52.937000000','2006-12-01 09:46:52.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8D8FB40-817D-11DB-BB40-83D8E1AC6304','jbossesb','JBoss ESB User','2006-12-01 15:51:57.812000000','2006-12-01 15:51:57.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8E561E0-817E-11DB-A1E0-EE7F6D275487','jbossesb','JBoss ESB User','2006-12-01 15:59:07.390000000','2006-12-01 15:59:07.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8EC0E10-817D-11DB-8E10-B647622D871A','jbossesb','JBoss ESB User','2006-12-01 15:51:57.937000000','2006-12-01 15:51:57.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C8FA65F0-817D-11DB-A5F0-D1536BDB69E6','jbossesb','JBoss ESB User','2006-12-01 15:51:58.310000000','2006-12-01 15:51:58.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C932DC10-8172-11DB-B8A9-E17048E2921A','jbossesb','JBoss ESB User','2006-12-01 14:33:13.937000000','2006-12-01 14:33:13.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C9345A90-80E1-11DB-9A90-AC127F296325','jbossesb','JBoss ESB User','2006-11-30 21:15:16.968000000','2006-11-30 21:15:17.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C943C070-817C-11DB-8070-BCAA8ECED590','jbossesb','JBoss ESB User','2006-12-01 15:44:49.620000000','2006-12-01 15:44:49.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C94BEBE0-817E-11DB-ABE0-8FE9CFA379FD','jbossesb','JBoss ESB User','2006-12-01 15:59:08.780000000','2006-12-01 15:59:08.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C9529810-817D-11DB-9810-FC7F4B2BB853','jbossesb','JBoss ESB User','2006-12-01 15:51:58.625000000','2006-12-01 15:51:58.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C95901B0-8172-11DB-B8A9-9BAD4F845E29','jbossesb','JBoss ESB User','2006-12-01 14:33:14.187000000','2006-12-01 14:33:14.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C95EFEB0-817E-11DB-BEB0-E1E777E849E7','jbossesb','JBoss ESB User','2006-12-01 15:59:08.187000000','2006-12-01 15:59:08.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C9652B20-817C-11DB-AB20-A3D3899AF66E','jbossesb','JBoss ESB User','2006-12-01 15:44:49.265000000','2006-12-01 15:44:49.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C97F69E0-817C-11DB-A9E0-FD916F9A0E45','jbossesb','JBoss ESB User','2006-12-01 15:44:49.421000000','2006-12-01 15:44:49.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C98DC1C0-817C-11DB-81C0-96D5E7DFD875','jbossesb','JBoss ESB User','2006-12-01 15:44:49.500000000','2006-12-01 15:44:49.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C9A2DBF0-8172-11DB-B8A9-926189E8E94F','jbossesb','JBoss ESB User','2006-12-01 14:33:14.703000000','2006-12-01 14:33:14.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C9AEE9E0-8172-11DB-B8A9-98B492E7D374','jbossesb','JBoss ESB User','2006-12-01 14:33:14.765000000','2006-12-01 14:33:14.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C9BBEBC0-817E-11DB-ABC0-95FEAA6769A3','jbossesb','JBoss ESB User','2006-12-01 15:59:08.796000000','2006-12-01 15:59:08.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:C9F0A670-8175-11DB-AE84-A0E7B442F0AF','jbossesb','JBoss ESB User','2006-12-01 14:54:43.671000000','2006-12-01 14:54:43.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA089B40-8175-11DB-AE84-C2012134B010','jbossesb','JBoss ESB User','2006-12-01 14:54:43.875000000','2006-12-01 14:54:43.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA1BAE10-8175-11DB-AE84-A52CC79EB593','jbossesb','JBoss ESB User','2006-12-01 14:54:43.968000000','2006-12-01 14:54:43.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA256680-817F-11DB-A680-E66EF7FC456A','jbossesb','JBoss ESB User','2006-12-01 16:06:19.150000000','2006-12-01 16:06:19.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA29DEE0-8175-11DB-AE84-E0C6C635448D','jbossesb','JBoss ESB User','2006-12-01 14:54:44.620000000','2006-12-01 14:54:44.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA53F400-80E4-11DB-B400-F2A453EC3031','jbossesb','JBoss ESB User','2006-11-30 21:36:47.328000000','2006-11-30 21:36:47.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA5830C0-8147-11DB-B0C0-BF09E778D092','jbossesb','JBoss ESB User','2006-12-01 09:25:27.515000000','2006-12-01 09:25:27.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA666190-8147-11DB-A190-EAE9428EA945','jbossesb','JBoss ESB User','2006-12-01 09:25:27.593000000','2006-12-01 09:25:27.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA6D8D80-8147-11DB-8D80-95EC99D94B64','jbossesb','JBoss ESB User','2006-12-01 09:25:27.656000000','2006-12-01 09:25:27.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA743520-8103-11DB-BD3E-F88DFE4B4FBA','jbossesb','JBoss ESB User','2006-12-01 01:18:41.937000000','2006-12-01 01:18:41.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA74B970-8147-11DB-B970-C22BC30A4158','jbossesb','JBoss ESB User','2006-12-01 09:25:27.703000000','2006-12-01 09:25:27.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA83B690-80E4-11DB-B690-EA42AF951D13','jbossesb','JBoss ESB User','2006-11-30 21:36:47.687000000','2006-11-30 21:36:47.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA8FB9B0-8182-11DB-AB1E-82A2ABBAA96B','jbossesb','JBoss ESB User','2006-12-01 16:27:48.171000000','2006-12-01 16:27:48.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA90AB70-817F-11DB-AB70-CD95F9BBF440','jbossesb','JBoss ESB User','2006-12-01 16:06:19.687000000','2006-12-01 16:06:19.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA90BDD0-8103-11DB-BD3E-9C350A3D0264','jbossesb','JBoss ESB User','2006-12-01 01:18:42.125000000','2006-12-01 01:18:42.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CA93D960-8177-11DB-9960-C60921970E6D','jbossesb','JBoss ESB User','2006-12-01 15:09:03.765000000','2006-12-01 15:09:03.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CAA3D0A0-8103-11DB-BD3E-F5BDB463587B','jbossesb','JBoss ESB User','2006-12-01 01:18:42.234000000','2006-12-01 01:18:42.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CAA7AE80-8182-11DB-AB1E-F230D200F2B0','jbossesb','JBoss ESB User','2006-12-01 16:27:48.328000000','2006-12-01 16:27:48.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CAA87930-817F-11DB-B930-C51D22F78FA7','jbossesb','JBoss ESB User','2006-12-01 16:06:19.843000000','2006-12-01 16:06:20.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CAAE9720-80E4-11DB-9720-B66F09C24DA1','jbossesb','JBoss ESB User','2006-11-30 21:36:47.906000000','2006-11-30 21:36:47.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CAB06210-8177-11DB-A210-A6368A467746','jbossesb','JBoss ESB User','2006-12-01 15:09:03.937000000','2006-12-01 15:09:03.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CAB6E370-8103-11DB-BD3E-D2AECB2C4AB7','jbossesb','JBoss ESB User','2006-12-01 01:18:42.343000000','2006-12-01 01:18:42.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CAB85050-8182-11DB-AB1E-ACBC0C6A8878','jbossesb','JBoss ESB User','2006-12-01 16:27:48.468000000','2006-12-01 16:27:48.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CAC374E0-8177-11DB-B4E0-F31EF3A874FE','jbossesb','JBoss ESB User','2006-12-01 15:09:04.780000000','2006-12-01 15:09:04.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CACB46E0-80E4-11DB-86E0-B8754112E8A4','jbossesb','JBoss ESB User','2006-11-30 21:36:48.109000000','2006-11-30 21:36:48.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CADB69B0-8177-11DB-A9B0-9086427F7CC5','jbossesb','JBoss ESB User','2006-12-01 15:09:04.218000000','2006-12-01 15:09:04.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB058D50-817F-11DB-8D50-90748B4AF34B','jbossesb','JBoss ESB User','2006-12-01 16:06:20.468000000','2006-12-01 16:06:20.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB120650-8104-11DB-8650-CC6E1F235F32','jbossesb','JBoss ESB User','2006-12-01 01:25:52.437000000','2006-12-01 01:25:52.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB1A1F60-8182-11DB-AB1E-B130B688C3D3','jbossesb','JBoss ESB User','2006-12-01 16:27:49.780000000','2006-12-01 16:27:49.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB1D6640-860D-11DB-B8CF-F3496DA38162','jbossesb','JBoss ESB User','2006-12-07 11:12:53.796000000','2006-12-07 11:12:53.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB224840-860D-11DB-B8CF-FE27B520DE4A','jbossesb','JBoss ESB User','2006-12-07 11:12:53.828000000','2006-12-07 11:12:53.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB29D410-8104-11DB-9410-8686CB654E32','jbossesb','JBoss ESB User','2006-12-01 01:25:52.593000000','2006-12-01 01:25:52.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB4141F0-860D-11DB-B8CF-BC31A0EAA32C','jbossesb','JBoss ESB User','2006-12-07 11:12:54.310000000','2006-12-07 11:12:54.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB41C8E0-8104-11DB-88E0-A92A9640A908','jbossesb','JBoss ESB User','2006-12-01 01:25:52.765000000','2006-12-01 01:25:52.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB45FCE0-860D-11DB-B8CF-98527DDC30CD','jbossesb','JBoss ESB User','2006-12-07 11:12:54.620000000','2006-12-07 11:12:54.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB4B3EC0-8104-11DB-BEC0-C3CCEA14D1E6','jbossesb','JBoss ESB User','2006-12-01 01:25:52.843000000','2006-12-01 01:25:52.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CB866140-860D-11DB-B8CF-F2D5CF7912D3','jbossesb','JBoss ESB User','2006-12-07 11:12:54.500000000','2006-12-07 11:12:54.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBB44C10-814C-11DB-A6BA-BCE630B473E0','jbossesb','JBoss ESB User','2006-12-01 10:01:17.265000000','2006-12-01 10:01:17.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBB7BE90-861A-11DB-BE90-9ECC9D0BEDF1','jbossesb','JBoss ESB User','2006-12-07 12:45:58.265000000','2006-12-07 12:45:58.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBB7BE90-861A-11DB-BE90-A3044D1A16C2','jbossesb','JBoss ESB User','2006-12-07 12:45:58.265000000','2006-12-07 12:45:58.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBBA2F90-861A-11DB-AF90-98F6681DC0C2','jbossesb','JBoss ESB User','2006-12-07 12:45:58.296000000','2006-12-07 12:45:58.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBBEEA80-861A-11DB-AA80-9DEA64B49C40','jbossesb','JBoss ESB User','2006-12-07 12:45:58.312000000','2006-12-07 12:45:58.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBC37960-816F-11DB-A4E4-9E56713FDD76','jbossesb','JBoss ESB User','2006-12-01 14:11:49.765000000','2006-12-01 14:11:49.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBC524B0-861D-11DB-B1A1-96A831FBE5EB','jbossesb','JBoss ESB User','2006-12-07 13:07:26.843000000','2006-12-07 13:07:26.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBC61670-861A-11DB-9670-8BD006F8ED7A','jbossesb','JBoss ESB User','2006-12-07 12:45:58.359000000','2006-12-07 12:45:58.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBC75EE0-814C-11DB-A6BA-C69EDE3BC05C','jbossesb','JBoss ESB User','2006-12-01 10:01:17.390000000','2006-12-01 10:01:17.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBCE8AD0-814C-11DB-A6BA-F0431E1DCD5C','jbossesb','JBoss ESB User','2006-12-01 10:01:17.437000000','2006-12-01 10:01:17.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBD0FBD0-814C-11DB-A6BA-E5E60EB56EEA','jbossesb','JBoss ESB User','2006-12-01 10:01:17.468000000','2006-12-01 10:01:17.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBDDE430-861A-11DB-A430-E75917F60471','jbossesb','JBoss ESB User','2006-12-07 12:45:58.515000000','2006-12-07 12:45:58.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBE05530-861A-11DB-9530-A5104A6D970B','jbossesb','JBoss ESB User','2006-12-07 12:45:58.562000000','2006-12-07 12:45:58.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBE34E50-860D-11DB-B8CF-B6FD87F40D4F','jbossesb','JBoss ESB User','2006-12-07 11:12:55.125000000','2006-12-07 11:12:55.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBE9CB10-861A-11DB-8B10-B3CD594EB94F','jbossesb','JBoss ESB User','2006-12-07 12:45:58.593000000','2006-12-07 12:45:58.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBF0F700-861A-11DB-B700-A65BC69F1C65','jbossesb','JBoss ESB User','2006-12-07 12:45:58.671000000','2006-12-07 12:45:58.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBF822F0-861A-11DB-A2F0-AA93DF662F4A','jbossesb','JBoss ESB User','2006-12-07 12:45:58.687000000','2006-12-07 12:45:58.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CBF911E0-817B-11DB-91E0-A578DBF128D2','jbossesb','JBoss ESB User','2006-12-01 15:37:44.780000000','2006-12-01 15:37:44.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC130E10-8171-11DB-B8A9-CC9F70EEEDDA','jbossesb','JBoss ESB User','2006-12-01 14:26:09.265000000','2006-12-01 14:26:09.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC16C980-816F-11DB-A4E4-8B78B1CD3389','jbossesb','JBoss ESB User','2006-12-01 14:11:50.296000000','2006-12-01 14:11:50.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC279260-816F-11DB-A4E4-C921E99E4A0E','jbossesb','JBoss ESB User','2006-12-01 14:11:50.453000000','2006-12-01 14:11:50.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC2ADBD0-8171-11DB-B8A9-834F4630F276','jbossesb','JBoss ESB User','2006-12-01 14:26:09.421000000','2006-12-01 14:26:09.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC2D8F60-817B-11DB-8F60-B1EA68BC1B80','jbossesb','JBoss ESB User','2006-12-01 15:37:44.437000000','2006-12-01 15:37:44.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC3DEEA0-8171-11DB-B8A9-86692B0E1DEB','jbossesb','JBoss ESB User','2006-12-01 14:26:09.562000000','2006-12-01 14:26:09.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC4C8910-817B-11DB-8910-84F0D963269A','jbossesb','JBoss ESB User','2006-12-01 15:37:44.640000000','2006-12-01 15:37:44.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC510170-8171-11DB-B8A9-91414D62643E','jbossesb','JBoss ESB User','2006-12-01 14:26:09.703000000','2006-12-01 14:26:09.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC5D2AE0-817B-11DB-AAE0-CF9E53353FC5','jbossesb','JBoss ESB User','2006-12-01 15:37:44.718000000','2006-12-01 15:37:44.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CC5DDA10-816E-11DB-A4E4-D5F415351EC5','jbossesb','JBoss ESB User','2006-12-01 14:04:41.265000000','2006-12-01 14:04:41.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CCA7B9B0-8181-11DB-AB1E-C098AF179274','jbossesb','JBoss ESB User','2006-12-01 16:20:42.218000000','2006-12-01 16:20:42.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CCAA2550-816E-11DB-A4E4-942058D2DC21','jbossesb','JBoss ESB User','2006-12-01 14:04:41.781000000','2006-12-01 14:04:41.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CCB87D30-816E-11DB-A4E4-F95E8B662F43','jbossesb','JBoss ESB User','2006-12-01 14:04:41.859000000','2006-12-01 14:04:41.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CCBD3D80-8181-11DB-AB1E-BC46157E63A8','jbossesb','JBoss ESB User','2006-12-01 16:20:42.343000000','2006-12-01 16:20:42.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CCC1F310-816E-11DB-A4E4-89D404DBB2C9','jbossesb','JBoss ESB User','2006-12-01 14:04:41.921000000','2006-12-01 14:04:41.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CCD29A40-8181-11DB-AB1E-A83DD3C8BF47','jbossesb','JBoss ESB User','2006-12-01 16:20:42.468000000','2006-12-01 16:20:42.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CCD9C630-8181-11DB-AB1E-FE384B1803FF','jbossesb','JBoss ESB User','2006-12-01 16:20:42.515000000','2006-12-01 16:20:42.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CD32ECE0-861A-11DB-ACE0-FC8001EA0A06','jbossesb','JBoss ESB User','2006-12-07 12:46:00.765000000','2006-12-07 12:46:00.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CD555440-8180-11DB-BF4A-D4509E4125D5','jbossesb','JBoss ESB User','2006-12-01 16:13:33.843000000','2006-12-01 16:13:33.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CD744DF0-8180-11DB-BF4A-C4637104904B','jbossesb','JBoss ESB User','2006-12-01 16:13:34.310000000','2006-12-01 16:13:34.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CD759B30-861A-11DB-9B30-9C1F017AF05A','jbossesb','JBoss ESB User','2006-12-07 12:46:01.187000000','2006-12-07 12:46:01.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CD84EFC0-8180-11DB-BF4A-D7320AA0540C','jbossesb','JBoss ESB User','2006-12-01 16:13:34.156000000','2006-12-01 16:13:34.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CD95B8A0-8180-11DB-BF4A-A218B184F3BB','jbossesb','JBoss ESB User','2006-12-01 16:13:34.265000000','2006-12-01 16:13:34.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CE7DB1D0-8619-11DB-B1D0-D8B67CDE0370','jbossesb','JBoss ESB User','2006-12-07 12:38:53.421000000','2006-12-07 12:38:53.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CE8022D0-8619-11DB-A2D0-A22C2454E2D1','jbossesb','JBoss ESB User','2006-12-07 12:38:53.437000000','2006-12-07 12:38:53.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CE8293D0-8619-11DB-93D0-AFCFE5ACD163','jbossesb','JBoss ESB User','2006-12-07 12:38:53.484000000','2006-12-07 12:38:53.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CE8C09B0-8619-11DB-89B0-B3D0B2B39AA0','jbossesb','JBoss ESB User','2006-12-07 12:38:53.515000000','2006-12-07 12:38:53.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CE9335A0-8619-11DB-B5A0-817DFC4BE3D0','jbossesb','JBoss ESB User','2006-12-07 12:38:53.578000000','2006-12-07 12:38:53.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEAFA2D0-860F-11DB-A2D0-85BC3657A6FE','jbossesb','JBoss ESB User','2006-12-07 11:27:18.796000000','2006-12-07 11:27:18.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEB21EC0-8178-11DB-A966-89B4CFE9B5F8','jbossesb','JBoss ESB User','2006-12-01 15:16:20.203000000','2006-12-01 15:16:20.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEB6CEC0-860F-11DB-8EC0-AFE5685DB5DE','jbossesb','JBoss ESB User','2006-12-07 11:27:18.859000000','2006-12-07 11:27:18.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEB6EA40-8619-11DB-AA40-F4676EA8E7AA','jbossesb','JBoss ESB User','2006-12-07 12:38:53.796000000','2006-12-07 12:38:53.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEBBCC40-8619-11DB-8C40-A14D209482C7','jbossesb','JBoss ESB User','2006-12-07 12:38:53.828000000','2006-12-07 12:38:53.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEC2B5A0-860F-11DB-B5A0-FA0441AF56FC','jbossesb','JBoss ESB User','2006-12-07 11:27:18.921000000','2006-12-07 11:27:18.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEC2F830-8619-11DB-B830-CD4B17F97431','jbossesb','JBoss ESB User','2006-12-07 12:38:53.875000000','2006-12-07 12:38:53.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEC9FD10-8619-11DB-BD10-D5C8F1161F2E','jbossesb','JBoss ESB User','2006-12-07 12:38:53.921000000','2006-12-07 12:38:53.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CECEDF10-8619-11DB-9F10-E012BDA17817','jbossesb','JBoss ESB User','2006-12-07 12:38:53.984000000','2006-12-07 12:38:53.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CED10D80-860F-11DB-8D80-FDC9B6E02252','jbossesb','JBoss ESB User','2006-12-07 11:27:19.0','2006-12-07 11:27:19.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CED35770-860F-11DB-9770-CB5DAC53981F','jbossesb','JBoss ESB User','2006-12-07 11:27:19.150000000','2006-12-07 11:27:19.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CED5C870-860F-11DB-8870-9C63CE6DC3EA','jbossesb','JBoss ESB User','2006-12-07 11:27:19.460000000','2006-12-07 11:27:19.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEDF80E0-8619-11DB-80E0-905446C1FC82','jbossesb','JBoss ESB User','2006-12-07 12:38:54.620000000','2006-12-07 12:38:54.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEE1AF50-860F-11DB-AF50-9BBA73F961C7','jbossesb','JBoss ESB User','2006-12-07 11:27:19.109000000','2006-12-07 11:27:19.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEEB5730-8178-11DB-A966-EF1C6B70E240','jbossesb','JBoss ESB User','2006-12-01 15:16:20.531000000','2006-12-01 15:16:20.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CEF73320-860F-11DB-B320-DAA90C45AC56','jbossesb','JBoss ESB User','2006-12-07 11:27:19.265000000','2006-12-07 11:27:19.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CF0806F0-8178-11DB-A966-B304B9CC3E69','jbossesb','JBoss ESB User','2006-12-01 15:16:20.718000000','2006-12-01 15:16:20.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CF1637C0-8178-11DB-A966-FF22784D72D7','jbossesb','JBoss ESB User','2006-12-01 15:16:20.828000000','2006-12-01 15:16:20.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CF34D800-80E3-11DB-9800-C9052D4C4115','jbossesb','JBoss ESB User','2006-11-30 21:29:45.984000000','2006-11-30 21:29:46.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CF647380-80E3-11DB-B380-EBE1B1F7123F','jbossesb','JBoss ESB User','2006-11-30 21:29:46.296000000','2006-11-30 21:29:46.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CF6C3080-8619-11DB-B080-9B5335AB367B','jbossesb','JBoss ESB User','2006-12-07 12:38:55.0','2006-12-07 12:38:55.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CFCAFD80-80E3-11DB-BD80-BBECDBC27B15','jbossesb','JBoss ESB User','2006-11-30 21:29:47.150000000','2006-11-30 21:29:47.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:CFE08150-80E3-11DB-8150-C1F4BAF14D50','jbossesb','JBoss ESB User','2006-11-30 21:29:47.125000000','2006-11-30 21:29:47.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D01B9340-814B-11DB-A6BA-D858200DDB54','jbossesb','JBoss ESB User','2006-12-01 09:54:15.156000000','2006-12-01 09:54:15.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D022BF30-814B-11DB-A6BA-EFE04DBDB658','jbossesb','JBoss ESB User','2006-12-01 09:54:15.218000000','2006-12-01 09:54:15.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D029EB20-814B-11DB-A6BA-E97CE5980979','jbossesb','JBoss ESB User','2006-12-01 09:54:15.250000000','2006-12-01 09:54:15.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D0DA8E90-860E-11DB-8E90-FCAB6741D549','jbossesb','JBoss ESB User','2006-12-07 11:20:12.937000000','2006-12-07 11:20:12.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D0E1BA80-860E-11DB-BA80-B551668C75D4','jbossesb','JBoss ESB User','2006-12-07 11:20:12.968000000','2006-12-07 11:20:12.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D0E42B80-860E-11DB-AB80-B0D287201869','jbossesb','JBoss ESB User','2006-12-07 11:20:13.0','2006-12-07 11:20:13.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D0F4CD50-860E-11DB-8D50-EFDC6AEF73CD','jbossesb','JBoss ESB User','2006-12-07 11:20:13.930000000','2006-12-07 11:20:13.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D0F73E50-860E-11DB-BE50-D60D45DF58DA','jbossesb','JBoss ESB User','2006-12-07 11:20:13.109000000','2006-12-07 11:20:13.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D0F9AF50-860E-11DB-AF50-CE442FF8F674','jbossesb','JBoss ESB User','2006-12-07 11:20:13.140000000','2006-12-07 11:20:13.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1187990-861C-11DB-B990-E7F68C28AA0F','jbossesb','JBoss ESB User','2006-12-07 13:00:26.296000000','2006-12-07 13:00:26.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D11D3480-861C-11DB-B480-CA2AD501C28C','jbossesb','JBoss ESB User','2006-12-07 13:00:26.328000000','2006-12-07 13:00:26.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D121EF70-861C-11DB-AF70-E32CB5E3EF44','jbossesb','JBoss ESB User','2006-12-07 13:00:26.343000000','2006-12-07 13:00:26.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D126D170-861C-11DB-9170-AEE732B60F59','jbossesb','JBoss ESB User','2006-12-07 13:00:26.390000000','2006-12-07 13:00:26.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D12DD650-861C-11DB-9650-A17B813C94F1','jbossesb','JBoss ESB User','2006-12-07 13:00:26.437000000','2006-12-07 13:00:26.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1377340-861C-11DB-B340-DB7263E6B875','jbossesb','JBoss ESB User','2006-12-07 13:00:26.484000000','2006-12-07 13:00:26.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D13CA030-8618-11DB-A030-D01BF9FBE117','jbossesb','JBoss ESB User','2006-12-07 12:31:48.531000000','2006-12-07 12:31:48.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D13EEA20-8618-11DB-AA20-C11238F1AADA','jbossesb','JBoss ESB User','2006-12-07 12:31:48.562000000','2006-12-07 12:31:48.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D143CC20-8618-11DB-8C20-8C7DE17552E9','jbossesb','JBoss ESB User','2006-12-07 12:31:48.593000000','2006-12-07 12:31:48.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D14D4200-8618-11DB-8200-D1CF1E2D296D','jbossesb','JBoss ESB User','2006-12-07 12:31:48.640000000','2006-12-07 12:31:48.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D14FB300-8618-11DB-B300-9031A6BC432F','jbossesb','JBoss ESB User','2006-12-07 12:31:48.671000000','2006-12-07 12:31:48.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1566CF0-861C-11DB-ACF0-CEEE8E946DD0','jbossesb','JBoss ESB User','2006-12-07 13:00:26.703000000','2006-12-07 13:00:26.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D15D98E0-861C-11DB-98E0-BD0263F292A0','jbossesb','JBoss ESB User','2006-12-07 13:00:26.734000000','2006-12-07 13:00:26.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D16253D0-861C-11DB-93D0-F4913C35DBC3','jbossesb','JBoss ESB User','2006-12-07 13:00:26.765000000','2006-12-07 13:00:26.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1697FC0-861C-11DB-BFC0-9083B8E4138A','jbossesb','JBoss ESB User','2006-12-07 13:00:26.812000000','2006-12-07 13:00:26.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D16E3AB0-861C-11DB-BAB0-EA8F92A9C834','jbossesb','JBoss ESB User','2006-12-07 13:00:26.843000000','2006-12-07 13:00:26.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1731CB0-861C-11DB-9CB0-BAA2562EDDCD','jbossesb','JBoss ESB User','2006-12-07 13:00:26.875000000','2006-12-07 13:00:26.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D17F3300-860E-11DB-B300-B2C4F09CF49F','jbossesb','JBoss ESB User','2006-12-07 11:20:14.150000000','2006-12-07 11:20:14.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D181BF80-8618-11DB-BF80-F69FA9FFCC95','jbossesb','JBoss ESB User','2006-12-07 12:31:48.984000000','2006-12-07 12:31:49.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1867A70-8618-11DB-BA70-E969A858E4EF','jbossesb','JBoss ESB User','2006-12-07 12:31:49.150000000','2006-12-07 12:31:49.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D18B3560-8618-11DB-B560-AF285DC0C35D','jbossesb','JBoss ESB User','2006-12-07 12:31:49.460000000','2006-12-07 12:31:49.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1926150-8618-11DB-A150-AD8207088AA3','jbossesb','JBoss ESB User','2006-12-07 12:31:49.930000000','2006-12-07 12:31:49.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1974350-8618-11DB-8350-EDE12DBCEE8F','jbossesb','JBoss ESB User','2006-12-07 12:31:49.140000000','2006-12-07 12:31:49.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D1B5FA70-860E-11DB-BA70-9613AF7D382B','jbossesb','JBoss ESB User','2006-12-07 11:20:14.390000000','2006-12-07 11:20:14.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D20D7F30-80FE-11DB-BEA2-D8045FD2E312','jbossesb','JBoss ESB User','2006-12-01 00:43:07.171000000','2006-12-01 00:43:07.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D2268D40-8563-11DB-A053-8026EA1870C4','jbossesb','JBoss ESB User','2006-12-06 14:56:11.171000000','2006-12-06 14:56:11.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D22C9FF0-80FE-11DB-BEA2-C7DE34E89082','jbossesb','JBoss ESB User','2006-12-01 00:43:07.406000000','2006-12-01 00:43:07.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D234E520-8563-11DB-A053-F44D9F16B83F','jbossesb','JBoss ESB User','2006-12-06 14:56:11.250000000','2006-12-06 14:56:11.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D239A010-8563-11DB-A053-B964A1A3EC99','jbossesb','JBoss ESB User','2006-12-06 14:56:11.296000000','2006-12-06 14:56:11.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D23D41C0-80FE-11DB-BEA2-F848A1EB5177','jbossesb','JBoss ESB User','2006-12-01 00:43:07.515000000','2006-12-01 00:43:07.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D24315F0-8563-11DB-A053-B41982A2985A','jbossesb','JBoss ESB User','2006-12-06 14:56:11.343000000','2006-12-06 14:56:11.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D24B99A0-80FE-11DB-BEA2-CFFB072A745C','jbossesb','JBoss ESB User','2006-12-01 00:43:07.578000000','2006-12-01 00:43:07.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D25F7550-8618-11DB-B550-97959876270C','jbossesb','JBoss ESB User','2006-12-07 12:31:50.453000000','2006-12-07 12:31:50.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D28528F0-861C-11DB-A8F0-FDEE1C5141BC','jbossesb','JBoss ESB User','2006-12-07 13:00:28.687000000','2006-12-07 13:00:28.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D2893810-8170-11DB-AF51-D109B605DCFD','jbossesb','JBoss ESB User','2006-12-01 14:19:10.640000000','2006-12-01 14:19:10.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D2D0C860-8170-11DB-AF51-B5B68848C764','jbossesb','JBoss ESB User','2006-12-01 14:19:11.780000000','2006-12-01 14:19:11.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D2E89620-8170-11DB-AF51-F1A02114062F','jbossesb','JBoss ESB User','2006-12-01 14:19:11.234000000','2006-12-01 14:19:11.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D30063E0-8170-11DB-AF51-8209E5EBFBEB','jbossesb','JBoss ESB User','2006-12-01 14:19:11.406000000','2006-12-01 14:19:11.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D30663B0-8618-11DB-A3B0-DBC3AF2FDF44','jbossesb','JBoss ESB User','2006-12-07 12:31:51.531000000','2006-12-07 12:31:51.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D32BF840-80E2-11DB-B840-82E1006281FE','jbossesb','JBoss ESB User','2006-11-30 21:22:43.156000000','2006-11-30 21:22:43.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D34BE470-8173-11DB-B8A9-C43C78D2FB94','jbossesb','JBoss ESB User','2006-12-01 14:40:40.375000000','2006-12-01 14:40:40.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D35949D0-80E2-11DB-89D0-C98345E51447','jbossesb','JBoss ESB User','2006-11-30 21:22:43.515000000','2006-11-30 21:22:43.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D35C8640-8173-11DB-B8A9-DEECA102611F','jbossesb','JBoss ESB User','2006-12-01 14:40:40.484000000','2006-12-01 14:40:40.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D36A8A70-861D-11DB-B1A1-C45C12932586','jbossesb','JBoss ESB User','2006-12-07 13:07:39.718000000','2006-12-07 13:07:39.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D3742760-861D-11DB-B1A1-82FA22E6AEF9','jbossesb','JBoss ESB User','2006-12-07 13:07:39.750000000','2006-12-07 13:07:39.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D3784380-80E2-11DB-8380-EBD49052876D','jbossesb','JBoss ESB User','2006-11-30 21:22:43.656000000','2006-11-30 21:22:43.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D37B5350-861D-11DB-B1A1-C8A678EE8B23','jbossesb','JBoss ESB User','2006-12-07 13:07:39.796000000','2006-12-07 13:07:39.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D3800E40-861D-11DB-B1A1-8D0A53A02CCD','jbossesb','JBoss ESB User','2006-12-07 13:07:39.828000000','2006-12-07 13:07:39.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D384C930-861D-11DB-B1A1-9D460E087783','jbossesb','JBoss ESB User','2006-12-07 13:07:39.843000000','2006-12-07 13:07:39.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D38B5650-80E2-11DB-9650-C2E1FADFE828','jbossesb','JBoss ESB User','2006-11-30 21:22:43.781000000','2006-11-30 21:22:43.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D38BF520-861D-11DB-B1A1-DAE573ADB4B8','jbossesb','JBoss ESB User','2006-12-07 13:07:39.906000000','2006-12-07 13:07:39.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D3959210-861D-11DB-B1A1-BD1EB6237855','jbossesb','JBoss ESB User','2006-12-07 13:07:39.953000000','2006-12-07 13:07:39.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D3A78650-80E1-11DB-8650-9F67B951E52F','jbossesb','JBoss ESB User','2006-11-30 21:15:34.453000000','2006-11-30 21:15:34.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D3CFF5E0-80E1-11DB-B5E0-C5D65F98B403','jbossesb','JBoss ESB User','2006-11-30 21:15:34.750000000','2006-11-30 21:15:34.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D3E69840-861D-11DB-B1A1-99E020D1DF96','jbossesb','JBoss ESB User','2006-12-07 13:07:40.500000000','2006-12-07 13:07:40.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D44E5CF0-814A-11DB-A6BA-CCCABCCF539A','jbossesb','JBoss ESB User','2006-12-01 09:47:12.703000000','2006-12-01 09:47:12.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D45C8DC0-814A-11DB-A6BA-E84CB7097646','jbossesb','JBoss ESB User','2006-12-01 09:47:12.812000000','2006-12-01 09:47:12.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D46D56A0-814A-11DB-A6BA-FF341B82E13E','jbossesb','JBoss ESB User','2006-12-01 09:47:12.906000000','2006-12-01 09:47:12.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D4806970-814A-11DB-A6BA-D8A8CEC7465B','jbossesb','JBoss ESB User','2006-12-01 09:47:13.460000000','2006-12-01 09:47:13.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D4E8F1A0-817E-11DB-B1A0-F5A4FC1E5CFB','jbossesb','JBoss ESB User','2006-12-01 15:59:27.562000000','2006-12-01 15:59:27.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5137980-817D-11DB-B980-EDA3CA6C3D7F','jbossesb','JBoss ESB User','2006-12-01 15:52:18.375000000','2006-12-01 15:52:18.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5327330-817D-11DB-B330-D6BA2F86AE93','jbossesb','JBoss ESB User','2006-12-01 15:52:18.562000000','2006-12-01 15:52:18.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D53D97C0-8172-11DB-B8A9-99FFD311ECBD','jbossesb','JBoss ESB User','2006-12-01 14:33:34.156000000','2006-12-01 14:33:34.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D547CFF0-817D-11DB-8FF0-B13F2141EAD8','jbossesb','JBoss ESB User','2006-12-01 15:52:18.671000000','2006-12-01 15:52:18.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D553DDE0-817D-11DB-9DE0-DCF8CB0EF66A','jbossesb','JBoss ESB User','2006-12-01 15:52:18.765000000','2006-12-01 15:52:18.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D557D680-8172-11DB-B8A9-C5D13F54B16C','jbossesb','JBoss ESB User','2006-12-01 14:33:34.328000000','2006-12-01 14:33:34.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D563BD60-8172-11DB-B8A9-EE9B6103B8CE','jbossesb','JBoss ESB User','2006-12-01 14:33:34.390000000','2006-12-01 14:33:34.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D56D06A0-861C-11DB-86A0-BC33EB643286','jbossesb','JBoss ESB User','2006-12-07 13:00:33.546000000','2006-12-07 13:00:33.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D56D5A50-8172-11DB-B8A9-85C48239B83D','jbossesb','JBoss ESB User','2006-12-01 14:33:34.468000000','2006-12-01 14:33:34.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5856AA0-817C-11DB-AAA0-9838716431BA','jbossesb','JBoss ESB User','2006-12-01 15:45:09.593000000','2006-12-01 15:45:09.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5866A20-817E-11DB-AA20-88D1624669D0','jbossesb','JBoss ESB User','2006-12-01 15:59:28.578000000','2006-12-01 15:59:28.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5A6AE40-817C-11DB-AE40-E68D55B62E98','jbossesb','JBoss ESB User','2006-12-01 15:45:09.812000000','2006-12-01 15:45:09.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5B2BC30-817C-11DB-BC30-B1114949B950','jbossesb','JBoss ESB User','2006-12-01 15:45:09.890000000','2006-12-01 15:45:09.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5BEA310-817C-11DB-A310-BB04EA07CDF7','jbossesb','JBoss ESB User','2006-12-01 15:45:09.968000000','2006-12-01 15:45:09.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5DC2B40-817E-11DB-AB40-B7A3559847F4','jbossesb','JBoss ESB User','2006-12-01 15:59:29.156000000','2006-12-01 15:59:29.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5EF3E10-817E-11DB-BE10-BA9D6916B881','jbossesb','JBoss ESB User','2006-12-01 15:59:29.265000000','2006-12-01 15:59:29.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D5FB8930-8175-11DB-AE84-F4418D6B163D','jbossesb','JBoss ESB User','2006-12-01 14:55:03.875000000','2006-12-01 14:55:03.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D61CCCD0-8175-11DB-AE84-97F291741C15','jbossesb','JBoss ESB User','2006-12-01 14:55:04.109000000','2006-12-01 14:55:04.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D62D95B0-8175-11DB-AE84-9776136F16E7','jbossesb','JBoss ESB User','2006-12-01 14:55:04.203000000','2006-12-01 14:55:04.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D63E3780-8175-11DB-AE84-887A2331E80B','jbossesb','JBoss ESB User','2006-12-01 14:55:04.312000000','2006-12-01 14:55:04.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D64D68A0-8147-11DB-A8A0-8E03F33F5FF7','jbossesb','JBoss ESB User','2006-12-01 09:25:47.562000000','2006-12-01 09:25:47.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D65E0A70-8147-11DB-8A70-DC08E7FB71EB','jbossesb','JBoss ESB User','2006-12-01 09:25:47.687000000','2006-12-01 09:25:47.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D667A760-8147-11DB-A760-99E9B3B7F1E3','jbossesb','JBoss ESB User','2006-12-01 09:25:47.734000000','2006-12-01 09:25:47.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D66ED350-8147-11DB-9350-CCF278EDFA44','jbossesb','JBoss ESB User','2006-12-01 09:25:47.796000000','2006-12-01 09:25:47.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D676A480-80E4-11DB-A480-A9E41B88BCE3','jbossesb','JBoss ESB User','2006-11-30 21:37:07.656000000','2006-11-30 21:37:07.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6812860-817F-11DB-A860-C3A46FA90E9F','jbossesb','JBoss ESB User','2006-12-01 16:06:39.718000000','2006-12-01 16:06:40.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D68D8410-8617-11DB-8410-C958DAF1C509','jbossesb','JBoss ESB User','2006-12-07 12:24:48.930000000','2006-12-07 12:24:48.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D69CE660-8182-11DB-AB1E-8026117423E5','jbossesb','JBoss ESB User','2006-12-01 16:28:08.390000000','2006-12-01 16:28:08.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6A9D160-8103-11DB-BD3E-D878C3B58179','jbossesb','JBoss ESB User','2006-12-01 01:19:02.468000000','2006-12-01 01:19:02.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6AF36E0-8177-11DB-B6E0-E7BC86827575','jbossesb','JBoss ESB User','2006-12-01 15:09:24.140000000','2006-12-01 15:09:24.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6AFDCF0-80E4-11DB-9CF0-80B37D1ABF88','jbossesb','JBoss ESB User','2006-11-30 21:37:08.310000000','2006-11-30 21:37:08.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6C57D00-8182-11DB-AB1E-A33CA97243F0','jbossesb','JBoss ESB User','2006-12-01 16:28:08.656000000','2006-12-01 16:28:08.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6C8CB10-8103-11DB-BD3E-A3380FAD5777','jbossesb','JBoss ESB User','2006-12-01 01:19:02.593000000','2006-12-01 01:19:02.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6CED6A0-80E4-11DB-96A0-FE8C6B59700A','jbossesb','JBoss ESB User','2006-11-30 21:37:08.296000000','2006-11-30 21:37:08.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6CEF2E0-8182-11DB-AB1E-E6A9C7FD0881','jbossesb','JBoss ESB User','2006-12-01 16:28:08.734000000','2006-12-01 16:28:08.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6D722F0-8103-11DB-BD3E-DF39985D1228','jbossesb','JBoss ESB User','2006-12-01 01:19:02.687000000','2006-12-01 01:19:02.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6DEF970-8177-11DB-B970-F2C3B242BD7B','jbossesb','JBoss ESB User','2006-12-01 15:09:24.375000000','2006-12-01 15:09:24.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6E309D0-8103-11DB-BD3E-9913B3DAD9B0','jbossesb','JBoss ESB User','2006-12-01 01:19:02.781000000','2006-12-01 01:19:02.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6EB5F50-80E4-11DB-9F50-C2BBA8B2F5A5','jbossesb','JBoss ESB User','2006-11-30 21:37:08.437000000','2006-11-30 21:37:08.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6EBA2A0-8182-11DB-AB1E-DFADC8F3DFC4','jbossesb','JBoss ESB User','2006-12-01 16:28:08.906000000','2006-12-01 16:28:08.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6EF2C10-8617-11DB-AC10-FCE84BC4FCFA','jbossesb','JBoss ESB User','2006-12-07 12:24:48.609000000','2006-12-07 12:24:48.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D6F47D40-8177-11DB-BD40-E2FFEB8BB300','jbossesb','JBoss ESB User','2006-12-01 15:09:24.515000000','2006-12-01 15:09:24.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7051F10-8177-11DB-9F10-B40A2B2F0567','jbossesb','JBoss ESB User','2006-12-01 15:09:24.625000000','2006-12-01 15:09:24.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7076540-8104-11DB-A540-C46466716C1C','jbossesb','JBoss ESB User','2006-12-01 01:26:12.546000000','2006-12-01 01:26:12.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7217CF0-8104-11DB-BCF0-CDA7E977C8F6','jbossesb','JBoss ESB User','2006-12-01 01:26:12.671000000','2006-12-01 01:26:12.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D72D8AE0-8104-11DB-8AE0-E47A6F8919ED','jbossesb','JBoss ESB User','2006-12-01 01:26:12.750000000','2006-12-01 01:26:12.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D73971C0-8104-11DB-B1C0-AA4D772D5334','jbossesb','JBoss ESB User','2006-12-01 01:26:12.843000000','2006-12-01 01:26:12.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D73B2990-817F-11DB-A990-C2D8E4E7A0C9','jbossesb','JBoss ESB User','2006-12-01 16:06:40.937000000','2006-12-01 16:06:40.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D74BCB60-817F-11DB-8B60-8DE7A7B39B76','jbossesb','JBoss ESB User','2006-12-01 16:06:41.460000000','2006-12-01 16:06:41.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7663C60-860D-11DB-B8CF-F60627D0EC58','jbossesb','JBoss ESB User','2006-12-07 11:13:14.421000000','2006-12-07 11:13:14.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7749440-860D-11DB-B8CF-EA433864EACB','jbossesb','JBoss ESB User','2006-12-07 11:13:14.500000000','2006-12-07 11:13:14.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D789F100-860D-11DB-B8CF-90EF727288C8','jbossesb','JBoss ESB User','2006-12-07 11:13:14.656000000','2006-12-07 11:13:14.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7938DF0-860D-11DB-B8CF-FF199FDAA968','jbossesb','JBoss ESB User','2006-12-07 11:13:14.718000000','2006-12-07 11:13:14.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7AB2970-817F-11DB-A970-AC90597958D8','jbossesb','JBoss ESB User','2006-12-01 16:06:41.687000000','2006-12-01 16:06:41.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7AE65F0-814C-11DB-A6BA-EB324E6FB21C','jbossesb','JBoss ESB User','2006-12-01 10:01:37.359000000','2006-12-01 10:01:37.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7B7DBD0-814C-11DB-A6BA-E37C1E4F1C10','jbossesb','JBoss ESB User','2006-12-01 10:01:37.421000000','2006-12-01 10:01:37.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7BCBDD0-814C-11DB-A6BA-A9422C3EA9F3','jbossesb','JBoss ESB User','2006-12-01 10:01:37.453000000','2006-12-01 10:01:37.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7D67C00-817B-11DB-BC00-E991691F8D4F','jbossesb','JBoss ESB User','2006-12-01 15:38:04.0','2006-12-01 15:38:04.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7F23CD0-861A-11DB-BCD0-99317DD50D74','jbossesb','JBoss ESB User','2006-12-07 12:46:18.796000000','2006-12-07 12:46:18.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7F32BC0-817B-11DB-ABC0-C4BFDCC43FDA','jbossesb','JBoss ESB User','2006-12-01 15:38:04.187000000','2006-12-01 15:38:04.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D7F6F7C0-861A-11DB-B7C0-86A35AF0B410','jbossesb','JBoss ESB User','2006-12-07 12:46:18.843000000','2006-12-07 12:46:18.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D80094B0-861A-11DB-94B0-E7A49AB9C8A6','jbossesb','JBoss ESB User','2006-12-07 12:46:18.890000000','2006-12-07 12:46:18.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8054FA0-861A-11DB-8FA0-A81D8DBD0301','jbossesb','JBoss ESB User','2006-12-07 12:46:18.921000000','2006-12-07 12:46:18.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D80A0A90-861A-11DB-8A90-AA097A5D6EC6','jbossesb','JBoss ESB User','2006-12-07 12:46:18.984000000','2006-12-07 12:46:19.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D80AF980-817B-11DB-B980-B079F3343129','jbossesb','JBoss ESB User','2006-12-01 15:38:04.312000000','2006-12-01 15:38:04.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D811E2E0-8171-11DB-B8A9-9D15BCE5FE65','jbossesb','JBoss ESB User','2006-12-01 14:26:29.390000000','2006-12-01 14:26:29.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D81B9B50-817B-11DB-9B50-9F9C43A5F0CA','jbossesb','JBoss ESB User','2006-12-01 15:38:04.437000000','2006-12-01 15:38:04.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D829B0A0-8171-11DB-B8A9-E9FBE7D94C2D','jbossesb','JBoss ESB User','2006-12-01 14:26:29.562000000','2006-12-01 14:26:29.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D82DBF30-861A-11DB-BF30-DDC324A74319','jbossesb','JBoss ESB User','2006-12-07 12:46:19.187000000','2006-12-07 12:46:19.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D832A130-861A-11DB-A130-8E9ACB33BA54','jbossesb','JBoss ESB User','2006-12-07 12:46:19.218000000','2006-12-07 12:46:19.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D839CD20-861A-11DB-8D20-84A21A23F2F9','jbossesb','JBoss ESB User','2006-12-07 12:46:19.265000000','2006-12-07 12:46:19.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8434300-861A-11DB-8300-AADB68972758','jbossesb','JBoss ESB User','2006-12-07 12:46:19.312000000','2006-12-07 12:46:19.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D847FDF0-861A-11DB-BDF0-C715081889F3','jbossesb','JBoss ESB User','2006-12-07 12:46:19.343000000','2006-12-07 12:46:19.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D848D160-8171-11DB-B8A9-BE2BFF6EF748','jbossesb','JBoss ESB User','2006-12-01 14:26:29.765000000','2006-12-01 14:26:29.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D84F29E0-861A-11DB-A9E0-9232F5BD9D8E','jbossesb','JBoss ESB User','2006-12-07 12:46:19.390000000','2006-12-07 12:46:19.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8609F20-8171-11DB-B8A9-8976F330C207','jbossesb','JBoss ESB User','2006-12-01 14:26:29.906000000','2006-12-01 14:26:29.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D866F7A0-861A-11DB-B7A0-C6700E890599','jbossesb','JBoss ESB User','2006-12-07 12:46:19.562000000','2006-12-07 12:46:19.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8912C60-816E-11DB-A4E4-A3407DB88A86','jbossesb','JBoss ESB User','2006-12-01 14:05:01.734000000','2006-12-01 14:05:01.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8A1CE30-816E-11DB-A4E4-BCA54A523AE5','jbossesb','JBoss ESB User','2006-12-01 14:05:01.859000000','2006-12-01 14:05:01.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8C0CD40-8181-11DB-AB1E-B2CD35DA2086','jbossesb','JBoss ESB User','2006-12-01 16:21:02.531000000','2006-12-01 16:21:02.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8E237F0-8181-11DB-AB1E-83D52ABD7078','jbossesb','JBoss ESB User','2006-12-01 16:21:02.734000000','2006-12-01 16:21:03.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8E6ED80-816E-11DB-A4E4-DB2A4E384803','jbossesb','JBoss ESB User','2006-12-01 14:05:02.296000000','2006-12-01 14:05:02.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D8F08A70-816E-11DB-A4E4-9CE28247744A','jbossesb','JBoss ESB User','2006-12-01 14:05:02.375000000','2006-12-01 14:05:02.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D93A6A10-8181-11DB-AB1E-BF8BB1EA3451','jbossesb','JBoss ESB User','2006-12-01 16:21:03.296000000','2006-12-01 16:21:03.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D94A3EA0-860D-11DB-B8CF-AE528A26512C','jbossesb','JBoss ESB User','2006-12-07 11:13:17.593000000','2006-12-07 11:13:17.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D94B0BE0-8181-11DB-AB1E-F963E23A3C85','jbossesb','JBoss ESB User','2006-12-01 16:21:03.406000000','2006-12-01 16:21:03.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D983C490-8180-11DB-BF4A-E709D1F90BD0','jbossesb','JBoss ESB User','2006-12-01 16:13:54.312000000','2006-12-01 16:13:54.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D9AEA520-8180-11DB-BF4A-FE87DE8A73DB','jbossesb','JBoss ESB User','2006-12-01 16:13:54.546000000','2006-12-01 16:13:54.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D9C1B7F0-8180-11DB-BF4A-EB75F6313FFC','jbossesb','JBoss ESB User','2006-12-01 16:13:54.687000000','2006-12-01 16:13:54.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D9D280D0-8180-11DB-BF4A-C02C3CE77E56','jbossesb','JBoss ESB User','2006-12-01 16:13:54.796000000','2006-12-01 16:13:54.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:D9E51F10-860D-11DB-B8CF-E728B395F0EC','jbossesb','JBoss ESB User','2006-12-07 11:13:18.593000000','2006-12-07 11:13:18.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAA29BB0-8178-11DB-A966-83D64849DD1D','jbossesb','JBoss ESB User','2006-12-01 15:16:40.187000000','2006-12-01 15:16:40.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAA9D830-8619-11DB-9830-CBA7C4618EA0','jbossesb','JBoss ESB User','2006-12-07 12:39:13.890000000','2006-12-07 12:39:13.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAB37520-8619-11DB-B520-D4565A69B3ED','jbossesb','JBoss ESB User','2006-12-07 12:39:13.906000000','2006-12-07 12:39:13.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAB5A390-860F-11DB-A390-B31FAF4B1968','jbossesb','JBoss ESB User','2006-12-07 11:27:38.968000000','2006-12-07 11:27:38.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DABAA110-8619-11DB-A110-F543184888C7','jbossesb','JBoss ESB User','2006-12-07 12:39:13.953000000','2006-12-07 12:39:13.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DABCEB00-8619-11DB-AB00-C546E0072C89','jbossesb','JBoss ESB User','2006-12-07 12:39:13.984000000','2006-12-07 12:39:14.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAC416F0-8619-11DB-96F0-DED790F34A10','jbossesb','JBoss ESB User','2006-12-07 12:39:14.310000000','2006-12-07 12:39:14.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAC67760-8178-11DB-A966-EB8C74E027B0','jbossesb','JBoss ESB User','2006-12-01 15:16:40.406000000','2006-12-01 15:16:40.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAD6E730-860F-11DB-A730-886D7304B0E5','jbossesb','JBoss ESB User','2006-12-07 11:27:39.171000000','2006-12-07 11:27:39.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DADE55B0-8619-11DB-95B0-B34F64706003','jbossesb','JBoss ESB User','2006-12-07 12:39:14.187000000','2006-12-07 12:39:14.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAE0B620-8178-11DB-A966-85410F422465','jbossesb','JBoss ESB User','2006-12-01 15:16:40.593000000','2006-12-01 15:16:40.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAE0C6B0-8619-11DB-86B0-CEAADE9526F9','jbossesb','JBoss ESB User','2006-12-07 12:39:14.218000000','2006-12-07 12:39:14.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAE581A0-8619-11DB-81A0-D1B12316BDA8','jbossesb','JBoss ESB User','2006-12-07 12:39:14.250000000','2006-12-07 12:39:14.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAECAD90-8619-11DB-AD90-E8A0A05709EA','jbossesb','JBoss ESB User','2006-12-07 12:39:14.296000000','2006-12-07 12:39:14.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAEEF780-8619-11DB-B780-CD1DFA2B7F8C','jbossesb','JBoss ESB User','2006-12-07 12:39:14.312000000','2006-12-07 12:39:14.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DAF157F0-8178-11DB-A966-8247DCF33702','jbossesb','JBoss ESB User','2006-12-01 15:16:40.687000000','2006-12-01 15:16:40.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DB3F93B0-80E3-11DB-93B0-F91B22CDFD37','jbossesb','JBoss ESB User','2006-11-30 21:30:06.234000000','2006-11-30 21:30:06.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DB664A60-8619-11DB-8A60-9885898D32AC','jbossesb','JBoss ESB User','2006-12-07 12:39:15.930000000','2006-12-07 12:39:15.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DB682A50-80E3-11DB-AA50-C545AC596CE3','jbossesb','JBoss ESB User','2006-11-30 21:30:06.546000000','2006-11-30 21:30:06.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DB97C5D0-80E3-11DB-85D0-EE5CAFD11587','jbossesb','JBoss ESB User','2006-11-30 21:30:06.765000000','2006-11-30 21:30:06.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DBCE4B70-816D-11DB-A4E4-E878BEB1DC04','jbossesb','JBoss ESB User','2006-12-01 13:57:57.687000000','2006-12-01 13:57:57.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DBE3CF40-816D-11DB-A4E4-E56FAAEAFFCA','jbossesb','JBoss ESB User','2006-12-01 13:57:57.828000000','2006-12-01 13:57:57.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DBE41110-80E3-11DB-9110-B172838444A1','jbossesb','JBoss ESB User','2006-11-30 21:30:07.265000000','2006-11-30 21:30:07.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DC039BD0-8619-11DB-9BD0-A1EC50067E13','jbossesb','JBoss ESB User','2006-12-07 12:39:16.109000000','2006-12-07 12:39:16.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DC1F2300-814B-11DB-A6BA-98F077C42FE9','jbossesb','JBoss ESB User','2006-12-01 09:54:35.312000000','2006-12-01 09:54:35.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DC264EF0-814B-11DB-A6BA-D686CBDBA3E1','jbossesb','JBoss ESB User','2006-12-01 09:54:35.375000000','2006-12-01 09:54:35.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DC2D7AE0-814B-11DB-A6BA-89357F93C578','jbossesb','JBoss ESB User','2006-12-01 09:54:35.421000000','2006-12-01 09:54:35.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DC326E70-80FF-11DB-B65A-BD8DA95E8DA2','jbossesb','JBoss ESB User','2006-12-01 00:50:33.734000000','2006-12-01 00:50:33.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DC7061D0-80FF-11DB-B65A-A76DF1E369D4','jbossesb','JBoss ESB User','2006-12-01 00:50:34.171000000','2006-12-01 00:50:34.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD01FA00-860E-11DB-BA00-D889B410C89C','jbossesb','JBoss ESB User','2006-12-07 11:20:33.359000000','2006-12-07 11:20:33.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD0B96F0-860E-11DB-96F0-F03C4EE2605B','jbossesb','JBoss ESB User','2006-12-07 11:20:33.390000000','2006-12-07 11:20:33.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD1051E0-860E-11DB-91E0-D3F6BABC2844','jbossesb','JBoss ESB User','2006-12-07 11:20:33.406000000','2006-12-07 11:20:33.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD281FA0-860E-11DB-9FA0-8CB1AE3282DE','jbossesb','JBoss ESB User','2006-12-07 11:20:33.562000000','2006-12-07 11:20:33.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD281FA0-860E-11DB-9FA0-D649C072E725','jbossesb','JBoss ESB User','2006-12-07 11:20:33.578000000','2006-12-07 11:20:33.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD2F4B90-860E-11DB-8B90-E6D56B2D721B','jbossesb','JBoss ESB User','2006-12-07 11:20:33.609000000','2006-12-07 11:20:33.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD44EAE0-8618-11DB-AAE0-E8B2F45D4A85','jbossesb','JBoss ESB User','2006-12-07 12:32:08.718000000','2006-12-07 12:32:08.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD49CCE0-8618-11DB-8CE0-9169A9E7CC1B','jbossesb','JBoss ESB User','2006-12-07 12:32:08.750000000','2006-12-07 12:32:08.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD5342C0-8618-11DB-82C0-C812605D19C5','jbossesb','JBoss ESB User','2006-12-07 12:32:08.828000000','2006-12-07 12:32:08.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD5F29A0-8618-11DB-A9A0-D2567752F149','jbossesb','JBoss ESB User','2006-12-07 12:32:08.890000000','2006-12-07 12:32:08.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD63E490-8618-11DB-A490-D1D11A915767','jbossesb','JBoss ESB User','2006-12-07 12:32:08.937000000','2006-12-07 12:32:08.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD65E390-861C-11DB-A390-CFCB997FC49E','jbossesb','JBoss ESB User','2006-12-07 13:00:46.921000000','2006-12-07 13:00:46.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD6AC590-861C-11DB-8590-90DAA022F157','jbossesb','JBoss ESB User','2006-12-07 13:00:46.968000000','2006-12-07 13:00:46.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD71F180-861C-11DB-B180-868BB65DCE0A','jbossesb','JBoss ESB User','2006-12-07 13:00:47.150000000','2006-12-07 13:00:47.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD78F660-861C-11DB-B660-DA137741F555','jbossesb','JBoss ESB User','2006-12-07 13:00:47.620000000','2006-12-07 13:00:47.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD850450-861C-11DB-8450-9D4193433B25','jbossesb','JBoss ESB User','2006-12-07 13:00:47.156000000','2006-12-07 13:00:47.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD8A0A30-8618-11DB-8A30-D3069DF53BC4','jbossesb','JBoss ESB User','2006-12-07 12:32:09.187000000','2006-12-07 12:32:09.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD8E7A30-861C-11DB-BA30-EFD2AFD4EDDA','jbossesb','JBoss ESB User','2006-12-07 13:00:47.218000000','2006-12-07 13:00:47.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD8EEC30-8618-11DB-AC30-92A0D3ABA89B','jbossesb','JBoss ESB User','2006-12-07 12:32:09.218000000','2006-12-07 12:32:09.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD961820-8618-11DB-9820-E29BC77E7464','jbossesb','JBoss ESB User','2006-12-07 12:32:09.265000000','2006-12-07 12:32:09.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DD9AD310-8618-11DB-9310-E36E86D8B930','jbossesb','JBoss ESB User','2006-12-07 12:32:09.296000000','2006-12-07 12:32:09.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDA1FF00-8618-11DB-BF00-C8155DFCE68D','jbossesb','JBoss ESB User','2006-12-07 12:32:09.328000000','2006-12-07 12:32:09.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDAD73E0-861C-11DB-B3E0-9EC784ED392A','jbossesb','JBoss ESB User','2006-12-07 13:00:47.406000000','2006-12-07 13:00:47.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDB22ED0-861C-11DB-AED0-DA306894D20B','jbossesb','JBoss ESB User','2006-12-07 13:00:47.421000000','2006-12-07 13:00:47.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDB710D0-861C-11DB-90D0-921CD20E0DCE','jbossesb','JBoss ESB User','2006-12-07 13:00:47.468000000','2006-12-07 13:00:47.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDBBCBC0-861C-11DB-8BC0-9A315FE439C4','jbossesb','JBoss ESB User','2006-12-07 13:00:47.484000000','2006-12-07 13:00:47.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDC086B0-861C-11DB-86B0-A9521D81B580','jbossesb','JBoss ESB User','2006-12-07 13:00:47.515000000','2006-12-07 13:00:47.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDC2F7B0-861C-11DB-B7B0-95C4F9FD1BD6','jbossesb','JBoss ESB User','2006-12-07 13:00:47.546000000','2006-12-07 13:00:47.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDCEDE90-861C-11DB-9E90-DE820273F5D0','jbossesb','JBoss ESB User','2006-12-07 13:00:47.609000000','2006-12-07 13:00:47.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DDEB6740-861C-11DB-A740-FCDD6BA98FE7','jbossesb','JBoss ESB User','2006-12-07 13:00:47.796000000','2006-12-07 13:00:47.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE20A720-8563-11DB-A053-C87E5F9F4A4B','jbossesb','JBoss ESB User','2006-12-06 14:56:31.296000000','2006-12-06 14:56:31.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE21D7D0-80FE-11DB-BEA2-F39C208222BF','jbossesb','JBoss ESB User','2006-12-01 00:43:27.468000000','2006-12-01 00:43:27.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE3148F0-8563-11DB-A053-A10E613E2900','jbossesb','JBoss ESB User','2006-12-06 14:56:31.359000000','2006-12-06 14:56:31.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE3603E0-8563-11DB-A053-BCD1347CC696','jbossesb','JBoss ESB User','2006-12-06 14:56:31.390000000','2006-12-06 14:56:31.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE3D2FD0-8563-11DB-A053-E1D8E264AFD3','jbossesb','JBoss ESB User','2006-12-06 14:56:31.437000000','2006-12-06 14:56:31.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE40D180-80FE-11DB-BEA2-83D223530A68','jbossesb','JBoss ESB User','2006-12-01 00:43:27.640000000','2006-12-01 00:43:27.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE4CB860-80FE-11DB-BEA2-B59E4098085B','jbossesb','JBoss ESB User','2006-12-01 00:43:27.734000000','2006-12-01 00:43:27.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE5B1040-80FE-11DB-BEA2-9DF107E2B14D','jbossesb','JBoss ESB User','2006-12-01 00:43:27.828000000','2006-12-01 00:43:27.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DE9D90B0-8170-11DB-AF51-E4F27B816D69','jbossesb','JBoss ESB User','2006-12-01 14:19:30.875000000','2006-12-01 14:19:30.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DECD2C30-8170-11DB-AF51-E0E0E1500154','jbossesb','JBoss ESB User','2006-12-01 14:19:31.187000000','2006-12-01 14:19:31.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DEE76AF0-8170-11DB-AF51-91FC67F5E289','jbossesb','JBoss ESB User','2006-12-01 14:19:31.375000000','2006-12-01 14:19:31.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DEF45420-860E-11DB-9420-95DB71F366AD','jbossesb','JBoss ESB User','2006-12-07 11:20:36.578000000','2006-12-07 11:20:36.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DF362730-8170-11DB-AF51-BF449E34A775','jbossesb','JBoss ESB User','2006-12-01 14:19:31.906000000','2006-12-01 14:19:31.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DF7A2820-861D-11DB-B1A1-A45EF527419E','jbossesb','JBoss ESB User','2006-12-07 13:07:59.906000000','2006-12-07 13:07:59.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DF7C7210-861D-11DB-B1A1-EB1BB1B8D879','jbossesb','JBoss ESB User','2006-12-07 13:07:59.921000000','2006-12-07 13:07:59.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DF839E00-861D-11DB-B1A1-D17C05EB7B0D','jbossesb','JBoss ESB User','2006-12-07 13:07:59.968000000','2006-12-07 13:07:59.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DF888000-861D-11DB-B1A1-C2E16BD99560','jbossesb','JBoss ESB User','2006-12-07 13:08:00.0','2006-12-07 13:08:00.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DF8D3AF0-861D-11DB-B1A1-8C07BBCFD428','jbossesb','JBoss ESB User','2006-12-07 13:08:00.460000000','2006-12-07 13:08:00.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DF9466E0-861D-11DB-B1A1-F0013D7F0589','jbossesb','JBoss ESB User','2006-12-07 13:08:00.780000000','2006-12-07 13:08:00.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFA6C520-8617-11DB-8520-F69CEF3BF5C7','jbossesb','JBoss ESB User','2006-12-07 12:25:03.218000000','2006-12-07 12:25:03.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFB06210-8617-11DB-A210-9E222563E29F','jbossesb','JBoss ESB User','2006-12-07 12:25:03.296000000','2006-12-07 12:25:03.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFB81B80-861D-11DB-B1A1-FA07A933B2E6','jbossesb','JBoss ESB User','2006-12-07 13:08:00.312000000','2006-12-07 13:08:00.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFBA8C80-861D-11DB-B1A1-CBDC23DDC64C','jbossesb','JBoss ESB User','2006-12-07 13:08:00.343000000','2006-12-07 13:08:00.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFBC48F0-8617-11DB-88F0-D145372310BC','jbossesb','JBoss ESB User','2006-12-07 12:25:03.359000000','2006-12-07 12:25:03.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFBF4770-861D-11DB-B1A1-BF4F0B27B78B','jbossesb','JBoss ESB User','2006-12-07 13:08:00.375000000','2006-12-07 13:08:00.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFC374E0-8617-11DB-B4E0-DC79B954C7F5','jbossesb','JBoss ESB User','2006-12-07 12:25:03.421000000','2006-12-07 12:25:03.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFC40260-861D-11DB-B1A1-E9A1AFAEB545','jbossesb','JBoss ESB User','2006-12-07 13:08:00.406000000','2006-12-07 13:08:00.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFC82FD0-8617-11DB-AFD0-FB3BAA4F11FA','jbossesb','JBoss ESB User','2006-12-07 12:25:03.453000000','2006-12-07 12:25:03.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFC8BD50-861D-11DB-B1A1-D4709BFFA583','jbossesb','JBoss ESB User','2006-12-07 13:08:00.421000000','2006-12-07 13:08:00.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFCD9F50-861D-11DB-B1A1-EB03F4D66DCF','jbossesb','JBoss ESB User','2006-12-07 13:08:00.468000000','2006-12-07 13:08:00.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFD25A40-861D-11DB-B1A1-E8CE548F1E7A','jbossesb','JBoss ESB User','2006-12-07 13:08:00.484000000','2006-12-07 13:08:00.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFEEE2F0-861D-11DB-B1A1-8BA4A2161500','jbossesb','JBoss ESB User','2006-12-07 13:08:00.687000000','2006-12-07 13:08:00.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFF3C4F0-861D-11DB-B1A1-D13FCE79DE20','jbossesb','JBoss ESB User','2006-12-07 13:08:00.703000000','2006-12-07 13:08:00.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFF58160-8617-11DB-8160-B6F6D7D622C2','jbossesb','JBoss ESB User','2006-12-07 12:25:03.734000000','2006-12-07 12:25:03.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFF87FE0-861D-11DB-B1A1-A1A47090BC00','jbossesb','JBoss ESB User','2006-12-07 13:08:00.734000000','2006-12-07 13:08:00.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFFAF0E0-861D-11DB-B1A1-B31B1F7CE8E0','jbossesb','JBoss ESB User','2006-12-07 13:08:00.765000000','2006-12-07 13:08:00.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:DFFFABD0-861D-11DB-B1A1-AB9815CB276D','jbossesb','JBoss ESB User','2006-12-07 13:08:00.781000000','2006-12-07 13:08:00.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E001F5C0-861D-11DB-B1A1-D7D92DB72AB6','jbossesb','JBoss ESB User','2006-12-07 13:08:00.796000000','2006-12-07 13:08:00.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E003D940-8617-11DB-9940-A1F1D9AD6FB7','jbossesb','JBoss ESB User','2006-12-07 12:25:03.843000000','2006-12-07 12:25:03.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E00921B0-861D-11DB-B1A1-CE562F378F7A','jbossesb','JBoss ESB User','2006-12-07 13:08:00.843000000','2006-12-07 13:08:00.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E0120A10-8617-11DB-8A10-A64B69F1EDE5','jbossesb','JBoss ESB User','2006-12-07 12:25:03.937000000','2006-12-07 12:25:03.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E016EC10-8617-11DB-AC10-F85FC45D27AA','jbossesb','JBoss ESB User','2006-12-07 12:25:03.953000000','2006-12-07 12:25:03.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E01BA700-8617-11DB-A700-87FB130FE009','jbossesb','JBoss ESB User','2006-12-07 12:25:03.984000000','2006-12-07 12:25:04.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E0281B60-861D-11DB-B1A1-D4C7D4ED601C','jbossesb','JBoss ESB User','2006-12-07 13:08:01.460000000','2006-12-07 13:08:01.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E029FEE0-8617-11DB-BEE0-90C4F8A4590B','jbossesb','JBoss ESB User','2006-12-07 12:25:04.780000000','2006-12-07 12:25:04.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E03D4EE0-860E-11DB-8EE0-B4F425B50BAF','jbossesb','JBoss ESB User','2006-12-07 11:20:38.734000000','2006-12-07 11:20:38.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E05B6290-814A-11DB-A6BA-AC328906BC09','jbossesb','JBoss ESB User','2006-12-01 09:47:32.921000000','2006-12-01 09:47:32.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E0735760-814A-11DB-A6BA-922B0366ED37','jbossesb','JBoss ESB User','2006-12-01 09:47:33.780000000','2006-12-01 09:47:33.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E07A8350-814A-11DB-A6BA-D9AAEAF56CA3','jbossesb','JBoss ESB User','2006-12-01 09:47:33.140000000','2006-12-01 09:47:33.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E07DF5D0-8618-11DB-B5D0-A0BD9C0AA783','jbossesb','JBoss ESB User','2006-12-07 12:32:14.140000000','2006-12-07 12:32:14.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E083F930-814A-11DB-A6BA-FE61CC8969BF','jbossesb','JBoss ESB User','2006-12-01 09:47:33.187000000','2006-12-01 09:47:33.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E0CC0B40-8617-11DB-8B40-CFE655B55BFC','jbossesb','JBoss ESB User','2006-12-07 12:25:05.140000000','2006-12-07 12:25:05.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E0E458C0-8618-11DB-98C0-922CD2FBCAD7','jbossesb','JBoss ESB User','2006-12-07 12:32:14.812000000','2006-12-07 12:32:14.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E11BC430-817D-11DB-8430-D09730A89983','jbossesb','JBoss ESB User','2006-12-01 15:52:38.531000000','2006-12-01 15:52:38.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E13085B0-8172-11DB-B8A9-B537A390A4DF','jbossesb','JBoss ESB User','2006-12-01 14:33:54.234000000','2006-12-01 14:33:54.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E131C7C0-817E-11DB-87C0-8DCC832C7012','jbossesb','JBoss ESB User','2006-12-01 15:59:48.187000000','2006-12-01 15:59:48.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E151F060-8172-11DB-B8A9-A2D391CAF862','jbossesb','JBoss ESB User','2006-12-01 14:33:54.421000000','2006-12-01 14:33:54.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1533270-817E-11DB-B270-BAF7571507F3','jbossesb','JBoss ESB User','2006-12-01 15:59:48.390000000','2006-12-01 15:59:48.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1604840-8172-11DB-B8A9-B75330F153B0','jbossesb','JBoss ESB User','2006-12-01 14:33:54.515000000','2006-12-01 14:33:54.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1674D20-8172-11DB-B8A9-8E4CF74FDE68','jbossesb','JBoss ESB User','2006-12-01 14:33:54.546000000','2006-12-01 14:33:54.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E184BF30-817D-11DB-BF30-A260475B1248','jbossesb','JBoss ESB User','2006-12-01 15:52:39.234000000','2006-12-01 15:52:39.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E194E140-817C-11DB-A140-A57D87FBF187','jbossesb','JBoss ESB User','2006-12-01 15:45:29.843000000','2006-12-01 15:45:29.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E197D200-817D-11DB-9200-BBADAF954D66','jbossesb','JBoss ESB User','2006-12-01 15:52:39.328000000','2006-12-01 15:52:39.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1A3B8E0-817D-11DB-B8E0-BA3820D73878','jbossesb','JBoss ESB User','2006-12-01 15:52:39.437000000','2006-12-01 15:52:39.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1ACAF00-817C-11DB-AF00-C839940C3E89','jbossesb','JBoss ESB User','2006-12-01 15:45:29.968000000','2006-12-01 15:45:30.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1B29080-817E-11DB-9080-91D6543EDFA1','jbossesb','JBoss ESB User','2006-12-01 15:59:49.150000000','2006-12-01 15:59:49.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1B64BF0-817C-11DB-8BF0-B4C887389D82','jbossesb','JBoss ESB User','2006-12-01 15:45:30.460000000','2006-12-01 15:45:30.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1C232D0-817C-11DB-B2D0-9C79CCAFF191','jbossesb','JBoss ESB User','2006-12-01 15:45:30.125000000','2006-12-01 15:45:30.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E1C33250-817E-11DB-B250-C0423F9BAC12','jbossesb','JBoss ESB User','2006-12-01 15:59:49.109000000','2006-12-01 15:59:49.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E20AFFD0-8175-11DB-AE84-8360972A2622','jbossesb','JBoss ESB User','2006-12-01 14:55:24.109000000','2006-12-01 14:55:24.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2278880-8175-11DB-AE84-FCAEC49D6D41','jbossesb','JBoss ESB User','2006-12-01 14:55:24.312000000','2006-12-01 14:55:24.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E235E060-8175-11DB-AE84-9EDB7299622D','jbossesb','JBoss ESB User','2006-12-01 14:55:24.406000000','2006-12-01 14:55:24.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2443840-8175-11DB-AE84-9859989AFFD1','jbossesb','JBoss ESB User','2006-12-01 14:55:24.484000000','2006-12-01 14:55:24.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E24EAE70-8147-11DB-AE70-97A98E36F6F4','jbossesb','JBoss ESB User','2006-12-01 09:26:07.718000000','2006-12-01 09:26:07.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E261C140-8147-11DB-8140-FFBA95F5887C','jbossesb','JBoss ESB User','2006-12-01 09:26:07.828000000','2006-12-01 09:26:07.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E268ED30-8147-11DB-AD30-B12ADB472B08','jbossesb','JBoss ESB User','2006-12-01 09:26:07.906000000','2006-12-01 09:26:07.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2726310-8147-11DB-A310-FB55EDEE589D','jbossesb','JBoss ESB User','2006-12-01 09:26:07.937000000','2006-12-01 09:26:07.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2888C20-80E4-11DB-8C20-C6DC5A62FD58','jbossesb','JBoss ESB User','2006-11-30 21:37:27.921000000','2006-11-30 21:37:27.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2AC8410-8182-11DB-AB1E-BD56DCCD8056','jbossesb','JBoss ESB User','2006-12-01 16:28:28.625000000','2006-12-01 16:28:28.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2B537A0-8177-11DB-B7A0-CF78895C59D3','jbossesb','JBoss ESB User','2006-12-01 15:09:44.234000000','2006-12-01 15:09:44.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2BA98A0-80E4-11DB-98A0-94C99F47E753','jbossesb','JBoss ESB User','2006-11-30 21:37:28.234000000','2006-11-30 21:37:28.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2C78D80-817F-11DB-8D80-F6CB903EE7C0','jbossesb','JBoss ESB User','2006-12-01 16:07:00.328000000','2006-12-01 16:07:00.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2CDC7B0-8182-11DB-AB1E-DF3B5722A377','jbossesb','JBoss ESB User','2006-12-01 16:28:28.859000000','2006-12-01 16:28:28.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2DC0350-80E4-11DB-8350-BE4BF5E8A77A','jbossesb','JBoss ESB User','2006-11-30 21:37:28.484000000','2006-11-30 21:37:28.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2DC1F90-8182-11DB-AB1E-CCDF85CD08BC','jbossesb','JBoss ESB User','2006-12-01 16:28:28.953000000','2006-12-01 16:28:28.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2DDCE40-8177-11DB-8E40-995F0E7F84C8','jbossesb','JBoss ESB User','2006-12-01 15:09:44.484000000','2006-12-01 15:09:44.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2EE7010-8177-11DB-B010-D8F20442E14C','jbossesb','JBoss ESB User','2006-12-01 15:09:44.625000000','2006-12-01 15:09:44.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2EF1620-80E4-11DB-9620-8377645E36A7','jbossesb','JBoss ESB User','2006-11-30 21:37:28.609000000','2006-11-30 21:37:28.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2EF3260-8182-11DB-AB1E-AA8345CB3777','jbossesb','JBoss ESB User','2006-12-01 16:28:29.620000000','2006-12-01 16:28:29.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E2FCC7F0-8177-11DB-87F0-906575A7E0A1','jbossesb','JBoss ESB User','2006-12-01 15:09:44.687000000','2006-12-01 15:09:44.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3015810-8104-11DB-9810-E1760B723FAF','jbossesb','JBoss ESB User','2006-12-01 01:26:32.625000000','2006-12-01 01:26:32.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E31A34A0-816F-11DB-AF51-9D4FD7E4BF3B','jbossesb','JBoss ESB User','2006-12-01 14:12:28.937000000','2006-12-01 14:12:29.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E31E07D0-8104-11DB-87D0-B3578A7B9E5D','jbossesb','JBoss ESB User','2006-12-01 01:26:32.796000000','2006-12-01 01:26:32.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3442D70-8104-11DB-AD70-D13549A8EFBC','jbossesb','JBoss ESB User','2006-12-01 01:26:33.310000000','2006-12-01 01:26:33.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3501450-8104-11DB-9450-AC3B42E656C2','jbossesb','JBoss ESB User','2006-12-01 01:26:33.125000000','2006-12-01 01:26:33.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E361C4F0-816F-11DB-AF51-AEC445EAFE8D','jbossesb','JBoss ESB User','2006-12-01 14:12:29.390000000','2006-12-01 14:12:29.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E36E8710-860D-11DB-B8CF-C6ABA9E75B79','jbossesb','JBoss ESB User','2006-12-07 11:13:34.593000000','2006-12-07 11:13:34.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3736910-860D-11DB-B8CF-A70A28576500','jbossesb','JBoss ESB User','2006-12-07 11:13:34.640000000','2006-12-07 11:13:34.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E383D8A0-817F-11DB-98A0-8A1D59BFF6E7','jbossesb','JBoss ESB User','2006-12-01 16:07:01.546000000','2006-12-01 16:07:01.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E394A180-817F-11DB-A180-BDD2DE2CD720','jbossesb','JBoss ESB User','2006-12-01 16:07:01.656000000','2006-12-01 16:07:01.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3998EB0-860D-11DB-B8CF-F4FDC21A2018','jbossesb','JBoss ESB User','2006-12-07 11:13:34.875000000','2006-12-07 11:13:34.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E39E49A0-860D-11DB-B8CF-F89C754A0B69','jbossesb','JBoss ESB User','2006-12-07 11:13:34.906000000','2006-12-07 11:13:34.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3AAC9C0-814C-11DB-A6BA-A62C1CBCA204','jbossesb','JBoss ESB User','2006-12-01 10:01:57.468000000','2006-12-01 10:01:57.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3B6B0A0-814C-11DB-A6BA-BB90ACDAF809','jbossesb','JBoss ESB User','2006-12-01 10:01:57.562000000','2006-12-01 10:01:57.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3BDDC90-814C-11DB-A6BA-A2DCABE786A6','jbossesb','JBoss ESB User','2006-12-01 10:01:57.609000000','2006-12-01 10:01:57.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3C50880-814C-11DB-A6BA-C308068CD6B7','jbossesb','JBoss ESB User','2006-12-01 10:01:57.656000000','2006-12-01 10:01:57.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3E137B0-817B-11DB-B7B0-A61ADA6F934A','jbossesb','JBoss ESB User','2006-12-01 15:38:24.203000000','2006-12-01 15:38:24.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3F111A0-861A-11DB-91A0-A929452C134F','jbossesb','JBoss ESB User','2006-12-07 12:46:38.921000000','2006-12-07 12:46:38.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3F64980-817F-11DB-8980-89C1A0AB3B5B','jbossesb','JBoss ESB User','2006-12-01 16:07:02.296000000','2006-12-01 16:07:02.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3F83D90-861A-11DB-BD90-F5005F8624B8','jbossesb','JBoss ESB User','2006-12-07 12:46:38.953000000','2006-12-07 12:46:38.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E3FF6980-861A-11DB-A980-E3C542AEDCCC','jbossesb','JBoss ESB User','2006-12-07 12:46:39.0','2006-12-07 12:46:39.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E401B370-861A-11DB-B370-866D91016406','jbossesb','JBoss ESB User','2006-12-07 12:46:39.310000000','2006-12-07 12:46:39.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E402A260-817B-11DB-A260-F769C8920E79','jbossesb','JBoss ESB User','2006-12-01 15:38:24.421000000','2006-12-01 15:38:24.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4066E60-861A-11DB-AE60-E3C739629D8E','jbossesb','JBoss ESB User','2006-12-07 12:46:39.460000000','2006-12-07 12:46:39.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4136B40-817B-11DB-AB40-A98382546535','jbossesb','JBoss ESB User','2006-12-01 15:38:24.515000000','2006-12-01 15:38:24.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4173740-861A-11DB-B740-E121B3898F06','jbossesb','JBoss ESB User','2006-12-07 12:46:39.156000000','2006-12-07 12:46:39.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4198130-861A-11DB-8130-F191E557E96E','jbossesb','JBoss ESB User','2006-12-07 12:46:39.171000000','2006-12-07 12:46:39.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E420AD20-861A-11DB-AD20-AEF9821F1CA7','jbossesb','JBoss ESB User','2006-12-07 12:46:39.218000000','2006-12-07 12:46:39.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4219C10-817B-11DB-9C10-896C38058EBC','jbossesb','JBoss ESB User','2006-12-01 15:38:24.625000000','2006-12-01 15:38:24.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E42C9400-861A-11DB-9400-D479E6B52242','jbossesb','JBoss ESB User','2006-12-07 12:46:39.328000000','2006-12-07 12:46:39.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E43630F0-861A-11DB-B0F0-89317ED72DDA','jbossesb','JBoss ESB User','2006-12-07 12:46:39.375000000','2006-12-07 12:46:39.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4453530-8171-11DB-B8A9-AE67B76BDFBB','jbossesb','JBoss ESB User','2006-12-01 14:26:49.890000000','2006-12-01 14:26:49.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E446D2C0-861A-11DB-92C0-BCCB01C9578F','jbossesb','JBoss ESB User','2006-12-07 12:46:39.484000000','2006-12-07 12:46:39.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4669FE0-8171-11DB-B8A9-8F666985A71C','jbossesb','JBoss ESB User','2006-12-01 14:26:50.780000000','2006-12-01 14:26:50.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E47741B0-8171-11DB-B8A9-874537911D09','jbossesb','JBoss ESB User','2006-12-01 14:26:50.218000000','2006-12-01 14:26:50.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E47CEE60-816E-11DB-A4E4-FB2C4EDDFA02','jbossesb','JBoss ESB User','2006-12-01 14:05:21.734000000','2006-12-01 14:05:21.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4859990-8171-11DB-B8A9-ED6D1CADC7C9','jbossesb','JBoss ESB User','2006-12-01 14:26:50.281000000','2006-12-01 14:26:50.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4873720-861A-11DB-B720-9BE50D2AD37D','jbossesb','JBoss ESB User','2006-12-07 12:46:39.890000000','2006-12-07 12:46:39.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E494BC20-816E-11DB-A4E4-8F346BA5B310','jbossesb','JBoss ESB User','2006-12-01 14:05:21.890000000','2006-12-01 14:05:21.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4DC2AC0-8181-11DB-AB1E-E2A062F51DC3','jbossesb','JBoss ESB User','2006-12-01 16:21:22.812000000','2006-12-01 16:21:22.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4E9B560-860D-11DB-B8CF-DD9D7837C5B0','jbossesb','JBoss ESB User','2006-12-07 11:13:37.780000000','2006-12-07 11:13:37.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4ECEE40-816E-11DB-A4E4-A5C8BEE56F25','jbossesb','JBoss ESB User','2006-12-01 14:05:22.484000000','2006-12-01 14:05:22.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4F68B30-816E-11DB-A4E4-9088B3DF18E3','jbossesb','JBoss ESB User','2006-12-01 14:05:22.531000000','2006-12-01 14:05:22.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E4F8DA80-8181-11DB-AB1E-AF14D59C0C39','jbossesb','JBoss ESB User','2006-12-01 16:21:23.0','2006-12-01 16:21:23.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E5073260-8181-11DB-AB1E-E8ABAAF7A23E','jbossesb','JBoss ESB User','2006-12-01 16:21:23.780000000','2006-12-01 16:21:23.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E50E5E50-8181-11DB-AB1E-DFE6C04D4562','jbossesb','JBoss ESB User','2006-12-01 16:21:23.156000000','2006-12-01 16:21:23.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E5766500-860D-11DB-B8CF-AC4F09ACEABA','jbossesb','JBoss ESB User','2006-12-07 11:13:38.150000000','2006-12-07 11:13:38.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E5C30260-80FF-11DB-B65A-BB6DC253021C','jbossesb','JBoss ESB User','2006-12-01 00:50:49.750000000','2006-12-01 00:50:49.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E5F50EE0-80FF-11DB-B65A-C4CD9B07CCA0','jbossesb','JBoss ESB User','2006-12-01 00:50:50.780000000','2006-12-01 00:50:50.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E60821B0-80FF-11DB-B65A-F5E3952E5848','jbossesb','JBoss ESB User','2006-12-01 00:50:50.203000000','2006-12-01 00:50:50.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6167990-80FF-11DB-B65A-D6F8CCF8387C','jbossesb','JBoss ESB User','2006-12-01 00:50:50.281000000','2006-12-01 00:50:50.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6A89180-860F-11DB-9180-B1479CB9AA6B','jbossesb','JBoss ESB User','2006-12-07 11:27:59.150000000','2006-12-07 11:27:59.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6AD4C70-860F-11DB-8C70-8BEA33F5052C','jbossesb','JBoss ESB User','2006-12-07 11:27:59.460000000','2006-12-07 11:27:59.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6B20760-860F-11DB-8760-E5500D3E3A03','jbossesb','JBoss ESB User','2006-12-07 11:27:59.780000000','2006-12-07 11:27:59.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6B6C250-860F-11DB-8250-94DAA591C5E1','jbossesb','JBoss ESB User','2006-12-07 11:27:59.930000000','2006-12-07 11:27:59.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6C78B30-860F-11DB-8B30-B410A83F20DE','jbossesb','JBoss ESB User','2006-12-07 11:27:59.203000000','2006-12-07 11:27:59.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6CC4620-860F-11DB-8620-CC314E51D540','jbossesb','JBoss ESB User','2006-12-07 11:27:59.328000000','2006-12-07 11:27:59.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6D5FE90-8619-11DB-BE90-9E3885B83620','jbossesb','JBoss ESB User','2006-12-07 12:39:34.281000000','2006-12-07 12:39:34.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6DD2A80-8619-11DB-AA80-F3E2F8F4D4D0','jbossesb','JBoss ESB User','2006-12-07 12:39:34.328000000','2006-12-07 12:39:34.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6E1E570-8619-11DB-A570-D3FD46695E5E','jbossesb','JBoss ESB User','2006-12-07 12:39:34.343000000','2006-12-07 12:39:34.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6E413E0-860F-11DB-93E0-B8BC5C3C0088','jbossesb','JBoss ESB User','2006-12-07 11:27:59.406000000','2006-12-07 11:27:59.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6E91160-8619-11DB-9160-CAE31264DF4E','jbossesb','JBoss ESB User','2006-12-07 12:39:34.406000000','2006-12-07 12:39:34.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6EB71D0-8178-11DB-A966-F1889C5554E2','jbossesb','JBoss ESB User','2006-12-01 15:17:00.828000000','2006-12-01 15:17:00.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E6EDCC50-8619-11DB-8C50-B4DE5E969D46','jbossesb','JBoss ESB User','2006-12-07 12:39:34.437000000','2006-12-07 12:39:34.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E700C3A0-860F-11DB-83A0-D9C56979278A','jbossesb','JBoss ESB User','2006-12-07 11:27:59.578000000','2006-12-07 11:27:59.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E7030D90-860F-11DB-8D90-F63297E5AE45','jbossesb','JBoss ESB User','2006-12-07 11:27:59.593000000','2006-12-07 11:27:59.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E707EF90-860F-11DB-AF90-93437FC71CE3','jbossesb','JBoss ESB User','2006-12-07 11:27:59.640000000','2006-12-07 11:27:59.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E7080B10-8619-11DB-8B10-BA22B7011BD0','jbossesb','JBoss ESB User','2006-12-07 12:39:34.593000000','2006-12-07 12:39:34.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E70CDC80-8178-11DB-A966-FAFD01C8FFA9','jbossesb','JBoss ESB User','2006-12-01 15:17:01.150000000','2006-12-01 15:17:01.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E70CED10-8619-11DB-AD10-D00BCC8146C4','jbossesb','JBoss ESB User','2006-12-07 12:39:34.625000000','2006-12-07 12:39:34.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E70F3700-8619-11DB-B700-879CCFB5F224','jbossesb','JBoss ESB User','2006-12-07 12:39:34.640000000','2006-12-07 12:39:34.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E7116570-860F-11DB-A570-C4EC12541F56','jbossesb','JBoss ESB User','2006-12-07 11:27:59.703000000','2006-12-07 11:27:59.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E711A800-8619-11DB-A800-946D0A88DC32','jbossesb','JBoss ESB User','2006-12-07 12:39:34.656000000','2006-12-07 12:39:34.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E71662F0-8619-11DB-A2F0-C27F0D9133E7','jbossesb','JBoss ESB User','2006-12-07 12:39:34.703000000','2006-12-07 12:39:34.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E71B0D50-8178-11DB-A966-BAA1DBB2E94A','jbossesb','JBoss ESB User','2006-12-01 15:17:01.109000000','2006-12-01 15:17:01.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E71FBD50-860F-11DB-BD50-D3FE0CEBBC22','jbossesb','JBoss ESB User','2006-12-07 11:27:59.796000000','2006-12-07 11:27:59.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E71FFFE0-8619-11DB-BFE0-85FD441ABE73','jbossesb','JBoss ESB User','2006-12-07 12:39:34.765000000','2006-12-07 12:39:34.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E7247840-860F-11DB-B840-CBA8A0F23B75','jbossesb','JBoss ESB User','2006-12-07 11:27:59.812000000','2006-12-07 11:27:59.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E724AA40-8178-11DB-A966-C78A4B933F0E','jbossesb','JBoss ESB User','2006-12-01 15:17:01.171000000','2006-12-01 15:17:01.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E726E940-860F-11DB-A940-8B2B5C6D9F8E','jbossesb','JBoss ESB User','2006-12-07 11:27:59.843000000','2006-12-07 11:27:59.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E72E1530-860F-11DB-9530-89BC60C8C9D0','jbossesb','JBoss ESB User','2006-12-07 11:27:59.875000000','2006-12-07 11:27:59.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E7412800-860F-11DB-A800-A05129BF95C9','jbossesb','JBoss ESB User','2006-12-07 11:28:00.0','2006-12-07 11:28:00.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E753EC50-80E3-11DB-AC50-94FAF5F53D82','jbossesb','JBoss ESB User','2006-11-30 21:30:26.453000000','2006-11-30 21:30:27.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E756C750-8619-11DB-8750-C4F04A27C8E8','jbossesb','JBoss ESB User','2006-12-07 12:39:35.109000000','2006-12-07 12:39:35.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E7E09BF0-80E3-11DB-9BF0-C2F838B3038D','jbossesb','JBoss ESB User','2006-11-30 21:30:27.406000000','2006-11-30 21:30:27.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E7F5F8B0-80E3-11DB-B8B0-9D55FE6961B6','jbossesb','JBoss ESB User','2006-11-30 21:30:27.546000000','2006-11-30 21:30:27.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E7F827E0-816D-11DB-A4E4-DC11F3A83383','jbossesb','JBoss ESB User','2006-12-01 13:58:18.780000000','2006-12-01 13:58:18.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E8090B80-80E3-11DB-8B80-DE1C9E4AC223','jbossesb','JBoss ESB User','2006-11-30 21:30:27.656000000','2006-11-30 21:30:27.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E80D5600-814B-11DB-A6BA-B2C345090400','jbossesb','JBoss ESB User','2006-12-01 09:54:55.328000000','2006-12-01 09:54:55.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E8193CE0-814B-11DB-A6BA-AB0F61C57CFC','jbossesb','JBoss ESB User','2006-12-01 09:54:55.406000000','2006-12-01 09:54:55.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E81E4D80-816D-11DB-A4E4-CCC3454E868C','jbossesb','JBoss ESB User','2006-12-01 13:58:18.328000000','2006-12-01 13:58:18.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E82068D0-814B-11DB-A6BA-8CB811031F3A','jbossesb','JBoss ESB User','2006-12-01 09:54:55.453000000','2006-12-01 09:54:55.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E82794C0-814B-11DB-A6BA-9E3DD056A878','jbossesb','JBoss ESB User','2006-12-01 09:54:55.500000000','2006-12-01 09:54:55.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E82C7E50-816D-11DB-A4E4-F82D317DE5C5','jbossesb','JBoss ESB User','2006-12-01 13:58:18.437000000','2006-12-01 13:58:18.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E8388C40-816D-11DB-A4E4-A91888A2F0AC','jbossesb','JBoss ESB User','2006-12-01 13:58:18.500000000','2006-12-01 13:58:18.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E91B0D90-860E-11DB-8D90-C39F925662F9','jbossesb','JBoss ESB User','2006-12-07 11:20:53.609000000','2006-12-07 11:20:53.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E91D7E90-860E-11DB-BE90-8F147BF14D06','jbossesb','JBoss ESB User','2006-12-07 11:20:53.625000000','2006-12-07 11:20:53.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9248370-860E-11DB-8370-F6BDAC4BC1AB','jbossesb','JBoss ESB User','2006-12-07 11:20:53.671000000','2006-12-07 11:20:53.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9354C50-860E-11DB-8C50-819AA5D8C713','jbossesb','JBoss ESB User','2006-12-07 11:20:53.781000000','2006-12-07 11:20:53.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9379640-860E-11DB-9640-8AF1B80726F0','jbossesb','JBoss ESB User','2006-12-07 11:20:53.796000000','2006-12-07 11:20:53.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E937D8D0-8618-11DB-98D0-C6B9878B915A','jbossesb','JBoss ESB User','2006-12-07 12:32:28.765000000','2006-12-07 12:32:28.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E93A49D0-8618-11DB-89D0-E2A37732B249','jbossesb','JBoss ESB User','2006-12-07 12:32:28.796000000','2006-12-07 12:32:28.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E93C7840-860E-11DB-B840-FB02535598C8','jbossesb','JBoss ESB User','2006-12-07 11:20:53.828000000','2006-12-07 11:20:53.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E94175C0-8618-11DB-B5C0-99508DC8802C','jbossesb','JBoss ESB User','2006-12-07 12:32:28.843000000','2006-12-07 12:32:28.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E94630B0-8618-11DB-B0B0-F2E0A9A4A9CD','jbossesb','JBoss ESB User','2006-12-07 12:32:28.859000000','2006-12-07 12:32:28.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E948A1B0-8618-11DB-A1B0-FCD6D4E40D37','jbossesb','JBoss ESB User','2006-12-07 12:32:28.890000000','2006-12-07 12:32:28.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E94AA0B0-861C-11DB-A0B0-B70F3DE7190E','jbossesb','JBoss ESB User','2006-12-07 13:01:06.906000000','2006-12-07 13:01:06.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9568790-861C-11DB-8790-CB7932046AF4','jbossesb','JBoss ESB User','2006-12-07 13:01:06.968000000','2006-12-07 13:01:06.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E95FFD70-861C-11DB-BD70-8F5C17E89617','jbossesb','JBoss ESB User','2006-12-07 13:01:07.150000000','2006-12-07 13:01:07.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E964B860-861C-11DB-B860-BADC4BEC5F34','jbossesb','JBoss ESB User','2006-12-07 13:01:07.620000000','2006-12-07 13:01:07.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9699A60-861C-11DB-9A60-B06A6A44D460','jbossesb','JBoss ESB User','2006-12-07 13:01:07.930000000','2006-12-07 13:01:07.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E96E5550-861C-11DB-9550-8D82E5094BF8','jbossesb','JBoss ESB User','2006-12-07 13:01:07.109000000','2006-12-07 13:01:07.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9783D30-8618-11DB-BD30-9F29ACE7C72D','jbossesb','JBoss ESB User','2006-12-07 12:32:29.234000000','2006-12-07 12:32:29.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9842410-8618-11DB-A410-CF917DBD685B','jbossesb','JBoss ESB User','2006-12-07 12:32:29.265000000','2006-12-07 12:32:29.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E988DF00-8618-11DB-9F00-A6EF0E861FA0','jbossesb','JBoss ESB User','2006-12-07 12:32:29.312000000','2006-12-07 12:32:29.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9900AF0-8618-11DB-8AF0-EC6E95353637','jbossesb','JBoss ESB User','2006-12-07 12:32:29.343000000','2006-12-07 12:32:29.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9947AF0-861C-11DB-BAF0-AF3257A54F2D','jbossesb','JBoss ESB User','2006-12-07 13:01:07.359000000','2006-12-07 13:01:07.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E994ECF0-8618-11DB-ACF0-CCAE8E1D073E','jbossesb','JBoss ESB User','2006-12-07 12:32:29.375000000','2006-12-07 12:32:29.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E99BA6E0-861C-11DB-A6E0-8C1060696EDC','jbossesb','JBoss ESB User','2006-12-07 13:01:07.406000000','2006-12-07 13:01:07.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9A061D0-861C-11DB-A1D0-AB17DE002466','jbossesb','JBoss ESB User','2006-12-07 13:01:07.437000000','2006-12-07 13:01:07.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9A51CC0-861C-11DB-9CC0-B1D8D9BB163B','jbossesb','JBoss ESB User','2006-12-07 13:01:07.468000000','2006-12-07 13:01:07.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9AC48B0-861C-11DB-88B0-E6927CA47DBA','jbossesb','JBoss ESB User','2006-12-07 13:01:07.546000000','2006-12-07 13:01:07.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9B374A0-861C-11DB-B4A0-8FED2E227B12','jbossesb','JBoss ESB User','2006-12-07 13:01:07.562000000','2006-12-07 13:01:07.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:E9BD1190-861C-11DB-9190-C582E76538D3','jbossesb','JBoss ESB User','2006-12-07 13:01:07.656000000','2006-12-07 13:01:07.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA08DEE0-80FE-11DB-BEA2-DB2C0CB1874B','jbossesb','JBoss ESB User','2006-12-01 00:43:47.406000000','2006-12-01 00:43:47.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA1D0AF0-8563-11DB-A053-B3D84023B2AE','jbossesb','JBoss ESB User','2006-12-06 14:56:51.375000000','2006-12-06 14:56:51.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA256790-80FE-11DB-BEA2-A0FA73A5B782','jbossesb','JBoss ESB User','2006-12-01 00:43:47.609000000','2006-12-01 00:43:47.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA301DC0-8563-11DB-A053-F4C998761585','jbossesb','JBoss ESB User','2006-12-06 14:56:51.484000000','2006-12-06 14:56:51.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA363070-80FE-11DB-BEA2-CF7B76684322','jbossesb','JBoss ESB User','2006-12-01 00:43:47.703000000','2006-12-01 00:43:47.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA3749B0-8563-11DB-A053-A21CDD8926B9','jbossesb','JBoss ESB User','2006-12-06 14:56:51.531000000','2006-12-06 14:56:51.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA3E75A0-8563-11DB-A053-E1A550B27A25','jbossesb','JBoss ESB User','2006-12-06 14:56:51.578000000','2006-12-06 14:56:51.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA3FA650-80FE-11DB-BEA2-C760462A6BDF','jbossesb','JBoss ESB User','2006-12-01 00:43:47.765000000','2006-12-01 00:43:47.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA80B810-860E-11DB-B810-8C8578C7F7AC','jbossesb','JBoss ESB User','2006-12-07 11:20:55.984000000','2006-12-07 11:20:55.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EA9D40C0-860E-11DB-80C0-E1F4F4E221D0','jbossesb','JBoss ESB User','2006-12-07 11:20:56.140000000','2006-12-07 11:20:56.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EAA23E40-8618-11DB-BE40-885CD9874F90','jbossesb','JBoss ESB User','2006-12-07 12:32:31.140000000','2006-12-07 12:32:31.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EAC4D510-8170-11DB-AF51-E530EFE5C326','jbossesb','JBoss ESB User','2006-12-01 14:19:51.281000000','2006-12-01 14:19:51.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EAEFB5A0-8170-11DB-AF51-EF0C3E59D9CC','jbossesb','JBoss ESB User','2006-12-01 14:19:51.562000000','2006-12-01 14:19:51.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB015160-861C-11DB-9160-9969A6AAB49F','jbossesb','JBoss ESB User','2006-12-07 13:01:09.750000000','2006-12-07 13:01:09.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB4CC9C0-8170-11DB-AF51-941FD2F0E1D6','jbossesb','JBoss ESB User','2006-12-01 14:19:52.156000000','2006-12-01 14:19:52.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB506650-861D-11DB-B1A1-F5634E85A66F','jbossesb','JBoss ESB User','2006-12-07 13:08:19.781000000','2006-12-07 13:08:19.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB5A0340-861D-11DB-B1A1-BE4DAD902B2B','jbossesb','JBoss ESB User','2006-12-07 13:08:19.843000000','2006-12-07 13:08:19.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB5EBE30-861D-11DB-B1A1-8EB0403B066F','jbossesb','JBoss ESB User','2006-12-07 13:08:19.859000000','2006-12-07 13:08:19.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB622680-8170-11DB-AF51-A734E6FFDBEB','jbossesb','JBoss ESB User','2006-12-01 14:19:52.312000000','2006-12-01 14:19:52.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB637920-861D-11DB-B1A1-AA2A04A8354B','jbossesb','JBoss ESB User','2006-12-07 13:08:19.906000000','2006-12-07 13:08:19.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB65B550-8618-11DB-B550-EFFBF138F11F','jbossesb','JBoss ESB User','2006-12-07 12:32:32.421000000','2006-12-07 12:32:32.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB683410-861D-11DB-B1A1-F7A66381C835','jbossesb','JBoss ESB User','2006-12-07 13:08:19.937000000','2006-12-07 13:08:19.937000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB6D1610-861D-11DB-B1A1-AE29E227A21E','jbossesb','JBoss ESB User','2006-12-07 13:08:19.968000000','2006-12-07 13:08:19.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EB9E6E00-8617-11DB-AE00-F50FC79A4872','jbossesb','JBoss ESB User','2006-12-07 12:25:23.328000000','2006-12-07 12:25:23.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EBA80AF0-8617-11DB-8AF0-FC076B181C0A','jbossesb','JBoss ESB User','2006-12-07 12:25:23.359000000','2006-12-07 12:25:23.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EBB3F1D0-8617-11DB-B1D0-A8236F0CF7D1','jbossesb','JBoss ESB User','2006-12-07 12:25:23.437000000','2006-12-07 12:25:23.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EBB8ACC0-8617-11DB-ACC0-A9710826FFA1','jbossesb','JBoss ESB User','2006-12-07 12:25:23.500000000','2006-12-07 12:25:23.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EBC249B0-8617-11DB-89B0-81048622734F','jbossesb','JBoss ESB User','2006-12-07 12:25:23.562000000','2006-12-07 12:25:23.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EBDC45E0-860D-11DB-85E0-DF4647740535','jbossesb','JBoss ESB User','2006-12-07 11:13:48.765000000','2006-12-07 11:13:48.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EBF6C730-8617-11DB-8730-8A0EE065019F','jbossesb','JBoss ESB User','2006-12-07 12:25:23.875000000','2006-12-07 12:25:23.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EBFDCC10-8617-11DB-8C10-A69A7759C2B2','jbossesb','JBoss ESB User','2006-12-07 12:25:23.953000000','2006-12-07 12:25:23.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC076900-8617-11DB-A900-DAD034DC0CCB','jbossesb','JBoss ESB User','2006-12-07 12:25:24.0','2006-12-07 12:25:24.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC10DEE0-8617-11DB-9EE0-F57C6D088A36','jbossesb','JBoss ESB User','2006-12-07 12:25:24.930000000','2006-12-07 12:25:24.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC1A7BD0-8617-11DB-BBD0-A86A726E0A12','jbossesb','JBoss ESB User','2006-12-07 12:25:24.109000000','2006-12-07 12:25:24.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC23F1B0-8617-11DB-B1B0-D4E221A4C340','jbossesb','JBoss ESB User','2006-12-07 12:25:24.171000000','2006-12-07 12:25:24.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC664550-814A-11DB-A6BA-DCF2C5B59CCB','jbossesb','JBoss ESB User','2006-12-01 09:47:53.125000000','2006-12-01 09:47:53.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC6D4A30-814A-11DB-A6BA-B6EEB6156F0A','jbossesb','JBoss ESB User','2006-12-01 09:47:53.187000000','2006-12-01 09:47:53.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC703CF0-8617-11DB-BCF0-95B6496052AF','jbossesb','JBoss ESB User','2006-12-07 12:25:24.703000000','2006-12-07 12:25:24.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC747620-814A-11DB-A6BA-CC1AFF933E39','jbossesb','JBoss ESB User','2006-12-01 09:47:53.218000000','2006-12-01 09:47:53.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC7C0850-860D-11DB-8850-F76CF74344D9','jbossesb','JBoss ESB User','2006-12-07 11:13:49.796000000','2006-12-07 11:13:49.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EC864E40-861D-11DB-B1A1-C4E535E573EA','jbossesb','JBoss ESB User','2006-12-07 13:08:21.796000000','2006-12-07 13:08:21.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ECD5A920-816F-11DB-AF51-E27D47967380','jbossesb','JBoss ESB User','2006-12-01 14:12:45.250000000','2006-12-01 14:12:45.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ED292050-816F-11DB-AF51-E2BAB422094F','jbossesb','JBoss ESB User','2006-12-01 14:12:45.812000000','2006-12-01 14:12:45.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ED3C3320-816F-11DB-AF51-86617F60124B','jbossesb','JBoss ESB User','2006-12-01 14:12:45.921000000','2006-12-01 14:12:45.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ED4A8B00-816F-11DB-AF51-DA46627481A5','jbossesb','JBoss ESB User','2006-12-01 14:12:46.0','2006-12-01 14:12:46.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ED722FE0-8172-11DB-B8A9-95452BFFDFD0','jbossesb','JBoss ESB User','2006-12-01 14:34:14.750000000','2006-12-01 14:34:14.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ED7CE7D0-817E-11DB-A7D0-A5D03B7A0551','jbossesb','JBoss ESB User','2006-12-01 16:00:08.781000000','2006-12-01 16:00:08.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ED89FDA0-8172-11DB-B8A9-89A3348B6478','jbossesb','JBoss ESB User','2006-12-01 14:34:14.906000000','2006-12-01 14:34:14.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ED9435D0-817D-11DB-B5D0-C2C2C2F895F8','jbossesb','JBoss ESB User','2006-12-01 15:52:59.437000000','2006-12-01 15:52:59.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:ED985580-8172-11DB-B8A9-A402AD9CDDAD','jbossesb','JBoss ESB User','2006-12-01 14:34:15.310000000','2006-12-01 14:34:15.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EDA43C60-8172-11DB-B8A9-B1DAC757A9ED','jbossesb','JBoss ESB User','2006-12-01 14:34:15.930000000','2006-12-01 14:34:15.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EDD8D560-817C-11DB-9560-A977EE160D0C','jbossesb','JBoss ESB User','2006-12-01 15:45:50.406000000','2006-12-01 15:45:50.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EDE5BBC0-817E-11DB-BBC0-C36A4A854E05','jbossesb','JBoss ESB User','2006-12-01 16:00:09.484000000','2006-12-01 16:00:09.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EDF31420-817C-11DB-9420-DAB60636B000','jbossesb','JBoss ESB User','2006-12-01 15:45:50.578000000','2006-12-01 15:45:50.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EDF413A0-817E-11DB-93A0-9356EF96AC55','jbossesb','JBoss ESB User','2006-12-01 16:00:09.578000000','2006-12-01 16:00:09.609000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EDFEFB00-817C-11DB-BB00-98F33026A1C7','jbossesb','JBoss ESB User','2006-12-01 15:45:50.640000000','2006-12-01 15:45:50.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EDFF7AC0-817D-11DB-BAC0-A4606BD8E46B','jbossesb','JBoss ESB User','2006-12-01 15:53:00.140000000','2006-12-01 15:53:00.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EE026B80-817E-11DB-AB80-E997EB04C302','jbossesb','JBoss ESB User','2006-12-01 16:00:09.671000000','2006-12-01 16:00:09.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EE0AE1E0-817C-11DB-A1E0-D3CE8ADC44B2','jbossesb','JBoss ESB User','2006-12-01 15:45:50.765000000','2006-12-01 15:45:50.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EE0DD2A0-817D-11DB-92A0-A9842187098D','jbossesb','JBoss ESB User','2006-12-01 15:53:00.250000000','2006-12-01 15:53:00.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EE465750-8147-11DB-9750-E8059720A51C','jbossesb','JBoss ESB User','2006-12-01 09:26:27.781000000','2006-12-01 09:26:27.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EE609610-8147-11DB-9610-EEA3094B0496','jbossesb','JBoss ESB User','2006-12-01 09:26:27.953000000','2006-12-01 09:26:27.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EE6149D0-817D-11DB-89D0-99A03F9E73C0','jbossesb','JBoss ESB User','2006-12-01 15:53:00.781000000','2006-12-01 15:53:00.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EE6C7CF0-8147-11DB-BCF0-E2782A7D1456','jbossesb','JBoss ESB User','2006-12-01 09:26:28.460000000','2006-12-01 09:26:28.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EE73A8E0-8147-11DB-A8E0-EE6404396D95','jbossesb','JBoss ESB User','2006-12-01 09:26:28.930000000','2006-12-01 09:26:28.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EEA65AA0-80E4-11DB-9AA0-AD89662BF40C','jbossesb','JBoss ESB User','2006-11-30 21:37:48.281000000','2006-11-30 21:37:48.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EEC99040-8177-11DB-9040-98C9FF55CE67','jbossesb','JBoss ESB User','2006-12-01 15:10:04.484000000','2006-12-01 15:10:04.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EECC8040-80E4-11DB-8040-83B3C0FCA17F','jbossesb','JBoss ESB User','2006-11-30 21:37:48.515000000','2006-11-30 21:37:48.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EEDF1410-8177-11DB-9410-FB923587CF58','jbossesb','JBoss ESB User','2006-12-01 15:10:04.625000000','2006-12-01 15:10:04.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EEEDEAF0-80E4-11DB-AAF0-E8FE468B6649','jbossesb','JBoss ESB User','2006-11-30 21:37:48.703000000','2006-11-30 21:37:48.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EEFE8CC0-80E4-11DB-8CC0-A3D0ECC3D1AD','jbossesb','JBoss ESB User','2006-11-30 21:37:48.828000000','2006-11-30 21:37:48.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EF0057B0-8177-11DB-97B0-C477E647BCF6','jbossesb','JBoss ESB User','2006-12-01 15:10:04.843000000','2006-12-01 15:10:04.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EF0C83F0-861D-11DB-B1A1-BAA78EF4E4C1','jbossesb','JBoss ESB User','2006-12-07 13:08:26.460000000','2006-12-07 13:08:26.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EF112090-8177-11DB-A090-AC844CCFE32D','jbossesb','JBoss ESB User','2006-12-01 15:10:04.953000000','2006-12-01 15:10:04.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EF1E9470-817F-11DB-9470-BBE31BDDA94D','jbossesb','JBoss ESB User','2006-12-01 16:07:21.460000000','2006-12-01 16:07:21.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EF454C30-8104-11DB-8C30-99D29880D059','jbossesb','JBoss ESB User','2006-12-01 01:26:53.171000000','2006-12-01 01:26:53.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EF5AD000-8104-11DB-9000-9C885096C4F3','jbossesb','JBoss ESB User','2006-12-01 01:26:53.312000000','2006-12-01 01:26:53.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EF6927E0-8104-11DB-A7E0-FAAF051D733C','jbossesb','JBoss ESB User','2006-12-01 01:26:53.437000000','2006-12-01 01:26:53.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EF750EC0-8104-11DB-8EC0-BBFA1F696C41','jbossesb','JBoss ESB User','2006-12-01 01:26:53.500000000','2006-12-01 01:26:53.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EFA4E3A0-814C-11DB-A6BA-FAFEE8E4236E','jbossesb','JBoss ESB User','2006-12-01 10:02:17.578000000','2006-12-01 10:02:17.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EFAC0F90-814C-11DB-A6BA-84E8428A21D5','jbossesb','JBoss ESB User','2006-12-01 10:02:17.625000000','2006-12-01 10:02:17.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EFB33B80-814C-11DB-A6BA-BD7F3E8EDA5A','jbossesb','JBoss ESB User','2006-12-01 10:02:17.656000000','2006-12-01 10:02:17.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EFE93770-817F-11DB-B770-A8754A1F951B','jbossesb','JBoss ESB User','2006-12-01 16:07:22.359000000','2006-12-01 16:07:22.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:EFFEBB40-817F-11DB-BB40-DD6E1AF41CC4','jbossesb','JBoss ESB User','2006-12-01 16:07:22.500000000','2006-12-01 16:07:22.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F005E730-817F-11DB-A730-FC25586B94DA','jbossesb','JBoss ESB User','2006-12-01 16:07:22.531000000','2006-12-01 16:07:22.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0160C10-861A-11DB-8C10-EC7D2CF1589D','jbossesb','JBoss ESB User','2006-12-07 12:46:59.281000000','2006-12-07 12:46:59.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F016FB00-817B-11DB-BB00-FBC9B14648AF','jbossesb','JBoss ESB User','2006-12-01 15:38:44.671000000','2006-12-01 15:38:44.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F01D3800-861A-11DB-B800-9D4C7A1B3EB4','jbossesb','JBoss ESB User','2006-12-07 12:46:59.328000000','2006-12-07 12:46:59.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F026ADE0-861A-11DB-ADE0-95A216AEEB21','jbossesb','JBoss ESB User','2006-12-07 12:46:59.390000000','2006-12-07 12:46:59.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0291EE0-861A-11DB-9EE0-829D19AB7F2D','jbossesb','JBoss ESB User','2006-12-07 12:46:59.406000000','2006-12-07 12:46:59.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0304AD0-861A-11DB-8AD0-FBDCA1B72CA4','jbossesb','JBoss ESB User','2006-12-07 12:46:59.453000000','2006-12-07 12:46:59.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F03383B0-817B-11DB-83B0-907365948534','jbossesb','JBoss ESB User','2006-12-01 15:38:44.843000000','2006-12-01 15:38:44.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0444C90-817B-11DB-8C90-D53B1ACFCA63','jbossesb','JBoss ESB User','2006-12-01 15:38:44.953000000','2006-12-01 15:38:44.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F04D7FE0-8171-11DB-B8A9-AF11D0BDC698','jbossesb','JBoss ESB User','2006-12-01 14:27:10.460000000','2006-12-01 14:27:10.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F04F4480-861A-11DB-8480-9D221E160FC0','jbossesb','JBoss ESB User','2006-12-07 12:46:59.656000000','2006-12-07 12:46:59.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0503370-817B-11DB-B370-88C5113F9FD5','jbossesb','JBoss ESB User','2006-12-01 15:38:45.310000000','2006-12-01 15:38:45.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F053FF70-861A-11DB-BF70-B17B9CDA9E97','jbossesb','JBoss ESB User','2006-12-07 12:46:59.687000000','2006-12-07 12:46:59.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F058BA60-861A-11DB-BA60-CCE7529E27AF','jbossesb','JBoss ESB User','2006-12-07 12:46:59.718000000','2006-12-07 12:46:59.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F05D9C60-861A-11DB-9C60-96B1089DB8F2','jbossesb','JBoss ESB User','2006-12-07 12:46:59.765000000','2006-12-07 12:46:59.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F064A140-861A-11DB-A140-EDAC749168D8','jbossesb','JBoss ESB User','2006-12-07 12:46:59.796000000','2006-12-07 12:46:59.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0715B90-8171-11DB-B8A9-A22B1335804B','jbossesb','JBoss ESB User','2006-12-01 14:27:10.281000000','2006-12-01 14:27:10.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F072F920-861A-11DB-B920-983EC0D69302','jbossesb','JBoss ESB User','2006-12-07 12:46:59.890000000','2006-12-07 12:46:59.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F07FB370-8171-11DB-B8A9-F7B992620FAF','jbossesb','JBoss ESB User','2006-12-01 14:27:10.375000000','2006-12-01 14:27:10.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0892950-8171-11DB-B8A9-F82A3A4084D9','jbossesb','JBoss ESB User','2006-12-01 14:27:10.453000000','2006-12-01 14:27:10.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0A914C0-816E-11DB-A4E4-BA9A3053C229','jbossesb','JBoss ESB User','2006-12-01 14:05:42.203000000','2006-12-01 14:05:42.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0DFE190-8181-11DB-AB1E-D4D5496D9817','jbossesb','JBoss ESB User','2006-12-01 16:21:42.984000000','2006-12-01 16:21:43.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0FAEDD0-861A-11DB-ADD0-D7F7A07BE6EF','jbossesb','JBoss ESB User','2006-12-07 12:47:00.781000000','2006-12-07 12:47:00.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0FC8BF0-816E-11DB-A4E4-966556E651B8','jbossesb','JBoss ESB User','2006-12-01 14:05:42.703000000','2006-12-01 14:05:42.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F0FEDB40-8181-11DB-AB1E-BFBCBA80FDD2','jbossesb','JBoss ESB User','2006-12-01 16:21:43.187000000','2006-12-01 16:21:43.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F10ABCC0-816E-11DB-A4E4-EC0CA7C16986','jbossesb','JBoss ESB User','2006-12-01 14:05:42.796000000','2006-12-01 14:05:42.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F1143800-8181-11DB-AB1E-ED3462CD2C67','jbossesb','JBoss ESB User','2006-12-01 16:21:43.359000000','2006-12-01 16:21:43.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F116CAB0-816E-11DB-A4E4-F9F5413D5B1B','jbossesb','JBoss ESB User','2006-12-01 14:05:42.875000000','2006-12-01 14:05:42.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F12500E0-8181-11DB-AB1E-A972285C33C2','jbossesb','JBoss ESB User','2006-12-01 16:21:43.406000000','2006-12-01 16:21:43.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F1D4EA00-80FF-11DB-B65A-AEC0FA865E53','jbossesb','JBoss ESB User','2006-12-01 00:51:10.460000000','2006-12-01 00:51:10.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F1FB0FA0-80FF-11DB-B65A-C80B19C3EA3F','jbossesb','JBoss ESB User','2006-12-01 00:51:10.234000000','2006-12-01 00:51:10.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F20BB170-80FF-11DB-B65A-A36A7836DD39','jbossesb','JBoss ESB User','2006-12-01 00:51:10.359000000','2006-12-01 00:51:10.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F223A640-80FF-11DB-B65A-EFC060E329F0','jbossesb','JBoss ESB User','2006-12-01 00:51:10.515000000','2006-12-01 00:51:10.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2C42100-8178-11DB-A966-C7162BAA273C','jbossesb','JBoss ESB User','2006-12-01 15:17:20.671000000','2006-12-01 15:17:20.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2D246E0-860F-11DB-86E0-9A67E0D2E768','jbossesb','JBoss ESB User','2006-12-07 11:28:19.406000000','2006-12-07 11:28:19.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2D490D0-860F-11DB-90D0-FCA40F68DE6D','jbossesb','JBoss ESB User','2006-12-07 11:28:19.437000000','2006-12-07 11:28:19.437000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2D4D360-8619-11DB-9360-F6251855235F','jbossesb','JBoss ESB User','2006-12-07 12:39:54.406000000','2006-12-07 12:39:54.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2D701D0-860F-11DB-81D0-A40285A8C257','jbossesb','JBoss ESB User','2006-12-07 11:28:19.453000000','2006-12-07 11:28:19.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2DBFF50-8619-11DB-BF50-CA80F932634C','jbossesb','JBoss ESB User','2006-12-07 12:39:54.437000000','2006-12-07 12:39:54.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2E0A9B0-8178-11DB-A966-94F9CB594A20','jbossesb','JBoss ESB User','2006-12-01 15:17:20.859000000','2006-12-01 15:17:20.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2E0BA40-8619-11DB-BA40-8F77560087FE','jbossesb','JBoss ESB User','2006-12-07 12:39:54.515000000','2006-12-07 12:39:54.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2E2E8B0-860F-11DB-A8B0-CBD1D25305A3','jbossesb','JBoss ESB User','2006-12-07 11:28:19.531000000','2006-12-07 11:28:19.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2E7A3A0-860F-11DB-A3A0-DA9AC23B5970','jbossesb','JBoss ESB User','2006-12-07 11:28:19.546000000','2006-12-07 11:28:19.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2EA14A0-860F-11DB-94A0-EF878E922D63','jbossesb','JBoss ESB User','2006-12-07 11:28:19.578000000','2006-12-07 11:28:19.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2EA5730-8619-11DB-9730-ABA29BB07B09','jbossesb','JBoss ESB User','2006-12-07 12:39:54.546000000','2006-12-07 12:39:54.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2F18320-8619-11DB-8320-B3459742F545','jbossesb','JBoss ESB User','2006-12-07 12:39:54.578000000','2006-12-07 12:39:54.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F2FD5970-8178-11DB-A966-956B997A9BDD','jbossesb','JBoss ESB User','2006-12-01 15:17:21.460000000','2006-12-01 15:17:21.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F312C6C0-8619-11DB-86C0-9D57D2423774','jbossesb','JBoss ESB User','2006-12-07 12:39:54.828000000','2006-12-07 12:39:54.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F319F2B0-8619-11DB-B2B0-B9CC0058D5E4','jbossesb','JBoss ESB User','2006-12-07 12:39:54.843000000','2006-12-07 12:39:54.859000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F31C5320-8178-11DB-A966-E21FCE65C615','jbossesb','JBoss ESB User','2006-12-01 15:17:21.265000000','2006-12-01 15:17:21.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3211EA0-8619-11DB-9EA0-827D96059E00','jbossesb','JBoss ESB User','2006-12-07 12:39:54.890000000','2006-12-07 12:39:54.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F325D990-8619-11DB-9990-82250E69DDF6','jbossesb','JBoss ESB User','2006-12-07 12:39:54.937000000','2006-12-07 12:39:54.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F32ABB90-8619-11DB-BB90-BBBDA90FBB43','jbossesb','JBoss ESB User','2006-12-07 12:39:54.953000000','2006-12-07 12:39:54.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3B1DD60-816D-11DB-A4E4-FDC40BDE00F8','jbossesb','JBoss ESB User','2006-12-01 13:58:37.765000000','2006-12-01 13:58:37.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3B4FA30-8619-11DB-BA30-9FD3647D4176','jbossesb','JBoss ESB User','2006-12-07 12:39:55.859000000','2006-12-07 12:39:55.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3BB9510-80E3-11DB-9510-FCBA2C707EA6','jbossesb','JBoss ESB User','2006-11-30 21:30:47.296000000','2006-11-30 21:30:47.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3CBF510-816D-11DB-A4E4-9820CDD76099','jbossesb','JBoss ESB User','2006-12-01 13:58:37.937000000','2006-12-01 13:58:37.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3DCBDF0-816D-11DB-A4E4-EED096F593FE','jbossesb','JBoss ESB User','2006-12-01 13:58:38.310000000','2006-12-01 13:58:38.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3E42BB0-80E3-11DB-ABB0-A3202F8D237F','jbossesb','JBoss ESB User','2006-11-30 21:30:47.546000000','2006-11-30 21:30:47.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3E8A4D0-816D-11DB-A4E4-D9F4DE7F3308','jbossesb','JBoss ESB User','2006-12-01 13:58:38.109000000','2006-12-01 13:58:38.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3FB61F0-814B-11DB-A6BA-B04017E4E3FF','jbossesb','JBoss ESB User','2006-12-01 09:55:15.390000000','2006-12-01 09:55:15.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F3FBF970-80E3-11DB-B970-F51FF59646FD','jbossesb','JBoss ESB User','2006-11-30 21:30:47.687000000','2006-11-30 21:30:47.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F4060060-8619-11DB-8060-CD4B23FBE236','jbossesb','JBoss ESB User','2006-12-07 12:39:56.390000000','2006-12-07 12:39:56.406000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F40C9B40-80E3-11DB-9B40-E642AC8E7BD7','jbossesb','JBoss ESB User','2006-11-30 21:30:47.828000000','2006-11-30 21:30:47.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F410E5C0-814B-11DB-A6BA-D29440926A45','jbossesb','JBoss ESB User','2006-12-01 09:55:15.484000000','2006-12-01 09:55:15.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F415A0B0-814B-11DB-A6BA-EF3E4D8EBA46','jbossesb','JBoss ESB User','2006-12-01 09:55:15.515000000','2006-12-01 09:55:15.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F41A5BA0-814B-11DB-A6BA-BD352C498059','jbossesb','JBoss ESB User','2006-12-01 09:55:15.562000000','2006-12-01 09:55:15.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F442B8E0-8103-11DB-B8E0-94F48A0A9F59','jbossesb','JBoss ESB User','2006-12-01 01:19:52.930000000','2006-12-01 01:19:52.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F46B4F80-8103-11DB-8F80-CC63AC8C8F30','jbossesb','JBoss ESB User','2006-12-01 01:19:52.312000000','2006-12-01 01:19:52.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F4BD7510-860F-11DB-B510-A1728BED7EA0','jbossesb','JBoss ESB User','2006-12-07 11:28:22.625000000','2006-12-07 11:28:22.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F4EA9F90-860F-11DB-9F90-F14FC81D893E','jbossesb','JBoss ESB User','2006-12-07 11:28:22.921000000','2006-12-07 11:28:22.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F538DC10-860E-11DB-9C10-C33E5EB13AF7','jbossesb','JBoss ESB User','2006-12-07 11:21:13.953000000','2006-12-07 11:21:13.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F53D9700-860E-11DB-9700-9C06EC4E2ACB','jbossesb','JBoss ESB User','2006-12-07 11:21:13.968000000','2006-12-07 11:21:13.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5427900-860E-11DB-B900-C16638FDAD51','jbossesb','JBoss ESB User','2006-12-07 11:21:14.0','2006-12-07 11:21:14.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F55A1750-861C-11DB-9750-C19FF2BD65C2','jbossesb','JBoss ESB User','2006-12-07 13:01:27.125000000','2006-12-07 13:01:27.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F55A46C0-860E-11DB-86C0-EA39FEDC6D4D','jbossesb','JBoss ESB User','2006-12-07 11:21:14.156000000','2006-12-07 11:21:14.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F55A8950-8618-11DB-8950-A82CA96E35D5','jbossesb','JBoss ESB User','2006-12-07 12:32:49.125000000','2006-12-07 12:32:49.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F55C90B0-860E-11DB-90B0-ACD265A3D88B','jbossesb','JBoss ESB User','2006-12-07 11:21:14.171000000','2006-12-07 11:21:14.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F55ED240-861C-11DB-9240-BDC311B5225E','jbossesb','JBoss ESB User','2006-12-07 13:01:27.156000000','2006-12-07 13:01:27.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F55F01B0-860E-11DB-81B0-E71B6D0B0B49','jbossesb','JBoss ESB User','2006-12-07 11:21:14.187000000','2006-12-07 11:21:14.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F55F4440-8618-11DB-8440-CB1239F0BFF2','jbossesb','JBoss ESB User','2006-12-07 12:32:49.156000000','2006-12-07 12:32:49.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F563FF30-8618-11DB-BF30-C49E729098D5','jbossesb','JBoss ESB User','2006-12-07 12:32:49.187000000','2006-12-07 12:32:49.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5686F30-861C-11DB-AF30-E477FD967CD1','jbossesb','JBoss ESB User','2006-12-07 13:01:27.203000000','2006-12-07 13:01:27.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F568BA20-8618-11DB-BA20-B3BE6A957798','jbossesb','JBoss ESB User','2006-12-07 12:32:49.218000000','2006-12-07 12:32:49.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F56D2A20-861C-11DB-AA20-FC8320243FD4','jbossesb','JBoss ESB User','2006-12-07 13:01:27.265000000','2006-12-07 13:01:27.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5725710-8618-11DB-9710-E9E87E6A0DDA','jbossesb','JBoss ESB User','2006-12-07 12:32:49.281000000','2006-12-07 12:32:49.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5791100-861C-11DB-9100-DF9F1367EE37','jbossesb','JBoss ESB User','2006-12-07 13:01:27.312000000','2006-12-07 13:01:27.312000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F57DCBF0-861C-11DB-8BF0-E2FDD9FBD572','jbossesb','JBoss ESB User','2006-12-07 13:01:27.343000000','2006-12-07 13:01:27.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F58A24D0-8618-11DB-A4D0-862250EC83B1','jbossesb','JBoss ESB User','2006-12-07 12:32:49.453000000','2006-12-07 12:32:49.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F58EDFC0-8618-11DB-9FC0-E065CD1EDDF2','jbossesb','JBoss ESB User','2006-12-07 12:32:49.484000000','2006-12-07 12:32:49.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F593C1C0-8618-11DB-81C0-CA5A08A1E9D9','jbossesb','JBoss ESB User','2006-12-07 12:32:49.500000000','2006-12-07 12:32:49.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5987CB0-8618-11DB-BCB0-EA55D6D538B8','jbossesb','JBoss ESB User','2006-12-07 12:32:49.546000000','2006-12-07 12:32:49.546000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F59CC5A0-861C-11DB-85A0-B457EEED99FC','jbossesb','JBoss ESB User','2006-12-07 13:01:27.546000000','2006-12-07 13:01:27.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F59D37A0-8618-11DB-B7A0-D2BA1C018469','jbossesb','JBoss ESB User','2006-12-07 12:32:49.578000000','2006-12-07 12:32:49.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5A1A7A0-861C-11DB-A7A0-B2678A2A9822','jbossesb','JBoss ESB User','2006-12-07 13:01:27.578000000','2006-12-07 13:01:27.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5A66290-861C-11DB-A290-9D7F34FB13C7','jbossesb','JBoss ESB User','2006-12-07 13:01:27.609000000','2006-12-07 13:01:27.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5AD8E80-861C-11DB-8E80-BFA34125B969','jbossesb','JBoss ESB User','2006-12-07 13:01:27.671000000','2006-12-07 13:01:27.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5B4BA70-861C-11DB-BA70-ACA9F36A8E83','jbossesb','JBoss ESB User','2006-12-07 13:01:27.750000000','2006-12-07 13:01:27.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5C0A150-861C-11DB-A150-933AFB509B66','jbossesb','JBoss ESB User','2006-12-07 13:01:27.781000000','2006-12-07 13:01:27.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F5CC8830-861C-11DB-8830-AF4978D3510A','jbossesb','JBoss ESB User','2006-12-07 13:01:27.890000000','2006-12-07 13:01:27.890000000',0,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F6500CE0-8618-11DB-8CE0-DE99158B6C9A','jbossesb','JBoss ESB User','2006-12-07 12:32:50.734000000','2006-12-07 12:32:50.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F6D6BCB0-8170-11DB-AF51-BCBAE76E496E','jbossesb','JBoss ESB User','2006-12-01 14:20:11.546000000','2006-12-01 14:20:11.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F6F94530-8618-11DB-8530-EF14A99F68E1','jbossesb','JBoss ESB User','2006-12-07 12:32:51.875000000','2006-12-07 12:32:51.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F70FF520-8170-11DB-AF51-CFB87A7078C6','jbossesb','JBoss ESB User','2006-12-01 14:20:11.890000000','2006-12-01 14:20:11.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F720BE00-8170-11DB-AF51-C21CD79F5455','jbossesb','JBoss ESB User','2006-12-01 14:20:12.150000000','2006-12-01 14:20:12.620000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7219940-860E-11DB-9940-EB8E1210879E','jbossesb','JBoss ESB User','2006-12-07 11:21:17.156000000','2006-12-07 11:21:17.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F725D470-860D-11DB-9470-955AF67FE2B8','jbossesb','JBoss ESB User','2006-12-07 11:14:07.671000000','2006-12-07 11:14:07.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F72AB670-860D-11DB-B670-D947F02B27F9','jbossesb','JBoss ESB User','2006-12-07 11:14:07.703000000','2006-12-07 11:14:07.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F72D0060-860D-11DB-8060-FAA59979B97C','jbossesb','JBoss ESB User','2006-12-07 11:14:07.734000000','2006-12-07 11:14:07.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7401330-860D-11DB-9330-95E316620A04','jbossesb','JBoss ESB User','2006-12-07 11:14:07.843000000','2006-12-07 11:14:07.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7428430-860D-11DB-8430-8BDF2B5585F5','jbossesb','JBoss ESB User','2006-12-07 11:14:07.859000000','2006-12-07 11:14:07.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7473F20-860D-11DB-BF20-AC827DB7B626','jbossesb','JBoss ESB User','2006-12-07 11:14:07.890000000','2006-12-07 11:14:07.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F753F610-861D-11DB-B1A1-C79B360CC48E','jbossesb','JBoss ESB User','2006-12-07 13:08:39.921000000','2006-12-07 13:08:39.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7566710-861D-11DB-B1A1-8213425E6852','jbossesb','JBoss ESB User','2006-12-07 13:08:39.953000000','2006-12-07 13:08:39.953000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7600400-861D-11DB-B1A1-A66FF715A506','jbossesb','JBoss ESB User','2006-12-07 13:08:40.310000000','2006-12-07 13:08:40.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F76708E0-861D-11DB-B1A1-AE788CF91E87','jbossesb','JBoss ESB User','2006-12-07 13:08:40.780000000','2006-12-07 13:08:40.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F76E34D0-861D-11DB-B1A1-F9AD870E3FAB','jbossesb','JBoss ESB User','2006-12-07 13:08:40.930000000','2006-12-07 13:08:40.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F77316D0-861D-11DB-B1A1-9981C0985EC3','jbossesb','JBoss ESB User','2006-12-07 13:08:40.125000000','2006-12-07 13:08:40.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F77560C0-861D-11DB-B1A1-F8F4A40618F4','jbossesb','JBoss ESB User','2006-12-07 13:08:40.140000000','2006-12-07 13:08:40.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7767F20-8170-11DB-AF51-A0A2600E1F2A','jbossesb','JBoss ESB User','2006-12-01 14:20:12.562000000','2006-12-01 14:20:12.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7B78190-8617-11DB-8190-9507CDC2BC02','jbossesb','JBoss ESB User','2006-12-07 12:25:43.625000000','2006-12-07 12:25:43.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7C11E80-8617-11DB-9E80-F20D1B4EDF07','jbossesb','JBoss ESB User','2006-12-07 12:25:43.687000000','2006-12-07 12:25:43.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7CD0560-8617-11DB-8560-C1724E6FE345','jbossesb','JBoss ESB User','2006-12-07 12:25:43.765000000','2006-12-07 12:25:43.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7D43150-8617-11DB-B150-DB241E0D353F','jbossesb','JBoss ESB User','2006-12-07 12:25:43.796000000','2006-12-07 12:25:43.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F7DDA730-8617-11DB-A730-91E4C2BF4E2D','jbossesb','JBoss ESB User','2006-12-07 12:25:43.843000000','2006-12-07 12:25:43.921000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F80FB3B0-8617-11DB-B3B0-D58C32573E2A','jbossesb','JBoss ESB User','2006-12-07 12:25:44.171000000','2006-12-07 12:25:44.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8145320-860D-11DB-9320-8DC69DD3EBF8','jbossesb','JBoss ESB User','2006-12-07 11:14:09.250000000','2006-12-07 11:14:09.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F816DFA0-8617-11DB-9FA0-B834E87AEBEA','jbossesb','JBoss ESB User','2006-12-07 12:25:44.234000000','2006-12-07 12:25:44.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8207C90-8617-11DB-BC90-E908C40B4F9F','jbossesb','JBoss ESB User','2006-12-07 12:25:44.328000000','2006-12-07 12:25:44.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F82C6370-8617-11DB-A370-C2E03C449AA1','jbossesb','JBoss ESB User','2006-12-07 12:25:44.375000000','2006-12-07 12:25:44.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8338F60-8617-11DB-8F60-969AC64D1B7A','jbossesb','JBoss ESB User','2006-12-07 12:25:44.406000000','2006-12-07 12:25:44.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F846A230-8617-11DB-A230-81BD032F60AB','jbossesb','JBoss ESB User','2006-12-07 12:25:44.562000000','2006-12-07 12:25:44.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8651A20-814A-11DB-A6BA-D134D279352C','jbossesb','JBoss ESB User','2006-12-01 09:48:13.250000000','2006-12-01 09:48:13.281000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8655950-860D-11DB-9950-C519EA410ABE','jbossesb','JBoss ESB User','2006-12-07 11:14:09.781000000','2006-12-07 11:14:09.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F87CE7E0-814A-11DB-A6BA-82BD7524E65F','jbossesb','JBoss ESB User','2006-12-01 09:48:13.421000000','2006-12-01 09:48:13.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F88413D0-814A-11DB-A6BA-D229FB6EF4A5','jbossesb','JBoss ESB User','2006-12-01 09:48:13.468000000','2006-12-01 09:48:13.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F88B3FC0-814A-11DB-A6BA-CE9031719D07','jbossesb','JBoss ESB User','2006-12-01 09:48:13.500000000','2006-12-01 09:48:13.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F89CC790-860E-11DB-8790-EBFE53187073','jbossesb','JBoss ESB User','2006-12-07 11:21:19.640000000','2006-12-07 11:21:19.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8A00070-816F-11DB-AF51-960312851D32','jbossesb','JBoss ESB User','2006-12-01 14:13:05.460000000','2006-12-01 14:13:05.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8C62610-816F-11DB-AF51-CBC486CF905B','jbossesb','JBoss ESB User','2006-12-01 14:13:05.265000000','2006-12-01 14:13:05.296000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8D6EEF0-816F-11DB-AF51-96D588AE2529','jbossesb','JBoss ESB User','2006-12-01 14:13:05.390000000','2006-12-01 14:13:05.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8E2D5D0-816F-11DB-AF51-9F9FC6D9C2D2','jbossesb','JBoss ESB User','2006-12-01 14:13:05.484000000','2006-12-01 14:13:05.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F8EFDA80-8617-11DB-9A80-F74E450A41ED','jbossesb','JBoss ESB User','2006-12-07 12:25:45.640000000','2006-12-07 12:25:45.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F96767C0-8172-11DB-B8A9-A34BACE5172F','jbossesb','JBoss ESB User','2006-12-01 14:34:34.859000000','2006-12-01 14:34:34.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F9719FF0-817D-11DB-9FF0-D21A0EC122BA','jbossesb','JBoss ESB User','2006-12-01 15:53:19.359000000','2006-12-01 15:53:19.375000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F982E890-817E-11DB-A890-F6E18389340B','jbossesb','JBoss ESB User','2006-12-01 16:00:28.953000000','2006-12-01 16:00:29.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F98994C0-817D-11DB-94C0-DE1274E83F8E','jbossesb','JBoss ESB User','2006-12-01 15:53:19.515000000','2006-12-01 15:53:19.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F99A3690-817D-11DB-B690-D3E0FDB4E107','jbossesb','JBoss ESB User','2006-12-01 15:53:19.609000000','2006-12-01 15:53:19.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F9A3AC70-817D-11DB-AC70-F211DD1BE0A1','jbossesb','JBoss ESB User','2006-12-01 15:53:19.687000000','2006-12-01 15:53:19.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F9D767A0-8172-11DB-B8A9-F9F0B36AE2E7','jbossesb','JBoss ESB User','2006-12-01 14:34:35.562000000','2006-12-01 14:34:35.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F9E37590-8172-11DB-B8A9-BC060693E30C','jbossesb','JBoss ESB User','2006-12-01 14:34:35.625000000','2006-12-01 14:34:35.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F9E49090-817E-11DB-9090-EAF2915383AE','jbossesb','JBoss ESB User','2006-12-01 16:00:29.640000000','2006-12-01 16:00:29.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F9ECEB70-8172-11DB-B8A9-B42CC236B065','jbossesb','JBoss ESB User','2006-12-01 14:34:35.687000000','2006-12-01 14:34:35.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F9EF77F0-817C-11DB-B7F0-93799CD182F7','jbossesb','JBoss ESB User','2006-12-01 15:46:10.703000000','2006-12-01 15:46:10.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:F9F55970-817E-11DB-9970-8247BDB67B0B','jbossesb','JBoss ESB User','2006-12-01 16:00:29.703000000','2006-12-01 16:00:29.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FA014050-817E-11DB-8050-E596B7CDAE3C','jbossesb','JBoss ESB User','2006-12-01 16:00:29.812000000','2006-12-01 16:00:29.812000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FA04FBC0-817C-11DB-BBC0-D31514B3DAFF','jbossesb','JBoss ESB User','2006-12-01 15:46:10.828000000','2006-12-01 15:46:10.843000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FA4C5810-8147-11DB-9810-D8D1048037E7','jbossesb','JBoss ESB User','2006-12-01 09:26:47.953000000','2006-12-01 09:26:47.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FA5872F0-817C-11DB-B2F0-C27C3950CC3F','jbossesb','JBoss ESB User','2006-12-01 15:46:11.359000000','2006-12-01 15:46:11.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FA5F6AE0-8147-11DB-AAE0-CE05116D2533','jbossesb','JBoss ESB User','2006-12-01 09:26:48.930000000','2006-12-01 09:26:48.140000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FA6459D0-817C-11DB-99D0-E8269B207842','jbossesb','JBoss ESB User','2006-12-01 15:46:11.437000000','2006-12-01 15:46:11.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FA700CB0-8147-11DB-8CB0-B2C04ED84A7C','jbossesb','JBoss ESB User','2006-12-01 09:26:48.187000000','2006-12-01 09:26:48.187000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FA74C7A0-8147-11DB-87A0-8E818EA162AA','jbossesb','JBoss ESB User','2006-12-01 09:26:48.234000000','2006-12-01 09:26:48.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FACB5510-80E4-11DB-9510-A87F39653EE2','jbossesb','JBoss ESB User','2006-11-30 21:38:08.609000000','2006-11-30 21:38:08.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FAFAF090-80E4-11DB-B090-D914D62921A2','jbossesb','JBoss ESB User','2006-11-30 21:38:08.937000000','2006-11-30 21:38:08.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB019D80-8177-11DB-9D80-ED4755C272FD','jbossesb','JBoss ESB User','2006-12-01 15:10:25.0','2006-12-01 15:10:25.310000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB107460-80E4-11DB-B460-CC20C02196D6','jbossesb','JBoss ESB User','2006-11-30 21:38:09.930000000','2006-11-30 21:38:09.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB1BDC40-8177-11DB-9C40-9465A5747162','jbossesb','JBoss ESB User','2006-12-01 15:10:25.171000000','2006-12-01 15:10:25.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB255220-8177-11DB-9220-85D900D7F29A','jbossesb','JBoss ESB User','2006-12-01 15:10:25.234000000','2006-12-01 15:10:25.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB284220-80E4-11DB-8220-F8A284862D99','jbossesb','JBoss ESB User','2006-11-30 21:38:09.218000000','2006-11-30 21:38:09.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB313900-8177-11DB-B900-D1A7090F547C','jbossesb','JBoss ESB User','2006-12-01 15:10:25.312000000','2006-12-01 15:10:25.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB337F30-8104-11DB-BF30-BD802EE8A0A1','jbossesb','JBoss ESB User','2006-12-01 01:27:13.234000000','2006-12-01 01:27:13.250000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB6C2580-817F-11DB-A580-ACF78EBE2FAE','jbossesb','JBoss ESB User','2006-12-01 16:07:41.703000000','2006-12-01 16:07:41.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FB9316A0-814C-11DB-A6BA-E52C608B1E3D','jbossesb','JBoss ESB User','2006-12-01 10:02:37.578000000','2006-12-01 10:02:37.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FBA14770-814C-11DB-A6BA-A053ABDAC6B1','jbossesb','JBoss ESB User','2006-12-01 10:02:37.671000000','2006-12-01 10:02:37.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FBA62970-814C-11DB-A6BA-EEFDE889B36D','jbossesb','JBoss ESB User','2006-12-01 10:02:37.703000000','2006-12-01 10:02:37.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FBAAE460-814C-11DB-A6BA-B979B8E49357','jbossesb','JBoss ESB User','2006-12-01 10:02:37.734000000','2006-12-01 10:02:37.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FBB902E0-8104-11DB-82E0-CE7908CCFF89','jbossesb','JBoss ESB User','2006-12-01 01:27:14.780000000','2006-12-01 01:27:14.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FBCC15B0-8104-11DB-95B0-BC6F00CAF149','jbossesb','JBoss ESB User','2006-12-01 01:27:14.187000000','2006-12-01 01:27:14.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FBD5B2A0-8104-11DB-B2A0-92E89C148F14','jbossesb','JBoss ESB User','2006-12-01 01:27:14.265000000','2006-12-01 01:27:14.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FBE453A0-861D-11DB-B1A1-E673DBF8C5E4','jbossesb','JBoss ESB User','2006-12-07 13:08:47.578000000','2006-12-07 13:08:47.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FBEA7D40-817F-11DB-BD40-ABC40B32648F','jbossesb','JBoss ESB User','2006-12-01 16:07:42.484000000','2006-12-01 16:07:42.500000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC09E8F0-817B-11DB-A8F0-A37EDB5C928D','jbossesb','JBoss ESB User','2006-12-01 15:39:04.703000000','2006-12-01 15:39:04.718000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC2671A0-817B-11DB-B1A0-98930B1E5EF7','jbossesb','JBoss ESB User','2006-12-01 15:39:04.890000000','2006-12-01 15:39:04.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC325880-817B-11DB-9880-CC83AE5F5C02','jbossesb','JBoss ESB User','2006-12-01 15:39:04.984000000','2006-12-01 15:39:04.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC364B90-861A-11DB-8B90-F69F0FA58884','jbossesb','JBoss ESB User','2006-12-07 12:47:19.625000000','2006-12-07 12:47:19.640000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC389580-861A-11DB-9580-D967B9808887','jbossesb','JBoss ESB User','2006-12-07 12:47:19.656000000','2006-12-07 12:47:19.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC3E3F60-817B-11DB-BF60-F95D4CED28A2','jbossesb','JBoss ESB User','2006-12-01 15:39:05.780000000','2006-12-01 15:39:05.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC447C60-861A-11DB-BC60-A73205919D0B','jbossesb','JBoss ESB User','2006-12-07 12:47:19.718000000','2006-12-07 12:47:19.734000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC4BA850-861A-11DB-A850-9672B015B5FA','jbossesb','JBoss ESB User','2006-12-07 12:47:19.781000000','2006-12-07 12:47:19.781000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC4C54B0-8171-11DB-B8A9-C544B34E2629','jbossesb','JBoss ESB User','2006-12-01 14:27:30.250000000','2006-12-01 14:27:30.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC506340-861A-11DB-A340-D4D1E3B6B0AD','jbossesb','JBoss ESB User','2006-12-07 12:47:19.812000000','2006-12-07 12:47:19.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC51E280-861D-11DB-B1A1-DE6696879484','jbossesb','JBoss ESB User','2006-12-07 13:08:48.343000000','2006-12-07 13:08:48.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC6D1300-861A-11DB-9300-B333CA43FD5D','jbossesb','JBoss ESB User','2006-12-07 12:47:19.984000000','2006-12-07 12:47:19.984000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC6F8400-861A-11DB-8400-C1FC022DB372','jbossesb','JBoss ESB User','2006-12-07 12:47:20.150000000','2006-12-07 12:47:20.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC743EF0-861A-11DB-BEF0-936859CB2918','jbossesb','JBoss ESB User','2006-12-07 12:47:20.310000000','2006-12-07 12:47:20.460000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC78F9E0-861A-11DB-B9E0-D24A7C05AE23','jbossesb','JBoss ESB User','2006-12-07 12:47:20.620000000','2006-12-07 12:47:20.780000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC79A640-8171-11DB-B8A9-E45B6169AE38','jbossesb','JBoss ESB User','2006-12-01 14:27:30.468000000','2006-12-01 14:27:30.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC7DB4D0-861A-11DB-B4D0-8804EC3B052D','jbossesb','JBoss ESB User','2006-12-07 12:47:20.930000000','2006-12-07 12:47:20.109000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC834330-8171-11DB-B8A9-96F1D701EAAA','jbossesb','JBoss ESB User','2006-12-01 14:27:30.531000000','2006-12-01 14:27:30.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FC919B10-8171-11DB-B8A9-C489A5243015','jbossesb','JBoss ESB User','2006-12-01 14:27:30.656000000','2006-12-01 14:27:30.671000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FCA3DA70-861A-11DB-9A70-C8189F936B98','jbossesb','JBoss ESB User','2006-12-07 12:47:20.359000000','2006-12-07 12:47:20.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FCC08A30-861A-11DB-8A30-BCB0FF155F43','jbossesb','JBoss ESB User','2006-12-07 12:47:20.562000000','2006-12-07 12:47:20.562000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FCE5E250-8181-11DB-AB1E-F458118F7A0C','jbossesb','JBoss ESB User','2006-12-01 16:22:03.140000000','2006-12-01 16:22:03.171000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FCFDB010-8181-11DB-AB1E-C9E37D9599E5','jbossesb','JBoss ESB User','2006-12-01 16:22:03.281000000','2006-12-01 16:22:03.328000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FD1F1AC0-8181-11DB-AB1E-AA5269CDF88B','jbossesb','JBoss ESB User','2006-12-01 16:22:03.562000000','2006-12-01 16:22:03.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FD347780-8181-11DB-AB1E-8CFD02A6101C','jbossesb','JBoss ESB User','2006-12-01 16:22:03.640000000','2006-12-01 16:22:03.656000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FD36E320-816E-11DB-A4E4-B72209FE10B0','jbossesb','JBoss ESB User','2006-12-01 14:06:03.250000000','2006-12-01 14:06:03.265000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FD4C66F0-816E-11DB-A4E4-91FFC3C49A2F','jbossesb','JBoss ESB User','2006-12-01 14:06:03.359000000','2006-12-01 14:06:03.390000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FD584DD0-816E-11DB-A4E4-DEE8F077FB99','jbossesb','JBoss ESB User','2006-12-01 14:06:03.437000000','2006-12-01 14:06:03.453000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FD6434B0-816E-11DB-A4E4-E7D673BAE3D4','jbossesb','JBoss ESB User','2006-12-01 14:06:03.515000000','2006-12-01 14:06:03.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FDDFA5B0-80FF-11DB-B65A-D9074DC18622','jbossesb','JBoss ESB User','2006-12-01 00:51:30.187000000','2006-12-01 00:51:30.218000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FDFE9F60-80FF-11DB-B65A-AE83CC579FD0','jbossesb','JBoss ESB User','2006-12-01 00:51:30.437000000','2006-12-01 00:51:30.468000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FE18DE20-80FF-11DB-B65A-A125B268F362','jbossesb','JBoss ESB User','2006-12-01 00:51:30.578000000','2006-12-01 00:51:30.593000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FE297FF0-80FF-11DB-B65A-FA6A39CC9EAE','jbossesb','JBoss ESB User','2006-12-01 00:51:30.687000000','2006-12-01 00:51:30.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FE351BE0-8103-11DB-9BE0-9A08BDF27F95','jbossesb','JBoss ESB User','2006-12-01 01:20:08.750000000','2006-12-01 01:20:08.796000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FEAC47B0-8103-11DB-87B0-EA99589CF601','jbossesb','JBoss ESB User','2006-12-01 01:20:09.531000000','2006-12-01 01:20:09.531000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FEC41570-8103-11DB-9570-CF38C309BE68','jbossesb','JBoss ESB User','2006-12-01 01:20:09.687000000','2006-12-01 01:20:09.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FED99940-8103-11DB-9940-AAA2FACED443','jbossesb','JBoss ESB User','2006-12-01 01:20:09.812000000','2006-12-01 01:20:09.828000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FEE8E970-860F-11DB-A970-8E4A887B376E','jbossesb','JBoss ESB User','2006-12-07 11:28:39.703000000','2006-12-07 11:28:39.703000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FEF01560-860F-11DB-9560-9A6DC4EB5B59','jbossesb','JBoss ESB User','2006-12-07 11:28:39.750000000','2006-12-07 11:28:39.750000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FEF4D050-860F-11DB-9050-9E6F510CB52C','jbossesb','JBoss ESB User','2006-12-07 11:28:39.765000000','2006-12-07 11:28:39.765000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FEF50250-8178-11DB-A966-A35BF7063234','jbossesb','JBoss ESB User','2006-12-01 15:17:41.125000000','2006-12-01 15:17:41.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF00B730-860F-11DB-B730-E3B199500E59','jbossesb','JBoss ESB User','2006-12-07 11:28:39.859000000','2006-12-07 11:28:39.875000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF059930-860F-11DB-9930-A70B12A4EA01','jbossesb','JBoss ESB User','2006-12-07 11:28:39.890000000','2006-12-07 11:28:39.890000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF05A420-8178-11DB-A966-E976AF7BB972','jbossesb','JBoss ESB User','2006-12-01 15:17:41.234000000','2006-12-01 15:17:41.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF0A5420-860F-11DB-9420-A1176468D946','jbossesb','JBoss ESB User','2006-12-07 11:28:39.906000000','2006-12-07 11:28:39.906000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF167D90-8619-11DB-BD90-E62A4CC9A101','jbossesb','JBoss ESB User','2006-12-07 12:40:14.953000000','2006-12-07 12:40:14.968000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF1DA980-8619-11DB-A980-FE4B2514EC47','jbossesb','JBoss ESB User','2006-12-07 12:40:15.0','2006-12-07 12:40:15.150000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF271F60-8619-11DB-9F60-8477D2DA704B','jbossesb','JBoss ESB User','2006-12-07 12:40:15.780000000','2006-12-07 12:40:15.930000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF30BC50-8619-11DB-BC50-9D068586090B','jbossesb','JBoss ESB User','2006-12-07 12:40:15.156000000','2006-12-07 12:40:15.156000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF3A3230-8619-11DB-B230-F46CA5EB39AE','jbossesb','JBoss ESB User','2006-12-07 12:40:15.187000000','2006-12-07 12:40:15.203000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF51FFF0-8619-11DB-BFF0-970065E4DB4D','jbossesb','JBoss ESB User','2006-12-07 12:40:15.343000000','2006-12-07 12:40:15.359000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF56E1F0-8619-11DB-A1F0-8DA9817A43EB','jbossesb','JBoss ESB User','2006-12-07 12:40:15.406000000','2006-12-07 12:40:15.421000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF6057D0-8619-11DB-97D0-D7062304038C','jbossesb','JBoss ESB User','2006-12-07 12:40:15.484000000','2006-12-07 12:40:15.484000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF69F4C0-8619-11DB-B4C0-DC214C58CC6F','jbossesb','JBoss ESB User','2006-12-07 12:40:15.500000000','2006-12-07 12:40:15.515000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF70F9A0-8619-11DB-B9A0-97B3911E44B9','jbossesb','JBoss ESB User','2006-12-07 12:40:15.578000000','2006-12-07 12:40:15.578000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FF7A9690-8619-11DB-9690-BDDC93EAC3D7','jbossesb','JBoss ESB User','2006-12-07 12:40:15.609000000','2006-12-07 12:40:15.625000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FFBC9910-816D-11DB-A4E4-81D50C05E43A','jbossesb','JBoss ESB User','2006-12-01 13:58:57.984000000','2006-12-01 13:58:58.0',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FFBF7350-860F-11DB-B350-863B53097AF4','jbossesb','JBoss ESB User','2006-12-07 11:28:41.109000000','2006-12-07 11:28:41.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FFD466D0-816D-11DB-A4E4-9FBAAC43C7F4','jbossesb','JBoss ESB User','2006-12-01 13:58:58.125000000','2006-12-01 13:58:58.125000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FFE2BEB0-816D-11DB-A4E4-956E084ECB1F','jbossesb','JBoss ESB User','2006-12-01 13:58:58.234000000','2006-12-01 13:58:58.234000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FFE30080-80E3-11DB-8080-9B52464D6A44','jbossesb','JBoss ESB User','2006-11-30 21:31:07.671000000','2006-11-30 21:31:07.687000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FFE84C80-8619-11DB-8C80-967A627BE6BD','jbossesb','JBoss ESB User','2006-12-07 12:40:16.328000000','2006-12-07 12:40:16.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FFF36080-816D-11DB-A4E4-D6A19F4A7BCA','jbossesb','JBoss ESB User','2006-12-01 13:58:58.328000000','2006-12-01 13:58:58.343000000',1,1)
+INSERT INTO AUTH_TOKEN VALUES('authToken:FFF7ECD0-814B-11DB-A6BA-941A2FD4E149','jbossesb','JBoss ESB User','2006-12-01 09:55:35.484000000','2006-12-01 09:55:35.500000000',1,1)

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/hsqldb-ds.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/hsqldb-ds.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/hsqldb-ds.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- The Hypersonic embedded database JCA connection factory config -->
+
+<!-- $Id: hsqldb-ds.xml,v 1.15.2.1 2006/01/10 18:11:03 dimitris Exp $ -->
+
+<datasources>
+   <local-tx-datasource>
+      <jndi-name>DefaultDS</jndi-name>
+      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}default</connection-url>
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+      <user-name>sa</user-name>
+      <password></password>
+      <min-pool-size>5</min-pool-size>
+      <max-pool-size>20</max-pool-size>
+      <idle-timeout-minutes>0</idle-timeout-minutes>
+      <security-domain>HsqlDbRealm</security-domain>
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+      <metadata>
+         <type-mapping>Hypersonic SQL</type-mapping>
+      </metadata>
+      <depends>jboss:service=Hypersonic,database=default</depends>
+   </local-tx-datasource>
+   
+   <local-tx-datasource>
+         <jndi-name>juddiDB</jndi-name>
+         <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}default</connection-url>
+         <driver-class>org.hsqldb.jdbcDriver</driver-class>
+         <user-name>sa</user-name>
+         <password></password>
+         <min-pool-size>5</min-pool-size>
+         <max-pool-size>20</max-pool-size>
+         <idle-timeout-minutes>0</idle-timeout-minutes>
+         <security-domain>HsqlDbRealm</security-domain>
+         <prepared-statement-cache-size>32</prepared-statement-cache-size>
+         <metadata>
+            <type-mapping>Hypersonic SQL</type-mapping>
+         </metadata>
+         <depends>jboss:service=Hypersonic,database=default</depends>
+   </local-tx-datasource>
+   
+   <local-tx-datasource>
+            <jndi-name>JBossESBDS</jndi-name>
+            <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}default</connection-url>
+            <driver-class>org.hsqldb.jdbcDriver</driver-class>
+            <user-name>sa</user-name>
+            <password></password>
+            <min-pool-size>5</min-pool-size>
+            <max-pool-size>20</max-pool-size>
+            <idle-timeout-minutes>0</idle-timeout-minutes>
+            <security-domain>HsqlDbRealm</security-domain>
+            <prepared-statement-cache-size>32</prepared-statement-cache-size>
+            <metadata>
+               <type-mapping>Hypersonic SQL</type-mapping>
+            </metadata>
+            <depends>jboss:service=Hypersonic,database=default</depends>
+   </local-tx-datasource>
+
+   <mbean code="org.jboss.jdbc.HypersonicDatabase" 
+        name="jboss:service=Hypersonic,database=default">
+        <attribute name="Database">default</attribute>
+        <attribute name="InProcessMode">true</attribute>
+   </mbean>
+   
+</datasources>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/hsqldb-ds.xml-original
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/hsqldb-ds.xml-original	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/deploy/hsqldb-ds.xml-original	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- The Hypersonic embedded database JCA connection factory config -->
+
+<!-- $Id: hsqldb-ds.xml 39791 2006-01-10 18:14:42Z dimitris $ -->
+
+<datasources>
+   <local-tx-datasource>
+
+      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
+      <!-- Datasources are not available outside the virtual machine -->
+      <jndi-name>DefaultDS</jndi-name>
+
+      <!-- For server mode db, allowing other processes to use hsqldb over tcp.
+      This requires the org.jboss.jdbc.HypersonicDatabase mbean.
+      <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1701</connection-url>
+      -->
+      <!-- For totally in-memory db, not saved when jboss stops. 
+      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      -->
+      <!-- For in-process persistent db, saved when jboss stops.
+      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+      -->
+      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
+
+      <!-- The driver class -->
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+
+      <!-- The login and password -->
+      <user-name>sa</user-name>
+      <password></password>
+
+      <!--example of how to specify class that determines if exception means connection should be destroyed-->
+      <!--exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name-->
+
+      <!-- this will be run before a managed connection is removed from the pool for use by a client-->
+      <!--<check-valid-connection-sql>select * from something</check-valid-connection-sql> -->
+
+      <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
+      <min-pool-size>5</min-pool-size>
+
+      <!-- The maximum connections in a pool/sub-pool -->
+      <max-pool-size>20</max-pool-size>
+
+      <!-- The time before an unused connection is destroyed -->
+      <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
+      <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
+      <idle-timeout-minutes>0</idle-timeout-minutes>
+
+      <!-- sql to call when connection is created
+        <new-connection-sql>some arbitrary sql</new-connection-sql>
+      -->
+
+      <!-- sql to call on an existing pooled connection when it is obtained from pool 
+         <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
+      -->
+
+      <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool
+         <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
+      -->
+
+      <!-- Whether to check all statements are closed when the connection is returned to the pool,
+           this is a debugging feature that should be turned off in production -->
+      <track-statements/>
+
+      <!-- Use the getConnection(user, pw) for logins
+        <application-managed-security/>
+      -->
+
+      <!-- Use the security domain defined in conf/login-config.xml -->
+      <security-domain>HsqlDbRealm</security-domain>
+
+      <!-- Use the security domain defined in conf/login-config.xml or the
+           getConnection(user, pw) for logins. The security domain takes precedence.
+        <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
+      -->
+
+      <!-- HSQL DB benefits from prepared statement caching -->
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+
+      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
+      <metadata>
+         <type-mapping>Hypersonic SQL</type-mapping>
+      </metadata>
+
+      <!-- When using in-process (standalone) mode -->
+      <depends>jboss:service=Hypersonic,database=localDB</depends>
+      <!-- Uncomment when using hsqldb in server mode
+      <depends>jboss:service=Hypersonic</depends>
+      -->
+   </local-tx-datasource>
+
+   <!-- Uncomment if you want hsqldb accessed over tcp (server mode)
+   <mbean code="org.jboss.jdbc.HypersonicDatabase" 
+     name="jboss:service=Hypersonic">
+     <attribute name="Port">1701</attribute>
+     <attribute name="BindAddress">${jboss.bind.address}</attribute>     
+     <attribute name="Silent">true</attribute>
+     <attribute name="Database">default</attribute>
+     <attribute name="Trace">false</attribute>
+     <attribute name="No_system_exit">true</attribute>
+   </mbean>
+   -->
+
+   <!-- For hsqldb accessed from jboss only, in-process (standalone) mode --> 
+   <mbean code="org.jboss.jdbc.HypersonicDatabase" 
+     name="jboss:service=Hypersonic,database=localDB">
+     <attribute name="Database">localDB</attribute>
+     <attribute name="InProcessMode">true</attribute>
+   </mbean>
+   
+</datasources>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/deployment.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/deployment.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/deployment.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,39 @@
+######################################################################
+# JBossESB ant deployment properties file
+#
+# Copy the example file and replace with your values
+#
+######################################################################
+# the place where the jbossesb libraries can be found
+# Note: You should not need to change this entry unless you altered
+#       the jbossesb distribution directory structure, however if you check out from SVN you will 
+#       have to run the 'ant dist' target to build these jars, and it that
+org.jboss.esb.dist.lib=../build/jbossesb/lib
+# org.jboss.esb.dist.lib=../lib
+
+######################################################################
+# You can use three deployment options: deploy to JBossAS, Tomcat or
+# create a standalone launcher, so you probably only care about
+# one of the following sections.
+######################################################################
+# JBossAS
+######################################################################
+# JBossAS home directory
+# (By default the 'ant install' task will create this directory.)
+org.jboss.esb.appserver.home=/Users/danielmarchant/jboss
+# the instance of jboss you are running (default)
+org.jboss.esb.appserver.config=default
+# if at a later stage you don't want to redeploy the config anymore
+# with every deploy, but rather the sar only (not the configuration)
+# then uncomment the following
+#org.jboss.esb.config.saronly.set=true
+######################################################################
+# Tomcat
+######################################################################
+# jbossesb tomcat home directory
+org.jboss.esb.tomcat.home=/apache-tomcat-5.5.20
+######################################################################
+# Standalone launcher
+######################################################################
+# jbossesb standalone home directory
+org.jboss.esb.standalone.home=/Users/danielmarchant/jbossesb
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/deployment.properties-example
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/deployment.properties-example	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/deployment.properties-example	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,39 @@
+######################################################################
+# JBossESB ant deployment properties file
+#
+# Copy the example file and replace with your values
+#
+######################################################################
+# the place where the jbossesb libraries can be found
+# Note: You should not need to change this entry unless you altered
+#       the jbossesb distribution directory structure, however if you check out from SVN you will 
+#       have to run the 'ant dist' target to build these jars, and it that
+#       case use: org.jboss.esb.dist.lib=../build/jbossesb/lib
+org.jboss.esb.dist.lib=../lib
+
+######################################################################
+# You can use three deployment options: deploy to JBossAS, Tomcat or
+# create a standalone launcher, so you probably only care about
+# one of the following sections.
+######################################################################
+# JBossAS
+######################################################################
+# JBossAS home directory
+# (By default the 'ant install' task will create this directory.)
+org.jboss.esb.appserver.home=/jboss-4.0.5.GA
+# the instance of jboss you are running (default)
+org.jboss.esb.appserver.config=default
+# if at a later stage you don't want to redeploy the config anymore
+# with every deploy, but rather the sar only (not the configuration)
+# then uncomment the following
+#org.jboss.esb.config.saronly.set=true
+######################################################################
+# Tomcat
+######################################################################
+# jbossesb tomcat home directory
+org.jboss.esb.tomcat.home=/apache-tomcat-5.5.20
+######################################################################
+# Standalone launcher
+######################################################################
+# jbossesb standalone home directory
+org.jboss.esb.standalone.home=/jbossesb-4.0.GA
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/License.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/License.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/License.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,209 @@
+The software in this directory and below is covered by the 
+
+
+Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+   
+  
+   
+   
+   

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/README.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/README.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,24 @@
+The items in this directory are taken from the jUDDI Apache project.
+jUDDI is our default registry, however any JAXR compliant registry
+can be used.
+
+For the registry to work you will need to:
+
+1. Run the create_database.sql script.
+
+2. Run the insert_publishers.sql script.
+
+Tested environments:
+
+mysql, hsqldb and postgres.
+
+NOTE:
+
+If you use another db, please compare the scripts of your database of choice to either
+of these. Especially the insert_publishers.sql.
+
+Let us know if you tried a database not on the list, so we can add it as 'tested' (and
+please submit us with a patch if there issues. You can also post a message to the 
+JBossESB user forum and we will help you out.
+
+Kurt T. Stam (kurt.stam at jboss.com)
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi-ds.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi-ds.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi-ds.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  JBoss Server Configuration                                           -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id$ -->
+<!-- ==================================================================== -->
+<!--  Datasource config for MySQL using 2.0.11 driver                     -->
+<!-- ==================================================================== -->
+
+<datasources>
+  <local-tx-datasource>
+    <jndi-name>juddiDB</jndi-name>
+    <connection-url>jdbc:mysql://localhost/juddi</connection-url>
+    <driver-class>com.mysql.jdbc.Driver</driver-class>
+    <user-name>root</user-name>
+    <password></password>
+    <check-valid-connection-sql>select count(*) from PUBLISHER</check-valid-connection-sql>
+    <max-pool-size>30</max-pool-size>
+    <min-pool-size>5</min-pool-size>
+  </local-tx-datasource>
+</datasources>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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/juddi
+juddi.jdbcUsername=juddi
+juddi.jdbcPassword=juddi
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/juddi.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,676 @@
+/* Create database  */
+CREATE DATABASE juddi user daffodil password daffodil
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) ,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+)
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  SORT_CODE VARCHAR(10) ,
+  TMODEL_KEY VARCHAR(41) ,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+)
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) ,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+)
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+)
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+)
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+)
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+)
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+)
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) ,
+  ACCESS_POINT_URL VARCHAR(255) ,
+  HOSTING_REDIRECTOR VARCHAR(255) ,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+)
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+)
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+)
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) ,
+  INSTANCE_PARMS VARCHAR(255) ,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+)
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+)
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+)
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+)
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) ,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) ,
+  DELETED VARCHAR(5) ,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+)
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+)
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+)
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+)
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+)
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+)
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR(255) ,
+  IS_ADMIN VARCHAR(5) ,
+  IS_ENABLED VARCHAR(5) ,
+  MAX_BUSINESSES INT NULL,
+  MAX_SERVICES_PER_BUSINESS INT NULL,
+  MAX_BINDINGS_PER_SERVICE INT NULL,
+  MAX_TMODELS INT NULL,
+  PRIMARY KEY (PUBLISHER_ID)
+)
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR(51) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  CREATED TIMESTAMP NOT NULL,
+  LAST_USED TIMESTAMP NOT NULL,
+  NUMBER_OF_USES INT NOT NULL,
+  TOKEN_STATE INT NOT NULL,
+  PRIMARY KEY (AUTH_TOKEN)
+)
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','admin','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',CURTIMESTAMP())
+
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy')
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.')
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','admin','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','admin','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','admin','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','admin','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','admin','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','admin','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','admin','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','admin','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','admin','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','admin','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',SYSDATE)
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun chr(38) Bradstreet D-U-N-S® Number')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun chr(38) Bradstreet D-U-N-S® Number identifier.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','admin','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',CURTIMESTAMP())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+ 
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',CURTIMESTAMP());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+
+
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/daffodildb/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,3 @@
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,701 @@
+-- DROP TABLE BUSINESS_DESCR;
+-- DROP TABLE BUSINESS_CATEGORY;
+-- DROP TABLE BUSINESS_IDENTIFIER;
+-- DROP TABLE BUSINESS_NAME;
+-- DROP TABLE DISCOVERY_URL;
+-- DROP TABLE ADDRESS_LINE;
+-- DROP TABLE ADDRESS;
+-- DROP TABLE PHONE;
+-- DROP TABLE EMAIL;
+-- DROP TABLE CONTACT_DESCR;
+-- DROP TABLE CONTACT;
+-- DROP TABLE SERVICE_DESCR;
+-- DROP TABLE SERVICE_CATEGORY;
+-- DROP TABLE SERVICE_NAME;
+-- DROP TABLE BINDING_DESCR;
+-- DROP TABLE BINDING_CATEGORY;
+-- DROP TABLE INSTANCE_DETAILS_DESCR;
+-- DROP TABLE INSTANCE_DETAILS_DOC_DESCR;
+-- DROP TABLE TMODEL_CATEGORY;
+-- DROP TABLE TMODEL_DESCR;
+-- DROP TABLE TMODEL_DOC_DESCR;
+-- DROP TABLE TMODEL_IDENTIFIER;
+-- DROP TABLE TMODEL_INSTANCE_INFO_DESCR;
+-- DROP TABLE TMODEL_INSTANCE_INFO;
+-- DROP TABLE PUBLISHER_ASSERTION;
+-- DROP TABLE TMODEL;
+-- DROP TABLE BINDING_TEMPLATE;
+-- DROP TABLE BUSINESS_SERVICE;
+-- DROP TABLE BUSINESS_ENTITY;
+-- DROP TABLE PUBLISHER;
+-- DROP TABLE AUTH_TOKEN;
+
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) ,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  SORT_CODE VARCHAR(10) ,
+  TMODEL_KEY VARCHAR(41) ,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) ,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+);
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) ,
+  ACCESS_POINT_URL VARCHAR(255) ,
+  HOSTING_REDIRECTOR VARCHAR(255) ,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41),
+  KEY_NAME VARCHAR(255),
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) ,
+  INSTANCE_PARMS VARCHAR(255) ,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) ,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) ,
+  DELETED VARCHAR(5),
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+);
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR(255),
+  IS_ADMIN VARCHAR(5),
+  IS_ENABLED VARCHAR(5),
+  MAX_BUSINESSES INT NULL,
+  MAX_SERVICES_PER_BUSINESS INT NULL,
+  MAX_BINDINGS_PER_SERVICE INT NULL,
+  MAX_TMODELS INT NULL,
+  PRIMARY KEY (PUBLISHER_ID)
+);
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR(51) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  CREATED TIMESTAMP NOT NULL,
+  LAST_USED TIMESTAMP NOT NULL,
+  NUMBER_OF_USES INT NOT NULL,
+  TOKEN_STATE INT NOT NULL,
+  PRIMARY KEY (AUTH_TOKEN)
+);
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/db2/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+USE juddi;
+
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,701 @@
+-- DROP TABLE BUSINESS_DESCR;
+-- DROP TABLE BUSINESS_CATEGORY;
+-- DROP TABLE BUSINESS_IDENTIFIER;
+-- DROP TABLE BUSINESS_NAME;
+-- DROP TABLE DISCOVERY_URL;
+-- DROP TABLE ADDRESS_LINE;
+-- DROP TABLE ADDRESS;
+-- DROP TABLE PHONE;
+-- DROP TABLE EMAIL;
+-- DROP TABLE CONTACT_DESCR;
+-- DROP TABLE CONTACT;
+-- DROP TABLE SERVICE_DESCR;
+-- DROP TABLE SERVICE_CATEGORY;
+-- DROP TABLE SERVICE_NAME;
+-- DROP TABLE BINDING_DESCR;
+-- DROP TABLE BINDING_CATEGORY;
+-- DROP TABLE INSTANCE_DETAILS_DESCR;
+-- DROP TABLE INSTANCE_DETAILS_DOC_DESCR;
+-- DROP TABLE TMODEL_CATEGORY;
+-- DROP TABLE TMODEL_DESCR;
+-- DROP TABLE TMODEL_DOC_DESCR;
+-- DROP TABLE TMODEL_IDENTIFIER;
+-- DROP TABLE TMODEL_INSTANCE_INFO_DESCR;
+-- DROP TABLE TMODEL_INSTANCE_INFO;
+-- DROP TABLE PUBLISHER_ASSERTION;
+-- DROP TABLE TMODEL;
+-- DROP TABLE BINDING_TEMPLATE;
+-- DROP TABLE BUSINESS_SERVICE;
+-- DROP TABLE BUSINESS_ENTITY;
+-- DROP TABLE PUBLISHER;
+-- DROP TABLE AUTH_TOKEN;
+
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) ,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  SORT_CODE VARCHAR(10) ,
+  TMODEL_KEY VARCHAR(41) ,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) ,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+);
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) ,
+  ACCESS_POINT_URL VARCHAR(255) ,
+  HOSTING_REDIRECTOR VARCHAR(255) ,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41),
+  KEY_NAME VARCHAR(255),
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) ,
+  INSTANCE_PARMS VARCHAR(255) ,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) ,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) ,
+  DELETED VARCHAR(5),
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+);
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR(255),
+  IS_ADMIN VARCHAR(5),
+  IS_ENABLED VARCHAR(5),
+  MAX_BUSINESSES INT NULL,
+  MAX_SERVICES_PER_BUSINESS INT NULL,
+  MAX_BINDINGS_PER_SERVICE INT NULL,
+  MAX_TMODELS INT NULL,
+  PRIMARY KEY (PUBLISHER_ID)
+);
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR(51) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  CREATED TIMESTAMP NOT NULL,
+  LAST_USED TIMESTAMP NOT NULL,
+  NUMBER_OF_USES INT NOT NULL,
+  TOKEN_STATE INT NOT NULL,
+  PRIMARY KEY (AUTH_TOKEN)
+);
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',CURRENT TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/derby/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+USE juddi;
+
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,662 @@
+SET SQL DIALECT 3;
+
+SET NAMES NONE;
+
+/******************************************************************************/
+/****                                Tables                                ****/
+/******************************************************************************/
+
+CREATE TABLE ADDRESS (
+    BUSINESS_KEY  VARCHAR(41) NOT NULL,
+    CONTACT_ID    INTEGER NOT NULL,
+    ADDRESS_ID    INTEGER NOT NULL,
+    USE_TYPE      VARCHAR(255),
+    SORT_CODE     VARCHAR(10),
+    TMODEL_KEY    VARCHAR(41)
+);
+
+
+CREATE TABLE ADDRESS_LINE (
+    BUSINESS_KEY     VARCHAR(41) NOT NULL,
+    CONTACT_ID       INTEGER NOT NULL,
+    ADDRESS_ID       INTEGER NOT NULL,
+    ADDRESS_LINE_ID  INTEGER NOT NULL,
+    LINE             VARCHAR(80) NOT NULL,
+    KEY_NAME         VARCHAR(255),
+    KEY_VALUE        VARCHAR(255)
+);
+
+
+CREATE TABLE AUTH_TOKEN (
+    AUTH_TOKEN      VARCHAR(51) NOT NULL,
+    PUBLISHER_ID    VARCHAR(20) NOT NULL,
+    PUBLISHER_NAME  VARCHAR(255) NOT NULL,
+    CREATED         TIMESTAMP NOT NULL,
+    LAST_USED       TIMESTAMP NOT NULL,
+    NUMBER_OF_USES  INTEGER NOT NULL,
+    TOKEN_STATE     INTEGER NOT NULL
+);
+
+
+CREATE TABLE BINDING_CATEGORY (
+    BINDING_KEY     VARCHAR(41) NOT NULL,
+    CATEGORY_ID     INTEGER NOT NULL,
+    TMODEL_KEY_REF  VARCHAR(41),
+    KEY_NAME        VARCHAR(255),
+    KEY_VALUE       VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE BINDING_DESCR (
+    BINDING_KEY       VARCHAR(41) NOT NULL,
+    BINDING_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE         VARCHAR(5),
+    DESCR             VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE BINDING_TEMPLATE (
+    SERVICE_KEY         VARCHAR(41) NOT NULL,
+    BINDING_KEY         VARCHAR(41) NOT NULL,
+    ACCESS_POINT_TYPE   VARCHAR(20),
+    ACCESS_POINT_URL    VARCHAR(255),
+    HOSTING_REDIRECTOR  VARCHAR(255),
+    LAST_UPDATE         TIMESTAMP NOT NULL
+);
+
+
+CREATE TABLE BUSINESS_CATEGORY (
+    BUSINESS_KEY    VARCHAR(41) NOT NULL,
+    CATEGORY_ID     INTEGER NOT NULL,
+    TMODEL_KEY_REF  VARCHAR(41),
+    KEY_NAME        VARCHAR(255),
+    KEY_VALUE       VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE BUSINESS_DESCR (
+    BUSINESS_KEY       VARCHAR(41) NOT NULL,
+    BUSINESS_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE          VARCHAR(5),
+    DESCR              VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE BUSINESS_ENTITY (
+    BUSINESS_KEY     VARCHAR(41) NOT NULL,
+    AUTHORIZED_NAME  VARCHAR(255) NOT NULL,
+    PUBLISHER_ID     VARCHAR(20),
+    OPERATOR         VARCHAR(255) NOT NULL,
+    LAST_UPDATE      TIMESTAMP NOT NULL
+);
+
+
+CREATE TABLE BUSINESS_IDENTIFIER (
+    BUSINESS_KEY    VARCHAR(41) NOT NULL,
+    IDENTIFIER_ID   INTEGER NOT NULL,
+    TMODEL_KEY_REF  VARCHAR(41),
+    KEY_NAME        VARCHAR(255),
+    KEY_VALUE       VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE BUSINESS_NAME (
+    BUSINESS_KEY      VARCHAR(41) NOT NULL,
+    BUSINESS_NAME_ID  INTEGER NOT NULL,
+    LANG_CODE         VARCHAR(5),
+    NAME              VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE BUSINESS_SERVICE (
+    BUSINESS_KEY  VARCHAR(41) NOT NULL,
+    SERVICE_KEY   VARCHAR(41) NOT NULL,
+    LAST_UPDATE   TIMESTAMP NOT NULL
+);
+
+
+CREATE TABLE CONTACT (
+    BUSINESS_KEY  VARCHAR(41) NOT NULL,
+    CONTACT_ID    INTEGER NOT NULL,
+    USE_TYPE      VARCHAR(255),
+    PERSON_NAME   VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE CONTACT_DESCR (
+    BUSINESS_KEY      VARCHAR(41) NOT NULL,
+    CONTACT_ID        INTEGER NOT NULL,
+    CONTACT_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE         VARCHAR(5),
+    DESCR             VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE DISCOVERY_URL (
+    BUSINESS_KEY      VARCHAR(41) NOT NULL,
+    DISCOVERY_URL_ID  INTEGER NOT NULL,
+    USE_TYPE          VARCHAR(255) NOT NULL,
+    URL               VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE EMAIL (
+    BUSINESS_KEY   VARCHAR(41) NOT NULL,
+    CONTACT_ID     INTEGER NOT NULL,
+    EMAIL_ID       INTEGER NOT NULL,
+    USE_TYPE       VARCHAR(255),
+    EMAIL_ADDRESS  VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE INSTANCE_DETAILS_DESCR (
+    BINDING_KEY                VARCHAR(41) NOT NULL,
+    TMODEL_INSTANCE_INFO_ID    INTEGER NOT NULL,
+    INSTANCE_DETAILS_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE                  VARCHAR(5),
+    DESCR                      VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR (
+    BINDING_KEY                    VARCHAR(41) NOT NULL,
+    TMODEL_INSTANCE_INFO_ID        INTEGER NOT NULL,
+    INSTANCE_DETAILS_DOC_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE                      VARCHAR(5),
+    DESCR                          VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE PHONE (
+    BUSINESS_KEY  VARCHAR(41) NOT NULL,
+    CONTACT_ID    INTEGER NOT NULL,
+    PHONE_ID      INTEGER NOT NULL,
+    USE_TYPE      VARCHAR(255),
+    PHONE_NUMBER  VARCHAR(50) NOT NULL
+);
+
+
+CREATE TABLE PUBLISHER (
+    PUBLISHER_ID    VARCHAR(20) NOT NULL,
+    PUBLISHER_NAME  VARCHAR(255) NOT NULL,
+    EMAIL_ADDRESS   VARCHAR(255),
+    IS_ADMIN        VARCHAR(5),
+    IS_ENABLED      VARCHAR(5),
+    MAX_BUSINESSES  INTEGER NULL,
+    MAX_SERVICES_PER_BUSINESS INTEGER NULL,
+    MAX_BINDINGS_PER_SERVICE  INTEGER NULL,
+    MAX_TMODELS     INTEGER NULL
+);
+
+
+CREATE TABLE PUBLISHER_ASSERTION (
+    FROM_KEY    VARCHAR(41) NOT NULL,
+    TO_KEY      VARCHAR(41) NOT NULL,
+    TMODEL_KEY  VARCHAR(41) NOT NULL,
+    KEY_NAME    VARCHAR(255) NOT NULL,
+    KEY_VALUE   VARCHAR(255) NOT NULL,
+    FROM_CHECK  VARCHAR(5) NOT NULL,
+    TO_CHECK    VARCHAR(5) NOT NULL
+);
+
+
+CREATE TABLE SERVICE_CATEGORY (
+    SERVICE_KEY     VARCHAR(41) NOT NULL,
+    CATEGORY_ID     INTEGER NOT NULL,
+    TMODEL_KEY_REF  VARCHAR(41),
+    KEY_NAME        VARCHAR(255),
+    KEY_VALUE       VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE SERVICE_DESCR (
+    SERVICE_KEY       VARCHAR(41) NOT NULL,
+    SERVICE_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE         VARCHAR(5),
+    DESCR             VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE SERVICE_NAME (
+    SERVICE_KEY      VARCHAR(41) NOT NULL,
+    SERVICE_NAME_ID  INTEGER NOT NULL,
+    LANG_CODE        VARCHAR(5),
+    NAME             VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE TMODEL (
+    TMODEL_KEY       VARCHAR(41) NOT NULL,
+    AUTHORIZED_NAME  VARCHAR(255) NOT NULL,
+    PUBLISHER_ID     VARCHAR(20),
+    OPERATOR         VARCHAR(255) NOT NULL,
+    NAME             VARCHAR(255) NOT NULL,
+    OVERVIEW_URL     VARCHAR(255),
+    DELETED          VARCHAR(5),
+    LAST_UPDATE      TIMESTAMP NOT NULL
+);
+
+
+CREATE TABLE TMODEL_CATEGORY (
+    TMODEL_KEY      VARCHAR(41) NOT NULL,
+    CATEGORY_ID     INTEGER NOT NULL,
+    TMODEL_KEY_REF  VARCHAR(255),
+    KEY_NAME        VARCHAR(255),
+    KEY_VALUE       VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE TMODEL_DESCR (
+    TMODEL_KEY       VARCHAR(41) NOT NULL,
+    TMODEL_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE        VARCHAR(5),
+    DESCR            VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE TMODEL_DOC_DESCR (
+    TMODEL_KEY           VARCHAR(41) NOT NULL,
+    TMODEL_DOC_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE            VARCHAR(5),
+    DESCR                VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE TMODEL_IDENTIFIER (
+    TMODEL_KEY      VARCHAR(41) NOT NULL,
+    IDENTIFIER_ID   INTEGER NOT NULL,
+    TMODEL_KEY_REF  VARCHAR(255),
+    KEY_NAME        VARCHAR(255),
+    KEY_VALUE       VARCHAR(255) NOT NULL
+);
+
+
+CREATE TABLE TMODEL_INSTANCE_INFO (
+    BINDING_KEY              VARCHAR(41) NOT NULL,
+    TMODEL_INSTANCE_INFO_ID  INTEGER NOT NULL,
+    TMODEL_KEY               VARCHAR(41) NOT NULL,
+    OVERVIEW_URL             VARCHAR(255),
+    INSTANCE_PARMS           VARCHAR(255)
+);
+
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR (
+    BINDING_KEY                    VARCHAR(41) NOT NULL,
+    TMODEL_INSTANCE_INFO_ID        INTEGER NOT NULL,
+    TMODEL_INSTANCE_INFO_DESCR_ID  INTEGER NOT NULL,
+    LANG_CODE                      VARCHAR(5),
+    DESCR                          VARCHAR(255) NOT NULL
+);
+
+/******************************************************************************/
+/****                             Primary Keys                             ****/
+/******************************************************************************/
+
+ALTER TABLE ADDRESS ADD PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID);
+ALTER TABLE ADDRESS_LINE ADD PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID, ADDRESS_LINE_ID);
+ALTER TABLE AUTH_TOKEN ADD PRIMARY KEY (AUTH_TOKEN);
+ALTER TABLE BINDING_CATEGORY ADD PRIMARY KEY (BINDING_KEY, CATEGORY_ID);
+ALTER TABLE BINDING_DESCR ADD PRIMARY KEY (BINDING_KEY, BINDING_DESCR_ID);
+ALTER TABLE BINDING_TEMPLATE ADD PRIMARY KEY (BINDING_KEY);
+ALTER TABLE BUSINESS_CATEGORY ADD PRIMARY KEY (BUSINESS_KEY, CATEGORY_ID);
+ALTER TABLE BUSINESS_DESCR ADD PRIMARY KEY (BUSINESS_KEY, BUSINESS_DESCR_ID);
+ALTER TABLE BUSINESS_ENTITY ADD PRIMARY KEY (BUSINESS_KEY);
+ALTER TABLE BUSINESS_IDENTIFIER ADD PRIMARY KEY (BUSINESS_KEY, IDENTIFIER_ID);
+ALTER TABLE BUSINESS_NAME ADD PRIMARY KEY (BUSINESS_KEY, BUSINESS_NAME_ID);
+ALTER TABLE BUSINESS_SERVICE ADD PRIMARY KEY (SERVICE_KEY);
+ALTER TABLE CONTACT ADD PRIMARY KEY (BUSINESS_KEY, CONTACT_ID);
+ALTER TABLE CONTACT_DESCR ADD PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, CONTACT_DESCR_ID);
+ALTER TABLE DISCOVERY_URL ADD PRIMARY KEY (BUSINESS_KEY, DISCOVERY_URL_ID);
+ALTER TABLE EMAIL ADD PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, EMAIL_ID);
+ALTER TABLE INSTANCE_DETAILS_DESCR ADD PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DESCR_ID);
+ALTER TABLE INSTANCE_DETAILS_DOC_DESCR ADD PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DOC_DESCR_ID);
+ALTER TABLE PHONE ADD PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, PHONE_ID);
+ALTER TABLE PUBLISHER ADD PRIMARY KEY (PUBLISHER_ID);
+ALTER TABLE SERVICE_CATEGORY ADD PRIMARY KEY (SERVICE_KEY, CATEGORY_ID);
+ALTER TABLE SERVICE_DESCR ADD PRIMARY KEY (SERVICE_KEY, SERVICE_DESCR_ID);
+ALTER TABLE SERVICE_NAME ADD PRIMARY KEY (SERVICE_KEY, SERVICE_NAME_ID);
+ALTER TABLE TMODEL ADD PRIMARY KEY (TMODEL_KEY);
+ALTER TABLE TMODEL_CATEGORY ADD PRIMARY KEY (TMODEL_KEY, CATEGORY_ID);
+ALTER TABLE TMODEL_DESCR ADD PRIMARY KEY (TMODEL_KEY, TMODEL_DESCR_ID);
+ALTER TABLE TMODEL_DOC_DESCR ADD PRIMARY KEY (TMODEL_KEY, TMODEL_DOC_DESCR_ID);
+ALTER TABLE TMODEL_IDENTIFIER ADD PRIMARY KEY (TMODEL_KEY, IDENTIFIER_ID);
+ALTER TABLE TMODEL_INSTANCE_INFO ADD PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID);
+ALTER TABLE TMODEL_INSTANCE_INFO_DESCR ADD PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID, TMODEL_INSTANCE_INFO_DESCR_ID);
+
+/******************************************************************************/
+/****                             TModels                                  ****/
+/******************************************************************************/
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','admin','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','admin','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','admin','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','admin','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','admin','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','admin','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','admin','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','admin','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','admin','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','admin','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','admin','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','admin','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+
+
+COMMIT WORK;
+
+/******************************************************************************/
+/****                             Foreign Keys                             ****/
+/******************************************************************************/
+
+ALTER TABLE ADDRESS ADD FOREIGN KEY (BUSINESS_KEY, CONTACT_ID) REFERENCES CONTACT (BUSINESS_KEY, CONTACT_ID);
+ALTER TABLE ADDRESS_LINE ADD FOREIGN KEY (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID) REFERENCES ADDRESS (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID);
+ALTER TABLE BINDING_CATEGORY ADD FOREIGN KEY (BINDING_KEY) REFERENCES BINDING_TEMPLATE (BINDING_KEY);
+ALTER TABLE BINDING_DESCR ADD FOREIGN KEY (BINDING_KEY) REFERENCES BINDING_TEMPLATE (BINDING_KEY);
+ALTER TABLE BINDING_TEMPLATE ADD FOREIGN KEY (SERVICE_KEY) REFERENCES BUSINESS_SERVICE (SERVICE_KEY);
+ALTER TABLE BUSINESS_CATEGORY ADD FOREIGN KEY (BUSINESS_KEY) REFERENCES BUSINESS_ENTITY (BUSINESS_KEY);
+ALTER TABLE BUSINESS_DESCR ADD FOREIGN KEY (BUSINESS_KEY) REFERENCES BUSINESS_ENTITY (BUSINESS_KEY);
+ALTER TABLE BUSINESS_NAME ADD FOREIGN KEY (BUSINESS_KEY) REFERENCES BUSINESS_ENTITY (BUSINESS_KEY);
+ALTER TABLE BUSINESS_SERVICE ADD FOREIGN KEY (BUSINESS_KEY) REFERENCES BUSINESS_ENTITY (BUSINESS_KEY);
+ALTER TABLE CONTACT ADD FOREIGN KEY (BUSINESS_KEY) REFERENCES BUSINESS_ENTITY (BUSINESS_KEY);
+ALTER TABLE CONTACT_DESCR ADD FOREIGN KEY (BUSINESS_KEY, CONTACT_ID) REFERENCES CONTACT (BUSINESS_KEY, CONTACT_ID);
+ALTER TABLE DISCOVERY_URL ADD FOREIGN KEY (BUSINESS_KEY) REFERENCES BUSINESS_ENTITY (BUSINESS_KEY);
+ALTER TABLE EMAIL ADD FOREIGN KEY (BUSINESS_KEY, CONTACT_ID) REFERENCES CONTACT (BUSINESS_KEY, CONTACT_ID);
+ALTER TABLE INSTANCE_DETAILS_DESCR ADD FOREIGN KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY, TMODEL_INSTANCE_INFO_ID);
+ALTER TABLE INSTANCE_DETAILS_DOC_DESCR ADD FOREIGN KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY, TMODEL_INSTANCE_INFO_ID);
+ALTER TABLE PHONE ADD FOREIGN KEY (BUSINESS_KEY, CONTACT_ID) REFERENCES CONTACT (BUSINESS_KEY, CONTACT_ID);
+ALTER TABLE PUBLISHER_ASSERTION ADD FOREIGN KEY (FROM_KEY) REFERENCES BUSINESS_ENTITY (BUSINESS_KEY);
+ALTER TABLE PUBLISHER_ASSERTION ADD FOREIGN KEY (TO_KEY) REFERENCES BUSINESS_ENTITY (BUSINESS_KEY);
+ALTER TABLE SERVICE_CATEGORY ADD FOREIGN KEY (SERVICE_KEY) REFERENCES BUSINESS_SERVICE (SERVICE_KEY);
+ALTER TABLE SERVICE_DESCR ADD FOREIGN KEY (SERVICE_KEY) REFERENCES BUSINESS_SERVICE (SERVICE_KEY);
+ALTER TABLE SERVICE_NAME ADD FOREIGN KEY (SERVICE_KEY) REFERENCES BUSINESS_SERVICE (SERVICE_KEY);
+ALTER TABLE TMODEL_CATEGORY ADD FOREIGN KEY (TMODEL_KEY) REFERENCES TMODEL (TMODEL_KEY);
+ALTER TABLE TMODEL_DESCR ADD FOREIGN KEY (TMODEL_KEY) REFERENCES TMODEL (TMODEL_KEY);
+ALTER TABLE TMODEL_DOC_DESCR ADD FOREIGN KEY (TMODEL_KEY) REFERENCES TMODEL (TMODEL_KEY);
+ALTER TABLE TMODEL_IDENTIFIER ADD FOREIGN KEY (TMODEL_KEY) REFERENCES TMODEL (TMODEL_KEY);
+ALTER TABLE TMODEL_INSTANCE_INFO ADD FOREIGN KEY (BINDING_KEY) REFERENCES BINDING_TEMPLATE (BINDING_KEY);
+ALTER TABLE TMODEL_INSTANCE_INFO_DESCR ADD FOREIGN KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID) REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY, TMODEL_INSTANCE_INFO_ID);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/firebird/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,3 @@
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,703 @@
+-- DROP TABLE BUSINESS_DESCR IF EXISTS;
+-- DROP TABLE BUSINESS_CATEGORY IF EXISTS;
+-- DROP TABLE BUSINESS_IDENTIFIER IF EXISTS;
+-- DROP TABLE BUSINESS_NAME IF EXISTS;
+-- DROP TABLE DISCOVERY_URL IF EXISTS;
+-- DROP TABLE ADDRESS_LINE IF EXISTS;
+-- DROP TABLE ADDRESS IF EXISTS;
+-- DROP TABLE PHONE IF EXISTS;
+-- DROP TABLE EMAIL IF EXISTS;
+-- DROP TABLE CONTACT_DESCR IF EXISTS;
+-- DROP TABLE CONTACT IF EXISTS;
+-- DROP TABLE SERVICE_DESCR IF EXISTS;
+-- DROP TABLE SERVICE_CATEGORY IF EXISTS;
+-- DROP TABLE SERVICE_NAME IF EXISTS;
+-- DROP TABLE BINDING_DESCR IF EXISTS;
+-- DROP TABLE BINDING_CATEGORY IF EXISTS;
+-- DROP TABLE INSTANCE_DETAILS_DESCR IF EXISTS;
+-- DROP TABLE INSTANCE_DETAILS_DOC_DESCR IF EXISTS;
+-- DROP TABLE TMODEL_CATEGORY IF EXISTS;
+-- DROP TABLE TMODEL_DESCR IF EXISTS;
+-- DROP TABLE TMODEL_DOC_DESCR IF EXISTS;
+-- DROP TABLE TMODEL_IDENTIFIER IF EXISTS;
+-- DROP TABLE TMODEL_INSTANCE_INFO_DESCR IF EXISTS;
+-- DROP TABLE TMODEL_INSTANCE_INFO IF EXISTS;
+-- DROP TABLE PUBLISHER_ASSERTION IF EXISTS;
+-- DROP TABLE TMODEL IF EXISTS;
+-- DROP TABLE BINDING_TEMPLATE IF EXISTS;
+-- DROP TABLE BUSINESS_SERVICE IF EXISTS;
+-- DROP TABLE BUSINESS_ENTITY IF EXISTS;
+-- DROP TABLE PUBLISHER IF EXISTS;
+-- DROP TABLE AUTH_TOKEN IF EXISTS;
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  SORT_CODE VARCHAR(10) NULL,
+  TMODEL_KEY VARCHAR(41) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+);
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) NULL,
+  ACCESS_POINT_URL VARCHAR(255) NULL,
+  HOSTING_REDIRECTOR VARCHAR(255) NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  INSTANCE_PARMS VARCHAR(255) NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  DELETED VARCHAR(5) NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+);
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR(255) NULL,
+  IS_ADMIN VARCHAR(5) NULL,
+  IS_ENABLED VARCHAR(5) NULL,
+  MAX_BUSINESSES INT NULL,
+  MAX_SERVICES_PER_BUSINESS INT NULL,
+  MAX_BINDINGS_PER_SERVICE INT NULL,
+  MAX_TMODELS INT NULL,
+  PRIMARY KEY (PUBLISHER_ID)
+);
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR(51) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  CREATED TIMESTAMP NOT NULL,
+  LAST_USED TIMESTAMP NOT NULL,
+  NUMBER_OF_USES INT NOT NULL,
+  TOKEN_STATE INT NOT NULL,
+  PRIMARY KEY (AUTH_TOKEN)
+);
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','admin','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','admin','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','admin','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','admin','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','admin','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','admin','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','admin','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','admin','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','admin','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','admin','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','admin','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','admin','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',CURDATE());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+
+
+
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/drop_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/drop_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/drop_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,31 @@
+DROP TABLE BUSINESS_DESCR IF EXISTS;
+DROP TABLE BUSINESS_CATEGORY IF EXISTS;
+DROP TABLE BUSINESS_IDENTIFIER IF EXISTS;
+DROP TABLE BUSINESS_NAME IF EXISTS;
+DROP TABLE DISCOVERY_URL IF EXISTS;
+DROP TABLE ADDRESS_LINE IF EXISTS;
+DROP TABLE ADDRESS IF EXISTS;
+DROP TABLE PHONE IF EXISTS;
+DROP TABLE EMAIL IF EXISTS;
+DROP TABLE CONTACT_DESCR IF EXISTS;
+DROP TABLE CONTACT IF EXISTS;
+DROP TABLE SERVICE_DESCR IF EXISTS;
+DROP TABLE SERVICE_CATEGORY IF EXISTS;
+DROP TABLE SERVICE_NAME IF EXISTS;
+DROP TABLE BINDING_DESCR IF EXISTS;
+DROP TABLE BINDING_CATEGORY IF EXISTS;
+DROP TABLE INSTANCE_DETAILS_DESCR IF EXISTS;
+DROP TABLE INSTANCE_DETAILS_DOC_DESCR IF EXISTS;
+DROP TABLE TMODEL_CATEGORY IF EXISTS;
+DROP TABLE TMODEL_DESCR IF EXISTS;
+DROP TABLE TMODEL_DOC_DESCR IF EXISTS;
+DROP TABLE TMODEL_IDENTIFIER IF EXISTS;
+DROP TABLE TMODEL_INSTANCE_INFO_DESCR IF EXISTS;
+DROP TABLE TMODEL_INSTANCE_INFO IF EXISTS;
+DROP TABLE PUBLISHER_ASSERTION IF EXISTS;
+DROP TABLE TMODEL IF EXISTS;
+DROP TABLE BINDING_TEMPLATE IF EXISTS;
+DROP TABLE BUSINESS_SERVICE IF EXISTS;
+DROP TABLE BUSINESS_ENTITY IF EXISTS;
+DROP TABLE PUBLISHER IF EXISTS;
+DROP TABLE AUTH_TOKEN IF EXISTS;
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/hsqldb/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,3 @@
+-- *** SAMPLE PUBLISHER ***
+INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+VALUES ('jbossesb','JBoss ESB User','kurt.stam at jboss.org','true','true',25,20,10,100);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,706 @@
+database juddi;
+
+DROP TABLE BUSINESS_DESCR;
+DROP TABLE BUSINESS_CATEGORY;
+DROP TABLE BUSINESS_IDENTIFIER;
+DROP TABLE BUSINESS_NAME;
+DROP TABLE DISCOVERY_URL;
+DROP TABLE ADDRESS_LINE;
+DROP TABLE ADDRESS;
+DROP TABLE PHONE;
+DROP TABLE EMAIL;
+DROP TABLE CONTACT_DESCR;
+DROP TABLE CONTACT;
+DROP TABLE SERVICE_DESCR;
+DROP TABLE SERVICE_CATEGORY;
+DROP TABLE SERVICE_NAME;
+DROP TABLE BINDING_DESCR;
+DROP TABLE BINDING_CATEGORY;
+DROP TABLE INSTANCE_DETAILS_DESCR;
+DROP TABLE INSTANCE_DETAILS_DOC_DESCR;
+DROP TABLE TMODEL_CATEGORY;
+DROP TABLE TMODEL_DESCR;
+DROP TABLE TMODEL_DOC_DESCR;
+DROP TABLE TMODEL_IDENTIFIER;
+DROP TABLE TMODEL_INSTANCE_INFO_DESCR;
+DROP TABLE TMODEL_INSTANCE_INFO;
+DROP TABLE PUBLISHER_ASSERTION;
+DROP TABLE TMODEL;
+DROP TABLE BINDING_TEMPLATE;
+DROP TABLE BUSINESS_SERVICE;
+DROP TABLE BUSINESS_ENTITY;
+DROP TABLE PUBLISHER;
+DROP TABLE AUTH_TOKEN;
+
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) ,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE DATETIME YEAR TO FRACTION DEFAULT CURRENT NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  SORT_CODE VARCHAR(10) ,
+  TMODEL_KEY VARCHAR(41) ,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) ,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+);
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) ,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE DATETIME YEAR TO FRACTION DEFAULT CURRENT NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) ,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) ,
+  ACCESS_POINT_URL VARCHAR(255) ,
+  HOSTING_REDIRECTOR VARCHAR(255) ,
+  LAST_UPDATE DATETIME YEAR TO FRACTION DEFAULT CURRENT NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41),
+  KEY_NAME VARCHAR(255),
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) ,
+  INSTANCE_PARMS VARCHAR(255) ,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) ,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) ,
+  DELETED VARCHAR(5),
+  LAST_UPDATE DATETIME YEAR TO FRACTION DEFAULT CURRENT NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) ,
+  KEY_NAME VARCHAR(255) ,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5),
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+);
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR(255),
+  IS_ADMIN VARCHAR(5),
+  IS_ENABLED VARCHAR(5),
+  MAX_BUSINESSES INT NULL,
+  MAX_SERVICES_PER_BUSINESS INT NULL,
+  MAX_BINDINGS_PER_SERVICE INT NULL,
+  MAX_TMODELS INT NULL,
+  PRIMARY KEY (PUBLISHER_ID)
+);
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR(51) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  CREATED DATETIME YEAR TO FRACTION DEFAULT CURRENT NOT NULL,
+  LAST_USED DATETIME YEAR TO FRACTION DEFAULT CURRENT NOT NULL,
+  NUMBER_OF_USES INT NOT NULL,
+  TOKEN_STATE INT NOT NULL,
+  PRIMARY KEY (AUTH_TOKEN)
+);
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+
+
+
+
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/informix/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+database juddi;
+
+-- *** SAMPLE PUBLISHER ***
+INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+ VALUES ('juddi','Lichun Zhu','zhu19 at uwindsor.ca','true','true',25,20,10,100);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,697 @@
+-- DROP TABLE BUSINESS_DESCR;
+-- DROP TABLE BUSINESS_CATEGORY;
+-- DROP TABLE BUSINESS_IDENTIFIER;
+-- DROP TABLE BUSINESS_NAME;
+-- DROP TABLE DISCOVERY_URL;
+-- DROP TABLE ADDRESS_LINE;
+-- DROP TABLE ADDRESS;
+-- DROP TABLE PHONE;
+-- DROP TABLE EMAIL;
+-- DROP TABLE CONTACT_DESCR;
+-- DROP TABLE CONTACT;
+-- DROP TABLE SERVICE_DESCR;
+-- DROP TABLE SERVICE_CATEGORY;
+-- DROP TABLE SERVICE_NAME;
+-- DROP TABLE BINDING_DESCR;
+-- DROP TABLE BINDING_CATEGORY;
+-- DROP TABLE INSTANCE_DETAILS_DESCR;
+-- DROP TABLE INSTANCE_DETAILS_DOC_DESCR;
+-- DROP TABLE TMODEL_CATEGORY;
+-- DROP TABLE TMODEL_DESCR;
+-- DROP TABLE TMODEL_DOC_DESCR;
+-- DROP TABLE TMODEL_IDENTIFIER;
+-- DROP TABLE TMODEL_INSTANCE_INFO_DESCR;
+-- DROP TABLE TMODEL_INSTANCE_INFO;
+-- DROP TABLE PUBLISHER_ASSERTION;
+-- DROP TABLE TMODEL;
+-- DROP TABLE BINDING_TEMPLATE;
+-- DROP TABLE BUSINESS_SERVICE;
+-- DROP TABLE BUSINESS_ENTITY;
+-- DROP TABLE PUBLISHER;
+-- DROP TABLE AUTH_TOKEN;
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  SORT_CODE VARCHAR(10) NULL,
+  TMODEL_KEY VARCHAR(41) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+);
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) NULL,
+  ACCESS_POINT_URL VARCHAR(255) NULL,
+  HOSTING_REDIRECTOR VARCHAR(255) NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  INSTANCE_PARMS VARCHAR(255) NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  DELETED VARCHAR(5) NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE PUBLISHER
+(
+PUBLISHER_ID VARCHAR(20) NOT NULL,
+PUBLISHER_NAME VARCHAR(255) NOT NULL,
+EMAIL_ADDRESS VARCHAR(255) NULL,
+IS_ADMIN VARCHAR(5) NULL,
+IS_ENABLED VARCHAR(5) NULL,
+MAX_BUSINESSES INT NULL,
+MAX_SERVICES_PER_BUSINESS INT NULL,
+MAX_BINDINGS_PER_SERVICE INT NULL,
+MAX_TMODELS INT NULL,
+PRIMARY KEY (PUBLISHER_ID)
+);
+
+CREATE TABLE AUTH_TOKEN
+(
+AUTH_TOKEN VARCHAR(51) NOT NULL,
+PUBLISHER_ID VARCHAR(20) NOT NULL,
+PUBLISHER_NAME VARCHAR(255) NOT NULL,
+CREATED TIMESTAMP NOT NULL,
+LAST_USED TIMESTAMP NOT NULL,
+NUMBER_OF_USES INT NOT NULL,
+TOKEN_STATE INT NOT NULL,
+PRIMARY KEY (AUTH_TOKEN)
+);
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','admin','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','admin','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','admin','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','admin','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','admin','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','admin','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','admin','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','admin','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','admin','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','admin','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','admin','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S� Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S� Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','admin','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',CURRENT_DATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/jdatastore/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,3 @@
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/README
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/README	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/README	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,94 @@
+CREATE/CONFIGURE A MYSQL DATABASE FOR jUDDI
+
+jUDDI requires the use of a relational database (RDBMS) to 
+store the web services metadata it manages. This document will 
+walk you through the process of setting up a MySQL database 
+as the persistent storage for a jUDDI registry.
+
+This document assumes that you already have a MySQL server 
+available and running. Visit the following web site to obtain 
+a copy of MySQL and follow the installation instructions that 
+accompany the version you're installing. Return to these 
+instructions when your MySQL server is up and running.
+
+  http://dev.mysql.com/
+
+Now that you've got your MySQL server up and running the next
+step is to create the jUDDI database, user and tables. To do 
+this your going to pass the "create_database.sql" script to 
+the "mysql" command line tool within a command shell (for 
+windows users this is the "Command Prompt" window) and use 
+the "mysql" command line tool as follows:
+
+  Windows Command Prompt:
+
+    mysql < {path}\create_database.sql
+  
+  Unix, Linux, Cygwin Shell:
+  
+    mysql < {path}/create_database.sql
+
+Where {path} is the the directory path where the 
+create_databas.sql file can be found. It's no coincidence 
+that this is also the directory where the file that you 
+are now reading is located.
+
+Depending on your account priviledges you may be required 
+to supply a user and password when running the above 
+commands this can be done using the optional --user 
+and --password options like this:
+
+  mysql --user=myname --password=mysecret < create_database.sql
+
+A complete overview of the "mysql" command-line tool can 
+be found in section 8.3 of the MySQL Manual which can be 
+viewed online at the following URL: 
+
+  http://dev.mysql.com/doc/mysql/en/index.html
+
+Now that we've got the jUDDI database and tables created 
+it's time to insert some data. You'll notice there are 
+two insert_xxx.sql in the mysql directory.
+
+  insert_publishers.sql
+  
+The "insert_publishers" table contains rows identifying 
+UDDI publisher accounts. You should edit this file and add
+a row for each person that wishes to have access to the 
+UDDI publish functionality in your registry. Follow the 
+example inser for a user named John Doe that's in this 
+file when adding your publishers.
+
+  INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,ENABLED,ADMIN)
+  VALUES ('jdoe','John Doe','john.doe at apache.org','true','true');
+  
+NOTE that while the PUBLISHER table includes several 
+columns not shown above only thoses shown in the example 
+insert statement are used by jUDDI.
+
+Once you've finished editing "insert_publishers.sql"
+invoke the SQL with the "mysql" command line tool as 
+follows:
+
+  From Windows Command Prompt:
+
+    mysql < {path}\insert_publishers.sql
+  
+  From Unix, Linux, Cygwin Shell:
+  
+    mysql < {path}/insert_publishers.sql
+  
+Again, depending on your MySQL installation your account
+priveledges you may need to supply the --user and --password 
+options to the mysql command line tool.
+
+If everything went well your MySQL database is now created
+an account for accessing this database (via JDBC) is also 
+created and the PUBLISHER and TMODEL tables have been loaded
+
+You're now ready to take the next step and configure a JDBC 
+DataSource within your application server to access this MySQL
+database.
+
+Steve Viens
+sviens at apache.org
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,679 @@
+CREATE DATABASE juddi;
+
+-- GRANT ALL ON juddi.* TO juddi@"%" IDENTIFIED BY "juddi";
+-- GRANT ALL ON juddi.* TO juddi@"localhost" IDENTIFIED BY "juddi";
+
+GRANT ALL PRIVILEGES ON juddi.* TO 'juddi@%' IDENTIFIED BY 'juddi'; 
+GRANT ALL PRIVILEGES ON juddi.* TO 'juddi at localhost' IDENTIFIED BY'juddi';
+
+USE juddi;
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  SORT_CODE VARCHAR(10) NULL,
+  TMODEL_KEY VARCHAR(41) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+);
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) NULL,
+  ACCESS_POINT_URL TEXT NULL,
+  HOSTING_REDIRECTOR VARCHAR(255) NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  INSTANCE_PARMS VARCHAR(255) NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  DELETED VARCHAR(5) NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+);
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR(255) NULL,
+  IS_ADMIN VARCHAR(5) NULL,
+  IS_ENABLED VARCHAR(5) NULL,
+  MAX_BUSINESSES INT NULL,
+  MAX_SERVICES_PER_BUSINESS INT NULL,
+  MAX_BINDINGS_PER_SERVICE INT NULL,
+  MAX_TMODELS INT NULL,
+  PRIMARY KEY (PUBLISHER_ID)
+);
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR(51) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  CREATED TIMESTAMP NOT NULL,
+  LAST_USED TIMESTAMP NOT NULL,
+  NUMBER_OF_USES INT NOT NULL,
+  TOKEN_STATE INT NOT NULL,
+  PRIMARY KEY (AUTH_TOKEN)
+);
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',NULL);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/mysql/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+USE juddi;
+
+-- *** JBOSSESB PUBLISHER ***
+INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_BUSINESSES,MAX_TMODELS)
+VALUES ('jbossesb','JBoss ESB User','jbossesb at jboss.com','true','true',25,20,10,100);
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,759 @@
+-- DROP TABLE BUSINESS_DESCR;
+-- DROP TABLE BUSINESS_CATEGORY;
+-- DROP TABLE BUSINESS_IDENTIFIER;
+-- DROP TABLE BUSINESS_NAME;
+-- DROP TABLE DISCOVERY_URL;
+-- DROP TABLE ADDRESS_LINE;
+-- DROP TABLE ADDRESS;
+-- DROP TABLE PHONE;
+-- DROP TABLE EMAIL;
+-- DROP TABLE CONTACT_DESCR;
+-- DROP TABLE CONTACT;
+-- DROP TABLE SERVICE_DESCR;
+-- DROP TABLE SERVICE_CATEGORY;
+-- DROP TABLE SERVICE_NAME;
+-- DROP TABLE BINDING_DESCR;
+-- DROP TABLE BINDING_CATEGORY;
+-- DROP TABLE INSTANCE_DETAILS_DESCR;
+-- DROP TABLE INSTANCE_DETAILS_DOC_DESCR;
+-- DROP TABLE TMODEL_CATEGORY;
+-- DROP TABLE TMODEL_DESCR;
+-- DROP TABLE TMODEL_DOC_DESCR;
+-- DROP TABLE TMODEL_IDENTIFIER;
+-- DROP TABLE TMODEL_INSTANCE_INFO_DESCR;
+-- DROP TABLE TMODEL_INSTANCE_INFO;
+-- DROP TABLE PUBLISHER_ASSERTION;
+-- DROP TABLE TMODEL;
+-- DROP TABLE BINDING_TEMPLATE;
+-- DROP TABLE BUSINESS_SERVICE;
+-- DROP TABLE BUSINESS_ENTITY;
+-- DROP TABLE PUBLISHER;
+-- DROP TABLE AUTH_TOKEN;
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR2(255) NOT NULL,
+  PUBLISHER_ID VARCHAR2(20) NULL,
+  OPERATOR VARCHAR2(255) NOT NULL,
+  LAST_UPDATE DATE NOT NULL
+);
+
+ALTER TABLE BUSINESS_ENTITY ADD ( PRIMARY KEY (BUSINESS_KEY) );
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  BUSINESS_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE BUSINESS_DESCR ADD ( PRIMARY KEY (BUSINESS_KEY, BUSINESS_DESCR_ID) );
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  CATEGORY_ID NUMBER(10) NOT NULL,
+  TMODEL_KEY_REF VARCHAR2(41) NULL,
+  KEY_NAME VARCHAR2(255) NULL,
+  KEY_VALUE VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE BUSINESS_CATEGORY ADD ( PRIMARY KEY (BUSINESS_KEY, CATEGORY_ID) );
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  IDENTIFIER_ID NUMBER(10) NOT NULL,
+  TMODEL_KEY_REF VARCHAR2(41) NULL,
+  KEY_NAME VARCHAR2(255) NULL,
+  KEY_VALUE VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE BUSINESS_IDENTIFIER ADD ( PRIMARY KEY (BUSINESS_KEY, IDENTIFIER_ID) );
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  BUSINESS_NAME_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  NAME VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE BUSINESS_NAME ADD ( PRIMARY KEY (BUSINESS_KEY, BUSINESS_NAME_ID) );
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  CONTACT_ID NUMBER(10) NOT NULL,
+  USE_TYPE VARCHAR2(255) NULL,
+  PERSON_NAME VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE CONTACT ADD ( PRIMARY KEY (BUSINESS_KEY, CONTACT_ID) );
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  CONTACT_ID NUMBER(10) NOT NULL,
+  CONTACT_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE CONTACT_DESCR ADD ( PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, CONTACT_DESCR_ID) );
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  CONTACT_ID NUMBER(10) NOT NULL,
+  ADDRESS_ID NUMBER(10) NOT NULL,
+  USE_TYPE VARCHAR2(255) NULL,
+  SORT_CODE VARCHAR2(10) NULL,
+  TMODEL_KEY VARCHAR2(41) NULL
+);
+
+ALTER TABLE ADDRESS ADD ( PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, ADDRESS_ID) );
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  CONTACT_ID NUMBER(10) NOT NULL,
+  ADDRESS_ID NUMBER(10) NOT NULL,
+  ADDRESS_LINE_ID NUMBER(10) NOT NULL,
+  LINE VARCHAR2(80) NOT NULL,
+  KEY_NAME VARCHAR2(255) NULL,
+  KEY_VALUE VARCHAR2(255) NULL
+);
+
+ALTER TABLE ADDRESS_LINE ADD ( PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, 
+	ADDRESS_ID, ADDRESS_LINE_ID) );
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  CONTACT_ID NUMBER(10) NOT NULL,
+  EMAIL_ID NUMBER(10) NOT NULL,
+  USE_TYPE VARCHAR2(255) NULL,
+  EMAIL_ADDRESS VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE EMAIL ADD ( PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, EMAIL_ID) );
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  CONTACT_ID NUMBER(10) NOT NULL,
+  PHONE_ID NUMBER(10) NOT NULL,
+  USE_TYPE VARCHAR2(255) NULL,
+  PHONE_NUMBER VARCHAR2(50) NOT NULL
+);
+
+ALTER TABLE PHONE ADD ( PRIMARY KEY (BUSINESS_KEY, CONTACT_ID, PHONE_ID) );
+
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  DISCOVERY_URL_ID NUMBER(10) NOT NULL,
+  USE_TYPE VARCHAR2(255) NOT NULL,
+  URL VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE DISCOVERY_URL ADD ( PRIMARY KEY (BUSINESS_KEY, DISCOVERY_URL_ID) );
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR2(41) NOT NULL,
+  SERVICE_KEY VARCHAR2(41) NOT NULL,
+  LAST_UPDATE DATE NOT NULL
+);
+
+ALTER TABLE BUSINESS_SERVICE ADD ( PRIMARY KEY (SERVICE_KEY) );
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR2(41) NOT NULL,
+  SERVICE_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE SERVICE_DESCR ADD ( PRIMARY KEY (SERVICE_KEY, SERVICE_DESCR_ID) );
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR2(41) NOT NULL,
+  CATEGORY_ID NUMBER(10) NOT NULL,
+  TMODEL_KEY_REF VARCHAR2(41) NULL,
+  KEY_NAME VARCHAR2(255) NULL,
+  KEY_VALUE VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE SERVICE_CATEGORY ADD ( PRIMARY KEY (SERVICE_KEY, CATEGORY_ID) );
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR2(41) NOT NULL,
+  SERVICE_NAME_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  NAME VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE SERVICE_NAME ADD ( PRIMARY KEY (SERVICE_KEY, SERVICE_NAME_ID) );
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR2(41) NOT NULL,
+  BINDING_KEY VARCHAR2(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR2(20) NULL,
+  ACCESS_POINT_URL VARCHAR2(255) NULL,
+  HOSTING_REDIRECTOR VARCHAR2(255) NULL,
+  LAST_UPDATE DATE NOT NULL
+);
+
+ALTER TABLE BINDING_TEMPLATE ADD ( PRIMARY KEY (BINDING_KEY) );
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR2(41) NOT NULL,
+  BINDING_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL,
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+ALTER TABLE BINDING_DESCR ADD ( PRIMARY KEY (BINDING_KEY, BINDING_DESCR_ID) );
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+ALTER TABLE BINDING_CATEGORY ADD ( PRIMARY KEY (BINDING_KEY,CATEGORY_ID) );
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR2(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID NUMBER(10) NOT NULL,
+  TMODEL_KEY VARCHAR2(41) NOT NULL,
+  OVERVIEW_URL VARCHAR2(255) NULL,
+  INSTANCE_PARMS VARCHAR2(255) NULL
+);
+
+ALTER TABLE TMODEL_INSTANCE_INFO ADD ( PRIMARY KEY (BINDING_KEY, TMODEL_INSTANCE_INFO_ID) );
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR2(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID NUMBER(10) NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL,
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY, TMODEL_INSTANCE_INFO_ID)
+);
+
+ALTER TABLE TMODEL_INSTANCE_INFO_DESCR ADD ( PRIMARY KEY (BINDING_KEY, 
+	TMODEL_INSTANCE_INFO_ID, TMODEL_INSTANCE_INFO_DESCR_ID) );
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR2(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID NUMBER(10) NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE INSTANCE_DETAILS_DESCR ADD ( PRIMARY KEY (BINDING_KEY, 
+	TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DESCR_ID) );
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR2(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID NUMBER(10) NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE INSTANCE_DETAILS_DOC_DESCR ADD ( PRIMARY KEY (BINDING_KEY, 
+	TMODEL_INSTANCE_INFO_ID, INSTANCE_DETAILS_DOC_DESCR_ID) );
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR2(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR2(255) NOT NULL,
+  PUBLISHER_ID VARCHAR2(20) NULL,
+  OPERATOR VARCHAR2(255) NOT NULL,
+  NAME VARCHAR2(255) NOT NULL,
+  OVERVIEW_URL VARCHAR2(255) NULL,
+  DELETED VARCHAR2(5) NULL,
+  LAST_UPDATE DATE NOT NULL
+);
+
+ALTER TABLE TMODEL ADD ( PRIMARY KEY (TMODEL_KEY) );
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR2(41) NOT NULL,
+  TMODEL_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE TMODEL_DESCR ADD ( PRIMARY KEY (TMODEL_KEY, TMODEL_DESCR_ID) );
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR2(41) NOT NULL,
+  CATEGORY_ID NUMBER(10) NOT NULL,
+  TMODEL_KEY_REF VARCHAR2(255) NULL,
+  KEY_NAME VARCHAR2(255) NULL,
+  KEY_VALUE VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE TMODEL_CATEGORY ADD ( PRIMARY KEY (TMODEL_KEY, CATEGORY_ID) );
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR2(41) NOT NULL,
+  IDENTIFIER_ID NUMBER(10) NOT NULL,
+  TMODEL_KEY_REF VARCHAR2(255) NULL,
+  KEY_NAME VARCHAR2(255) NULL,
+  KEY_VALUE VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE TMODEL_IDENTIFIER ADD ( PRIMARY KEY (TMODEL_KEY, IDENTIFIER_ID) );
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR2(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID NUMBER(10) NOT NULL,
+  LANG_CODE VARCHAR2(5) NULL,
+  DESCR VARCHAR2(255) NOT NULL
+);
+
+ALTER TABLE TMODEL_DOC_DESCR ADD ( PRIMARY KEY (TMODEL_KEY, TMODEL_DOC_DESCR_ID) );
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR2(41) NOT NULL,
+  TO_KEY VARCHAR2(41) NOT NULL,
+  TMODEL_KEY VARCHAR2(41) NOT NULL,
+  KEY_NAME VARCHAR2(255) NOT NULL,
+  KEY_VALUE VARCHAR2(255) NOT NULL,
+  FROM_CHECK VARCHAR2(5) NOT NULL,
+  TO_CHECK VARCHAR2(5) NOT NULL
+);
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR2(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR2(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR2(255) NULL,
+  IS_ADMIN VARCHAR2(5) NULL,
+  IS_ENABLED VARCHAR2(5) NULL,
+  MAX_BUSINESSES NUMBER(10) NULL,
+  MAX_SERVICES_PER_BUSINESS NUMBER(10) NULL,
+  MAX_BINDINGS_PER_SERVICE NUMBER(10) NULL,
+  MAX_TMODELS NUMBER(10) NULL
+);
+
+ALTER TABLE PUBLISHER ADD ( PRIMARY KEY (PUBLISHER_ID) );
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR2(51) NOT NULL,
+  PUBLISHER_ID VARCHAR2(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR2(255) NOT NULL,
+  CREATED DATE NOT NULL,
+  LAST_USED DATE NOT NULL,
+  NUMBER_OF_USES NUMBER(10) NOT NULL,
+  TOKEN_STATE NUMBER(10) NOT NULL
+);
+
+ALTER TABLE AUTH_TOKEN ADD ( PRIMARY KEY (AUTH_TOKEN) );
+
+ALTER TABLE BUSINESS_DESCR ADD ( FOREIGN KEY (BUSINESS_KEY) REFERENCES BUSINESS_ENTITY);
+
+ALTER TABLE BUSINESS_CATEGORY ADD ( FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY );
+
+ALTER TABLE BUSINESS_IDENTIFIER ADD ( FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY );
+
+ALTER TABLE BUSINESS_NAME ADD ( FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY );
+
+ALTER TABLE CONTACT ADD ( FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY );
+
+ALTER TABLE CONTACT_DESCR ADD ( FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT );
+
+ALTER TABLE ADDRESS ADD ( FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT );
+
+ALTER TABLE ADDRESS_LINE ADD ( FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS );
+
+ALTER TABLE EMAIL ADD ( FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT);
+
+ALTER TABLE PHONE ADD ( FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT );
+
+ALTER TABLE DISCOVERY_URL ADD ( FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY );
+
+ALTER TABLE BUSINESS_SERVICE ADD ( FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY );
+
+ALTER TABLE SERVICE_DESCR ADD ( FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE );
+
+ALTER TABLE SERVICE_CATEGORY ADD ( FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE );
+
+ALTER TABLE SERVICE_NAME ADD ( FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE );
+
+ALTER TABLE BINDING_TEMPLATE ADD ( FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE );
+
+ALTER TABLE TMODEL_INSTANCE_INFO ADD ( FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE );
+
+ALTER TABLE INSTANCE_DETAILS_DESCR ADD ( FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO );
+
+ALTER TABLE INSTANCE_DETAILS_DOC_DESCR ADD ( FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO );
+
+ALTER TABLE TMODEL_DESCR ADD ( FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL );
+
+ALTER TABLE TMODEL_CATEGORY ADD ( FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL );
+
+ALTER TABLE TMODEL_IDENTIFIER ADD ( FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL );
+
+ALTER TABLE TMODEL_DOC_DESCR ADD ( FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL );
+
+ALTER TABLE PUBLISHER_ASSERTION ADD ( FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY );
+
+ALTER TABLE PUBLISHER_ASSERTION ADD ( FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY );
+
+ INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','admin','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','admin','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','admin','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','admin','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','admin','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','admin','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','admin','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','admin','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','admin','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','admin','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','admin','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun' || chr(38) || 'Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun' || chr(38) || 'Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','admin','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+ 
+ 
+ 
+ 
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',SYSDATE);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/oracle/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,4 @@
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,702 @@
+-- DROP TABLE BUSINESS_DESCR;
+-- DROP TABLE BUSINESS_CATEGORY;
+-- DROP TABLE BUSINESS_IDENTIFIER;
+-- DROP TABLE BUSINESS_NAME;
+-- DROP TABLE DISCOVERY_URL;
+-- DROP TABLE ADDRESS_LINE;
+-- DROP TABLE ADDRESS;
+-- DROP TABLE PHONE;
+-- DROP TABLE EMAIL;
+-- DROP TABLE CONTACT_DESCR;
+-- DROP TABLE CONTACT;
+-- DROP TABLE SERVICE_DESCR;
+-- DROP TABLE SERVICE_CATEGORY;
+-- DROP TABLE SERVICE_NAME;
+-- DROP TABLE BINDING_DESCR;
+-- DROP TABLE BINDING_CATEGORY;
+-- DROP TABLE INSTANCE_DETAILS_DESCR;
+-- DROP TABLE INSTANCE_DETAILS_DOC_DESCR;
+-- DROP TABLE TMODEL_CATEGORY;
+-- DROP TABLE TMODEL_DESCR;
+-- DROP TABLE TMODEL_DOC_DESCR;
+-- DROP TABLE TMODEL_IDENTIFIER;
+-- DROP TABLE TMODEL_INSTANCE_INFO_DESCR;
+-- DROP TABLE TMODEL_INSTANCE_INFO;
+-- DROP TABLE PUBLISHER_ASSERTION;
+-- DROP TABLE TMODEL;
+-- DROP TABLE BINDING_TEMPLATE;
+-- DROP TABLE BUSINESS_SERVICE;
+-- DROP TABLE BUSINESS_ENTITY;
+-- DROP TABLE PUBLISHER;
+-- DROP TABLE AUTH_TOKEN;
+
+CREATE TABLE BUSINESS_ENTITY
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+	PUBLISHER_ID VARCHAR(20) NULL,
+	OPERATOR VARCHAR(255) NOT NULL,
+	LAST_UPDATE TIMESTAMP NOT NULL DEFAULT now(),
+	CONSTRAINT PK_BUSINESS_ENTITY PRIMARY KEY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_DESCR
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	BUSINESS_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_BUS_DESCR_01 FOREIGN KEY (BUSINESS_KEY)
+		REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_BUSINESS_DESCR PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID)
+);
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	CATEGORY_ID INT NOT NULL,
+	TMODEL_KEY_REF VARCHAR(41) NULL,
+	KEY_NAME VARCHAR(255) NULL,
+	KEY_VALUE VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_BUS_CAT_01 FOREIGN KEY (BUSINESS_KEY)
+		REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_BUSINESS_CATEGORY PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID)
+);
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	IDENTIFIER_ID INT NOT NULL,
+	TMODEL_KEY_REF VARCHAR(41) NULL,
+	KEY_NAME VARCHAR(255) NULL,
+	KEY_VALUE VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_BUS_ID_01 FOREIGN KEY (BUSINESS_KEY)
+	REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_BUSINESS_IDENTIFIER PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID)
+);
+
+CREATE TABLE BUSINESS_NAME
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	BUSINESS_NAME_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	NAME VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_BUS_NAME_01 FOREIGN KEY (BUSINESS_KEY)
+		REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_BUSINESS_NAME PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID)
+);
+
+CREATE TABLE CONTACT
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	CONTACT_ID INT NOT NULL,
+	USE_TYPE VARCHAR(255) NULL,
+	PERSON_NAME VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_CONTACT_01 FOREIGN KEY (BUSINESS_KEY)
+		REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_CONTACT PRIMARY KEY (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE CONTACT_DESCR
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	CONTACT_ID INT NOT NULL,
+	CONTACT_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_CONTACT_DESCR_01 FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+		REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_CONTACT_DESCR PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID)
+);
+
+CREATE TABLE ADDRESS
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	CONTACT_ID INT NOT NULL,
+	ADDRESS_ID INT NOT NULL,
+	USE_TYPE VARCHAR(255) NULL,
+	SORT_CODE VARCHAR(10) NULL,
+	TMODEL_KEY VARCHAR(41) NULL,
+	CONSTRAINT FK_ADDRESS_01 FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+		REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_ADDRESS PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+);
+
+CREATE TABLE ADDRESS_LINE
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	CONTACT_ID INT NOT NULL,
+	ADDRESS_ID INT NOT NULL,
+	ADDRESS_LINE_ID INT NOT NULL,
+	LINE VARCHAR(80) NOT NULL,
+	KEY_NAME VARCHAR(255) NULL,
+	KEY_VALUE VARCHAR(255) NULL,
+	CONSTRAINT FK_ADDR_LINE_01 FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+		REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_ADDRESS_LINE PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID)
+);
+
+CREATE TABLE EMAIL
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	CONTACT_ID INT NOT NULL,
+	EMAIL_ID INT NOT NULL,
+	USE_TYPE VARCHAR(255) NULL,
+	EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_EMAIL_01 FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+		REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_EMAIL PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID)
+);
+
+CREATE TABLE PHONE
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	CONTACT_ID INT NOT NULL,
+	PHONE_ID INT NOT NULL,
+	USE_TYPE VARCHAR(255) NULL,
+	PHONE_NUMBER VARCHAR(50) NOT NULL,
+	CONSTRAINT FK_PHONE_01 FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+		REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_PHONE PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID)
+);
+
+CREATE TABLE DISCOVERY_URL
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	DISCOVERY_URL_ID INT NOT NULL,
+	USE_TYPE VARCHAR(255) NOT NULL,
+	URL VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_DISCOVERY_URL_01 FOREIGN KEY (BUSINESS_KEY)
+		REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_DISCOVERY_URL PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID)
+);
+
+CREATE TABLE BUSINESS_SERVICE
+(
+	BUSINESS_KEY VARCHAR(41) NOT NULL,
+	SERVICE_KEY VARCHAR(41) NOT NULL,
+	LAST_UPDATE TIMESTAMP NOT NULL DEFAULT now(),
+	CONSTRAINT FK_BUS_SERVICE_01 FOREIGN KEY (BUSINESS_KEY)
+		REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_BUSINESS_SERVICE PRIMARY KEY (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_DESCR
+(
+	SERVICE_KEY VARCHAR(41) NOT NULL,
+	SERVICE_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_SERVICE_DESCR_01 FOREIGN KEY (SERVICE_KEY)
+		REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_SERVICE_DESCR PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID)
+);
+
+CREATE TABLE SERVICE_CATEGORY
+(
+	SERVICE_KEY VARCHAR(41) NOT NULL,
+	CATEGORY_ID INT NOT NULL,
+	TMODEL_KEY_REF VARCHAR(41) NULL,
+	KEY_NAME VARCHAR(255) NULL,
+	KEY_VALUE VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_SERVICE_CATEGORY_01 FOREIGN KEY (SERVICE_KEY)
+		REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_SERVICE_CATEGORY PRIMARY KEY (SERVICE_KEY,CATEGORY_ID)
+);
+
+CREATE TABLE SERVICE_NAME
+(
+	SERVICE_KEY VARCHAR(41) NOT NULL,
+	SERVICE_NAME_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	NAME VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_SERVICE_NAME_01 FOREIGN KEY (SERVICE_KEY)
+		REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_SERVICE_NAME PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID)
+);
+
+CREATE TABLE BINDING_TEMPLATE
+(
+	SERVICE_KEY VARCHAR(41) NOT NULL,
+	BINDING_KEY VARCHAR(41) NOT NULL,
+	ACCESS_POINT_TYPE VARCHAR(20) NULL,
+	ACCESS_POINT_URL TEXT NULL,
+	HOSTING_REDIRECTOR VARCHAR(255) NULL,
+	LAST_UPDATE TIMESTAMP NOT NULL DEFAULT now(),
+	CONSTRAINT FK_BINDING_TEMPLATE_01 FOREIGN KEY (SERVICE_KEY)
+		REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_BINDING_TEMPLATE PRIMARY KEY (BINDING_KEY)
+);
+
+CREATE TABLE BINDING_CATEGORY
+(
+	BINDING_KEY VARCHAR(41) NOT NULL,
+	CATEGORY_ID INT NOT NULL,
+	TMODEL_KEY_REF VARCHAR(41) NULL,
+	KEY_NAME VARCHAR(255) NULL,
+	KEY_VALUE VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_BINDING_CATEGORY_01 FOREIGN KEY (BINDING_KEY)
+		REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_BINDING_CATEGORY PRIMARY KEY (BINDING_KEY,CATEGORY_ID)
+);
+
+
+CREATE TABLE BINDING_DESCR
+(
+	BINDING_KEY VARCHAR(41) NOT NULL,
+	BINDING_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_BINDING_DESCR_01 FOREIGN KEY (BINDING_KEY)
+		REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_BINDING_DESCR PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+	BINDING_KEY VARCHAR(41) NOT NULL,
+	TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+	TMODEL_KEY VARCHAR(41) NOT NULL,
+	OVERVIEW_URL VARCHAR(255) NULL,
+	INSTANCE_PARMS VARCHAR(255) NULL,
+	CONSTRAINT FK_TMODEL_INSTANCE_INFO_01 FOREIGN KEY (BINDING_KEY)
+		REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_TMODEL_INSTANCE_INFO PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+	BINDING_KEY VARCHAR(41) NOT NULL,
+	TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+	TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_TMODEL_INSTANCE_INFO_DESCR_01 FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+		REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_TMODEL_INSTANCE_INFO_DESCR PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+	BINDING_KEY VARCHAR(41) NOT NULL,
+	TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+	INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_INSTANCE_DETAILS_DESCR_01 FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+		REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_INSTANCE_DETAILS_DESCR PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+	BINDING_KEY VARCHAR(41) NOT NULL,
+	TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+	INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_INSTANCE_DETAILS_DOC_DESCR_01 FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+		REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_INSTANCE_DETAILS_DOC_DESCR PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID)
+);
+
+CREATE TABLE TMODEL
+(
+	TMODEL_KEY VARCHAR(41) NOT NULL,
+	AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+	PUBLISHER_ID VARCHAR(20) NULL,
+	OPERATOR VARCHAR(255) NOT NULL,
+	NAME VARCHAR(255) NOT NULL,
+	OVERVIEW_URL VARCHAR(255) NULL,
+    DELETED VARCHAR(5) NULL,
+	LAST_UPDATE TIMESTAMP NOT NULL DEFAULT NOW(),
+	CONSTRAINT PK_TMODEL PRIMARY KEY (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DESCR
+(
+	TMODEL_KEY VARCHAR(41) NOT NULL,
+	TMODEL_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_TMODEL_DESCR_01 FOREIGN KEY (TMODEL_KEY)
+		REFERENCES TMODEL (TMODEL_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_TMODEL_DESCR PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID)
+);
+
+CREATE TABLE TMODEL_CATEGORY
+(
+	TMODEL_KEY VARCHAR(41) NOT NULL,
+	CATEGORY_ID INT NOT NULL,
+	TMODEL_KEY_REF VARCHAR(255) NULL,
+	KEY_NAME VARCHAR(255) NULL,
+	KEY_VALUE VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_TMODEL_CATEGORY_01 FOREIGN KEY (TMODEL_KEY)
+		REFERENCES TMODEL (TMODEL_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_TMODEL_CATEGORY PRIMARY KEY (TMODEL_KEY,CATEGORY_ID)
+);
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+	TMODEL_KEY VARCHAR(41) NOT NULL,
+	IDENTIFIER_ID INT NOT NULL,
+	TMODEL_KEY_REF VARCHAR(255) NULL,
+	KEY_NAME VARCHAR(255) NULL,
+	KEY_VALUE VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_TMODEL_IDENTIFIER_01 FOREIGN KEY (TMODEL_KEY)
+		REFERENCES TMODEL (TMODEL_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_TMODEL_IDENTIFIER PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID)
+);
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+	TMODEL_KEY VARCHAR(41) NOT NULL,
+	TMODEL_DOC_DESCR_ID INT NOT NULL,
+	LANG_CODE VARCHAR(5) NULL,
+	DESCR VARCHAR(255) NOT NULL,
+	CONSTRAINT FK_TMODEL_DOC_DESCR_01 FOREIGN KEY (TMODEL_KEY)
+		REFERENCES TMODEL (TMODEL_KEY)
+		ON UPDATE CASCADE ON DELETE CASCADE,
+	CONSTRAINT PK_TMODEL_DOC_DESCR PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID)
+);
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+	FROM_KEY VARCHAR(41) NOT NULL,
+	TO_KEY VARCHAR(41) NOT NULL,
+	TMODEL_KEY VARCHAR(41) NOT NULL,
+	KEY_NAME VARCHAR(255) NOT NULL,
+	KEY_VALUE VARCHAR(255) NOT NULL,
+	FROM_CHECK VARCHAR(5) NOT NULL,
+	TO_CHECK VARCHAR(5) NOT NULL,
+	CONSTRAINT FK_PUBLISHER_ASSERTION_01 FOREIGN KEY (FROM_KEY) 
+		REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+	CONSTRAINT FK_PUBLISHER_ASSERTION_02 FOREIGN KEY (TO_KEY) 
+		REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+	CONSTRAINT PK_PUBLISHER_ASSERTION PRIMARY KEY (FROM_KEY,TO_KEY)
+);
+
+CREATE TABLE PUBLISHER
+(
+	PUBLISHER_ID VARCHAR(20) NOT NULL,
+	PUBLISHER_NAME VARCHAR(255) NOT NULL,
+	EMAIL_ADDRESS VARCHAR(255) NULL,
+	IS_ADMIN VARCHAR(5) NULL,
+	IS_ENABLED VARCHAR(5) NULL,
+	MAX_BUSINESSES INT NULL,
+	MAX_SERVICES_PER_BUSINESS INT NULL,
+	MAX_BINDINGS_PER_SERVICE INT NULL,
+	MAX_TMODELS INT NULL,
+	CONSTRAINT PK_PUBLISHER PRIMARY KEY (PUBLISHER_ID)
+);
+
+CREATE TABLE AUTH_TOKEN
+(
+	AUTH_TOKEN VARCHAR(51) NOT NULL,
+	PUBLISHER_ID VARCHAR(20) NOT NULL,
+	PUBLISHER_NAME VARCHAR(255) NOT NULL,
+	CREATED TIMESTAMP NOT NULL,
+	LAST_USED TIMESTAMP NOT NULL,
+	NUMBER_OF_USES INT NOT NULL,
+	TOKEN_STATE INT NOT NULL,
+	CONSTRAINT PK_AUTH_TOKEN PRIMARY KEY (AUTH_TOKEN)
+);
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+----- End Standard Stuff -----
+
+-- WSDL Address Model
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option');
+ 
+-- Transport Categorization
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+-- Protocol Categorization
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+-- HTTP Protocol TModel
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','jUDDI.org','uddi.org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','protocol');
+
+-- SOAP 1.1 Protocol TModel
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','jUDDI.org','uddi.org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','protocol');
+
+-- portType reference
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','jUDDI.org','uddi.org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+-- local name tmodel
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','jUDDI.org','uddi.org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+-- namespace tmodel
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+-- the following 4 inserts deal with the "category" tModels included with each portType, binding, service,
+-- and port tModel inserted.  (Each value for the Keyed Reference is from the portType, binding, etc set.)
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes');
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL to UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/postgresql/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,4 @@
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,700 @@
+-- DROP TABLE BUSINESS_DESCR;
+-- DROP TABLE BUSINESS_CATEGORY;
+-- DROP TABLE BUSINESS_IDENTIFIER;
+-- DROP TABLE BUSINESS_NAME;
+-- DROP TABLE DISCOVERY_URL;
+-- DROP TABLE ADDRESS_LINE;
+-- DROP TABLE ADDRESS;
+-- DROP TABLE PHONE;
+-- DROP TABLE EMAIL;
+-- DROP TABLE CONTACT_DESCR;
+-- DROP TABLE CONTACT;
+-- DROP TABLE SERVICE_DESCR;
+-- DROP TABLE SERVICE_CATEGORY;
+-- DROP TABLE SERVICE_NAME;
+-- DROP TABLE BINDING_DESCR;
+-- DROP TABLE BINDING_CATEGORY;
+-- DROP TABLE INSTANCE_DETAILS_DESCR;
+-- DROP TABLE INSTANCE_DETAILS_DOC_DESCR;
+-- DROP TABLE TMODEL_CATEGORY;
+-- DROP TABLE TMODEL_DESCR;
+-- DROP TABLE TMODEL_DOC_DESCR;
+-- DROP TABLE TMODEL_IDENTIFIER;
+-- DROP TABLE TMODEL_INSTANCE_INFO_DESCR;
+-- DROP TABLE TMODEL_INSTANCE_INFO;
+-- DROP TABLE PUBLISHER_ASSERTION;
+-- DROP TABLE TMODEL;
+-- DROP TABLE BINDING_TEMPLATE;
+-- DROP TABLE BUSINESS_SERVICE;
+-- DROP TABLE BUSINESS_ENTITY;
+-- DROP TABLE PUBLISHER;
+-- DROP TABLE AUTH_TOKEN;
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE DATETIME NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+)
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  SORT_CODE VARCHAR(10) NULL,
+  TMODEL_KEY VARCHAR(41) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+)
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+)
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+)
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+)
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE DATETIME NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+)
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+)
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+)
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+)
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) NULL,
+  ACCESS_POINT_URL VARCHAR(255) NULL,
+  HOSTING_REDIRECTOR VARCHAR(255) NULL,
+  LAST_UPDATE DATETIME NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+)
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+)
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+)
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  INSTANCE_PARMS VARCHAR(255) NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+)
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+)
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+)
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+)
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  DELETED VARCHAR(5) NULL,
+  LAST_UPDATE DATETIME NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+)
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+)
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+)
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+)
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+)
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+)
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR(255) NULL,
+  IS_ADMIN VARCHAR(5) NULL,
+  IS_ENABLED VARCHAR(5) NULL,
+  MAX_BUSINESSES INT NULL,
+  MAX_SERVICES_PER_BUSINESS INT NULL,
+  MAX_BINDINGS_PER_SERVICE INT NULL,
+  MAX_TMODELS INT NULL,
+  PRIMARY KEY (PUBLISHER_ID)
+)
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR(51) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  CREATED DATETIME NOT NULL,
+  LAST_USED DATETIME NOT NULL,
+  NUMBER_OF_USES INT NOT NULL,
+  TOKEN_STATE INT NOT NULL,
+  PRIMARY KEY (AUTH_TOKEN)
+)
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy')
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.')
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',getDate())
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers')
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.')
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier')
+
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',getDate());
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/sybase/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+USE juddi;
+
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,701 @@
+-- DROP TABLE BUSINESS_DESCR;
+-- DROP TABLE BUSINESS_CATEGORY;
+-- DROP TABLE BUSINESS_IDENTIFIER;
+-- DROP TABLE BUSINESS_NAME;
+-- DROP TABLE DISCOVERY_URL;
+-- DROP TABLE ADDRESS_LINE;
+-- DROP TABLE ADDRESS;
+-- DROP TABLE PHONE;
+-- DROP TABLE EMAIL;
+-- DROP TABLE CONTACT_DESCR;
+-- DROP TABLE CONTACT;
+-- DROP TABLE SERVICE_DESCR;
+-- DROP TABLE SERVICE_CATEGORY;
+-- DROP TABLE SERVICE_NAME;
+-- DROP TABLE BINDING_DESCR;
+-- DROP TABLE BINDING_CATEGORY;
+-- DROP TABLE INSTANCE_DETAILS_DESCR;
+-- DROP TABLE INSTANCE_DETAILS_DOC_DESCR;
+-- DROP TABLE TMODEL_CATEGORY;
+-- DROP TABLE TMODEL_DESCR;
+-- DROP TABLE TMODEL_DOC_DESCR;
+-- DROP TABLE TMODEL_IDENTIFIER;
+-- DROP TABLE TMODEL_INSTANCE_INFO_DESCR;
+-- DROP TABLE TMODEL_INSTANCE_INFO;
+-- DROP TABLE PUBLISHER_ASSERTION;
+-- DROP TABLE TMODEL;
+-- DROP TABLE BINDING_TEMPLATE;
+-- DROP TABLE BUSINESS_SERVICE;
+-- DROP TABLE BUSINESS_ENTITY;
+-- DROP TABLE PUBLISHER;
+-- DROP TABLE AUTH_TOKEN;
+
+CREATE TABLE BUSINESS_ENTITY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_CATEGORY
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CATEGORY_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_IDENTIFIER
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_NAME
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  BUSINESS_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,BUSINESS_NAME_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PERSON_NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE CONTACT_DESCR
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  CONTACT_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,CONTACT_DESCR_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  SORT_CODE VARCHAR(10) NULL,
+  TMODEL_KEY VARCHAR(41) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE ADDRESS_LINE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  ADDRESS_ID INT NOT NULL,
+  ADDRESS_LINE_ID INT NOT NULL,
+  LINE VARCHAR(80) NOT NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID,ADDRESS_LINE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+    REFERENCES ADDRESS (BUSINESS_KEY,CONTACT_ID,ADDRESS_ID)
+);
+
+CREATE TABLE EMAIL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  EMAIL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  EMAIL_ADDRESS VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,EMAIL_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE PHONE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  CONTACT_ID INT NOT NULL,
+  PHONE_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NULL,
+  PHONE_NUMBER VARCHAR(50) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,CONTACT_ID,PHONE_ID),
+  FOREIGN KEY (BUSINESS_KEY,CONTACT_ID)
+    REFERENCES CONTACT (BUSINESS_KEY,CONTACT_ID)
+);
+
+CREATE TABLE DISCOVERY_URL
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  DISCOVERY_URL_ID INT NOT NULL,
+  USE_TYPE VARCHAR(255) NOT NULL,
+  URL VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BUSINESS_KEY,DISCOVERY_URL_ID),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE BUSINESS_SERVICE
+(
+  BUSINESS_KEY VARCHAR(41) NOT NULL,
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (SERVICE_KEY),
+  FOREIGN KEY (BUSINESS_KEY)
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY)
+);
+
+CREATE TABLE SERVICE_DESCR
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_DESCR_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_CATEGORY
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,CATEGORY_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE SERVICE_NAME
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  SERVICE_NAME_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  NAME VARCHAR(255) NOT NULL,
+  PRIMARY KEY (SERVICE_KEY,SERVICE_NAME_ID),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_TEMPLATE
+(
+  SERVICE_KEY VARCHAR(41) NOT NULL,
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  ACCESS_POINT_TYPE VARCHAR(20) NULL,
+  ACCESS_POINT_URL VARCHAR(255) NULL,
+  HOSTING_REDIRECTOR VARCHAR(255) NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (BINDING_KEY),
+  FOREIGN KEY (SERVICE_KEY)
+    REFERENCES BUSINESS_SERVICE (SERVICE_KEY)
+);
+
+CREATE TABLE BINDING_CATEGORY
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(41) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,CATEGORY_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE BINDING_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  BINDING_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,BINDING_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  INSTANCE_PARMS VARCHAR(255) NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID),
+  FOREIGN KEY (BINDING_KEY)
+    REFERENCES BINDING_TEMPLATE (BINDING_KEY)
+);
+
+CREATE TABLE TMODEL_INSTANCE_INFO_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  TMODEL_INSTANCE_INFO_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,TMODEL_INSTANCE_INFO_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE INSTANCE_DETAILS_DOC_DESCR
+(
+  BINDING_KEY VARCHAR(41) NOT NULL,
+  TMODEL_INSTANCE_INFO_ID INT NOT NULL,
+  INSTANCE_DETAILS_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID,INSTANCE_DETAILS_DOC_DESCR_ID),
+  FOREIGN KEY (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+    REFERENCES TMODEL_INSTANCE_INFO (BINDING_KEY,TMODEL_INSTANCE_INFO_ID)
+);
+
+CREATE TABLE TMODEL
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  AUTHORIZED_NAME VARCHAR(255) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NULL,
+  OPERATOR VARCHAR(255) NOT NULL,
+  NAME VARCHAR(255) NOT NULL,
+  OVERVIEW_URL VARCHAR(255) NULL,
+  DELETED VARCHAR(5) NULL,
+  LAST_UPDATE TIMESTAMP NOT NULL,
+  PRIMARY KEY (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_CATEGORY
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  CATEGORY_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,CATEGORY_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_IDENTIFIER
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  IDENTIFIER_ID INT NOT NULL,
+  TMODEL_KEY_REF VARCHAR(255) NULL,
+  KEY_NAME VARCHAR(255) NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,IDENTIFIER_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE TMODEL_DOC_DESCR
+(
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  TMODEL_DOC_DESCR_ID INT NOT NULL,
+  LANG_CODE VARCHAR(5) NULL,
+  DESCR VARCHAR(255) NOT NULL,
+  PRIMARY KEY (TMODEL_KEY,TMODEL_DOC_DESCR_ID),
+  FOREIGN KEY (TMODEL_KEY)
+    REFERENCES TMODEL (TMODEL_KEY)
+);
+
+CREATE TABLE PUBLISHER_ASSERTION
+(
+  FROM_KEY VARCHAR(41) NOT NULL,
+  TO_KEY VARCHAR(41) NOT NULL,
+  TMODEL_KEY VARCHAR(41) NOT NULL,
+  KEY_NAME VARCHAR(255) NOT NULL,
+  KEY_VALUE VARCHAR(255) NOT NULL,
+  FROM_CHECK VARCHAR(5) NOT NULL,
+  TO_CHECK VARCHAR(5) NOT NULL,
+  FOREIGN KEY (FROM_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY),
+  FOREIGN KEY (TO_KEY) 
+    REFERENCES BUSINESS_ENTITY (BUSINESS_KEY) 
+);
+
+CREATE TABLE PUBLISHER
+(
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  EMAIL_ADDRESS VARCHAR(255) NULL,
+  IS_ADMIN VARCHAR(5) NULL,
+  IS_ENABLED VARCHAR(5) NULL,
+  MAX_BUSINESSES INT NULL,
+  MAX_SERVICES_PER_BUSINESS INT NULL,
+  MAX_BINDINGS_PER_SERVICE INT NULL,
+  MAX_TMODELS INT NULL,
+  PRIMARY KEY (PUBLISHER_ID)
+);
+
+CREATE TABLE AUTH_TOKEN
+(
+  AUTH_TOKEN VARCHAR(51) NOT NULL,
+  PUBLISHER_ID VARCHAR(20) NOT NULL,
+  PUBLISHER_NAME VARCHAR(255) NOT NULL,
+  CREATED TIMESTAMP NOT NULL,
+  LAST_USED TIMESTAMP NOT NULL,
+  NUMBER_OF_USES INT NOT NULL,
+  TOKEN_STATE INT NOT NULL,
+  PRIMARY KEY (AUTH_TOKEN)
+);
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','Administrator','admin','jUDDI.org','uddi-org:types','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UDDItypes',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','UDDI Type Taxonomy');
+ 
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'en','Taxonomy used to categorize Service Descriptions.');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+ 
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384','Administrator','admin','jUDDI.org','unspsc-org:unspsc:3-1','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC31',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','Product Taxonomy: UNSPSC (Version 3.1)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'en','This tModel defines the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:DB77450D-9FA8-45D4-A7BC-04411D14E384',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634','Administrator','admin','jUDDI.org','unspsc-org:unspsc','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#UNSPSC',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','Product Taxonomy: UNSPSC (Version 7.3)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'en','This tModel defines Version 7.3 of the UNSPSC product taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:CD153257-086A-4237-B336-6BDCBDCC6634',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','Checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2','Administrator','admin','jUDDI.org','ntis-gov:naics:1997','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','Business Taxonomy: NAICS(1997 Release)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'en','This tModel defines the NAICS industry taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:C0B9FE13-179F-413D-8A5B-5004DB8E5BB2',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88','Administrator','admin','jUDDI.org','uddi-org:iso-ch:3166-1999','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','ISO 3166-1:1997 and 3166-2:1998. Codes for names of countries and their subdivisions. Part 1: Country codes. Part 2:Country subdivision codes. Update newsletters include ISO 3166-1 V-1 (1998-02-05), V-2 (1999-10-01), ISO 3166-2 I-1 (1998)');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'en','Taxonomy used to categorize entries by geographic location.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4','Administrator','admin','jUDDI.org','uddi-org:general_keywords','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#GenKW',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','Special taxonomy consisting of namespace identifiers and the keywords associated with the namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'en','This tModel defines an unidentified taxonomy.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:A035A07C-F362-44DD-8F95-E2B134BF43B4',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9','Administrator','admin','jUDDI.org','uddi-org:owningBusiness','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#owningBusiness',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','A pointer to a businessEntity that owns the tagged data.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'en','This tModel indicates the businessEntity that published or owns the tagged tModel. Used with tModels to establish an "owned" relationship with a registered businessEntity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4064C064-6D14-4F35-8953-9652106476A9',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03','Administrator','admin','jUDDI.org','uddi-org:relationships','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Relationships',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','Starter set classifications of businessEntity relationships');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'en','This tModel is used to describe business relationships. Used in the publisher assertion messages.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:807A2C6A-EE22-470D-ADC7-E0424A337C03',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','relationship');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55','Administrator','admin','jUDDI.org','uddi-org:operators','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Operators',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','Taxonomy for categorizing the businessEntity of an operator of a registry.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'en','This checked value set is used to identify UDDI operators.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:327A56F0-3299-4461-BC23-5CD513E95C55',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E','Administrator','admin','jUDDI.org','uddi-org:isReplacedBy','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#IsReplacedBy',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','An identifier system used to point (using UDDI keys) to the tModel (or businessEntity) that is the logical replacement for the one in which isReplacedBy is used');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'en','This is a checked value set.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E59AE320-77A5-11D5-B898-0004AC49CC1E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','checked');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823','Administrator','admin','jUDDI.org','dnb-com:D-U-N-S','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#D-U-N-S',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','Dun&Bradstreet D-U-N-S® Number');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'en','This tModel is used for the Dun&Bradstreet D-U-N-S® Number identifier.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:8609C81E-EE1F-4D5A-B202-3EB13AD01823',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039','Administrator','admin','jUDDI.org','thomasregister-com:supplierID','http://www.uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#Thomas',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','Thomas Registry Suppliers');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'en','This tModel is used for the Thomas Register supplier identifier codes.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:B1B1BAF5-2329-43E6-AE13-BA8E97195039',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','types','identifier');
+
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457','Administrator','admin','jUDDI.org','uddi-org:wsdl:types','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','WSDL Type Category System');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'en','The WSDL Entity Type tModel uses a number of UDDI entities to represent the various entities within a WSDL document.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E090AFA-33E5-36EB-81B7-1CA18373F457',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824','Administrator','admin','jUDDI.org','uddi-org:xml:namespace','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A category system used to indicate namespaces');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'en','A namespace provides necessary qualifying information about a technical concept or model. The XML Namespace tModel provides a mechanism to associate a namespace with a UDDI entity.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:D01987D1-AB2E-3013-9BE2-2A66EB99D824',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6','Administrator','admin','jUDDI.org','uddi-org:xml:localName','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','A category system used to indicate XML local names');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'en','The XML Local Name tModel provides a mechanism to indicate the name attribute for the uddi:businessService.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','unchecked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:2EC65201-9109-3919-9BEC-C9DBEFCACCF6',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E','Administrator','admin','jUDDI.org','uddi-org:wsdl:portTypeReference','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','A category system used to reference a wsdl:portType tModel');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'en','The WSDL portType Reference category system provides a mechanism to indicate that a UDDI entity has a relationship with a certain wsdl:portType tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:082B0851-25D8-303C-B332-F24A6D53E38E',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E','Administrator','admin','jUDDI.org','uddi-org:protocol:soap','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','A tModel that represents the SOAP 1.1 protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'en','The SOAP Protocol tModel can be used to indicate that a Web service supports the SOAP 1.1 protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:AA254698-93DE-3870-8DF3-A5C075D64A0E',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794','Administrator','admin','jUDDI.org','uddi-org:protocol:http','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','A tModel that represents the HTTP protocol');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'en','The HTTP Protocol tModel can be used to indicate that a Web service supports the HTTP protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:6E10B91B-BABC-3442-B8FC-5A3C8FDE0794',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','protocol');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:protocol','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','Category system used to describe the protocol supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'en','The Protocol Categorization tModel provides a mechanism to capture this protocol information in the UDDI binding tModel.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:4DC74177-7806-34D9-AECD-33C57DC3A865',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099','Administrator','admin','jUDDI.org','uddi-org:wsdl:categorization:transport','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','Category system used to describe the transport supported by a wsdl:binding.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'en','The Transport Categorization tModel provides a mechanism to capture transport information in the UDDI binding tModel which allows a user to search for bindings that implement a specific transport protocol.');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',0,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','categorization');
+
+INSERT INTO TMODEL_CATEGORY (TMODEL_KEY,CATEGORY_ID,TMODEL_KEY_REF,KEY_NAME,KEY_VALUE)
+VALUES ('uuid:E5C43936-86E4-37BF-8196-1D04B35C0099',1,'uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4','uddi-org:types','checked');
+
+
+INSERT INTO TMODEL (TMODEL_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,NAME,OVERVIEW_URL,LAST_UPDATE)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212','Administrator','admin','jUDDI.org','uddi-org:wsdl:address','http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address',CURRENT_TIMESTAMP);
+
+INSERT INTO TMODEL_DESCR (TMODEL_KEY,TMODEL_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','A tModel used to indicate the WSDL address option.');
+
+INSERT INTO TMODEL_DOC_DESCR (TMODEL_KEY,TMODEL_DOC_DESCR_ID,LANG_CODE,DESCR)
+VALUES ('uuid:AD61DE98-4DB8-31B2-A299-A2373DC97212',0,'en','The WSDL Address tModel provides A mechanism to indicate that the endpoint address should be obtained from a WSDL document.');
+
+
+commit;

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/insert_publishers.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/insert_publishers.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jUDDI-registry/sql/totalxml/insert_publishers.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,3 @@
+-- *** SAMPLE PUBLISHER ***
+-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN,MAX_BUSINESSES,MAX_SERVICES_PER_BUSINESS,MAX_BINDINGS_PER_SERVICE,MAX_TMODELS)
+-- VALUES ('jdoe','John Doe','john.doe at apache.org','true','true',25,20,10,100);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jboss-service-dependencies.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jboss-service-dependencies.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jboss-service-dependencies.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<server>
+    <mbean code="org.jboss.internal.soa.esb.dependencies.JBossESBDependenciesService" 
+        name="jboss.org:service=JBossESBDependencies"
+        description="Container for the JBossESB Dependencies">
+    </mbean>
+    <!--  Registers the Juddi RMI Service to JNDI -->
+    <mbean code="org.jboss.internal.soa.esb.dependencies.JuddiRMIService" 
+        name="jboss.org:service=JuddiRMI"
+        description="Juddi RMI Service">
+        <depends>jboss.org:service=JBossESBDependencies</depends>
+        <depends>jboss.jca:service=DataSourceBinding,name=juddiDB</depends>
+    </mbean>
+</server>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/jboss-service.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/jboss-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/jboss-service.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<server>
+  <!--  Starts the listener controler -->
+  <mbean code="org.jboss.soa.esb.listeners.config.ConfigurationControllerService" 
+  	     name="jboss.org:service=ConfigurationController"
+  	     description="Configuration controller which generated the config files for the listener and gateway controllers">
+    <attribute name="ConfigurationFile">jbossesb.xml</attribute>
+    <depends>jboss.org:service=JBossESBDependencies</depends>
+    <depends>jboss.org:service=JuddiRMI</depends>
+    <depends>jboss.jca:service=DataSourceBinding,name=JBossESBDS</depends>
+  </mbean>
+  <loader-repository>
+		org.jboss.soa.esb:loader=jbossesb.sar
+  </loader-repository>
+</server>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/LICENSE.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/LICENSE.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/LICENSE.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/README.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/README.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,17 @@
+To create and run a jbossesb standalone installation:
+
+1. Set the jbossesb home
+
+   org.jboss.esb.standalone.home=/jbossesb-4.0.GA
+
+   in your deployment.properties file.
+
+2. Update the juddi.properties file to point to your juddi database 
+   (you need to run the sql scripts in the jUDDI-registry directory
+   first to populate it).
+
+3. Add the database driver to the lib/ext directory.
+
+4. Run the ant launcher.install task. This creates a jbossesb standalone launcher.
+
+5. Launch the jbossesb using the run.bat or run.sh file from the /jbossesb-4.0.GA/bin directory.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/LauncherBootstrap.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/LauncherBootstrap.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/commons-launcher.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/commons-launcher.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/jbossesb-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/jbossesb-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,79 @@
+<?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.context.factory" value="org.jnp.interfaces.NamingContextFactory"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+    </properties>
+    <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#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.LocalTransport"/>
+    </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"/>
+    	<property name="org.jboss.soa.esb.ftp.localdir" value="/tmp"/>
+    	<property name="org.jboss.soa.esb.ftp.remotedir" value="/tmp"/>
+    </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/jbossesb"/>
+	<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"/> 
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,4 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/juddi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/juddi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,70 @@
+# 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:hsqldb:hsql://localhost/jbossesb
+juddi.jdbcUrl=jdbc:mysql://localhost/juddi
+juddi.jdbcUsername=juddi
+juddi.jdbcPassword=juddi
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/launcher.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/launcher.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/launcher.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+#   Copyright 2002-2004 The Apache Software Foundation
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+ant.class.path=../lib/launcher/ant.jar:../lib/launcher/ant-launcher.jar:../lib/launcher/xercesImpl.jar:../lib/launcher/xml-apis.jar

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/launcher.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/launcher.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/launcher.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,43 @@
+<!--
+   Copyright 2002-2004 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project name="JBossESB Launcher" default="run.jbossesb" basedir=".">
+
+    
+    <property name="base.dir" value="${basedir}/.."/>
+    
+    <property name="bin.dir" value="${base.dir}/bin"/>
+    <property name="lib.dir"  value="${base.dir}/lib"/>
+    <property name="log.dir"  value="${base.dir}/log"/>
+    <property name="deploy.dir"  value="${base.dir}/deploy"/>
+    
+    <path id="base.class.path">
+        <pathelement path="${etc.dir}"/>
+        <fileset dir="${lib.dir}" includes="*.jar"/>
+        <fileset dir="${lib.dir}/ext" includes="*.jar"/>
+        <fileset dir="${bin.dir}" includes="*.xml" />
+    </path>
+
+    <target name="run.jbossesb">
+        <mkdir dir="${log.dir}" />
+        <launch classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper">
+            <classpath refid="base.class.path"/>
+            <syspropertyset>
+                <sysproperty key="log.dir" file="${log.dir}"/>
+            </syspropertyset>
+            <arg value="${bin.dir}/jbossesb.xml"/>
+        </launch>
+    </target>
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<!--
+   Copyright 2002-2004 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+                     
+	<appender name="console" class="org.apache.log4j.ConsoleAppender">
+           <layout class="org.apache.log4j.PatternLayout" >
+              <param name="ConversionPattern" value="%-5p [%c{1}]: %m%n"/>
+           </layout>	    
+	</appender>
+
+	<appender name="file" class="org.apache.log4j.FileAppender">
+            <param name="File"   value="${log.dir}/esb.log" />
+            <param name="Append" value="true" />	    	
+            <layout class="org.apache.log4j.TTCCLayout">
+               <param name="dateFormat" value="ISO8601"/>
+            </layout>	    
+	</appender>
+	
+	<logger name="prefix">
+          <level value="debug" />
+        </logger>
+    
+	<root>
+	   <priority value="info" />
+   	   <appender-ref ref="console"/>
+   	   <appender-ref ref="file"/>
+	</root>
+	
+</log4j:configuration>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/run.bat
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/run.bat	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/run.bat	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+ at echo off
+REM   Copyright 2002-2004 The Apache Software Foundation
+REM
+REM   Licensed under the Apache License, Version 2.0 (the "License");
+REM   you may not use this file except in compliance with the License.
+REM   You may obtain a copy of the License at
+REM
+REM       http://www.apache.org/licenses/LICENSE-2.0
+REM
+REM   Unless required by applicable law or agreed to in writing, software
+REM   distributed under the License is distributed on an "AS IS" BASIS,
+REM   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+REM   See the License for the specific language governing permissions and
+REM   limitations under the License.
+
+java -cp . LauncherBootstrap -executablename jbossesb-listeners run.jbossesb

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/run.sh
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/run.sh	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/run.sh	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+#!/bin/sh
+#   Copyright 2002-2004 The Apache Software Foundation
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+java -cp . LauncherBootstrap -executablename jbossesb-listeners run.jbossesb

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/bin/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,9 @@
+########################################################################################################
+# ESB Administration Console.
+#
+# You must "import" smooks-res.xml into the console in order to view and manipulate the
+# transformations in this sample.  You will also need to register the "Message Exchange Participants"
+# "A" and "B" as well as their supported message contracts "text/xml:messageAtA" and 
+# "text/xml:messageAtB" respectively.
+########################################################################################################
+http://localhost:8080/jboss-esb-console/transform/smooks-config.jsp

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/ant-launcher.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/ant-launcher.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/ant.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/ant.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/xercesImpl.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/xercesImpl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/xml-apis.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/launcher/lib/launcher/xml-apis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+-- Database: jbossesb
+
+-- DROP DATABASE jbossesb;
+
+
+CREATE TABLE message
+(
+  uuid VARCHAR NOT NULL,
+  type VARCHAR NOT NULL,
+  message VARCHAR NOT NULL,
+  CONSTRAINT pk_uid PRIMARY KEY (uuid)
+);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/drop_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/drop_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/hsqldb/drop_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+DROP TABLE message IF EXISTS;

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/postgresql/create_database.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/postgresql/create_database.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/message-store/sql/postgresql/create_database.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,17 @@
+-- Database: jbossesb
+
+-- DROP DATABASE jbossesb;
+
+CREATE DATABASE jbossesb
+WITH OWNER = postgres
+ENCODING = 'SQL_ASCII'
+TABLESPACE = pg_default;
+
+
+CREATE TABLE message
+(
+  uuid text NOT NULL,
+  "type" text NOT NULL,
+  message text NOT NULL,
+  CONSTRAINT pk_uid PRIMARY KEY (uuid)
+);

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/README.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/README.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,24 @@
+To create and run a jbossesb.war standalone installation:
+
+1. Set the tomcat home
+
+   org.jboss.esb.tomcat.home=/apache-tomcat-5.5.20
+
+   in your deployment.properties file.
+
+2. Update the database info in the tomcat/jbossesb.xml file to point to your
+   juddi database (you need to run the sql scripts in the jUDDI-registry directory
+   first to populate it):
+
+	<Resource name="jdbc/juddiDB" auth="Container" type="javax.sql.DataSource"
+        maxActive="100" maxIdle="30" maxWait="10000" username="juddi"
+        password="juddi" driverClassName="org.gjt.mm.mysql.Driver"
+        url="jdbc:mysql://localhost:3306/juddi?autoReconnect=true" />
+        
+   This file will be copied to the tomcat.home/conf/Catalina/localhost directory.
+
+3. Add the database driver to the tomcat.home/common/lib/ directory.
+
+4. Run the ant war.all.deploy task. This creates a jbossesb.war and the configration for tomcat.
+
+5. Launch tomcat.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<Context docBase="${catalina.home}/webapps/jbossesb" debug="5" reloadable="true"
+    crossContext="true">
+    <Logger className="org.apache.catalina.logger.FileLogger"
+        prefix="jbossesb_log" suffix=".txt"
+        timestamp="true"/>
+    <!-- the Resource element will probably work better for you on Tomcat 5+ if
+        you simply use a Resource only tag
+        with xml attributes as opposed to the nested ResourceParams and parameter
+        elements -->
+    <Resource name="jdbc/juddiDB" auth="Container" type="javax.sql.DataSource"
+        maxActive="100" maxIdle="30" maxWait="10000" username="juddi"
+        password="juddi" driverClassName="org.gjt.mm.mysql.Driver"
+        url="jdbc:mysql://localhost:3306/juddi?autoReconnect=true" />
+</Context>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/juddi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/juddi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,56 @@
+# 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
+
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# 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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic 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">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="../logs/server.log"/>
+      <param name="Append" value="false"/>
+
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+      <!-- Rollover at the top of each hour
+      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+         <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+          -->
+      </layout>
+   </appender>
+
+   <!-- 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="${jboss.server.log.dir}/server.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 [%c] %m%n"/>
+     </layout>	    
+   </appender>
+   -->
+
+   <!-- ============================== -->
+   <!-- 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 [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ====================== -->
+   <!-- More Appender examples -->
+   <!-- ====================== -->
+
+   <!-- Buffer events and log them asynchronously
+   <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <appender-ref ref="FILE"/>
+     <appender-ref ref="CONSOLE"/>
+     <appender-ref ref="SMTP"/>
+   </appender>
+   -->
+
+   <!-- EMail events to an administrator
+   <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="To" value="admin at myhost.domain.com"/>
+     <param name="From" value="nobody at myhost.domain.com"/>
+     <param name="Subject" value="JBoss Sever Errors"/>
+     <param name="SMTPHost" value="localhost"/>
+     <param name="BufferSize" value="10"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Syslog events
+   <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Facility" value="LOCAL7"/>
+     <param name="FacilityPrinting" value="true"/>
+     <param name="SyslogHost" value="localhost"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Log events to JMS (requires a topic to be created)
+   <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
+     <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
+   </appender>
+   -->
+
+   <!-- Log events through SNMP
+   <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
+     <param name="ManagementHost" value="127.0.0.1"/>
+     <param name="ManagementHostTrapListenPort" value="162"/>
+     <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
+     <param name="LocalIPAddress" value="127.0.0.1"/>
+     <param name="LocalTrapSendPort" value="161"/>
+     <param name="GenericTrapType" value="6"/>
+     <param name="SpecificTrapType" value="12345678"/>
+     <param name="CommunityString" value="public"/>
+     <param name="ForwardStackTraceWithTrap" value="true"/>
+     <param name="Threshold" value="DEBUG"/>
+     <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
+     <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!--  Emit events as JMX notifications
+   <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      
+      <param name="Threshold" value="WARN"/>
+      <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+      
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
+      </layout>
+   </appender>
+   -->
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="WARN"/>
+   </category>
+   
+  <category name="org.jboss.internal.soa.esb">
+    <priority value="INFO"/>
+  </category>
+  
+  <category name="org.jboss.soa.esb">
+    <priority value="INFO"/>
+  </category>
+
+   <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+      <priority value="DEBUG"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit JBoss categories
+   <category name="org.jboss">
+      <priority value="INFO"/>
+   </category>
+   -->
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBossWS webservice category
+   <category name="org.jboss.ws">
+      <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Decrease the priority threshold for the org.jboss.varia category
+   <category name="org.jboss.varia">
+     <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
+   <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+
+   <!--
+      | An example of enabling the custom TRACE level priority that is used
+      | by the JBoss internals to diagnose low level details. This example
+      | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+      | subpackages. This will produce A LOT of logging output.
+   <category name="org.jboss.system">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   <category name="org.jboss.ejb.plugins">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+  
+   <!--
+       | Logs these events to SNMP:
+           - server starts/stops
+           - cluster evolution (node death/startup)
+           - When an EJB archive is deployed (and associated verified messages)
+           - When an EAR archive is deployed
+      	 
+   <category name="org.jboss.system.server.Server">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.deployment.MainDeployer">
+     <priority value="ERROR" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.ejb.EJBDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.deployment.EARDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   -->
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+   <!-- Clustering logging -->
+   <!-- Uncomment the following to redirect the org.jgroups and
+      org.jboss.ha categories to a cluster.log file.
+
+   <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="${jboss.server.log.dir}/cluster.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 [%c] %m%n"/>
+     </layout>
+   </appender>
+   <category name="org.jgroups">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   <category name="org.jboss.ha">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   -->
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/jboss/soa/esb/servlet/ConfigControllerService.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/jboss/soa/esb/servlet/ConfigControllerService.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/src/org/jboss/soa/esb/servlet/ConfigControllerService.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,90 @@
+/*
+ * 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 kurt.stam at jboss.com
+ */
+package org.jboss.soa.esb.servlet;
+
+import java.io.File;
+import java.net.URI;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.listeners.config.ConfigurationController;
+
+/**
+ * @author Kurt Stam (kurt.stam at redhat.com)
+ */
+public class ConfigControllerService extends HttpServlet
+{
+    private String configurationFile="jbossesb.xml";
+    /** Logger */
+    private static Log log = LogFactory.getLog(ConfigControllerService.class);
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    public void init() throws ServletException 
+    {
+        try {
+            super.init();
+            log.info("Hello ConfigController");
+            log.info("starting message configuration controller with config file " + configurationFile);
+            String confDir = "";
+            
+            if (System.getProperty("catalina.home")!=null) {
+                String url = System.getProperty("catalina.home") + "/conf/";
+                url = url.replace('\\','/');
+                log.info(url);
+                URI uri = new URI(url);
+                confDir = uri.getPath();
+            }
+            
+            String loggerConfig = confDir + "log4j.xml";
+            log.info("Reading log4.xml from: " + loggerConfig);
+            DOMConfigurator.configure(loggerConfig);
+            
+            System.setProperty("com.arjuna.common.util.propertyservice.verbosePropertyManager", "on");
+            File propertiesFile = new File(confDir + "jbossesb-properties.xml");
+            System.setProperty("org.jboss.soa.esb.propertyFile", "abs://" + propertiesFile.getAbsolutePath());
+            log.info("Reading jbossesb-properties.xml from: " +  propertiesFile.getAbsolutePath());
+            if (log.isDebugEnabled()) {
+                log.debug(Configuration.dump());
+            }
+            
+            String configFile = confDir + configurationFile;
+            System.setProperty("juddi.propertiesFile", confDir + "juddi.properties");
+            log.info("Reading juddi.properties from: " + confDir + "juddi.properties");
+            
+            log.info("Starting Config Controller: " + configFile);
+            ConfigurationController configurationController = new ConfigurationController(configFile,null);
+            new Thread(configurationController).start();
+            
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+  
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/org/jboss/soa/esb/servlet/ConfigControllerService.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/classes/org/jboss/soa/esb/servlet/ConfigControllerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/WEB-INF/web.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!DOCTYPE web-app PUBLIC 
+	"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
+	"http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+  <display-name>JBossESB</display-name>
+  <description>
+    JBossESB - JBoss Enterprise Service Bus
+  </description>
+
+  <servlet>
+    <servlet-name>ConfigControllerService</servlet-name>
+    <servlet-class>org.jboss.soa.esb.servlet.ConfigControllerService</servlet-class>
+  	<load-on-startup>1</load-on-startup>
+  </servlet>
+
+  <welcome-file-list id="WelcomeFileList">
+    <welcome-file>index.jsp</welcome-file>
+    <welcome-file>index.html</welcome-file>
+  </welcome-file-list>
+  
+  <resource-ref>
+    <description>jUDDI DataSource</description>
+    <res-ref-name>jdbc/juddiDB</res-ref-name>
+    <res-type>javax.sql.DataSource</res-type>
+    <res-auth>Container</res-auth>
+    <res-sharing-scope>Shareable</res-sharing-scope>
+  </resource-ref>
+  
+</web-app>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/index.jsp
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/index.jsp	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/install/tomcat/war/index.jsp	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+<html>
+<body>
+jbossesb is deployed
+</body>
+</html>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/Licenses.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/lib/Licenses.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/lib/Licenses.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,709 @@
+The jars used by and/or shipped with JBossESB are covered by a range of licences, as described
+below.
+
+JBoss jars:
+
+/*
+ *
+ * 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,
+ */
+ 
+Apache Jakarta Commons Collections, Commons Logging, jUDDI, Scout, JAXR-API, DBCP, Pooling:
+
+Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+   
+   
+   
+   
+   Enterprise Distributed Technologies edtftpj.jar
+   
+   edtFTPj is Open Source, licensed under the LGPL, the GNU Lesser General 
+   Public License.   http://www.gnu.org/licenses/lgpl.html
+   
+--- jsch-0.1.jar
+JSch 0.0.* was released under the GNU LGPL license.  Later, we have switched 
+over to a BSD-style license. 
+
+------------------------------------------------------------------------------
+Copyright (c) 2002,2003,2004,2005,2006 Atsuhiko Yamanaka, JCraft,Inc. 
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+  1. Redistributions of source code must retain the above copyright notice,
+     this list of conditions and the following disclaimer.
+
+  2. Redistributions in binary form must reproduce the above copyright 
+     notice, this list of conditions and the following disclaimer in 
+     the documentation and/or other materials provided with the distribution.
+
+  3. The names of the authors may not be used to endorse or promote products
+     derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
+INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---
+
+   
+--- Milyn Jars----------------------------------------------------------------
+
+	Milyn - Copyright (C) 2006
+
+	This library is free software; you can redistribute it and/or
+	modify it under the terms of the GNU Lesser General Public
+	License (version 2.1) as published by the Free Software 
+	Foundation.
+
+	This library is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    
+	See the GNU Lesser General Public License for more details:    
+	http://www.gnu.org/licenses/lgpl.txt
+------------------------------------------------------------------------------
+
+--- JSF Facelets -------------------------------------------------------------
+
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0:
+	http://www.opensource.org/licenses/cddl1.txt
+
+      1. Definitions.
+
+            1.1. ÒContributorÓ means each individual or entity that
+            creates or contributes to the creation of Modifications.
+
+            1.2. ÒContributor VersionÓ means the combination of the
+            Original Software, prior Modifications used by a
+            Contributor (if any), and the Modifications made by that
+            particular Contributor.
+
+            1.3. ÒCovered SoftwareÓ means (a) the Original Software, or
+            (b) Modifications, or (c) the combination of files
+            containing Original Software with files containing
+            Modifications, in each case including portions thereof.
+
+            1.4. ÒExecutableÓ means the Covered Software in any form
+            other than Source Code. 
+
+            1.5. ÒInitial DeveloperÓ means the individual or entity
+            that first makes Original Software available under this
+            License. 
+            
+            1.6. ÒLarger WorkÓ means a work which combines Covered
+            Software or portions thereof with code not governed by the
+            terms of this License.
+
+            1.7. ÒLicenseÓ means this document.
+
+            1.8. ÒLicensableÓ means having the right to grant, to the
+            maximum extent possible, whether at the time of the initial
+            grant or subsequently acquired, any and all of the rights
+            conveyed herein.
+            
+            1.9. ÒModificationsÓ means the Source Code and Executable
+            form of any of the following: 
+
+                  A. Any file that results from an addition to,
+                  deletion from or modification of the contents of a
+                  file containing Original Software or previous
+                  Modifications; 
+
+                  B. Any new file that contains any part of the
+                  Original Software or previous Modification; or 
+
+                  C. Any new file that is contributed or otherwise made
+                  available under the terms of this License.
+
+            1.10. ÒOriginal SoftwareÓ means the Source Code and
+            Executable form of computer software code that is
+            originally released under this License. 
+
+            1.11. ÒPatent ClaimsÓ means any patent claim(s), now owned
+            or hereafter acquired, including without limitation,
+            method, process, and apparatus claims, in any patent
+            Licensable by grantor. 
+
+            1.12. ÒSource CodeÓ means (a) the common form of computer
+            software code in which modifications are made and (b)
+            associated documentation included in or with such code.
+
+            1.13. ÒYouÓ (or ÒYourÓ) means an individual or a legal
+            entity exercising rights under, and complying with all of
+            the terms of, this License. For legal entities, ÒYouÓ
+            includes any entity which controls, is controlled by, or is
+            under common control with You. For purposes of this
+            definition, ÒcontrolÓ means (a) the power, direct or
+            indirect, to cause the direction or management of such
+            entity, whether by contract or otherwise, or (b) ownership
+            of more than fifty percent (50%) of the outstanding shares
+            or beneficial ownership of such entity.
+
+      2. License Grants. 
+
+            2.1. The Initial Developer Grant.
+
+            Conditioned upon Your compliance with Section 3.1 below and
+            subject to third party intellectual property claims, the
+            Initial Developer hereby grants You a world-wide,
+            royalty-free, non-exclusive license: 
+
+                  (a) under intellectual property rights (other than
+                  patent or trademark) Licensable by Initial Developer,
+                  to use, reproduce, modify, display, perform,
+                  sublicense and distribute the Original Software (or
+                  portions thereof), with or without Modifications,
+                  and/or as part of a Larger Work; and 
+
+                  (b) under Patent Claims infringed by the making,
+                  using or selling of Original Software, to make, have
+                  made, use, practice, sell, and offer for sale, and/or
+                  otherwise dispose of the Original Software (or
+                  portions thereof). 
+
+                  (c) The licenses granted in Sections 2.1(a) and (b)
+                  are effective on the date Initial Developer first
+                  distributes or otherwise makes the Original Software
+                  available to a third party under the terms of this
+                  License. 
+
+                  (d) Notwithstanding Section 2.1(b) above, no patent
+                  license is granted: (1) for code that You delete from
+                  the Original Software, or (2) for infringements
+                  caused by: (i) the modification of the Original
+                  Software, or (ii) the combination of the Original
+                  Software with other software or devices. 
+
+            2.2. Contributor Grant.
+
+            Conditioned upon Your compliance with Section 3.1 below and
+            subject to third party intellectual property claims, each
+            Contributor hereby grants You a world-wide, royalty-free,
+            non-exclusive license:
+
+                  (a) under intellectual property rights (other than
+                  patent or trademark) Licensable by Contributor to
+                  use, reproduce, modify, display, perform, sublicense
+                  and distribute the Modifications created by such
+                  Contributor (or portions thereof), either on an
+                  unmodified basis, with other Modifications, as
+                  Covered Software and/or as part of a Larger Work; and
+                  
+
+                  (b) under Patent Claims infringed by the making,
+                  using, or selling of Modifications made by that
+                  Contributor either alone and/or in combination with
+                  its Contributor Version (or portions of such
+                  combination), to make, use, sell, offer for sale,
+                  have made, and/or otherwise dispose of: (1)
+                  Modifications made by that Contributor (or portions
+                  thereof); and (2) the combination of Modifications
+                  made by that Contributor with its Contributor Version
+                  (or portions of such combination). 
+
+                  (c) The licenses granted in Sections 2.2(a) and
+                  2.2(b) are effective on the date Contributor first
+                  distributes or otherwise makes the Modifications
+                  available to a third party. 
+
+                  (d) Notwithstanding Section 2.2(b) above, no patent
+                  license is granted: (1) for any code that Contributor
+                  has deleted from the Contributor Version; (2) for
+                  infringements caused by: (i) third party
+                  modifications of Contributor Version, or (ii) the
+                  combination of Modifications made by that Contributor
+                  with other software (except as part of the
+                  Contributor Version) or other devices; or (3) under
+                  Patent Claims infringed by Covered Software in the
+                  absence of Modifications made by that Contributor. 
+
+      3. Distribution Obligations.
+
+            3.1. Availability of Source Code.
+
+            Any Covered Software that You distribute or otherwise make
+            available in Executable form must also be made available in
+            Source Code form and that Source Code form must be
+            distributed only under the terms of this License. You must
+            include a copy of this License with every copy of the
+            Source Code form of the Covered Software You distribute or
+            otherwise make available. You must inform recipients of any
+            such Covered Software in Executable form as to how they can
+            obtain such Covered Software in Source Code form in a
+            reasonable manner on or through a medium customarily used
+            for software exchange.
+
+            3.2. Modifications.
+
+            The Modifications that You create or to which You
+            contribute are governed by the terms of this License. You
+            represent that You believe Your Modifications are Your
+            original creation(s) and/or You have sufficient rights to
+            grant the rights conveyed by this License.
+
+            3.3. Required Notices.
+
+            You must include a notice in each of Your Modifications
+            that identifies You as the Contributor of the Modification.
+            You may not remove or alter any copyright, patent or
+            trademark notices contained within the Covered Software, or
+            any notices of licensing or any descriptive text giving
+            attribution to any Contributor or the Initial Developer.
+
+            3.4. Application of Additional Terms.
+
+            You may not offer or impose any terms on any Covered
+            Software in Source Code form that alters or restricts the
+            applicable version of this License or the recipientsÕ
+            rights hereunder. You may choose to offer, and to charge a
+            fee for, warranty, support, indemnity or liability
+            obligations to one or more recipients of Covered Software.
+            However, you may do so only on Your own behalf, and not on
+            behalf of the Initial Developer or any Contributor. You
+            must make it absolutely clear that any such warranty,
+            support, indemnity or liability obligation is offered by
+            You alone, and You hereby agree to indemnify the Initial
+            Developer and every Contributor for any liability incurred
+            by the Initial Developer or such Contributor as a result of
+            warranty, support, indemnity or liability terms You offer.
+          
+
+            3.5. Distribution of Executable Versions.
+
+            You may distribute the Executable form of the Covered
+            Software under the terms of this License or under the terms
+            of a license of Your choice, which may contain terms
+            different from this License, provided that You are in
+            compliance with the terms of this License and that the
+            license for the Executable form does not attempt to limit
+            or alter the recipientÕs rights in the Source Code form
+            from the rights set forth in this License. If You
+            distribute the Covered Software in Executable form under a
+            different license, You must make it absolutely clear that
+            any terms which differ from this License are offered by You
+            alone, not by the Initial Developer or Contributor. You
+            hereby agree to indemnify the Initial Developer and every
+            Contributor for any liability incurred by the Initial
+            Developer or such Contributor as a result of any such terms
+            You offer.
+
+            3.6. Larger Works.
+
+            You may create a Larger Work by combining Covered Software
+            with other code not governed by the terms of this License
+            and distribute the Larger Work as a single product. In such
+            a case, You must make sure the requirements of this License
+            are fulfilled for the Covered Software. 
+            
+      4. Versions of the License. 
+
+            4.1. New Versions.
+
+            Sun Microsystems, Inc. is the initial license steward and
+            may publish revised and/or new versions of this License
+            from time to time. Each version will be given a
+            distinguishing version number. Except as provided in
+            Section 4.3, no one other than the license steward has the
+            right to modify this License. 
+
+            4.2. Effect of New Versions.
+
+            You may always continue to use, distribute or otherwise
+            make the Covered Software available under the terms of the
+            version of the License under which You originally received
+            the Covered Software. If the Initial Developer includes a
+            notice in the Original Software prohibiting it from being
+            distributed or otherwise made available under any
+            subsequent version of the License, You must distribute and
+            make the Covered Software available under the terms of the
+            version of the License under which You originally received
+            the Covered Software. Otherwise, You may also choose to
+            use, distribute or otherwise make the Covered Software
+            available under the terms of any subsequent version of the
+            License published by the license steward. 
+
+            4.3. Modified Versions.
+
+            When You are an Initial Developer and You want to create a
+            new license for Your Original Software, You may create and
+            use a modified version of this License if You: (a) rename
+            the license and remove any references to the name of the
+            license steward (except to note that the license differs
+            from this License); and (b) otherwise make it clear that
+            the license contains terms which differ from this License.
+            
+
+      5. DISCLAIMER OF WARRANTY.
+
+      COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN ÒAS ISÓ
+      BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+      INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+      SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+      PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
+      PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
+      COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+      INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
+      ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
+      WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+      ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
+      DISCLAIMER. 
+
+      6. TERMINATION. 
+
+            6.1. This License and the rights granted hereunder will
+            terminate automatically if You fail to comply with terms
+            herein and fail to cure such breach within 30 days of
+            becoming aware of the breach. Provisions which, by their
+            nature, must remain in effect beyond the termination of
+            this License shall survive.
+
+            6.2. If You assert a patent infringement claim (excluding
+            declaratory judgment actions) against Initial Developer or
+            a Contributor (the Initial Developer or Contributor against
+            whom You assert such claim is referred to as ÒParticipantÓ)
+            alleging that the Participant Software (meaning the
+            Contributor Version where the Participant is a Contributor
+            or the Original Software where the Participant is the
+            Initial Developer) directly or indirectly infringes any
+            patent, then any and all rights granted directly or
+            indirectly to You by such Participant, the Initial
+            Developer (if the Initial Developer is not the Participant)
+            and all Contributors under Sections 2.1 and/or 2.2 of this
+            License shall, upon 60 days notice from Participant
+            terminate prospectively and automatically at the expiration
+            of such 60 day notice period, unless if within such 60 day
+            period You withdraw Your claim with respect to the
+            Participant Software against such Participant either
+            unilaterally or pursuant to a written agreement with
+            Participant.
+
+            6.3. In the event of termination under Sections 6.1 or 6.2
+            above, all end user licenses that have been validly granted
+            by You or any distributor hereunder prior to termination
+            (excluding licenses granted to You by any distributor)
+            shall survive termination.
+
+      7. LIMITATION OF LIABILITY.
+
+      UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+      (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
+      INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+      COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
+      LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
+      CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+      LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
+      STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+      COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+      INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+      LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+      INJURY RESULTING FROM SUCH PARTYÕS NEGLIGENCE TO THE EXTENT
+      APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+      NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
+      CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
+      APPLY TO YOU.
+
+      8. U.S. GOVERNMENT END USERS.
+
+      The Covered Software is a Òcommercial item,Ó as that term is
+      defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of Ã’commercial
+      computer softwareÓ (as that term is defined at 48 C.F.R. ¤
+      252.227-7014(a)(1)) and Ã’commercial computer software
+      documentationÓ as such terms are used in 48 C.F.R. 12.212 (Sept.
+      1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
+      through 227.7202-4 (June 1995), all U.S. Government End Users
+      acquire Covered Software with only those rights set forth herein.
+      This U.S. Government Rights clause is in lieu of, and supersedes,
+      any other FAR, DFAR, or other clause or provision that addresses
+      Government rights in computer software under this License.
+
+      9. MISCELLANEOUS.
+
+      This License represents the complete agreement concerning subject
+      matter hereof. If any provision of this License is held to be
+      unenforceable, such provision shall be reformed only to the
+      extent necessary to make it enforceable. This License shall be
+      governed by the law of the jurisdiction specified in a notice
+      contained within the Original Software (except to the extent
+      applicable law, if any, provides otherwise), excluding such
+      jurisdictionÕs conflict-of-law provisions. Any litigation
+      relating to this License shall be subject to the jurisdiction of
+      the courts located in the jurisdiction and venue specified in a
+      notice contained within the Original Software, with the losing
+      party responsible for costs, including, without limitation, court
+      costs and reasonable attorneysÕ fees and expenses. The
+      application of the United Nations Convention on Contracts for the
+      International Sale of Goods is expressly excluded. Any law or
+      regulation which provides that the language of a contract shall
+      be construed against the drafter shall not apply to this License.
+      You agree that You alone are responsible for compliance with the
+      United States export administration regulations (and the export
+      control laws and regulation of any other countries) when You use,
+      distribute or otherwise make available any Covered Software.
+
+      10. RESPONSIBILITY FOR CLAIMS.
+
+      As between Initial Developer and the Contributors, each party is
+      responsible for claims and damages arising, directly or
+      indirectly, out of its utilization of rights under this License
+      and You agree to work with Initial Developer and Contributors to
+      distribute such responsibility on an equitable basis. Nothing
+      herein is intended or shall be deemed to constitute any admission
+      of liability.
+
+------------------------------------------------------------------------------
+
+
+--- Postgres JDBC Drivers ----------------------------------------------------
+
+BSD License:
+* Copyright (c) <year>, <copyright holder>
+* All rights reserved.
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+*
+*     * Redistributions of source code must retain the above copyright
+*       notice, this list of conditions and the following disclaimer.
+*     * Redistributions in binary form must reproduce the above copyright
+*       notice, this list of conditions and the following disclaimer in the
+*       documentation and/or other materials provided with the distribution.
+*     * Neither the name of the <organization> nor the
+*       names of its contributors may be used to endorse or promote products
+*       derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------------------------------------------------------------------

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ant.license.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/lib/ant.license.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/lib/ant.license.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,203 @@
+/*
+ *                                 Apache License
+ *                           Version 2.0, January 2004
+ *                        http://www.apache.org/licenses/
+ *
+ *   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+ *
+ *   1. Definitions.
+ *
+ *      "License" shall mean the terms and conditions for use, reproduction,
+ *      and distribution as defined by Sections 1 through 9 of this document.
+ *
+ *      "Licensor" shall mean the copyright owner or entity authorized by
+ *      the copyright owner that is granting the License.
+ *
+ *      "Legal Entity" shall mean the union of the acting entity and all
+ *      other entities that control, are controlled by, or are under common
+ *      control with that entity. For the purposes of this definition,
+ *      "control" means (i) the power, direct or indirect, to cause the
+ *      direction or management of such entity, whether by contract or
+ *      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ *      outstanding shares, or (iii) beneficial ownership of such entity.
+ *
+ *      "You" (or "Your") shall mean an individual or Legal Entity
+ *      exercising permissions granted by this License.
+ *
+ *      "Source" form shall mean the preferred form for making modifications,
+ *      including but not limited to software source code, documentation
+ *      source, and configuration files.
+ *
+ *      "Object" form shall mean any form resulting from mechanical
+ *      transformation or translation of a Source form, including but
+ *      not limited to compiled object code, generated documentation,
+ *      and conversions to other media types.
+ *
+ *      "Work" shall mean the work of authorship, whether in Source or
+ *      Object form, made available under the License, as indicated by a
+ *      copyright notice that is included in or attached to the work
+ *      (an example is provided in the Appendix below).
+ *
+ *      "Derivative Works" shall mean any work, whether in Source or Object
+ *      form, that is based on (or derived from) the Work and for which the
+ *      editorial revisions, annotations, elaborations, or other modifications
+ *      represent, as a whole, an original work of authorship. For the purposes
+ *      of this License, Derivative Works shall not include works that remain
+ *      separable from, or merely link (or bind by name) to the interfaces of,
+ *      the Work and Derivative Works thereof.
+ *
+ *      "Contribution" shall mean any work of authorship, including
+ *      the original version of the Work and any modifications or additions
+ *      to that Work or Derivative Works thereof, that is intentionally
+ *      submitted to Licensor for inclusion in the Work by the copyright owner
+ *      or by an individual or Legal Entity authorized to submit on behalf of
+ *      the copyright owner. For the purposes of this definition, "submitted"
+ *      means any form of electronic, verbal, or written communication sent
+ *      to the Licensor or its representatives, including but not limited to
+ *      communication on electronic mailing lists, source code control systems,
+ *      and issue tracking systems that are managed by, or on behalf of, the
+ *      Licensor for the purpose of discussing and improving the Work, but
+ *      excluding communication that is conspicuously marked or otherwise
+ *      designated in writing by the copyright owner as "Not a Contribution."
+ *
+ *      "Contributor" shall mean Licensor and any individual or Legal Entity
+ *      on behalf of whom a Contribution has been received by Licensor and
+ *      subsequently incorporated within the Work.
+ *
+ *   2. Grant of Copyright License. Subject to the terms and conditions of
+ *      this License, each Contributor hereby grants to You a perpetual,
+ *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ *      copyright license to reproduce, prepare Derivative Works of,
+ *      publicly display, publicly perform, sublicense, and distribute the
+ *      Work and such Derivative Works in Source or Object form.
+ *
+ *   3. Grant of Patent License. Subject to the terms and conditions of
+ *      this License, each Contributor hereby grants to You a perpetual,
+ *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ *      (except as stated in this section) patent license to make, have made,
+ *      use, offer to sell, sell, import, and otherwise transfer the Work,
+ *      where such license applies only to those patent claims licensable
+ *      by such Contributor that are necessarily infringed by their
+ *      Contribution(s) alone or by combination of their Contribution(s)
+ *      with the Work to which such Contribution(s) was submitted. If You
+ *      institute patent litigation against any entity (including a
+ *      cross-claim or counterclaim in a lawsuit) alleging that the Work
+ *      or a Contribution incorporated within the Work constitutes direct
+ *      or contributory patent infringement, then any patent licenses
+ *      granted to You under this License for that Work shall terminate
+ *      as of the date such litigation is filed.
+ *
+ *   4. Redistribution. You may reproduce and distribute copies of the
+ *      Work or Derivative Works thereof in any medium, with or without
+ *      modifications, and in Source or Object form, provided that You
+ *      meet the following conditions:
+ *
+ *      (a) You must give any other recipients of the Work or
+ *          Derivative Works a copy of this License; and
+ *
+ *      (b) You must cause any modified files to carry prominent notices
+ *          stating that You changed the files; and
+ *
+ *      (c) You must retain, in the Source form of any Derivative Works
+ *          that You distribute, all copyright, patent, trademark, and
+ *          attribution notices from the Source form of the Work,
+ *          excluding those notices that do not pertain to any part of
+ *          the Derivative Works; and
+ *
+ *      (d) If the Work includes a "NOTICE" text file as part of its
+ *          distribution, then any Derivative Works that You distribute must
+ *          include a readable copy of the attribution notices contained
+ *          within such NOTICE file, excluding those notices that do not
+ *          pertain to any part of the Derivative Works, in at least one
+ *          of the following places: within a NOTICE text file distributed
+ *          as part of the Derivative Works; within the Source form or
+ *          documentation, if provided along with the Derivative Works; or,
+ *          within a display generated by the Derivative Works, if and
+ *          wherever such third-party notices normally appear. The contents
+ *          of the NOTICE file are for informational purposes only and
+ *          do not modify the License. You may add Your own attribution
+ *          notices within Derivative Works that You distribute, alongside
+ *          or as an addendum to the NOTICE text from the Work, provided
+ *          that such additional attribution notices cannot be construed
+ *          as modifying the License.
+ *
+ *      You may add Your own copyright statement to Your modifications and
+ *      may provide additional or different license terms and conditions
+ *      for use, reproduction, or distribution of Your modifications, or
+ *      for any such Derivative Works as a whole, provided Your use,
+ *      reproduction, and distribution of the Work otherwise complies with
+ *      the conditions stated in this License.
+ *
+ *   5. Submission of Contributions. Unless You explicitly state otherwise,
+ *      any Contribution intentionally submitted for inclusion in the Work
+ *      by You to the Licensor shall be under the terms and conditions of
+ *      this License, without any additional terms or conditions.
+ *      Notwithstanding the above, nothing herein shall supersede or modify
+ *      the terms of any separate license agreement you may have executed
+ *      with Licensor regarding such Contributions.
+ *
+ *   6. Trademarks. This License does not grant permission to use the trade
+ *      names, trademarks, service marks, or product names of the Licensor,
+ *      except as required for reasonable and customary use in describing the
+ *      origin of the Work and reproducing the content of the NOTICE file.
+ *
+ *   7. Disclaimer of Warranty. Unless required by applicable law or
+ *      agreed to in writing, Licensor provides the Work (and each
+ *      Contributor provides its Contributions) on an "AS IS" BASIS,
+ *      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ *      implied, including, without limitation, any warranties or conditions
+ *      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ *      PARTICULAR PURPOSE. You are solely responsible for determining the
+ *      appropriateness of using or redistributing the Work and assume any
+ *      risks associated with Your exercise of permissions under this License.
+ *
+ *   8. Limitation of Liability. In no event and under no legal theory,
+ *      whether in tort (including negligence), contract, or otherwise,
+ *      unless required by applicable law (such as deliberate and grossly
+ *      negligent acts) or agreed to in writing, shall any Contributor be
+ *      liable to You for damages, including any direct, indirect, special,
+ *      incidental, or consequential damages of any character arising as a
+ *      result of this License or out of the use or inability to use the
+ *      Work (including but not limited to damages for loss of goodwill,
+ *      work stoppage, computer failure or malfunction, or any and all
+ *      other commercial damages or losses), even if such Contributor
+ *      has been advised of the possibility of such damages.
+ *
+ *   9. Accepting Warranty or Additional Liability. While redistributing
+ *      the Work or Derivative Works thereof, You may choose to offer,
+ *      and charge a fee for, acceptance of support, warranty, indemnity,
+ *      or other liability obligations and/or rights consistent with this
+ *      License. However, in accepting such obligations, You may act only
+ *      on Your own behalf and on Your sole responsibility, not on behalf
+ *      of any other Contributor, and only if You agree to indemnify,
+ *      defend, and hold each Contributor harmless for any liability
+ *      incurred by, or claims asserted against, such Contributor by reason
+ *      of your accepting any such warranty or additional liability.
+ *
+ *   END OF TERMS AND CONDITIONS
+ *
+ *   APPENDIX: How to apply the Apache License to your work.
+ *
+ *      To apply the Apache License to your work, attach the following
+ *      boilerplate notice, with the fields enclosed by brackets "[]"
+ *      replaced with your own identifying information. (Don't include
+ *      the brackets!)  The text should be enclosed in the appropriate
+ *      comment syntax for the file format. We also recommend that a
+ *      file or class name and description of purpose be included on the
+ *      same "printed page" as the copyright notice for easier
+ *      identification within third-party archives.
+ *
+ *   Copyright [yyyy] [name of copyright owner]
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ */

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/clover.license
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/lib/clover.license	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/lib/clover.license	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,166 @@
+Product: Clover
+License: Open Source License, 0.x, 1.x
+Issued: Tue Feb 17 2004 18:40:54 CST
+Expiry: Never
+Key: 01e7175ba467f862415d421a4
+Name: Tom Baeyens
+Org: jBpm : Java Business Process Management
+Certificate: AAACCW+Ow8B7/zEbxOMqqKwwrdpP+a1COmJGHco7sCNLjHkHnajPF+dQW
+Ct12PMy0uml0s9xuus5wKngJ9OFk5PFeh01dzQF66bhXH1bvegLfvja3Kle6BYtDv4LZgE
+gk3E0aJN4IbgTn+TgUckSevXDR4KzK77NWJfrVzkxV3/JerYSXutpE8XOjlCoCBARdtTzd
+/L18PDee/nCI9DswzXY7sXDom8BJDIcB+2+/QIDBfnaXmP5j9XKUvoWOxnjK3BEDd9NLXi
+TOy3rf4b16knTEz/jhlSE4Cyuz02cuVd2ZUtyjD65JkvqJlmI4YFS6Uc0RG//7X+hvPDqz
+WL7hxLWv+c60/zRhp94ADN3PwaimfkPFky841Nk/o/WzV3mVkIWpScrEDzGR1FrhGkm9yy
+TuvFNzxJQ689Djq4svpFUl/YbZiApZ8MpqDVW9iBbnLnlUqxaPw1r3Ol77ujtqsRg98tt1
+777Mbz3z8ryfh0ld0Yd66fsERNN5PpEf++l1cpS+hY7Ge0tZRc71kZmLNEsc6hpwr+wC4h
+EaY3FT4W0PrjLAKOnRjdiRjfaM685WqYhXZH01QnmXyUTK974fPDzsY7Pe/eHNsy+rjnZ/
+ceGpmQJP2AhFPa99w9XSrvhQ36q7NXMR/oKZnavLXUBIMBHdW2UeSjxPJ/juFzsfTLu1VS
+DtDK3gkmBvkZcKgR7PzOj5UCaYSKW59opKNx9zTIqwK5YWYTfwLklTeOXnMaiPjqerLM+V
+AjD6hsUyeSUTUGwqwrUmvty4NNBX6sbwSAF+M8OCUA3yifPYgJFs4XWxmxgkO3GddAHWx1
+NWhEcwOAJApdtDnILltPzHk/ne+5En9bdIAq5UusroOc=
+License Agreement: CLOVER VERSION 1 (ONE) SOFTWARE LICENSE AGREEMENT
+
+1. Licenses and Software
+
+Cortex eBusiness Pty Ltd, an Australian Proprietary Limited Company
+("CENQUA") hereby grants to the purchaser (the "LICENSEE") a limited,
+revocable, worldwide, non-exclusive, non-transferable,
+non-sublicensable license to use the Clover version 1 (one) software
+(the "Software"), including any minor upgrades thereof during the Term
+(hereinafter defined) up to, but not including the next major version
+of the Software. The licensee shall not, or knowingly allow others to,
+reverse engineer, decompile, disassemble, modify, adapt, create
+derivative works from or otherwise attempt to derive source code from
+the Software provided. And, in accordance with the terms and
+conditions of this Software License Agreement (the "Agreement"), the
+Software shall be used solely by the licensed users in accordance with
+the following edition specific conditions:
+
+a) Server Edition
+
+A Server Edition license entitles the Licensee to execute one instance
+of Clover Server Edition on one (1) machine for the purposes of
+instrumenting source code and generating reports. There are no
+limitations on the use of the instrumented source code or generated
+reports produced by Server Edition.
+
+b) Workstation Edition
+
+A Workstation Edition license entitles the licensee to use Clover
+Workstation Edition on one (1) machine by one (1) individual end
+user. Workstation Edition does not permit the generation of reports
+for distribution.
+
+c) Team Edition
+
+A Team Edition license entitles the licensee to use Clover Team
+edition on any number of machines solely by the licensed number of
+users. Reports generated by Clover Team Edition are strictly for use
+only by the licensed number of individual end users.
+
+2. License Fee
+
+In exchange for the License(s), the Licensee shall pay to Cenqua a
+one-time, up front, non-refundable license fee. At the sole discretion
+of Cenqua this fee will be waived for non-commercial
+projects. Notwithstanding the Licensee's payment of the License Fee,
+Cenqua reserves the right to terminate the License if Cenqua discovers
+that the Licensee and/or the Licensee's use of the Software is in
+breach of this Agreement.
+
+3. Proprietary Rights
+
+Cenqua will retain all right, title and interest in and to the
+Software, all copies thereof, and Cenqua website(s), software, and
+other intellectual property, including, but not limited to, ownership
+of all copyrights, look and feel, trademark rights, design rights,
+trade secret rights and any and all other intellectual property and
+other proprietary rights therein. The Licensee will not directly or
+indirectly obtain or attempt to obtain at any time, any right, title
+or interest by registration or otherwise in or to the trademarks,
+service marks, copyrights, trade names, symbols, logos or designations
+or other intellectual property rights owned or used by Cenqua. All
+technical manuals or other information provided by Cenqua to the
+Licensee shall be the sole property of Cenqua.
+
+4. Term and Termination
+
+Subject to the other provisions hereof, this Agreement shall commence
+upon the Licensee's opting into this Agreement and continue until the
+Licensee discontinues use of the Software or the Agreement terminates
+automatically upon the Licensee's breach of any term or condition of
+this Agreement (the "Term"). Upon any such termination, the Licensee
+will delete the Software immediately.
+
+5. Copying & Transfer
+
+The Licensee may copy the Software for back-up purposes only. The
+Licensee may not assign or otherwise transfer the Software to any
+third party.
+
+6. Specific Disclaimer of Warranty and Limitation of Liability
+
+THE SOFTWARE IS PROVIDED WITHOUT WARRANTY OF ANY KIND. CENQUA
+DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE. CENQUA WILL NOT BE LIABLE FOR ANY DAMAGES
+ASSOCIATED WITH THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ORDINARY,
+INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING
+BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN
+IF CENQUA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Warranties and Representations
+
+Licensee Indemnification. CENQUA agrees to indemnify, defend and hold
+the Licensee harmless from and against any and all liabilities, 
+damages, losses, claims, costs, and expenses (including reasonable 
+legal fees) arising out of or resulting from the Software or the use 
+thereof infringing upon, misappropriating or violating any patents, 
+copyrights, trademarks, or trade secret rights or other proprietary 
+rights of persons, firms or entities who are not parties to this 
+Agreement.
+
+CENQUA Indemnification. The Licensee warrants and represents that the 
+Licensee's actions with regard to the Software will be in compliance 
+with all applicable  laws; and the Licensee agrees to indemnify, 
+defend, and hold CENQUA harmless  from and against any and all 
+liabilities, damages, losses, claims, costs,  and expenses (including 
+reasonable legal fees) arising out of or resulting  from the 
+Licensee's failure to observe the use restrictions set forth herein.
+
+8. Publicity
+
+The Licensee grants permission for CENQUA to use Licensee's name 
+solely in customer lists. CENQUA shall not, without prior consent in 
+writing, use the Licensee's name, or that of its affiliates, in any 
+form with the specific  exception of customer lists. CENQUA agrees to 
+remove Licensee's name from  any and all materials within 7 days if 
+notified by the Licensee in writing.
+
+9. Governing Law
+
+This Agreement shall be governed by the laws of New South Wales, 
+Australia.
+
+10. Independent Contractors
+
+The parties are independent contractors with respect to each  other, 
+and nothing in this Agreement shall be construed as creating an 
+employer-employee  relationship, a partnership, agency relationship or 
+a joint venture between  the parties.
+
+11. Assignment
+
+This Agreement is not assignable or transferable by the Licensee. 
+CENQUA  in its sole discretion may transfer a license to a third party 
+at the written  request of the Licensee.
+
+12. Entire Agreement
+
+This Agreement constitutes the entire agreement between the parties 
+concerning  the Licensee's use of the Software. This Agreement 
+supersedes any prior verbal understanding between the parties and any 
+Licensee purchase order or other  ordering document, regardless of 
+whether such document is received by CENQUA  before or after execution 
+of this Agreement. This Agreement may be amended  only in writing by 
+CENQUA.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/Base64.html
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/Base64.html	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/Base64.html	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,397 @@
+<html>
+  <head>
+<!-- Generated from XML source. Copyright 2001 Robert Harder. -->
+    <title>Base64 - A Public Domain Base64 Encoder/Decoder for Java</title>
+    <meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1"/>
+    <meta http-equiv="Content-Language" content="EN"/>
+    <meta name="keywords" content="base64, base, 64, java, public domain"/>
+    <meta name="description" content="Base64 - A Public Domain Base64 Encoder/Decoder for Java"/>
+    <meta name="abstract" content="Base64 - A Public Domain Base64 Encoder/Decoder for Java"/>
+    <meta name="author" content="Robert Harder"/>
+    <meta name="copyright" content="Robert Harder, 2004"/>
+    <meta name="distribution" content="Global"/>
+    <meta name="revisit-after" content="7 days"/>
+    <meta name="robots" content="FOLLOW,INDEX"/>
+    <link rel="ICON" href="./favicon.ico" type="image/x-icon"/>
+    <link rel="SHORTCUT ICON" href="./favicon.ico"/>
+    <base target="_parent"/>
+    <style type="text/css">
+<!--
+             
+
+body        { margin: 0; }
+.iHarderNet { font-family: arial, geneva, lucida sans unicode, helvetica; color: white; text-align: center; font-size: 14pt; }
+.i_iHarder  { font-family: times new roman, courier; font-style: italic; font-weight: bold; font-size: 12pt; }
+
+               .MainTitle
+                 {  color: white;
+                    font-family: arial, geneva, lucida sans unicode, helvetica;
+                    text-align: center;
+                    font-weight: bold;
+                    font-size: 24pt;
+                    font-style: italic;
+                    margin-bottom: 4pt;
+                 }
+
+               .OpenTS_Home
+                 {  color: white;
+                    font-family: arial, geneva, lucida sans unicode, helvetica;
+                    text-align: center;
+                    font-weight: bold;
+                    font-size: 14pt;
+                    font-style: italic;
+                 }
+
+
+               .Menu
+                 {  margin-top: 10pt;
+                    margin-left: 6pt;
+                    text-indent: -6pt;
+                    font-family: arial, geneva, lucida sans unicode, helvetica;
+                    font-weight: bold;
+                    font-size: 10pt;
+                 }
+
+               .SubMenu
+                 {  margin-top: -5pt;
+                    margin-left: 4pt;
+                 }
+
+
+               .MenuItem
+                 {  margin-top: 10pt;
+                    font-family: arial, geneva, lucida sans unicode, helvetica;
+                    font-weight: bold;
+                    font-size: 10pt;
+                 }
+
+               .Menu A
+                 {  color: #000033;
+                 }
+
+               .Logo
+                 {  text-align: center;
+                 }
+
+.SubTitle
+{  font-family: Arial, san serif;
+   font-size: 16pt;
+   font-style: italic;
+   font-weight: bold;
+}
+
+
+               .SectionTitle
+                 {  margin-top: 1em;
+                    margin-left: 1em;
+                    margin-right: 50%;
+                    font-family: arial, geneva, lucida sans unicode, helvetica;
+                    font-weight: bold;
+                    font-size: larger;
+                    /*border-top: 4px double black;*/
+                    border-bottom: 4px double black;
+                 }
+
+               .MainSectionTitle
+                 {  margin-top: 1em;
+                    font-family: arial, geneva, lucida sans unicode, helvetica;
+                    font-weight: bold;
+                    font-size: 22pt;
+                    font-style: italic;
+                    border-bottom: 4px double black;
+                 }
+
+               .SectionBody
+                 {  margin-top: 1em;
+                 }
+
+               .MainSectionBody
+                 {  margin-top: 10pt;
+                 }
+
+               .MainPage
+                 {  margin: 4pt; 
+                    margin-right: 24pt;
+                 }
+
+               .FAQList_Question
+                 {  
+                    font-family: arial, geneva, lucida sans unicode, helvetica;
+                    font-weight: bold;
+                 }
+
+               .FAQ_Question
+                 {  
+                    font-family: arial, geneva, lucida sans unicode, helvetica;
+                    font-weight: bold;
+                 }
+
+               .FAQ_Answer
+                 {  
+                 }
+
+
+               .TopMenu
+                 {  margin-top: 20pt;
+                    margin-bottom: 10pt;
+                    border-bottom: 4px black;
+                    text-align: center
+                 }
+
+               .BottomMenu
+                 {  margin-top: 0.1in;
+                    border-top: 4px double black;
+                    margin-bottom: 10pt;
+                    border-bottom: 4px black;
+                    text-align: center
+                 }
+
+               p
+                 {  
+                    margin-top: 0.1in;
+                    text-indent: 1em;
+                 }
+
+               li
+                 {  margin-top: 0.2in;  
+                 }
+
+               ul
+                 {  margin-left: 0.25in;
+                    margin-top: 0.1in;
+                 }
+
+               tt
+                 {  font-size: larger;
+                 }
+
+               a
+                 {  color: #000055;
+                 }
+               a:hover
+                 {  background: lavender;
+                    text-decoration: none;
+                    color: black;
+                 }
+
+ p.alert { border-left:solid red 6px; margin-left:-12px; padding-left:6px; }
+ pre { padding:1ex; border: solid gray 1px;}
+ code { font-size: 95%; }
+ dl dt { font-weight: bold }
+ dl dd { margin-bottom: 1em }
+ .newCode { background: #EEEEEE; }
+               
+             
+           -->
+    </style>
+  </head>
+  <body bgcolor="white">
+    <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
+      <tr bgcolor="#000066" height="50">
+        <td width="128" height="50">
+          <div class="iHarderNet">
+            <a href="http://www.iHarder.net">
+              <span class="iHarderNet"><span class="i_iHarder">i</span>Harder.net</span>
+            </a>
+          </div>
+        </td>
+        <td width="*">
+          <div class="MainTitle">
+            <title-medium>Base64</title-medium>
+          </div>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="2">
+          <div style="margin:0 ; border-top: 1px double black"/>
+        </td>
+      </tr>
+      <tr height="*">
+        <td width="128" valign="top" bgcolor="#9090d0">
+          <table width="100%" height="100%" cellpadding="2" cellspacing="0" border="0">
+            <tr height="1">
+              <td height="1" width="120" bgcolor="white" valign="center" align="center">
+                <div class="SubTitle">
+      Base64
+    </div>
+              </td>
+            </tr>
+            <tr>
+              <td valign="top" height="*" style="border-top: solid black 1px; border-right: solid black 1px">
+                <div class="Menu">
+                  <a title="" href="./.">Home</a>
+                </div>
+                <div class="Menu">
+                  <a title="A Java framework for the Tabu Search meta-heuristic" href="http://OpenTS.iHarder.net">OpenTS</a>
+                </div>
+                <div class="Menu">
+                  <a title="Software and tutorials for programming Mac OS X" href="./macosx">Mac OS X</a>
+                </div>
+                <div class="Menu">
+                  <a title="Xmlize (like serialize) your Java objects into XML documents." href="./xmlizable">Xmlizable</a>
+                </div>
+                <div class="Menu">
+                  <a title="Public Domain Base64 Java utility." href="./base64">Base64</a>
+                </div>
+                <div class="Menu">
+                  <a title="Drag and drop files into your Java programs" href="./filedrop">FileDrop</a>
+                </div>
+                <div class="Menu">
+                  <a title="View Mr. Harder's online resume" href="http://resume.iharder.net">Mr. Harder's Resume</a>
+                </div>
+                <div class="Menu">
+                  <a title="Send email to Mr. Harder" href="mailto:robertharder[nospam]gmail.com">Contact Mr. Harder</a>
+                </div>
+                <p>
+                  <hr align="center"/>
+                </p>
+                <div align="center" style="text-align:center">
+                  <a href="http://sourceforge.net">
+                    <img src="http://sourceforge.net/sflogo.php?group_id=23200" width="88" height="31" border="0" alt="SourceForge Logo"/>
+                  </a>
+                </div>
+                <p/>
+                <div align="center" style="text-align:center">
+                  <a href="http://iharder.sourceforge.net/gotmoney.php">
+                    <img src="http://iharder.sourceforge.net/gotmoney.gif" width="88" height="32" border="0" alt="got money?"/>
+                  </a>
+                </div>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td width="*" height="*" bgcolor="white" valign="top">
+          <div class="MainPage">
+
+    <div class="MainSectionTitle">Summary</div><div class="MainSectionBody">      
+
+<P><em>Now supports GZip-(de)compressing data before/after encoding!</em></P>
+
+        <P>
+          This is a <strong>Public Domain</strong> Java class providing
+          <strong>very fast</strong> Base64 encoding and decoding in 
+          the form of convenience methods and input/output streams.
+        </P>
+
+        <P style="text-align:center; font-weight:bold; font-size:larger">
+          <a href="http://prdownloads.sourceforge.net/iharder/Base64-2.1.zip?download">Download v2.1 Now! base64.zip (40k)</a>
+        </P>
+
+        <p>
+         You can have SourceForge automatically notify you when this Base64 code
+         is updated (I highly recommend you do this). 
+         <a href="http://sourceforge.net/project/filemodule_monitor.php?filemodule_id=30229">Click here.</a>
+        </p>
+
+        <p>
+          There are other Base64 utilities on the Internet, some part
+          of proprietary packages, some with various open source licenses.
+          In any event, I hope with one or more of these Base64 tools, you won't 
+          have to write your own like I did.
+        </p>
+<p>
+Thanks to Brian Burton for providing this <a href="Base64Test.java">Base64Test.java</a> test class for use with <a href="http://www.junit.org">JUnit.org</a>.
+</p>
+
+        
+        <p>
+          <strong>Changes:</strong>
+          <ul>
+<li>v2.1 - Cleaned up javadoc comments and unused variables and methods. Added
+    some convenience methods for reading and writing to and from files.</li>
+ <li>
+  v2.0.2 - Now specifies UTF-8 encoding in places where the code fails on systems
+   with other encodings (like EBCDIC).
+ </li>
+   
+   <li>v2.0.1 - Fixed an error when decoding a single byte, that is, when the
+     encoded data was a single byte.</li>
+   <li>v2.0 - I got rid of methods that used booleans to set options. 
+    Now everything is more consolidated and cleaner. The code now detects
+    when data that's being decoded is gzip-compressed and will decompress it
+    automatically. Generally things are cleaner. You'll probably have to
+    change some method calls that you were making to support the new
+    options format (<tt>int</tt>s that you &quot;OR&quot; together).</li>
+
+           <li>v1.5.1 - Fixed bug when decompressing and decoding to a
+            byte[] using <tt>decode( String s, boolean gzipCompressed )</tt>.
+            Added the ability to &quot;suspend&quot; encoding in the Output Stream so
+            you can turn on and off the encoding if you need to embed base64
+            data in an otherwise &quot;normal&quot; stream (like an XML file).
+            <em>This has not been fully tested, so please alert me to bugs.</em></li>
+           <li>v1.5 - Output stream pases on flush() command but doesn't do anything itself. This helps when using GZIP streams. Added the ability to <strong>GZip-compress objects</strong> before encoding them.</li>
+           <li>v1.4 - Added some helper methods for reading and writing to/from files.</li>
+           <li>v1.3.6 - Fixed OutputStream.flush() so that 'position' is reset.</li>
+           <li>v1.3.5 - Added flag to turn on and off line breaks. Fixed bug in input stream
+               where last buffer being read, if not completely full, was not returned.</li>
+           <li>v1.3.4 - Fixed when <em>Improperly padded base64 stream</em> exception
+               was incorrectly thrown.</li>
+           <li>A bug has been fixed that kept I/O streams from working at all, really.</li>
+           <li>A bug has been fixed affecting you if you use the Base64.InputStream
+            to encode data.
+           </li>
+           <li>A bug has been fixed where if you specified an offset when encoding
+            an array of bytes, the offset was ignored. 
+           </li>
+          </ul>
+        </p>
+
+      </div>
+
+    <div class="MainSectionTitle">Example</div><div class="MainSectionBody">
+        <p>
+          The easiest way to convert some data is with the convenience methods:
+        </p>
+<code><pre>String result1 = <strong>Base64.encodeObject</strong>( mySerializableObject );
+String result2 = <strong>Base64.encodeBytes</strong>( new byte[]{ 3, 34, 116, 9 } );
+</pre></code>   
+     
+        <p>
+          Or you can use the very efficient streams:
+        </p>
+<code><pre>OutputStream out = <strong>new Base64.OutputStream</strong>( 
+                    new FileOutputStream( &quot;out.txt&quot; ) );
+// Go on about your outputting...
+// ...
+
+InputStream in = <strong>new Base64.InputStream</strong>( 
+                  new FileInputStream( &quot;in.txt&quot; ) );
+// Go on about your inputting...
+// ...
+</pre></code>        
+
+
+        <p>
+          There are defaults (OutputStream encodes, InputStream decodes),
+          but you can easily override that:
+        </p>
+<code><pre>OutputStream out = new Base64.OutputStream( 
+                    new FileOutputStream( &quot;out.txt&quot; ), <strong>Base64.DECODE</strong> );
+// Go on about your outputting...
+// ...
+</pre></code>    
+
+      </div>
+
+
+  </div>
+        </td>
+      </tr>
+      <tr>
+        <td bgcolor="#9090d0" style="height: 1em; border-right: solid black 1px"> </td>
+        <td>
+          <div class="BottomMenu">
+            <span class="Menu"><a title="" href="./.">Home</a> | </span>
+            <span class="Menu"><a title="A Java framework for the Tabu Search meta-heuristic" href="http://OpenTS.iHarder.net">OpenTS</a> | </span>
+            <span class="Menu"><a title="Software and tutorials for programming Mac OS X" href="./macosx">Mac OS X</a> | </span>
+            <span class="Menu"><a title="Xmlize (like serialize) your Java objects into XML documents." href="./xmlizable">Xmlizable</a> | </span>
+            <span class="Menu"><a title="Public Domain Base64 Java utility." href="./base64">Base64</a> | </span>
+            <span class="Menu"><a title="Drag and drop files into your Java programs" href="./filedrop">FileDrop</a> | </span>
+            <span class="Menu"><a title="View Mr. Harder's online resume" href="http://resume.iharder.net">Mr. Harder's Resume</a> | </span>
+            <span class="Menu"><a title="Send email to Mr. Harder" href="mailto:robertharder[nospam]gmail.com">Contact Mr. Harder</a> | </span>
+          </div>
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/activation.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/activation.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/ant-1.6.2-stripped.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/ant-1.6.2-stripped.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/antlr-2.7.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/antlr-2.7.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/antlr-3.0ea8.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/antlr-3.0ea8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/bsh-1.3.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/bsh-1.3.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/c3p0-0.9.1-pre9.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/c3p0-0.9.1-pre9.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/cglib-full-2.0-RC2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/cglib-full-2.0-RC2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/clover.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/clover.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-beanutils-1.6.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-beanutils-1.6.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-collections-2.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-collections-2.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-collections-3.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-collections-3.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-dbcp-1.2.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-dbcp-1.2.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-digester-1.5.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-digester-1.5.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-fileupload-1.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-fileupload-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-jci-core-1.0-406301.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-jci-core-1.0-406301.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-jci-janino-2.4.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-jci-janino-2.4.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-lang-2.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-lang-2.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-logging.jar
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-pool-1.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/commons-pool-1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/dom4j-1.6.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/dom4j-1.6.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/drools-compiler-3.0.4.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/drools-compiler-3.0.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/drools-core-3.0.4.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/drools-core-3.0.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/edtftpj.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/edtftpj.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/emma.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/emma.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/emma_ant.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/emma_ant.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/groovy-all-1.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/groovy-all-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/hibernate3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/hibernate3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/hsqldb.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/hsqldb.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jakarta-oro-2.0.8.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jakarta-oro-2.0.8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/janino-2.4.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/janino-2.4.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jaxen-1.1-beta-4.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jaxen-1.1-beta-4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jaxr-api-1.0-SNAPSHOT.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jaxr-api-1.0-SNAPSHOT.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jboss-jmx.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jboss-jmx.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jboss-system.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jboss-system.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbossall-client.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbossall-client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

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


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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbpm-3.1.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbpm-3.1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbpm-identity-3.1.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jbpm-identity-3.1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jdbc2_0-stdext.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jdbc2_0-stdext.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/activemq/activemq-core-4.1.0-incubator.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/activemq/activemq-core-4.1.0-incubator.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/activemq/backport-util-concurrent-2.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/activemq/backport-util-concurrent-2.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/mqseries/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/mqseries/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jms/mqseries/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+In MQ Series create a Queue Manager called "ConnectionFactory", or bind this under JNDI. Under it
+create Queue using all CAPS, and no slashes.
+
+From you WAS installation Obtain:
+mqcontext.jar
+com.ibm.mq.pcf.jar
+
+From the MQ Series 5.3/6.0 obtain:
+com.ibm.mq.jar
+com.ibm.mqjms.jar
+
+Note that for MQ 6.0:
+Message: Unable to get a MQ series Queue Manager or Queue Connection. Reason: failed to create connection --javax.jms. JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager
+Explanation: There is a problem with user permissions or access.
+Tip: Make sure the user accessing MQ Queue Manager is part of the mqm group.
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jsch-0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jsch-0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jta.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/jta.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/juddi-1.0-SNAPSHOT.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/juddi-1.0-SNAPSHOT.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/juddi-client-1.0-SNAPSHOT.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/juddi-client-1.0-SNAPSHOT.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/junit-4.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/junit-4.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/log4j.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/log4j.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/mail.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/mail.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-commons-0.8.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-commons-0.8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-edisax-0.1-SNAPSHOT.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-edisax-0.1-SNAPSHOT.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-core-0.8.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-core-0.8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-csv-0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-csv-0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-edi-0.1-SNAPSHOT.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-edi-0.1-SNAPSHOT.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-javabean-0.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-javabean-0.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-misc-0.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-misc-0.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-scripting-0.1-SNAPSHOT.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-scripting-0.1-SNAPSHOT.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-templating-0.2.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-smooks-templating-0.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-tinak-0.7.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/milyn-tinak-0.7.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/mockejb.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/mockejb.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/ognl-2.6.9.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/ognl-2.6.9.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/opencsv-1.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/opencsv-1.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/postgresql-8.1-407.jdbc2ee.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/postgresql-8.1-407.jdbc2ee.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/properties-plugin.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/properties-plugin.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/scout-1.0-SNAPSHOT.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/scout-1.0-SNAPSHOT.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/stax-api-1.0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/stax-api-1.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/stringtemplate-2.3b6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/stringtemplate-2.3b6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-coyote.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-coyote.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-http.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-http.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-util.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/tomcat-util.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xalan-2.7.0.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xalan-2.7.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xbean.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xbean.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xercesImpl-2.7.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xercesImpl-2.7.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xml-apis-1.3.02.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xml-apis-1.3.02.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xmlpublic.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xmlpublic.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xstream-1.1.3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/lib/ext/xstream-1.1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/hibernate.license.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/lib/hibernate.license.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/lib/hibernate.license.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,183 @@
+GNU Lesser General Public License
+Version 2.1, February 1999
+
+Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+as the successor of the GNU Library Public License, version 2, hence
+the version number 2.1.]
+
+Preamble
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. 
+
+This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. 
+
+When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.
+
+To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. 
+
+For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. 
+
+We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. 
+
+To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. 
+
+Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. 
+
+Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. 
+
+When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. 
+
+We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. 
+
+For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. 
+
+In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. 
+
+Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. 
+
+The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. 
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
+
+A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. 
+
+The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) 
+
+"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 
+
+1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. 
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 
+
+2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: 
+
+a) The modified work must itself be a software library. 
+
+b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+
+c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. 
+
+d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. 
+
+(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) 
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. 
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. 
+
+In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 
+
+3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. 
+
+Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. 
+
+This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 
+
+4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. 
+
+If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. 
+
+However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. 
+
+When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. 
+
+If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) 
+
+Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 
+
+6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. 
+
+You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: 
+
+a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) 
+
+b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. 
+
+c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. 
+
+d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. 
+
+e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
+
+For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. 
+
+It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 
+
+7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: 
+
+a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. 
+
+b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 
+
+9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 
+
+10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 
+
+11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. 
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. 
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. 
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 
+
+12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 
+
+13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 
+
+14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. 
+
+NO WARRANTY 
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 
+
+END OF TERMS AND CONDITIONS
+How to Apply These Terms to Your New Libraries
+If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). 
+
+To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. 
+
+one line to give the library's name and an idea of what it does.
+Copyright (C) year name of author 
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail. 
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: 
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+the library `Frob' (a library for tweaking knobs) written
+by James Random Hacker.
+
+signature of Ty Coon, 1 April 1990
+Ty Coon, President of Vice
+
+That's all there is to it! 
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/jdbc2_0-stdext.licence.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/lib/jdbc2_0-stdext.licence.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/lib/jdbc2_0-stdext.licence.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,199 @@
+                Sun Microsystems, Inc.
+Binary Code License Agreement
+
+READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED
+SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY
+"AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE
+MEDIA PACKAGE.  BY OPENING THE SOFTWARE MEDIA
+PACKAGE, YOU AGREE TO THE TERMS OF THIS AGREEMENT.
+IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY,
+INDICATE YOUR ACCEPTANCE OF THESE TERMS BY
+SELECTING THE "ACCEPT" BUTTON AT THE END OF THIS
+AGREEMENT.  IF YOU DO NOT AGREE TO ALL THESE
+TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR
+PLACE OF PURCHASE FOR A REFUND OR, IF THE SOFTWARE
+IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE"
+BUTTON AT THE END OF THIS AGREEMENT.
+
+1.  LICENSE TO USE.  Sun grants you a
+non-exclusive and non-transferable license for the
+internal use only of the accompanying software and
+documentation and any error corrections provided
+by Sun (collectively "Software"), by the number of
+users and the class of computer hardware for which
+the corresponding fee has been paid.
+
+2.  RESTRICTIONS Software is confidential and
+copyrighted. Title to Software and all associated
+intellectual property rights is retained by Sun
+and/or its licensors.  Except as specifically
+authorized in any Supplemental License Terms, you
+may not make copies of Software, other than a
+single copy of Software for archival purposes.
+Unless enforcement is prohibited by applicable
+law, you may not modify, decompile, or reverse
+engineer Software.  Software is not designed or
+licensed for use in on-line control of aircraft,
+air traffic, aircraft navigation or aircraft
+communications; or in the design, construction,
+operation or maintenance of any nuclear facility.
+No right, title or interest in or to any
+trademark, service mark, logo or trade name of Sun
+or its licensors is granted under this Agreement.
+
+3. LIMITED WARRANTY.  Sun warrants to you that for
+a period of ninety (90) days from the date of
+purchase, as evidenced by a copy of the receipt,
+the media on which Software is furnished (if any)
+will be free of defects in materials and
+workmanship under normal use.  Except for the
+foregoing, Software is provided "AS IS".  Your
+exclusive remedy and Sun's entire liability under
+this limited warranty will be at Sun's option to
+replace Software media or refund the fee paid for
+Software.
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN
+THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
+IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE
+DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT
+PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS
+LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT
+OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL,
+INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED
+REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
+OF OR RELATED TO THE USE OF OR INABILITY TO USE
+SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.  In no event will
+Sun's liability to you, whether in contract, tort
+(including negligence), or otherwise, exceed the
+amount paid by you for Software under this
+Agreement.  The foregoing limitations will apply
+even if the above stated warranty fails of its
+essential purpose.
+
+6.  Termination.  This Agreement is effective
+until terminated.  You may terminate this
+Agreement at any time by destroying all copies of
+Software.  This Agreement will terminate
+immediately without notice from Sun if you fail to
+comply with any provision of this Agreement.  Upon
+Termination, you must destroy all copies of
+Software.
+
+7.  Export Regulations.  All Software and
+technical data delivered under this Agreement are
+subject to US export control laws and may be
+subject to export or import regulations in other
+countries.  You agree to comply strictly with all
+such laws and regulations and acknowledge that you
+have the responsibility to obtain such licenses to
+export, re-export, or import as may be required
+after delivery to you.
+
+8.  U.S. Government Restricted Rights.  If
+Software is being acquired by or on behalf of the
+U.S. Government or by a U.S. Government prime
+contractor or subcontractor (at any tier), then
+the Government's rights in Software and
+accompanying documentation will be only as set
+forth in this Agreement; this is in accordance
+with 48 CFR 227.7201 through 227.7202-4 (for
+Department of Defense (DOD) acquisitions) and with
+48 CFR 2.101 and 12.212 (for non-DOD
+acquisitions).
+
+9.  Governing Law.  Any action related to this
+Agreement will be governed by California law and
+controlling U.S. federal law.  No choice of law
+rules of any jurisdiction will apply.
+
+10.  Severability. If any provision of this
+Agreement is held to be unenforceable, this
+Agreement will remain in effect with the provision
+omitted, unless omission would frustrate the
+intent of the parties, in which case this
+Agreement will immediately terminate.
+
+11.  Integration.  This Agreement is the entire
+agreement between you and Sun relating to its
+subject matter.  It supersedes all prior or
+contemporaneous oral or written communications,
+proposals, representations and warranties and
+prevails over any conflicting or additional terms
+of any quote, order, acknowledgment, or other
+communication between the parties relating to its
+subject matter during the term of this Agreement.
+No modification of this Agreement will be binding,
+unless in writing and signed by an authorized
+representative of each party.
+
+For inquiries please contact: Sun Microsystems,
+Inc.  901 San Antonio Road, Palo Alto, California
+94303
+
+
+SUPPLEMENTAL LICENSE TERMS
+JDBCTM 2.0 INTERFACE CLASSES
+
+These supplemental license terms ("Supplement")
+add to or modify the terms of the Binary Code
+License Agreement (collectively, the
+"Agreement"). Capitalized terms not defined in
+this Supplement shall have the same meanings
+ascribed to them in the Agreement. These
+Supplement terms shall supersede any inconsistent
+or conflicting terms in the Agreement, or in any
+license contained within the Software.
+
+1. License to Distribute. Sun grants you a
+non-exclusive, non-transferable, limited license
+to reproduce and distribute the binary and/or
+source code form of the Software to third party
+end users through multiple tiers of distribution,
+provided that you: (i) distribute the Software
+complete and unmodified in its original Java
+Archive file, and only bundled as a part of your
+program that incorporates the Software
+("Program"); (ii) do not distribute additional
+software intended to replace any component(s) of
+the Software; (iii) agree to incorporate the most
+current version of the Software that was available
+from Sun no later than 180 days prior to each
+production release of the Program; (iv) do not
+remove or alter any proprietary legends or notices
+contained in or on the Software; (v) only
+distribute the Program pursuant to a license
+agreement that protects Sun's interest consistent
+with the terms contained in the Agreement; (vi)
+may not create, or authorize your licensees to cr!
+eate additional classes, interfaces, or
+subpackages that are contained in the "java"
+"javax" or "sun" packages or similar as specified
+by Sun in any class file naming convention; and
+(vii) agree to defend and indemnify Sun and its
+licensors from and against any damages, costs,
+liabilities, settlement amounts and/or expenses
+(including attorneys' fees) incurred in connection
+with any claim, lawsuit or action by any third
+party that arises or results from the use or
+distribution of any and all Programs.
+
+2. Trademarks and Logos. You acknowledge as
+between you and Sun that Sun owns the Java
+trademark and all Java-related trademarks, logos
+and icons including the Coffee Cup and Duke ("Java
+Marks") and agree to comply with the Java
+Trademark Guidelines at
+http://java.sun.com/trademarks.html.
+
+
+
+
+
+                
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/lib/jta.licence.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/lib/jta.licence.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/lib/jta.licence.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,49 @@
+  
+Sun Microsystems, Inc. 
+Binary Code License Agreement
+
+READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA PACKAGE.  BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU AGREE TO THE TERMS OF THIS AGREEMENT.  IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT.  IF YOU DO NOT AGREE TO ALL THESE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT THE END OF THIS AGREEMENT. 
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer hardware for which the corresponding fee has been paid. 
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other than a single copy of Software for archival purposes.  Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software.  Licensee acknowledges that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Sun Microsystems, Inc. disclaims any express or implied warranty of fitness for such uses.   No right, title or interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement. 
+
+3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except for the foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's option to replace Software media or refund the fee paid for Software. 
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. 
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose. 
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.  Upon Termination, you must destroy all copies of Software. 
+
+7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you. 
+
+8.   U.S. Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions). 
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of law rules of any jurisdiction will apply. 
+
+10.  Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate. 
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party. 
+
+JAVATM INTERFACE CLASSES 
+JAVA TRANSACTION API (JTA), VERSION 1.0.1B, MAINTENANCE RELEASE
+SUPPLEMENTAL LICENSE TERMS
+
+These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively, the "Agreement"). Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software. 
+
+1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement, including, but not limited to Section 3 (Java Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce internally and use internally the binary form of the Software, complete and unmodified, for the sole purpose of designing, developing and testing your Java applets and applications ("Programs"). 
+
+2. License to Distribute Software.  In addition to the license granted in Section 1 (Software Internal Use and Development License Grant) of these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to Section 3 (Java Technology Restrictions), Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the Software in binary form only, provided that you (i) distribute the Software complete and unmodified and only bundled as part of your Programs, (ii) do not distribute additional software intended to replace any component(s) of the Software, (iii) do not remove or alter any proprietary legends or notices contained in the Software, (iv) only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms contained in this Agreement, and (v) agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settle!
 ment amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. 
+
+3. Java Technology Restrictions. You may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java" package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or modification of the classes in the JPI.  In the event that you create an additional class and associated API(s) which (i) extends the functionality of the Java Platform, and (ii) is exposed to third party software developers for the purpose of developing additional software which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers. You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation. 
+
+4. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET-related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks inures to Sun's benefit. 
+
+5. Source Code. Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement.  Source code may not be redistributed unless expressly provided for in this Agreement. 
+
+6. Termination for Infringement.  Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right. 
+
+For inquiries please contact: Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, California 95054. 
+
+ 

Added: labs/jbossesb/workspace/dmarchant/trunk/product/product.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/product.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/product.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+# JBossESB ant properties file
+# $Id$
+#
+org.jboss.esb.build.deprecation=yes
+org.jboss.esb.build.optimize=off
+org.jboss.esb.build.frominstall=no
+org.jboss.esb.build.debug=yes
+org.jboss.esb.build.tests=no
+
+org.jboss.esb.alltests.build=yes
+org.jboss.esb.jboss.home=.
+
+org.jboss.esb.test.ftp.hostname=ftp.ncl.jboss.com
+org.jboss.esb.test.ftp.user=kurt
+org.jboss.esb.test.ftp.pwd=password
+org.jboss.esb.test.ftp.dir=/home/kurt
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/SampleOrder.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/SampleOrder.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/SampleOrder.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" 
+netAmount="59.97" totalAmount="64.92" tax="4.95">
+	<Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+	<OrderLines>
+		<OrderLine position="1" quantity="1">
+			<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+		</OrderLine>
+		<OrderLine position="2" quantity="1">
+			<Product productId="299" title="Pulp Fiction" price="29.99"/>
+		</OrderLine>
+	</OrderLines>
+</Order>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,34 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >                      
+             <jms-bus busid="AggregatorListenQueue">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/A"/>
+             </jms-bus>             
+          </jms-provider>
+      </providers>
+      
+      <services>
+          <service 
+              category="Aggregation" name="OrderAggregrator" 
+              description="Aggregates messages">
+              <listeners>
+                  <jms-listener name="AggregatorListenQueue" busidref="AggregatorListenQueue"
+                      maxThreads="1">
+                  </jms-listener>
+              </listeners>
+              <actions>
+                  <action class="org.jboss.soa.esb.actions.Aggregator" name="Aggregator">
+                      <property name="timeoutInMillies" value="60000"/>
+                  </action>
+                  <action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+                      <property name="message" value="An aggregated message was created" />
+                  </action>
+                  <!-- add transformation action to aggregate the attachments into 1 message -->
+              </actions> 
+          </service>	         
+	    </services>
+</jbossesb>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/blue_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/blue_service/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/blue_service/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,61 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+
+  <providers>
+     <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+         jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+         jndi-URL="localhost" >                                   
+        <jms-bus busid="Aggregator_ToBlue">
+              <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_ToBlue"/>
+        </jms-bus>
+     </jms-provider>
+  </providers>
+  <services>          
+        <!-- Blue -->
+      <service category="BlueTeam" name="GoBlue"
+  	      description="Send to the Blue Team">
+  	     <listeners>
+  	        <jms-listener
+  	       	  name="Aggregator_ToBlue"
+  	       	  busidref="Aggregator_ToBlue"
+  	       	  maxThreads="1"
+  	        />
+  	     </listeners>
+  	     <actions>
+  	            <action name="transform" 
+							    class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ 									<property name="from" value="DVDStore:OrderDispatchService" />
+									<property name="from-type" value="text/xml:fullFillOrder" />
+									<property name="to" value="DVDWarehouse_1:OrderHandlingService" />
+  								<property name="to-type" value="text/xml:shipOrder" />
+ 								</action>
+ 							  <action name="ripOrderHeader" 
+   										class="org.jboss.soa.esb.dvdstore.RetrieveOrderAction"	/>	
+ 								<action name="displayAfterTransformer" 
+   										class="quickstart.MyJMSListenerAction" process="displayMessage" />  
+
+  	        	  <action name="notificationAction" 
+               		class="org.jboss.soa.esb.actions.Notifier">
+               		<property name="okMethod" value="notifyOK" />
+               		<property name="notification-details">
+   	 			   	    <NotificationList type="OK">       				       
+				    	       <target class="NotifyQueues">
+				   	             <queue jndiName="queue/quickstart_Aggregator_Blue_Alert">
+					         	       <messageProp name="quickstart" value="Aggregator_Blue_Alert" />
+					               </queue> 
+			 	     	       </target>
+	    		   	    </NotificationList> 
+	    		        </property>
+   	   			  </action>      
+   	   			  <!-- Add an action to route to aggregator -->
+   	   			  <action name="routeToAggregator" class="org.jboss.soa.esb.actions.StaticRouter">
+                 <property name="destinations">        		      
+        	        <route-to destination-name="aggregatorService"   
+        	          service-category="Aggregation"  
+        	        	service-name="OrderAggregrator" /> 
+                 </property> 
+             </action>
+         </actions>
+  	  </service>
+	</services>
+</jbossesb>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,121 @@
+<project name="Quickstart_Aggregator" default="jars" basedir=".">
+
+ <property file="../quickstarts.properties" />
+
+ <property name="build.dir" value="${basedir}/build"/>
+ <property name="src.dir"   value="${basedir}/src"/>
+	
+ <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+  
+	<path id="classpath">
+    <fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${basedir}" includes="smooks-cdr.lst"/>
+	<fileset dir="${basedir}" includes="smooks-res.xml"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+	  <include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	</fileset>		
+  	
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+    <pathelement location="." />  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	  <mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	  <delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	  <javac srcdir="${src.dir}"
+	     destdir="${build.dir}">
+	    <classpath refid="classpath"/>
+ 	  </javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+    <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+
+  <target name="runInbound">	  
+       <echo>Inbound Router/Splitter:</echo>
+			 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+		  	   	<arg value="${basedir}/inbound_splitter/jbossesb.xml"/>
+		  		<classpath refid="classpath"/>
+		   </java>
+  </target>
+  <target name="runRedService">	  
+ 	     <echo>Red Service:</echo>
+			 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+		  	   	<arg value="${basedir}/red_service/jbossesb.xml"/>
+		  		<classpath refid="classpath"/>
+		   </java>
+  </target>
+  <target name="runBlueService">	  
+ 	     <echo>Blue Service:</echo>
+			 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+		  	   	<arg value="${basedir}/blue_service/jbossesb.xml"/>
+		  		<classpath refid="classpath"/>
+		   </java>
+  </target>
+  <target name="runGreenService">	  
+ 	     <echo>Green Service:</echo>
+			 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+		  	   	<arg value="${basedir}/green_service/jbossesb.xml"/>
+		  		<classpath refid="classpath"/>
+		   </java>
+  </target>
+  
+  <target name="runAggregatorService">	  
+ 	     <echo>Aggregator Service:</echo>
+			 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+		  	   	<arg value="${basedir}/aggregation_service/jbossesb.xml"/>
+		  		<classpath refid="classpath"/>
+		   </java>
+  </target>
+  	
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.test.SendJMSMessage" failonerror="true">
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+	
+  <target name="receiveBlue">
+	 <echo>Runs Test JMS Receiver</echo>
+	 <java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+	  	<arg value="queue/quickstart_Aggregator_Blue_Alert"/>
+		<classpath refid="classpath"/>
+	 </java>
+  </target>  
+	
+  <target name="receiveRed">
+	 <echo>Runs Test JMS Receiver</echo>
+	 <java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+	   	<arg value="queue/quickstart_Aggregator_Red_Alert"/>
+		<classpath refid="classpath"/>
+	 </java>
+   </target>  
+	
+  <target name="receiveGreen">
+	 <echo>Runs Test JMS Receiver</echo>
+	 <java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+	   	<arg value="queue/quickstart_Aggregator_Green_Alert"/>
+		<classpath refid="classpath"/>
+	 </java>
+   </target> 
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/green_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/green_service/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/green_service/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,61 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+
+  <providers>
+     <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+         jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+         jndi-URL="localhost" >                                   
+        <jms-bus busid="Aggregator_ToGreen">
+              <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_ToGreen"/>
+        </jms-bus>
+     </jms-provider>
+  </providers>
+  <services>          
+        <!-- Green -->
+      <service category="GreenTeam" name="GoGreen"
+  	      description="Send to the Green Team">
+  	     <listeners>
+  	        <jms-listener
+  	       	  name="Aggregator_ToGreen"
+  	       	  busidref="Aggregator_ToGreen"
+  	       	  maxThreads="1"
+  	        />
+  	     </listeners>
+  	     <actions>
+  	            <action name="transform" 
+							    class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ 									<property name="from" value="DVDStore:OrderDispatchService" />
+									<property name="from-type" value="text/xml:fullFillOrder" />
+									<property name="to" value="DVDWarehouse_1:OrderHandlingService" />
+  								<property name="to-type" value="text/xml:shipOrder" />
+ 								</action>
+ 							  <action name="ripLineItems" 
+   										class="org.jboss.soa.esb.dvdstore.RetrieveLineItemsAction"	/>	
+ 								<action name="displayAfterTransformer" 
+   										class="quickstart.MyJMSListenerAction" process="displayMessage" />  
+
+  	        	  <action name="notificationAction" 
+               		class="org.jboss.soa.esb.actions.Notifier">
+               		<property name="okMethod" value="notifyOK" />
+               		<property name="notification-details">
+   	 			   	    <NotificationList type="OK">       				       
+				    	       <target class="NotifyQueues">
+				   	             <queue jndiName="queue/quickstart_Aggregator_Green_Alert">
+					         	       <messageProp name="quickstart" value="Aggregator_Green_Alert" />
+					               </queue> 
+			 	     	       </target>
+	    		   	    </NotificationList> 
+	    		        </property>
+   	   			  </action>      
+   	   			  <!-- Add an action to route to aggregator -->
+   	   			  <action name="routeToAggregator" class="org.jboss.soa.esb.actions.StaticRouter">
+                 <property name="destinations">        		      
+        	        <route-to destination-name="aggregatorService"   
+        	          service-category="Aggregation"  
+        	        	service-name="OrderAggregrator" /> 
+                 </property> 
+             </action>
+         </actions>
+  	  </service>
+	</services>
+</jbossesb>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/inbound_splitter/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/inbound_splitter/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/inbound_splitter/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+
+      <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >                      
+             <jms-bus busid="quickstartGwChannel">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_Request_GW"/>
+             </jms-bus>
+             <jms-bus busid="quickstartEsbChannel">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_Request_ESB"/>
+             </jms-bus>             
+          </jms-provider>
+      </providers>
+      
+      <services>
+          <service 
+        	category="MessageRouting" 
+        	name="SplitterService" 
+        	description="Sends messages to N destinations">
+        	<listeners>        
+        		  <jms-listener name="quickstartGwChannel"
+        			   busidref="quickstartGwChannel"
+        			   maxThreads="1"
+        			   is-gateway="true"                            
+        		  />
+              <jms-listener name="quickstartEsbChannel"
+                 busidref="quickstartEsbChannel"
+                 maxThreads="1">                
+	            </jms-listener>
+          </listeners>
+          <actions>
+             <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+                 <property name="message" value="Hello Splitting Router" />
+             </action>
+             <action process="split" class="org.jboss.soa.esb.actions.StaticRouter" name="StaticRouter">
+                 <property name="destinations"> <!-- process="split" is the trick -->        		      
+        	        <route-to destination-name="red"   service-category="RedTeam"   service-name="GoRed" /> 
+        	        <route-to destination-name="blue"   service-category="BlueTeam"   service-name="GoBlue" /> 
+        	        <route-to destination-name="green"   service-category="GreenTeam"   service-name="GoGreen" /> 
+                 </property> 
+             </action>
+          </actions> 
+          </service>              
+    	</services>
+</jbossesb>

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+Overview:
+=========
+The purpose of this particular example is to demonstrate the Enterprise Integration
+Patterns of Splitter and Aggregator. In addition, this example demonstrates the 
+concepts of multiple JVMs, each running unique services but all working in concert,
+a federated model that shares a common registry and uses JMS between the JVMs.  
+The registry is managed by the ESB SAR (see Getting Started Guide). This example
+assumes JBoss MQ running on JBoss AS 4.x.  However, it uses no JBoss Application
+Server specific features.
+
+Before Running:
+===============
+1. Update the "jbosshome.dir" property in the quickstarts.properties file in "../".
+2. Make sure the jbossesb.sar is deployed on your JBoss Application Server.
+   In the ESB "install" update deployment.properties and then run "ant".
+3. Make sure the JBoss Application server is running.
+4. You will need to start 6 command windows as this example uses at least 6 JVMs
+5. All of the quickstarts rely heavily on Ant to configure the classpath and execute
+   the demonstration components.
+6. Make sure you have deployed the JMS destinations described in the 
+   esb-quickstart-service.xml by dropping this file into the JBoss AS deploy directory.
+
+To Run:
+=======
+1. Command Window 1: "ant jars" - compiles and builds the JARS
+2. Command Window 1: "ant runInbound" - contains the splitter
+It will display the entire XML message to its console
+3. Command Window 2: "ant runRedService" - rips out just the Customer
+It will display just the Customer information to its console
+4. Command Window 3: "ant runGreenService" - rips out just the LineItems
+It will display just the LineItems to its console
+5. Command Window 4: "ant runBlueService" - rips out just the OrderHeader
+It will display just the Order header information to its console
+6. Command Window 5: "ant runAggregatorService" - displays the parts together
+It will simply push out the individual message parts.  More details on how that is
+achieved can be found below
+7. Command Window 6: "ant runtest" - this sends the SampleOrder.xml into the splitter's queue
+8. The split off messages can be set out from the ESB via Notification. You can run
+"ant receiveRed", "ant receiveGreen" and "ant receiveBlue" in three more command windows 
+plus modify the Red, Green and Blue service's jbossesb.xml files to use notification
+to send to the appropriate queues. Notification is demonstrated in the fun_cbr quickstart.
+The Red Service doesn't notify, feel free to add in the XML necessary (copy from Blue or Green)
+and tweak.  When you save Red's jbossesb.xml it will be automatically hot deployed.
+
+The aggregation action (SystemPrintln in this case) needs to contain logic for handling
+the "parts". The trick is using ActionUtils.getTaskObject(message) and then looping
+through the attachments:
+
+	public Message process(Message message) throws ActionProcessingException {
+		Object messageObject = ActionUtils.getTaskObject(message);
+		
+		if(messageObject instanceof byte[]) {
+			System.out.println(printlnMessage + ": \n[" + format(new String((byte[])messageObject)) + "].");
+		} else {
+			if (messageObject!=null) System.out.println(printlnMessage + ": \n[" + format(messageObject.toString()) + "].");
+            for (int i=0; i<message.getAttachment().getUnnamedCount(); i++) {
+                Message attachedMessage = (Message) message.getAttachment().itemAt(i);
+                System.out.println("attachment " + i + ": [" + new String(attachedMessage.getBody().getContents()) + "].");
+            }
+		}		
+		return message;
+	}
+	
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/red_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/red_service/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/red_service/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,48 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+
+  <providers>
+     <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+         jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+         jndi-URL="localhost" >                                   
+        <jms-bus busid="Aggregator_ToRed">
+              <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_ToRed"/>
+        </jms-bus>
+     </jms-provider>
+  </providers>
+  <services>          
+        <!-- Red -->
+      <service category="RedTeam" name="GoRed"
+  	      description="Send to the Red Team">
+  	     <listeners>
+  	        <jms-listener
+  	       	  name="Aggregator_ToRed"
+  	       	  busidref="Aggregator_ToRed"
+  	       	  maxThreads="1"
+  	        />
+  	     </listeners>
+  	     <actions>
+  	            <action name="transform" 
+							    class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ 									<property name="from" value="DVDStore:OrderDispatchService" />
+									<property name="from-type" value="text/xml:fullFillOrder" />
+									<property name="to" value="DVDWarehouse_1:OrderHandlingService" />
+  								<property name="to-type" value="text/xml:shipOrder" />
+ 								</action>
+ 							  <action name="ripCustomer" 
+   										class="org.jboss.soa.esb.dvdstore.RetrieveCustomerAction"	/>	
+ 								<action name="displayAfterTransformer" 
+   										class="quickstart.MyJMSListenerAction" process="displayMessage" />  
+     
+   	   			  <!-- Add an action to route to aggregator -->
+   	   			  <action name="routeToAggregator" class="org.jboss.soa.esb.actions.StaticRouter">
+                 <property name="destinations">        		      
+        	        <route-to destination-name="aggregatorService"   
+        	          service-category="Aggregation"  
+        	        	service-name="OrderAggregrator" /> 
+                 </property> 
+             </action>
+         </actions>
+  	  </service>
+	</services>
+</jbossesb>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,10 @@
+####################################################
+# Uncomment out to load config from database
+####################################################
+# http://localhost:8080/jboss-esb-console/transform/smooks-config.jsf
+
+####################################################
+# Uncomment out to load config from local XML file
+####################################################
+/smooks-res.xml
+/org/milyn/templating/templating-cdu-creators-0.1.cdrl

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/smooks-res.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/smooks-res.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<!DOCTYPE smooks-resource-list PUBLIC "-//MILYN//DTD SMOOKS 1.0//EN" "http://www.milyn.org/dtd/smooksres-list-1.0.dtd" >
+<smooks-resource-list>
+	<smooks-resource selector="cdu-creator" useragent="*" path="org.milyn.templating.xslt.XslContentDeliveryUnitCreator" >
+		<param name="restype"><![CDATA[xsl]]></param>
+	</smooks-resource>
+	<smooks-resource selector="cdu-creator" useragent="*" path="org.milyn.templating.stringtemplate.StringTemplateContentDeliveryUnitCreator" >
+		<param name="restype"><![CDATA[st]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.OrderHeader]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[orderId]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+
+		<param name="attributeName"><![CDATA[orderDate]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[statusCode]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[netAmount]]></param>
+
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[totalAmount]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[tax]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.Customer]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[userName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[firstName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[lastName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+
+		<param name="attributeName"><![CDATA[state]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.OrderItem]]></param>
+		<param name="addToList"><![CDATA[true]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+
+		<param name="attributeName"><![CDATA[position]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[quantity]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[productId]]></param>
+
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[title]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[price]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice and to-type:text/xml:shiporder and to:dvdwarehouse_1:orderhandlingservice" path="/org/jboss/soa/esb/dvdstore/orderitem.st" >
+		<param name="encoding"><![CDATA[UTF-8]]></param>
+		<param name="visitBefore"><![CDATA[false]]></param>
+		<param name="action"><![CDATA[replace]]></param>
+	</smooks-resource>
+
+</smooks-resource-list>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/Customer.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/Customer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/Customer.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,94 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Customer implements java.io.Serializable{
+
+	// <Customer userName="user1" firstName="Harry" lastName="Potter" state="SD"/>
+	private String userName;
+	private String firstName;
+	private String lastName;
+	private String state;
+	
+	/**
+	 * @return Returns the firstName.
+	 */
+	public String getFirstName() {
+		return firstName;
+	}
+	/**
+	 * @param firstName The firstName to set.
+	 */
+	public void setFirstName(String firstName) {
+		//System.out.println("**** firstName: " + firstName);
+		this.firstName = firstName;
+	}
+	/**
+	 * @return Returns the lastName.
+	 */
+	public String getLastName() {
+		return lastName;
+	}
+	/**
+	 * @param lastName The lastName to set.
+	 */
+	public void setLastName(String lastName) {
+		this.lastName = lastName;
+	}
+	/**
+	 * @return Returns the state.
+	 */
+	public String getState() {
+		return state;
+	}
+	/**
+	 * @param state The state to set.
+	 */
+	public void setState(String state) {
+		this.state = state;
+	}
+	/**
+	 * @return Returns the userName.
+	 */
+	public String getUserName() {
+		return userName;
+	}
+	/**
+	 * @param userName The userName to set.
+	 */
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return lastName + "," + firstName + "," + userName;
+	}
+	
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,86 @@
+/*
+ * 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.dvdstore;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * DVD Store action.
+ * <p/>
+ * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class DVDStoreAction implements ActionProcessor {
+
+	public DVDStoreAction(ConfigTree configTree) {
+		
+	}
+	
+	public Message process(Message message) throws ActionProcessingException {
+		HashMap beanHash = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+		
+		StringBuffer results = new StringBuffer();		
+		if(beanHash != null) {
+			OrderHeader header = (OrderHeader) beanHash.get("orderHeader");
+			Customer customer = (Customer) beanHash.get("customer");
+			List orderItems = (List) beanHash.get("orderItemList");
+			results.append("Demonstrates Smooks ability to rip the XML into Objects\n");
+			results.append("********* DVDStoreAction - Order Value Objects Populated *********\n");
+			results.append("Header: " + header + "\n");
+			results.append("Customer: " + customer + "\n");
+			if(orderItems != null) {
+				results.append("Order Items (" + orderItems.size() + "):\n");
+				for(int i = 0; i < orderItems.size(); i++) {
+					results.append("\t" + i + ": " + orderItems.get(i) + "\n");
+				}
+			}
+			results.append("\n****************************************************************** ");
+		} else {
+			results.append("\n*** No beanhash found!");
+		}
+		
+		// Take this "parsed" output and make it a new message
+		message.getBody().setContents(results.toString().getBytes());
+		return message;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/OrderHeader.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/OrderHeader.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/OrderHeader.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,118 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderHeader implements java.io.Serializable {
+	
+	// <Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+	private String orderId;
+	private String orderDate;
+	private String statusCode;
+	private String netAmount;
+	private String totalAmount;
+	private String tax;
+	
+	/**
+	 * @return Returns the netAmount.
+	 */
+	public String getNetAmount() {
+		return netAmount;
+	}
+	/**
+	 * @param netAmount The netAmount to set.
+	 */
+	public void setNetAmount(String netAmount) {
+		// System.out.println("**** netAmount: " + netAmount);
+		this.netAmount = netAmount;
+	}
+	/**
+	 * @return Returns the orderDate.
+	 */
+	public String getOrderDate() {
+		return orderDate;
+	}
+	/**
+	 * @param orderDate The orderDate to set.
+	 */
+	public void setOrderDate(String orderDate) {
+		this.orderDate = orderDate;
+	}
+	/**
+	 * @return Returns the orderId.
+	 */
+	public String getOrderId() {
+		return orderId;
+	}
+	/**
+	 * @param orderId The orderId to set.
+	 */
+	public void setOrderId(String orderId) {
+		this.orderId = orderId;
+	}
+	/**
+	 * @return Returns the statusCode.
+	 */
+	public String getStatusCode() {
+		return statusCode;
+	}
+	/**
+	 * @param statusCode The statusCode to set.
+	 */
+	public void setStatusCode(String statusCode) {
+		this.statusCode = statusCode;
+	}
+	/**
+	 * @return Returns the tax.
+	 */
+	public String getTax() {
+		return tax;
+	}
+	/**
+	 * @param tax The tax to set.
+	 */
+	public void setTax(String tax) {
+		this.tax = tax;
+	}
+	/**
+	 * @return Returns the totalAmount.
+	 */
+	public String getTotalAmount() {
+		return totalAmount;
+	}
+	/**
+	 * @param totalAmount The totalAmount to set.
+	 */
+	public void setTotalAmount(String totalAmount) {
+		this.totalAmount = totalAmount;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return orderId + ", " + orderDate + ", " + statusCode + ", " + netAmount + ", " + totalAmount + ", " + tax + ", ";
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/OrderItem.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/OrderItem.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/OrderItem.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,109 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderItem implements java.io.Serializable {
+
+	// <OrderLine position="1" quantity="1">
+	// 		<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+	// </OrderLine>
+	private String position;
+	private String quantity;
+	private String productId;
+	private String title;
+	private String price;
+	
+	/**
+	 * @return Returns the position.
+	 */
+	public String getPosition() {
+		return position;
+	}
+	/**
+	 * @param position The position to set.
+	 */
+	public void setPosition(String position) {
+		//System.out.println("**** position: " + position);
+		this.position = position;
+	}
+	/**
+	 * @return Returns the price.
+	 */
+	public String getPrice() {
+		return price;
+	}
+	/**
+	 * @param price The price to set.
+	 */
+	public void setPrice(String price) {
+		//System.out.println("**** price: " + price);
+		this.price = price;
+	}
+	/**
+	 * @return Returns the productId.
+	 */
+	public String getProductId() {
+		return productId;
+	}
+	/**
+	 * @param productId The productId to set.
+	 */
+	public void setProductId(String productId) {
+		this.productId = productId;
+	}
+	/**
+	 * @return Returns the quantity.
+	 */
+	public String getQuantity() {
+		return quantity;
+	}
+	/**
+	 * @param quantity The quantity to set.
+	 */
+	public void setQuantity(String quantity) {
+		this.quantity = quantity;
+	}
+	/**
+	 * @return Returns the title.
+	 */
+	public String getTitle() {
+		return title;
+	}
+	/**
+	 * @param title The title to set.
+	 */
+	public void setTitle(String title) {
+		this.title = title;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return position + "," + quantity + "," + productId + "," + title + "," + price;
+		
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,72 @@
+/*
+ * 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.dvdstore;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * DVD Store action.
+ * <p/>
+ * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RetrieveCustomerAction implements ActionProcessor {
+
+	public RetrieveCustomerAction(ConfigTree configTree) {
+		
+	}
+	
+	public Message process(Message message) throws ActionProcessingException {
+		HashMap transformedMsg = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+		
+		StringBuffer results = new StringBuffer();		
+		if(transformedMsg != null) {			
+			Customer customer = (Customer) transformedMsg.get("customer");			
+			results.append("Customer: " + customer);						
+		} else {			
+			results.append("\n*** No beanhash found, failed to transform");
+		}	
+		message.getBody().setContents(results.toString().getBytes());
+		return message;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,79 @@
+/*
+ * 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.dvdstore;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * DVD Store action.
+ * <p/>
+ * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RetrieveLineItemsAction implements ActionProcessor {
+
+	public RetrieveLineItemsAction(ConfigTree configTree) {
+		
+	}
+	
+	public Message process(Message message) throws ActionProcessingException {
+		HashMap transformedMsg = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+		
+		StringBuffer results = new StringBuffer();		
+		if(transformedMsg != null) {
+			List orderItems = (List) transformedMsg.get("orderItemList");			
+			if(orderItems != null) {
+				results.append("Order Items (" + orderItems.size() + "):");
+				for(int i = 0; i < orderItems.size(); i++) {
+					results.append("\n" + i + ": " + orderItems.get(i));
+				}
+			}			
+		} else {
+			results.append("\n*** No beanhash found!");
+		}
+		
+		// Take this "parsed" output and make it a new message
+		message.getBody().setContents(results.toString().getBytes());
+		return message;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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.dvdstore;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * DVD Store action.
+ * <p/>
+ * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RetrieveOrderAction implements ActionProcessor {
+
+	public RetrieveOrderAction(ConfigTree configTree) {
+		
+	}
+	
+	public Message process(Message message) throws ActionProcessingException {
+		HashMap transformedMsg = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+		
+		StringBuffer results = new StringBuffer();		
+		if(transformedMsg != null) {
+			OrderHeader header = (OrderHeader) transformedMsg.get("orderHeader");
+			
+			results.append(header);
+			
+		} else {
+			results.append("\n*** No beanhash found!");
+		}
+			
+		message.getBody().setContents(results.toString().getBytes());
+		return message;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/orderitem.st
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/orderitem.st	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/orderitem.st	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+		<order-item>
+			<index>$orderItem.position$</index>
+			<quantity>$orderItem.quantity$</quantity>
+			<product>$orderItem.productId$</product>
+			<title>$orderItem.title$</title>
+			<price>$orderItem.price$</price>
+		</order-item>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Header;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.apache.log4j.Logger;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println(new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/ReturnJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/ReturnJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/ReturnJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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 quickstart;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+import javax.jms.TextMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import org.jboss.soa.esb.message.Message;
+
+public class ReturnJMSMessage {
+       
+    public static void sendMessage(Message esbMessage,String newDestination) throws JMSException, NamingException, Exception {
+    	if (esbMessage == null || newDestination == null) 
+    		throw new Exception("Message and JMS Destination are required");
+    
+    	QueueConnection conn;
+        QueueSession session;
+        Queue que;
+        
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/" + newDestination);
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+
+    	    	   
+    	String newMsg = new String(esbMessage.getBody().getContents());
+
+    	
+    	QueueSender send = session.createSender(que);        
+        TextMessage tm = session.createTextMessage(newMsg);
+        send.send(tm);
+        
+
+    	conn.stop();
+    }    
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/TeamAlert.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/TeamAlert.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/TeamAlert.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,85 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class TeamAlert {
+	
+	  protected Message  _message;
+	  protected ConfigTree	_config;
+	  
+	  public TeamAlert (ConfigTree config) { _config = config; } 
+	  	  
+	  public Message sendResponseBlue(Message message) {
+		  try {
+			   logHeader();
+			   System.out.println(new String(message.getBody().getContents()));
+			   System.out.println("Blue Blue Blue");
+			   logFooter();
+			   ReturnJMSMessage.sendMessage(message,"quickstart_Fun_CBR_Blue_Alert");
+		   } catch (Exception e) {
+			   logHeader();
+			   System.out.println(e.getMessage());
+			   logFooter();
+		   }
+		   return message;
+	  }
+	  
+	  public Message sendResponseRed(Message message) {
+		  try {
+			   logHeader();
+			   System.out.println(new String(message.getBody().getContents()));
+			   System.out.println("Red Red Red");
+			   logFooter();
+			   ReturnJMSMessage.sendMessage(message,"quickstart_Fun_CBR_Red_Alert");
+		   } catch (Exception e) {
+			   logHeader();
+			   System.out.println(e.getMessage());
+			   logFooter();
+		   }
+		   return message;
+	  }
+
+	  public Message sendResponseGreen(Message message) {
+		  try {
+			   logHeader();
+			   System.out.println(new String(message.getBody().getContents()));
+			   System.out.println("Green Green Green");
+			   logFooter();
+			   ReturnJMSMessage.sendMessage(message,"quickstart_Fun_CBR_Green_Alert");
+		   } catch (Exception e) {
+			   logHeader();
+			   System.out.println(e.getMessage());
+			   logFooter();
+		   }
+		   return message;
+	  }
+	  
+	  private void logHeader() {
+		  System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+	  }
+	  private void logFooter() {
+		  System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+	  }
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/ReceiveJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/ReceiveJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/ReceiveJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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 quickstart.test;
+
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueReceiver;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.InitialContext;
+
+public class ReceiveJMSMessage {
+	   QueueConnection conn = null;	   
+	   QueueSession receiverSession = null;	   
+	   Queue receiverQueue = null;	   
+	   QueueReceiver queueReceiver = null;
+	   InitialContext iniCtx = null;
+	   QueueConnectionFactory qcf = null;
+	   String receiveQueueName = "queue/D"; // Default to queue/D
+	   
+	   public ReceiveJMSMessage() {
+		   
+	   }
+	   public void receiveOne() {
+		   try {
+		   if (iniCtx == null) iniCtx = new InitialContext();
+	          if (qcf == null) qcf = (QueueConnectionFactory) iniCtx.lookup("ConnectionFactory");
+	          if (conn == null) {
+	              conn = qcf.createQueueConnection();
+	              conn.start();
+	          }	        
+	          receiverQueue = (Queue) iniCtx.lookup(receiveQueueName);
+	          receiverSession = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+	    	  queueReceiver = receiverSession.createReceiver(receiverQueue); 
+	    	  TextMessage msg = (TextMessage) queueReceiver.receive(2000);
+	    	  if (msg != null) {
+	    		  System.out.println("*********************************************************");
+	    		  System.out.println(msg);
+	    		  System.out.println("*********************************************************");
+	    	  }	
+		   } catch (Exception e) {
+			   System.out.println(e);
+		   }
+	   }
+	   public static void main(String[] args) {
+		      ReceiveJMSMessage receiver = new ReceiveJMSMessage();
+		      
+		      if(args[0] != null) {
+		    	  receiver.receiveQueueName = args[0];
+		    	  System.out.println("Receiving on: " + receiver.receiveQueueName );		    	 
+		      }		    	  
+		      while (true) { // loop until I'm killed
+		    	  receiver.receiveOne();
+		      }
+	   }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/aggregator/src/quickstart/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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 quickstart.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_Aggregator_Request_GW");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);        
+        send.send(tm);        
+        send.close();
+    }
+    public String readAsciiFile(String fileName) throws IOException {
+		  FileReader fr = null;
+		  char[] thechars = null;
+
+		  try {
+			  File thefile = new File( fileName );
+			  fr = new FileReader( thefile );
+			  int size = (int) thefile.length();
+			  thechars = new char[size];
+		
+			  int count, index = 0;
+		
+			  // 	read in the bytes from the input stream
+			  while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
+				  size -= count;
+				  index += count;
+			  }
+			} catch(Exception e) {	
+				System.out.println(e);
+			}
+			finally {
+				if( fr != null )
+		        fr.close();
+			}
+			return new String(thechars);
+
+    } // readAsciiFile
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	String fileContent = sm.readAsciiFile("SampleOrder.xml");
+    	System.out.println("---------------------------------------------");
+    	System.out.println(fileContent);
+    	System.out.println("---------------------------------------------");
+    	sm.sendAMessage(fileContent); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,155 @@
+<?xml version="1.0"?>
+
+<!-- ======================================================================= -->
+<!-- JBoss build file                                                       -->
+<!-- ======================================================================= -->
+
+<project name="Quickstart_business_service" default="run" basedir=".">
+ 
+   <property file="../quickstarts.properties"/>   
+   <property name="jboss.server.config" value="default"/>
+      
+   <property name="ejb.dir" value="${basedir}/ejb3" />
+   <property name="ejb.src.dir" value="${ejb.dir}/src"/>   
+   <property name="ejb.build.dir" value="${ejb.dir}/build"/>
+   <property name="ejb.build.classes.dir" value="${ejb.build.dir}/classes"/>
+   
+   <property name="esb_actions.dir" value="${basedir}/esb_actions" />
+   <property name="esb_actions.src.dir" value="${esb_actions.dir}/src"/>   
+   <property name="esb_actions.build.dir" value="${esb_actions.dir}/build"/>
+   <property name="esb_actions.build.classes.dir" value="${esb_actions.build.dir}/classes"/>
+
+   <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+   
+   <!-- Build classpath -->
+   <path id="classpath">
+      <!-- So that we can get jndi.properties for InitialContext -->
+      <pathelement location="${basedir}"/>
+      
+      <!-- these are for the ESB -->
+      <fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	    <fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	    <fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	    <fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	    <fileset dir="${basedir}" includes="esb_actions/build/**/*.jar"/>
+	     <!-- these are for the EJB -->
+      <fileset dir="${jbosshome.dir}/lib">
+         <include name="**/*.jar"/>
+      </fileset>
+      <fileset dir="${jbosshome.dir}/server/${jboss.server.config}/lib">
+         <include name="**/*.jar"/>
+      </fileset>
+      <fileset dir="${jbosshome.dir}/server/${jboss.server.config}/deploy/ejb3.deployer">
+         <include name="*.jar"/>
+      </fileset>
+      <fileset dir="${jbosshome.dir}/server/${jboss.server.config}/deploy/jboss-aop-jdk50.deployer">
+         <include name="*.jar"/>
+      </fileset>
+      <!-- added for WebServices -->
+			<fileset dir="${jbosshome.dir}/server/${jboss.server.config}/deploy/jbossws.sar">
+         <include name="*.jar"/>
+      </fileset>
+      <pathelement location="${ejb.build.classes.dir}"/>
+   </path>
+
+   <property name="build.classpath" refid="classpath"/>
+
+   <property name="cp" refid="classpath"/>
+  
+   <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+   </target>
+   
+   <!-- =================================================================== -->
+   <!-- Prepares the build directory                                        -->
+   <!-- =================================================================== -->
+   <target name="prepare">
+      <mkdir dir="${ejb.build.dir}"/>
+      <mkdir dir="${ejb.build.classes.dir}"/>
+      <mkdir dir="${esb_actions.build.dir}"/>
+      <mkdir dir="${esb_actions.build.classes.dir}"/>
+   </target>
+
+   <!-- =================================================================== -->
+   <!-- Compiles the source code                                            -->
+   <!-- =================================================================== -->
+   <target name="ejbcompile" depends="prepare">
+      <javac srcdir="${ejb.src.dir}"
+         destdir="${ejb.build.classes.dir}"
+         debug="on"
+         deprecation="on"
+         optimize="off"
+         includes="**">
+         <classpath refid="classpath"/>
+      </javac>
+   </target>
+
+   <target name="esbcompile" depends="prepare">
+			<javac srcdir="${esb_actions.src.dir}"
+	   		 destdir="${esb_actions.build.classes.dir}">
+	       <classpath refid="classpath"/>
+ 	    </javac>
+   </target>
+   
+   <target name="ejbjar" depends="ejbcompile">
+      <jar jarfile="${ejb.build.dir}/${ant.project.name}.jar">
+         <fileset dir="${ejb.build.classes.dir}">
+            <include name="**/*.class"/>
+         </fileset>
+      </jar>   
+   </target>
+   
+   <target name="esbjar" depends="esbcompile">
+		    <delete file="${esb_actions.build.dir}/${ant.project.name}_ESB.jar"/>
+		    <jar jarfile="${esb_actions.build.dir}/${ant.project.name}_ESB.jar">
+        	 <fileset dir="${esb_actions.build.classes.dir}">
+           	 <include name="**/*.class"/>
+         	 </fileset>
+        </jar>
+   </target>
+  
+   <target name="run" depends="ejbjar,esbjar">
+     <echo>Action uses EJB as a business service</echo>
+	 		<java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+  	   	<arg value="${esb-config}"/>
+  		<classpath refid="classpath"/>
+  	 </java>     
+   </target>	
+   
+   <target name="deployejb" depends="ejbjar">
+      <copy file="${ejb.build.dir}/${ant.project.name}.jar" todir="${jbosshome.dir}/server/${jboss.server.config}/deploy"/>
+   </target>
+   
+   <target name="testaspojo" depends="ejbcompile">
+      <java classname="org.jboss.tutorial.stateless.client.Client" fork="yes" dir=".">
+         <arg value="-pojo"/>
+         <classpath refid="classpath"/>
+      </java>
+   </target>
+
+   <target name="testasejb" depends="deployejb">
+      <java classname="org.jboss.tutorial.stateless.client.Client" fork="yes" dir=".">
+         <arg value="-ejb"/>
+         <classpath refid="classpath"/>
+      </java>
+   </target>
+
+   <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.business_service.test.SendJMSMessage" failonerror="true">
+     	<arg value="Your Name"/>
+		<classpath refid="classpath"/>
+     </java>
+  </target>     
+   <!-- =================================================================== -->
+   <!-- Cleans up generated stuff                                           -->
+   <!-- =================================================================== -->
+   <target name="clean">
+      <delete dir="${ejb.build.dir}"/>
+      <delete dir="${esb_actions.build.dir}"/>
+      <delete file="${jboss.home}/server/${jboss.server.config}/deploy/${ant.project.name}.jar"/>
+   </target>
+
+
+</project>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/HelloWorld.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/HelloWorld.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/HelloWorld.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,26 @@
+/*
+ * 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.tutorial.stateless.bean;
+
+public interface HelloWorld
+{
+  public String sayHello(String toWhom);   
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/HelloWorldBean.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/HelloWorldBean.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/bean/HelloWorldBean.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,35 @@
+/*
+ * 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.tutorial.stateless.bean;
+
+import javax.ejb.Stateless;
+import javax.ejb.Remote;
+
+ at Stateless
+ at Remote(HelloWorld.class)
+public class HelloWorldBean
+  implements HelloWorld
+{
+   public String sayHello(String toWhom) {
+   	  System.out.println("Saying Hello to " + toWhom);
+   		return "Hello World: " + toWhom + " " + new java.util.Date();
+   }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/client/Client.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/client/Client.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/ejb3/src/org/jboss/tutorial/stateless/client/Client.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+/*
+ * 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.tutorial.stateless.client;
+
+import org.jboss.tutorial.stateless.bean.HelloWorld;
+import org.jboss.tutorial.stateless.bean.HelloWorldBean;
+
+import javax.naming.InitialContext;
+
+public class Client
+{
+   public static void main(String[] args) throws Exception
+   {
+      // Store a reference to the calculator interface
+      HelloWorld hw = null;
+
+      // Decide whether to use a POJO or connect to an EJB
+      if (args.length != 1)
+      {
+        System.err.println("Usage: java org.jboss.tutorial.client.Client [-pojo|-ejb]");
+        System.exit(1);
+      }
+      else if (args[0].equals("-pojo"))
+      {
+        // Simply create a new POJO to act as the HelloWorld
+        System.out.println("Creating a new HelloWorldBean POJO");
+        hw = new HelloWorldBean();
+      }
+      else if (args[0].equals("-ejb"))
+      {
+        // Obtain an initial context
+        InitialContext ctx = new InitialContext();
+        
+        // Look up a remote interface to a calculator EJB
+        System.out.println("Obtaining a reference to a remote HelloWorldBean EJB");
+        hw = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
+      }
+      else
+      {
+        System.err.println("Usage: java org.jboss.tutorial.client.Client [-pojo|-ejb]");
+        System.exit(1);        
+      }
+
+      if (hw != null)
+      {
+        System.out.println("[Client] " + hw.sayHello("JBoss"));        
+      }
+   }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/MyAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/MyAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/MyAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,80 @@
+/*
+ * 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 quickstart.business_service;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.tutorial.stateless.bean.HelloWorld;
+import javax.naming.InitialContext;
+
+public class MyAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public Message playWithMessage(Message message) throws Exception {
+	   Body msgBody = message.getBody();
+     String results = new String();
+	   String contents = new String(msgBody.getContents());
+     try {
+     		InitialContext ctx = new InitialContext();
+           		
+     		HelloWorld client = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
+     		results = client.sayHello(contents);
+     		System.out.println("Invoked EJB3: " + results);
+     } catch (Exception e) {
+     	  System.out.println(e);
+     }
+	   msgBody.setContents(results.getBytes());
+	   return message;
+   }
+   
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/esb_actions/src/quickstart/business_service/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+/*
+ * 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 quickstart.business_service.test;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_helloworld_action_Request");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);
+        send.send(tm);        
+        send.close();
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,64 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+ xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+ parameterReloadSecs="5">
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="quickstartGwChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/quickstart_helloworld_action_Request"
+                  />
+              </jms-bus>
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+          
+        <service category="HelloWorld_ActionESB" 
+                 name="SimpleListener" 
+                 description="Hello World" >
+            <listeners>
+                <jms-listener name="JMS-Gateway"
+                    busidref="quickstartGwChannel"                         
+                    maxThreads="1"
+                    is-gateway="true"
+                />
+                <jms-listener name="JMS-ESBListener"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />                
+            </listeners>
+            <actions>
+               <action name="displayAction" 
+               		class="quickstart.business_service.MyAction" 
+               		process="displayMessage">
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+               </action>
+  			       <action name="playAction" 
+  			   	    	class="quickstart.business_service.MyAction" 
+  			   		    process="playWithMessage">  	               
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+  			       </action> 
+  			       <action name="displayAction" 
+               		class="quickstart.business_service.MyAction" 
+               		process="displayMessage">
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+               </action> 			       
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/business_service/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,54 @@
+Overview:
+=========
+    This example demonstrates the how to access an EJB3 Stateless Session Bean 
+    from within an ESB Action. ESB Actions are primarily custom mediation
+    components.  They allow you to introduce different specialized transformations, 
+    routing behaviors, orchestration, etc. The EJB3 is a simple "Hello World" 
+    annotated POJO.  
+
+Before Running:
+===============
+1. Update the "jbosshome.dir" property in the quickstarts.properties file in "../".
+2. Make sure the jbossesb.sar is deployed on your JBoss Application Server.
+   In the ESB "install" folder update deployment.properties and then run "ant".
+   This example does require you to use a version for 4.0.4+ with the EJB3 profile.
+3. Make sure the JBoss Application server is running.
+4. Make sure you have deployed the JMS destinations described in the 
+   esb-quickstart-service.xml by dropping this file into the JBoss AS deploy directory.
+5. Note: This example doesn't have a deployToSAR task at this time.
+
+
+To Run:
+=======
+1. In the first command window, execute "ant".  This will compile the project, build
+the needed jars and deploy the EJB3 component to the Application Server.  If you are 
+monitoring the Application Server console you will see it hot deploy the EJB3 jar.
+2. In a second command window, execute "ant runtest".  You will see the ESB console
+(the first command window) display:
+     [echo] Action uses EJB as a business service
+
+     [java] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+     [java] Body: Your Name
+     [java] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+
+     [java] Invoked EJB3: Hello World: Your Name Mon Jan 29 21:41:23 EST 2007
+
+     [java] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+     [java] Body: Hello World: Your Name Mon Jan 29 21:41:23 EST 2007
+     [java] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+     
+You should also notice the following on the Application Server console window:
+     21:41:23,515 INFO  [STDOUT] Saying Hello to Your Name
+     
+What to look at in this Quickstart:
+===================================
+The EJB3 POJO is very simple and the build.xml also includes tasks for testing the EJB3
+standalone apart from the ESB. You can execute "ant testasejb" to test the EJB3 
+component by itself.
+The action is also very simple:
+		InitialContext ctx = new InitialContext();
+    
+    HelloWorld client = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
+    results = client.sayHello(contents);
+    
+    
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/esb-quickstart-service.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/esb-quickstart-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/esb-quickstart-service.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_helloworld_Request">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_helloworld_action_Request">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_helloworld_action_Response">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_simple_transformation_Request">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_simple_transformation_Response">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_simple_cbr_Request">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=CBRExpressFreeShipping">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=CBRNormalShipping">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=CBRExpressFreeShippingAlert">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=CBRNormalShippingAlert">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>  
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_more_action_Request">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+  </mbean> 
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_more_action_Response">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+   </mbean>
+  <!-- Fun CBR Demo -->
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_Request_GW">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_Request_ESB">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_ToBlue">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_Blue_Alert">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_ToRed">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_Red_Alert">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_ToGreenTransformer">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_ToGreen">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Fun_CBR_Green_Alert">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  
+    <!-- Aggregator Demo -->
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Aggregator_Request_GW">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Aggregator_Request_ESB">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Aggregator_ToBlue">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Aggregator_Blue_Alert">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Aggregator_ToRed">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Aggregator_Red_Alert">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Aggregator_ToGreen">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+  <mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=quickstart_Aggregator_Green_Alert">
+    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+  </mbean>
+</server>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/SampleOrder.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/SampleOrder.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/SampleOrder.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" 
+netAmount="59.97" totalAmount="64.92" tax="4.95">
+	<Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+	<OrderLines>
+		<OrderLine position="1" quantity="1">
+			<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+		</OrderLine>
+		<OrderLine position="2" quantity="1">
+			<Product productId="299" title="Pulp Fiction" price="29.99"/>
+		</OrderLine>
+	</OrderLines>
+</Order>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,121 @@
+<project name="Quickstart_fun_cbr" default="run" basedir=".">
+
+ <property file="../quickstarts.properties" />
+
+ <property name="build.dir"
+    value="${basedir}/build"/>
+ <property name="src.dir"
+    value="${basedir}/src"/>
+	
+ <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+  
+	<path id="classpath">
+    <fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${basedir}" includes="smooks-cdr.lst"/>
+	<fileset dir="${basedir}" includes="smooks-res.xml"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+	  <include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	 </fileset>		
+  	
+    <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  	<fileset dir="${basedir}" includes="build/**/*.xml"/>
+    <pathelement location="." />  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+    <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  	<!-- Rules files must be jarred and on the classpath -->
+    <jar destfile="${build.dir}/${ant.project.name}_Rules.jar"
+		basedir="${basedir}/src/services/rules" includes="*.*"/>
+  </target>
+
+  <target name="updateRules">
+	  	<!-- Rules files must be jarred and on the classpath -->
+	    <jar destfile="${build.dir}/${ant.project.name}_Rules.jar"
+			basedir="${basedir}/src/services/rules" includes="*.*"/>
+
+  	  <copy file="${build.dir}/${ant.project.name}_Rules.jar" overwrite="true"
+			todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+	  />
+  </target>
+  <target name="run">
+	    <echo>Fun CBR: make sure to also run receiveBlue, receiveRed, receiveGreen</echo>
+			 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+		  	   	<arg value="${esb-config}"/>
+		  		<classpath refid="classpath"/>
+		  	 </java>
+  </target>
+
+  <target name="deployToSAR">
+		    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+		  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+		  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+		  	/>
+		  	<copy file="${build.dir}/${ant.project.name}_Rules.jar" overwrite="true"
+  				todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+  			/>
+		  	<copy file="jbossesb.xml" overwrite="true"
+		  		todir="${jbosshome.dir}/server/default/conf"
+		  	/>
+		  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+		  	<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+  </target>
+	
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.test.SendJMSMessage" failonerror="true">
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+	
+  <target name="receiveBlue">
+	 <echo>Runs Test JMS Receiver</echo>
+	 <java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+	  	<arg value="queue/quickstart_Fun_CBR_Blue_Alert"/>
+		<classpath refid="classpath"/>
+	 </java>
+  </target>  
+	
+  <target name="receiveRed">
+	 <echo>Runs Test JMS Receiver</echo>
+	 <java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+	   	<arg value="queue/quickstart_Fun_CBR_Red_Alert"/>
+		<classpath refid="classpath"/>
+	 </java>
+   </target>  
+	
+  <target name="receiveGreen">
+	 <echo>Runs Test JMS Receiver</echo>
+	 <java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+	   	<arg value="queue/quickstart_Fun_CBR_Green_Alert"/>
+		<classpath refid="classpath"/>
+	 </java>
+   </target> 
+</project>
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,150 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >                      
+             <jms-bus busid="quickstartGwChannel">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Fun_CBR_Request_GW"/>
+             </jms-bus>
+             <jms-bus busid="quickstartEsbChannel">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Fun_CBR_Request_ESB"/>
+             </jms-bus>
+             <jms-bus busid="Fun_CBR_ToBlue">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Fun_CBR_ToBlue"/>
+             </jms-bus>
+             <jms-bus busid="Fun_CBR_ToRed">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Fun_CBR_ToRed"/>
+             </jms-bus>
+             <jms-bus busid="Fun_CBR_ToGreenTransformer">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Fun_CBR_ToGreenTransformer"/>
+             </jms-bus>		                          
+             <jms-bus busid="Fun_CBR_ToGreen">
+                 <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Fun_CBR_ToGreen"/>
+             </jms-bus>		             
+          </jms-provider>
+      </providers>
+      
+      <services>
+        <!-- ESB CBR Service -->
+        <service 
+        	category="Fun_CBRServices_ESB" 
+        	name="FunCBRService_ESB" 
+        	description="ESB Listener - for the native clients">
+        	<listeners>
+        		  <!-- Gateway -->
+        		  <jms-listener name="TheGateway"
+        			   busidref="quickstartGwChannel"
+        			   maxThreads="1"
+        			   is-gateway="true"                            
+        		  />     
+                  <jms-listener name="XPathContentBasedRouter"
+                        busidref="quickstartEsbChannel"
+                        maxThreads="1">                
+	             </jms-listener>
+             </listeners>
+        	<actions>
+        		<action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter">
+        			<property name="ruleSet" value="MyESBRules-XPath.drl"/>
+        			<property name="ruleLanguage" value="XPathLanguage.dsl"/>
+        			<property name="ruleReload" value="true"/> 
+        			<property name="destinations">
+        				<route-to destination-name="blue"  service-category="BlueTeam"  service-name="GoBlue" /> 
+        				<route-to destination-name="red"   service-category="RedTeam"   service-name="GoRed" /> 
+        				<route-to destination-name="green" service-category="GreenTeam" service-name="GoGreen" /> 
+        			</property> 
+        		</action>
+        	</actions>
+        </service>
+        
+        <!-- Blue -->
+        <service
+  	      category="BlueTeam"
+  	      name="GoBlue"
+  	      description="Move to the Blue Team">
+  	      <listeners>
+  	        <jms-listener
+  	       	  name="Fun_CBR_ToBlue"
+  	       	  busidref="Fun_CBR_ToBlue"
+  	       	  maxThreads="1"
+  	         />
+  	      </listeners>
+  	      <actions>
+  	      	  <action name="notificationAction" 
+               		class="org.jboss.soa.esb.actions.Notifier">
+               		<property name="okMethod" value="notifyOK" />
+               		<property name="notification-details">
+   	 				   <NotificationList type="OK"> 
+      				     <target class="NotifyConsole" /> <!--  System.out.println -->
+				    	 <target class="NotifyQueues">
+				   	       <queue jndiName="queue/quickstart_Fun_CBR_Blue_Alert">
+					         	<messageProp name="quickstart" value="Fun_CBR_Blue_Alert" />
+					       </queue> 
+			 	     	 </target>
+	    		   	   </NotificationList> 
+	    		   </property>
+   	   			</action>      
+           </actions>
+  	    </service>
+
+        <!-- Red -->
+        <service
+  	      category="RedTeam"
+  	      name="GoRed"
+  	      description="Move to the Red Team">
+  	      <listeners>
+  	        <jms-listener
+  	       	  name="Fun_CBR_ToRed"
+  	       	  busidref="Fun_CBR_ToRed"
+  	       	  maxThreads="1"
+  	         />
+  	      </listeners>
+  	      <actions>
+  	      	  <action name="notificationAction" 
+               		class="org.jboss.soa.esb.actions.Notifier">
+               		<property name="okMethod" value="notifyOK" />
+               		<property name="notification-details">
+   	 				   <NotificationList type="OK"> 
+      				     <target class="NotifyConsole" /> <!--  System.out.println -->
+				    	 <target class="NotifyQueues">
+				   	       <queue jndiName="queue/quickstart_Fun_CBR_Red_Alert">
+					         	<messageProp name="quickstart" value="Fun_CBR_Red_Alert" />
+					       </queue> 
+			 	     	 </target>
+	    		   	   </NotificationList> 
+	    		   </property>
+   	   			</action>      
+           </actions>
+  	    </service>
+
+        <!--  Green Entry Point - conducts a transformation -->
+        <service
+  	      category="GreenTeam"
+  	      name="GoGreen"
+  	      description="First transform then send to the Green Team">
+  	      <listeners>
+  	        <jms-listener
+  	       	  name="Fun_CBR_ToGreenTransformer"
+  	       	  busidref="Fun_CBR_ToGreenTransformer"
+  	       	  maxThreads="1"
+  	         />
+  	      </listeners>  	      
+  	      <actions>
+  	          <!-- insert transformer here -->
+   	   		    <action name="notificationAction" class="org.jboss.soa.esb.actions.Notifier">
+               		<property name="okMethod" value="notifyOK" />
+               		<property name="notification-details">
+   	 				   <NotificationList type="OK"> 
+				    	 <target class="NotifyQueues">
+				   	       <queue jndiName="queue/quickstart_Fun_CBR_Green_Alert">
+					         	<messageProp name="quickstart" value="Fun_CBR_Green_Alert" />
+					       </queue> 
+			 	     	 </target>
+	    		   	   </NotificationList> 
+	    		   </property>
+   	   			</action>  
+           </actions>
+  	    </service>  	         
+	</services>
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,56 @@
+Overview:
+=========
+    This example demonstrates the dynamic hot reloading/redeploy capability of both the jbossesb.xml configuration and the rules associated with the CBR (Content-based Routing). 
+The benefit of hot reloading means that the service does not have to come down in order
+to make a change. In addition, you can change the rules based upon current load situations scenarios.  This example has three "teams" of order processors.  All new orders that flow into the system are evaluated via the rules engine.  These routing rules will determine which team receives the order for actually processing.  In the case of the green team, the order is first transformed to a different format prior to routing. 
+
+Before Running:
+===============
+1. Update the "jbosshome.dir" property in the quickstarts.properties file in "../".
+2. Make sure the jbossesb.sar is deployed on your JBoss Application Server.
+   In the ESB "install" update deployment.properties and then run "ant".
+3. Make sure the JBoss Application server is running.
+4. For standalone execution (running outside of an App Server) you will eventually
+   need five (5) command windows running to execute this demonstration.
+5. All of the quickstarts rely heavily on Ant to configure the classpath and execute
+   the demonstration components.
+6. Make sure you have deployed the JMS destinations described in the 
+   esb-quickstart-service.xml by dropping this file into the JBoss AS deploy directory.
+
+To Run:
+=======
+1. In the first command window execute "ant clean". This removes the build folder from the project.
+2. In the first command window execute "ant compile" then "ant jars". These steps compile the Java sources and create the appropriate jar files. You should notice that their are two jar files for this example. The additional jar file is for the Rules files.  If you review the build.xml you should see there is a task called "updateRules" that will rebuild this jar file individually. This is useful for testing the redeployment of Rules without bringing down the overall ESB.
+3. Now, in the first command window, execute "ant" to bring up the ESB for this set of services. 
+4. In the command windows 2, 3 and 4 run "ant receiveBlue", "ant receiveRed" and "ant receiveGreen" respectively.  These are simply JMS queue listeners that will simply display any messages they receive to their console windows. Think of these simple JMS receivers as actual customer service teams within an organization.  The routing depends on the statusCode attribute in the SampleOrder.xml file.  It would be relatively simple to modify this example to include a service (listener & action combination) to introduce "scoring" rules logic that sets the status code of the message prior to sending it on to the CBR.
+5. In the fifth command window execute "ant runtest".  This will take a copy of SampleOrder.xml and shoot it into the primary JMS queue for this sample - quickstart_Fun_CBR_Request_GW. Open the MyESBRules-XPath.drl file and review the actual routing rules:
+	rule "Red Routing Rule using XPATH"	
+		when
+			xpathEquals "/Order/@statusCode", "1"
+		then 
+	  	  Log : "Red Team";
+			  Destination : "RedTeam:GoRed";		
+	end
+6. Open the SampleOrder.xml file and modify the statusCode to equal 0 or 2 and re-execute "ant runtest" to see that it properly routes to the correct endpoint.
+7. Open MyESBRules-XPath.drl and change the routes to the following:
+Blue for statusCode="1"
+Red for statusCode="2"
+Green for statusCode="0"
+Note: If you are using the JBossIDE 2.0 there is a great JBoss Rules editor which provides syntax highlighting and correction assistance.
+8. In the fifth command window execute "ant updateRules" and then "ant runtest". You should see that the routes associated with the message flow have dynamically changed.
+9. Open the jbossesb.xml and insert the following actions to transform the inbound XML message to a POJO and then the POJO to a simple ASCII message in the Green Team's service.  Make sure to inject the transformer before the notification action.
+
+  <action name="transform" 
+    class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ 		<property name="from" value="DVDStore:OrderDispatchService" />
+		<property name="from-type" value="text/xml:fullFillOrder" />
+		<property name="to" value="DVDWarehouse_1:OrderHandlingService" />
+  	<property name="to-type" value="text/xml:shipOrder" />
+ </action>
+ <action name="convertPOJO2Message" 
+   class="org.jboss.soa.esb.dvdstore.DVDStoreAction"	/>	
+ <action name="displayAfterTransformer" 
+   class="quickstart.MyJMSListenerAction" process="displayMessage" />  
+
+10. In the fifth command window, make sure to modify the SampleOrder.xml to change statusCode to 0 (or to whatever is appropriate per your routing rules) then execute "ant runtest" to see the transformed message in the Green Team's console.
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,10 @@
+####################################################
+# Uncomment out to load config from database
+####################################################
+# http://localhost:8080/jboss-esb-console/transform/smooks-config.jsf
+
+####################################################
+# Uncomment out to load config from local XML file
+####################################################
+/smooks-res.xml
+/org/milyn/templating/templating-cdu-creators-0.1.cdrl

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/smooks-res.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/smooks-res.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<!DOCTYPE smooks-resource-list PUBLIC "-//MILYN//DTD SMOOKS 1.0//EN" "http://www.milyn.org/dtd/smooksres-list-1.0.dtd" >
+<smooks-resource-list>
+	<smooks-resource selector="cdu-creator" useragent="*" path="org.milyn.templating.xslt.XslContentDeliveryUnitCreator" >
+		<param name="restype"><![CDATA[xsl]]></param>
+	</smooks-resource>
+	<smooks-resource selector="cdu-creator" useragent="*" path="org.milyn.templating.stringtemplate.StringTemplateContentDeliveryUnitCreator" >
+		<param name="restype"><![CDATA[st]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.OrderHeader]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[orderId]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+
+		<param name="attributeName"><![CDATA[orderDate]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[statusCode]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[netAmount]]></param>
+
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[totalAmount]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[tax]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.Customer]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[userName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[firstName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[lastName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+
+		<param name="attributeName"><![CDATA[state]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.OrderItem]]></param>
+		<param name="addToList"><![CDATA[true]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+
+		<param name="attributeName"><![CDATA[position]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[quantity]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[productId]]></param>
+
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[title]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[price]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice and to-type:text/xml:shiporder and to:dvdwarehouse_1:orderhandlingservice" path="/org/jboss/soa/esb/dvdstore/orderitem.st" >
+		<param name="encoding"><![CDATA[UTF-8]]></param>
+		<param name="visitBefore"><![CDATA[false]]></param>
+		<param name="action"><![CDATA[replace]]></param>
+	</smooks-resource>
+
+</smooks-resource-list>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/Customer.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/Customer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/Customer.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,94 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Customer {
+
+	// <Customer userName="user1" firstName="Harry" lastName="Potter" state="SD"/>
+	private String userName;
+	private String firstName;
+	private String lastName;
+	private String state;
+	
+	/**
+	 * @return Returns the firstName.
+	 */
+	public String getFirstName() {
+		return firstName;
+	}
+	/**
+	 * @param firstName The firstName to set.
+	 */
+	public void setFirstName(String firstName) {
+		//System.out.println("**** firstName: " + firstName);
+		this.firstName = firstName;
+	}
+	/**
+	 * @return Returns the lastName.
+	 */
+	public String getLastName() {
+		return lastName;
+	}
+	/**
+	 * @param lastName The lastName to set.
+	 */
+	public void setLastName(String lastName) {
+		this.lastName = lastName;
+	}
+	/**
+	 * @return Returns the state.
+	 */
+	public String getState() {
+		return state;
+	}
+	/**
+	 * @param state The state to set.
+	 */
+	public void setState(String state) {
+		this.state = state;
+	}
+	/**
+	 * @return Returns the userName.
+	 */
+	public String getUserName() {
+		return userName;
+	}
+	/**
+	 * @param userName The userName to set.
+	 */
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return userName + "," + firstName + "," + lastName + "," + state;
+	}
+	
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,86 @@
+/*
+ * 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.dvdstore;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * DVD Store action.
+ * <p/>
+ * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class DVDStoreAction implements ActionProcessor {
+
+	public DVDStoreAction(ConfigTree configTree) {
+		
+	}
+	
+	public Message process(Message message) throws ActionProcessingException {
+		HashMap beanHash = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+		
+		StringBuffer results = new StringBuffer();		
+		if(beanHash != null) {
+			OrderHeader header = (OrderHeader) beanHash.get("orderHeader");
+			Customer customer = (Customer) beanHash.get("customer");
+			List orderItems = (List) beanHash.get("orderItemList");
+			results.append("Demonstrates Smooks ability to rip the XML into Objects\n");
+			results.append("********* DVDStoreAction - Order Value Objects Populated *********\n");
+			results.append("Header: " + header + "\n");
+			results.append("Customer: " + customer + "\n");
+			if(orderItems != null) {
+				results.append("Order Items (" + orderItems.size() + "):\n");
+				for(int i = 0; i < orderItems.size(); i++) {
+					results.append("\t" + i + ": " + orderItems.get(i) + "\n");
+				}
+			}
+			results.append("\n****************************************************************** ");
+		} else {
+			results.append("\n*** No beanhash found!");
+		}
+		
+		// Take this "parsed" output and make it a new message
+		message.getBody().setContents(results.toString().getBytes());
+		return message;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/OrderHeader.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/OrderHeader.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/OrderHeader.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,118 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderHeader {
+	
+	// <Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+	private String orderId;
+	private String orderDate;
+	private String statusCode;
+	private String netAmount;
+	private String totalAmount;
+	private String tax;
+	
+	/**
+	 * @return Returns the netAmount.
+	 */
+	public String getNetAmount() {
+		return netAmount;
+	}
+	/**
+	 * @param netAmount The netAmount to set.
+	 */
+	public void setNetAmount(String netAmount) {
+		// System.out.println("**** netAmount: " + netAmount);
+		this.netAmount = netAmount;
+	}
+	/**
+	 * @return Returns the orderDate.
+	 */
+	public String getOrderDate() {
+		return orderDate;
+	}
+	/**
+	 * @param orderDate The orderDate to set.
+	 */
+	public void setOrderDate(String orderDate) {
+		this.orderDate = orderDate;
+	}
+	/**
+	 * @return Returns the orderId.
+	 */
+	public String getOrderId() {
+		return orderId;
+	}
+	/**
+	 * @param orderId The orderId to set.
+	 */
+	public void setOrderId(String orderId) {
+		this.orderId = orderId;
+	}
+	/**
+	 * @return Returns the statusCode.
+	 */
+	public String getStatusCode() {
+		return statusCode;
+	}
+	/**
+	 * @param statusCode The statusCode to set.
+	 */
+	public void setStatusCode(String statusCode) {
+		this.statusCode = statusCode;
+	}
+	/**
+	 * @return Returns the tax.
+	 */
+	public String getTax() {
+		return tax;
+	}
+	/**
+	 * @param tax The tax to set.
+	 */
+	public void setTax(String tax) {
+		this.tax = tax;
+	}
+	/**
+	 * @return Returns the totalAmount.
+	 */
+	public String getTotalAmount() {
+		return totalAmount;
+	}
+	/**
+	 * @param totalAmount The totalAmount to set.
+	 */
+	public void setTotalAmount(String totalAmount) {
+		this.totalAmount = totalAmount;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return orderId + ", " + orderDate + ", " + statusCode + ", " + netAmount + ", " + totalAmount + ", " + tax + ", ";
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/OrderItem.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/OrderItem.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/OrderItem.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,109 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderItem {
+
+	// <OrderLine position="1" quantity="1">
+	// 		<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+	// </OrderLine>
+	private String position;
+	private String quantity;
+	private String productId;
+	private String title;
+	private String price;
+	
+	/**
+	 * @return Returns the position.
+	 */
+	public String getPosition() {
+		return position;
+	}
+	/**
+	 * @param position The position to set.
+	 */
+	public void setPosition(String position) {
+		//System.out.println("**** position: " + position);
+		this.position = position;
+	}
+	/**
+	 * @return Returns the price.
+	 */
+	public String getPrice() {
+		return price;
+	}
+	/**
+	 * @param price The price to set.
+	 */
+	public void setPrice(String price) {
+		//System.out.println("**** price: " + price);
+		this.price = price;
+	}
+	/**
+	 * @return Returns the productId.
+	 */
+	public String getProductId() {
+		return productId;
+	}
+	/**
+	 * @param productId The productId to set.
+	 */
+	public void setProductId(String productId) {
+		this.productId = productId;
+	}
+	/**
+	 * @return Returns the quantity.
+	 */
+	public String getQuantity() {
+		return quantity;
+	}
+	/**
+	 * @param quantity The quantity to set.
+	 */
+	public void setQuantity(String quantity) {
+		this.quantity = quantity;
+	}
+	/**
+	 * @return Returns the title.
+	 */
+	public String getTitle() {
+		return title;
+	}
+	/**
+	 * @param title The title to set.
+	 */
+	public void setTitle(String title) {
+		this.title = title;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return position + "," + quantity + "," + productId + "," + title + "," + price;
+		
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/orderitem.st
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/orderitem.st	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/org/jboss/soa/esb/dvdstore/orderitem.st	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+		<order-item>
+			<index>$orderItem.position$</index>
+			<quantity>$orderItem.quantity$</quantity>
+			<product>$orderItem.productId$</product>
+			<title>$orderItem.title$</title>
+			<price>$orderItem.price$</price>
+		</order-item>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Header;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.apache.log4j.Logger;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/ReturnJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/ReturnJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/ReturnJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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 quickstart;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+import javax.jms.TextMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import org.jboss.soa.esb.message.Message;
+
+public class ReturnJMSMessage {
+       
+    public static void sendMessage(Message esbMessage,String newDestination) throws JMSException, NamingException, Exception {
+    	if (esbMessage == null || newDestination == null) 
+    		throw new Exception("Message and JMS Destination are required");
+    
+    	QueueConnection conn;
+        QueueSession session;
+        Queue que;
+        
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/" + newDestination);
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+
+    	    	   
+    	String newMsg = new String(esbMessage.getBody().getContents());
+
+    	
+    	QueueSender send = session.createSender(que);        
+        TextMessage tm = session.createTextMessage(newMsg);
+        send.send(tm);
+        
+
+    	conn.stop();
+    }    
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/TeamAlert.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/TeamAlert.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/TeamAlert.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,85 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class TeamAlert {
+	
+	  protected Message  _message;
+	  protected ConfigTree	_config;
+	  
+	  public TeamAlert (ConfigTree config) { _config = config; } 
+	  	  
+	  public Message sendResponseBlue(Message message) {
+		  try {
+			   logHeader();
+			   System.out.println(new String(message.getBody().getContents()));
+			   System.out.println("Blue Blue Blue");
+			   logFooter();
+			   ReturnJMSMessage.sendMessage(message,"quickstart_Fun_CBR_Blue_Alert");
+		   } catch (Exception e) {
+			   logHeader();
+			   System.out.println(e.getMessage());
+			   logFooter();
+		   }
+		   return message;
+	  }
+	  
+	  public Message sendResponseRed(Message message) {
+		  try {
+			   logHeader();
+			   System.out.println(new String(message.getBody().getContents()));
+			   System.out.println("Red Red Red");
+			   logFooter();
+			   ReturnJMSMessage.sendMessage(message,"quickstart_Fun_CBR_Red_Alert");
+		   } catch (Exception e) {
+			   logHeader();
+			   System.out.println(e.getMessage());
+			   logFooter();
+		   }
+		   return message;
+	  }
+
+	  public Message sendResponseGreen(Message message) {
+		  try {
+			   logHeader();
+			   System.out.println(new String(message.getBody().getContents()));
+			   System.out.println("Green Green Green");
+			   logFooter();
+			   ReturnJMSMessage.sendMessage(message,"quickstart_Fun_CBR_Green_Alert");
+		   } catch (Exception e) {
+			   logHeader();
+			   System.out.println(e.getMessage());
+			   logFooter();
+		   }
+		   return message;
+	  }
+	  
+	  private void logHeader() {
+		  System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+	  }
+	  private void logFooter() {
+		  System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+	  }
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/ReceiveJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/ReceiveJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/ReceiveJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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 quickstart.test;
+
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueReceiver;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.InitialContext;
+
+public class ReceiveJMSMessage {
+	   QueueConnection conn = null;	   
+	   QueueSession receiverSession = null;	   
+	   Queue receiverQueue = null;	   
+	   QueueReceiver queueReceiver = null;
+	   InitialContext iniCtx = null;
+	   QueueConnectionFactory qcf = null;
+	   String receiveQueueName = "queue/D"; // Default to queue/D
+	   
+	   public ReceiveJMSMessage() {
+		   
+	   }
+	   public void receiveOne() {
+		   try {
+		   if (iniCtx == null) iniCtx = new InitialContext();
+	          if (qcf == null) qcf = (QueueConnectionFactory) iniCtx.lookup("ConnectionFactory");
+	          if (conn == null) {
+	              conn = qcf.createQueueConnection();
+	              conn.start();
+	          }	        
+	          receiverQueue = (Queue) iniCtx.lookup(receiveQueueName);
+	          receiverSession = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+	    	  queueReceiver = receiverSession.createReceiver(receiverQueue); 
+	    	  TextMessage msg = (TextMessage) queueReceiver.receive(2000);
+	    	  if (msg != null) {
+	    		  System.out.println("*********************************************************");
+	    		  System.out.println(msg);
+	    		  System.out.println("*********************************************************");
+	    	  }	
+		   } catch (Exception e) {
+			   System.out.println(e);
+		   }
+	   }
+	   public static void main(String[] args) {
+		      ReceiveJMSMessage receiver = new ReceiveJMSMessage();
+		      
+		      if(args[0] != null) {
+		    	  receiver.receiveQueueName = args[0];
+		    	  System.out.println("Receiving on: " + receiver.receiveQueueName );		    	 
+		      }		    	  
+		      while (true) { // loop until I'm killed
+		    	  receiver.receiveOne();
+		      }
+	   }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/quickstart/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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 quickstart.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_Fun_CBR_Request_GW");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);        
+        send.send(tm);        
+        send.close();
+    }
+    public String readAsciiFile(String fileName) throws IOException {
+		  FileReader fr = null;
+		  char[] thechars = null;
+
+		  try {
+			  File thefile = new File( fileName );
+			  fr = new FileReader( thefile );
+			  int size = (int) thefile.length();
+			  thechars = new char[size];
+		
+			  int count, index = 0;
+		
+			  // 	read in the bytes from the input stream
+			  while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
+				  size -= count;
+				  index += count;
+			  }
+			} catch(Exception e) {	
+				System.out.println(e);
+			}
+			finally {
+				if( fr != null )
+		        fr.close();
+			}
+			return new String(thechars);
+
+    } // readAsciiFile
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	String fileContent = sm.readAsciiFile("SampleOrder.xml");
+    	System.out.println("---------------------------------------------");
+    	System.out.println(fileContent);
+    	System.out.println("---------------------------------------------");
+    	sm.sendAMessage(fileContent); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/MyESBRules-XPath.drl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/MyESBRules-XPath.drl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/MyESBRules-XPath.drl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,35 @@
+
+package com.jboss.soa.esb.routing.cbr
+
+#list any import classes here.
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+
+expander XPathLanguage.dsl
+
+#declare any global variables here
+global java.util.List destinations;
+
+rule "Blue Routing Rule using XPATH"	
+	when
+		xpathEquals "/Order/@statusCode", "0"
+	then 
+	    Log : "Blue Team";
+		Destination : "blue";		
+end
+
+rule "Red Routing Rule using XPATH"	
+	when
+		xpathEquals "/Order/@statusCode", "1"
+	then 
+	    Log : "Red Team";
+		Destination : "red";		
+end
+
+rule "Green Routing Rule using XPATH"	
+	when
+		xpathEquals "/Order/@statusCode", "2"
+	then 
+	    Log : "Green Team";
+		Destination : "green";		
+end
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/XPathLanguage.dsl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/XPathLanguage.dsl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/fun_cbr/src/services/rules/XPathLanguage.dsl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+#JBossESB Content Based Routing using XPath DSL
+[when]xpathMatch "{xpath}"=msg : Message( type == MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentMatches(msg, "{xpath}") )
+[when]xpathEquals "{xpath}", "{value}"=msg : Message( type == MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentEquals(msg, "{xpath}", "{value}") )
+[when]xpathGreaterThan "{xpath}", "{value}"=msg : Message( type == MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentGreaterThan(msg, "{xpath}", "{value}") )
+[when]xpathLessThan "{xpath}", "{value}"=msg : Message( type == MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentLessThan(msg, "{xpath}", "{value}") )
+[then]Log : "{message}"=System.out.println("{message}");
+[then]Destination : "{message}"=destinations.add("{message}");

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,94 @@
+<project name="Quickstart_helloworld" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+		
+  <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+
+	<path id="classpath">
+    <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+    <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+    <fileset dir="${basedir}/lib" includes="*jar"/>    
+	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+			<include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	</fileset>		
+  	
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+  <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+        <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+
+  <target name="run" depends="jars">
+	     <echo>Basic JMS Gateway and Listener with Actions</echo>
+	     <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+	     	<arg value="${esb-config}"/>
+			<classpath refid="classpath"/>
+	     </java>     
+  </target>	
+
+  <target name="deployToSAR" depends="jars">
+	    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+	  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+	  	/>
+	  	<copy file="jbossesb.xml" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/conf"
+	  	/>
+	  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+	  	<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+  </target>
+	
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.helloworld.test.SendJMSMessage" failonerror="true">
+     	<arg value="Hello World"/>
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+
+  <target name="sendesb">
+     <echo>Runs Test ESB Message Sender</echo>
+     <java fork="yes" classname="quickstart.helloworld.test.SendEsbMessage" failonerror="true">
+     	<arg value="FirstServiceESB"/> <!--  service category -->
+     	<arg value="SimpleListener"/>  <!--  service name -->
+     	<arg value="Hello World - Straight to ESB listener - no Gateway"/> <!--  Message text -->
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+
+</project>
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,50 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="quickstartGwChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/quickstart_helloworld_Request"
+                   />
+              </jms-bus>
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+        <service 
+        	category="FirstServiceESB" 
+        	name="SimpleListener" 
+        	description="Hello World">
+            <listeners>
+                <jms-listener name="JMS-Gateway"
+                    busidref="quickstartGwChannel"
+                    maxThreads="1"
+                    is-gateway="true"
+                />
+                <jms-listener name="helloWorld"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />
+            </listeners>
+            <actions>
+                   <action name="action1" 
+                   	class="quickstart.helloworld.MyJMSListenerAction" 
+                   	process="displayMessage" 
+                   	/>      
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+The purpose of the helloworld quickstart sample is to prove that the ESB is 
+properly configured and happy.  As well as to demonstrate the needed minimal
+files to make a basic ESB component execute.
+
+In a command prmompt window, start the listeners by simply running "ant" 
+in this directory.  You might review the build.xml file to see how it is setup. 
+More details on the build.xml can be found later in this document.  Shutdown
+the listener by simply using Cntrl-C in that window.
+
+In a separate command prompt window, run "ant runtest" to shoot a JMS message
+into the listener which will then invoke the MyJMSListenerAction and display
+it to the console.  You can modify the build.xml to change the phrase 
+"Hello World" to something else and re-run "ant runtest".
+
+This document does assume you have read the "readme.txt" in the main quickstarts folder 
+and have followed the instructions to deploy the necessary queues.  This example uses the
+queue called "quickstart_helloworld_Request".
+
+Project file descriptions:
+* build.xml - the ant build script. 
+* jbossesb.xml - the JMS gateway and ESB configuration file. It is listening
+for JMS ObjectMessages or TextMessages at "queue/quickstart_helloworld_Request".
+Messages received at "quickstart_helloworld_Request" are converted
+* jbossesb-properties.xml - also needed by jUDDI and needs to be at the 
+head of the classpath.  Both juddi.properties and jbossesb-properties.xml are
+used when the service first boots up for self-registration based upon the 
+service-category and service-name found in the esb-config.xml file.
+* jndi.properties - needed primarily for quickstart.test.SendJMSMessage that
+is fired by ant runtest.
+* log4j.xml - needed to configure log4J used by both the quickstart and the ESB
+itself.  A listener needs a place to log.
+* src\quickstart\MyJMSListenerAction.java - the action class that is identified
+in the esb-config.xml file and is called whenever a message is received.  
+* src\quickstart\helloworld\test\SendJMSMessage.java - shoots in the string passed in via
+the command line or in this case the arg attribute in the ant runtest task.
+* src\quickstart\helloworld\test\SendEsbMessage.java - shoots in the string passed in
+via the command line or in this case the arg atribute in the ant sendesb task.
+This demonstrates how to build an "ESB aware" client that can invoke an ESB service.
+
+build.xml task and structure description:
+* the classpath property pulls the jbossesb-properties.xml file and the juddi.properties file to the
+front of the list
+* the echoCP task is useful for making sure what you think is in your classpath is actually in your classpath
+Usage is: ant echoCP > myclasspath.txt 
+This generates a file called myclasspath.txt which can be reviewed in a text editor
+* the run task calls the Launcher passing in 3 arguments the most important are the esb-config.xml and 
+esb-config-gateway.xml files
+* the runtest task calls the quickstart.test.SendJMSMessage class and passes in an argument representing
+the string-based message to be pused into the queue the gateway is listening on.  Note: SendJMSMessage 
+contains a hard-coded queue name.
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,44 @@
+/*
+ * 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 quickstart.helloworld;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+
+  
+  public Message displayMessage(Message message) throws Exception{
+		
+		  System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");		  		  
+		  System.out.println("\nBody: " + new String(message.getBody().getContents()));
+		  System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+		  return message; 
+        		
+	}
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/SendEsbMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/SendEsbMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/SendEsbMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,64 @@
+/*
+ * 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 quickstart.helloworld.test;
+
+import java.net.URI;
+import java.util.UUID;
+
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.listeners.ListenerUtil;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+/**
+ * Standalone class with to send ESB messages to a 'known' [category,name].
+ * <p/> arg0 - service category
+ * <br/>arg1 - service name
+ * <br/>arg2 - Text of message to send
+ * 
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * @since Version 4.0
+ *
+ */
+public class SendEsbMessage 
+{
+    public static void main(String args[]) throws Exception
+    {
+    	if (args.length < 3)
+    	{
+    		System.out.println("Usage SendEsbMessage <category> <name> <text to send>");
+    	}
+    	// Create a message, assign it a UID, and fill in call information
+    	Message esbMessage = MessageFactory.getInstance().getMessage();
+    	Call	call = new Call();
+    	call.setMessageID(new URI(UUID.randomUUID().toString()));
+    	esbMessage.getHeader().setCall(call);
+    	
+    	// set body contents with args[2], and send
+    	esbMessage.getBody().setContents(args[2].getBytes());
+    	
+    	ListenerUtil.tryToDeliver(esbMessage, args[0], args[1]);
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld/src/quickstart/helloworld/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+/*
+ * 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 quickstart.helloworld.test;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_helloworld_Request");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);
+        send.send(tm);        
+        send.close();
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,82 @@
+<project name="Quickstart_helloworld_action" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+		
+  <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+
+	<path id="classpath">
+  <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+  <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+    <fileset dir="${basedir}/lib" includes="*jar"/>    
+	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+			<include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	</fileset>		
+  	
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+  <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+        <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+
+  <target name="run" depends="jars">
+     <echo>Basic JMS Gateway and Listener with Actions</echo>
+	 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+  	   	<arg value="${esb-config}"/>
+  		<classpath refid="classpath"/>
+  	 </java>     
+  </target>	
+
+  <target name="deployToSAR" depends="jars">
+    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+  	/>
+  	<copy file="jbossesb.xml" overwrite="true"
+  		todir="${jbosshome.dir}/server/default/conf"
+  	/>
+  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+  </target>
+	
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.helloworld_action.test.SendJMSMessage" failonerror="true">
+     	<arg value="Hello World"/>
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+</project>
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,74 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+ xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+ parameterReloadSecs="5">
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="quickstartGwChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/quickstart_helloworld_action_Request"
+                  />
+              </jms-bus>
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+          
+        <service category="HelloWorld_ActionESB" 
+                 name="SimpleListener" 
+                 description="Hello World" >
+            <listeners>
+                <jms-listener name="JMS-Gateway"
+                    busidref="quickstartGwChannel"                         
+                    maxThreads="1"
+                    is-gateway="true"
+                />
+                <jms-listener name="JMS-ESBListener"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />                
+            </listeners>
+            <actions>
+               <action name="displayAction" 
+               		class="quickstart.helloworld_action.MyJMSListenerAction" 
+               		process="displayMessage">
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+               </action>
+  			   <action name="playAction" 
+  			   		class="quickstart.helloworld_action.MyJMSListenerAction" 
+  			   		process="playWithMessage">
+  	               
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+  			   </action>
+               <action name="notificationAction" 
+               		class="org.jboss.soa.esb.actions.Notifier">
+               		<property name="okMethod" value="notifyOK" />
+               		<property name="notification-details">
+   	 				   <NotificationList type="OK"> 
+      				     <target class="NotifyConsole" />
+				    	 <target class="NotifyQueues">
+				   	       <queue jndiName="queue/quickstart_helloworld_action_Response">
+					         	<messageProp name="quickstart" value="hello_world_action" />
+					       </queue> 
+			 	     	 </target>
+	    		   	   </NotificationList> 
+	    		   </property>
+   	   			</action>    
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,48 @@
+The purpose of the helloworld_action quickstart sample is to show the use of 
+multiple action invocations from a single configuration.  You can use
+a single Action class and make multiple method calls or use multiple Action
+classes.
+
+In a command prmompt window
+- Start the listener run running "ant".
+- Shutdown the listener by simply using Ctrl-C in that window.
+
+In a separate command prompt window, run "ant runtest" to shoot a JMS message
+into the listener which will then invoke the MyJMSListenerAction and display
+it to the console.  You can modify the build.xml to change the phrase 
+"Hello World" to something else and re-run "ant runtest".  After you have run
+the test and seen the activity on the console also use the a queue viewer
+like the one found in the JBoss JMX Console (if you are using JBossMQ) to 
+see the modified message in the outbound queue: quickstart_helloworld_action_Response
+
+
+Project file descriptions:
+* Review the helloworld quickstart as the majority of this is similiar to
+that example
+* MyJMSListenerAction.java has methods to display the inbound message,
+modify the message and to handle an exceptions which might be thrown in the action
+processing.
+* jbossesb.xml includes a special action (from JBoss ESB core) that is used
+to send a message out of the ESB back to the non-"ESB aware" world.  The gateway
+looks for inbound messages on "quickstart_helloworld_action_Request" which was configured
+by the "esb-quickstart-service.xml" file.  The notifier sends the modified message to
+"quickstart_helloworld_action_Response"
+               <action name="notificationAction" 
+               		class="org.jboss.soa.esb.actions.Notifier">
+               		<property name="okMethod" value="notifyOK" />
+               		<property name="notification-details">
+   	 				   <NotificationList type="OK"> 
+      				     <target class="NotifyConsole" />
+				    	 <target class="NotifyQueues">
+				   	       <queue jndiName="queue/quickstart_helloworld_action_Response">
+					         	<messageProp name="quickstart" value="hello_world_action" />
+					       </queue> 
+			 	     	 </target>
+	    		   	   </NotificationList> 
+	    		   </property>
+   	   			</action>
+  
+An ESB action class must have a constructor that accepts a ConfigTree argument like the following:
+ public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+ 
+A ConfigTree is an object holding any attributes associated with the action declaration in the jbossesb.xml

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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 quickstart.helloworld_action;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public Message playWithMessage(Message message) throws Exception {
+//	   Header msgHeader = message.getHeader();
+	   Body msgBody = message.getBody();
+//	   Call theCall = msgHeader.getCall();
+//	   EPR theEpr = theCall.getFrom();
+	   String contents = new String(msgBody.getContents());
+	   StringBuffer sb = new StringBuffer();
+	   sb.append("\nBEFORE**\n");
+	   sb.append(contents);
+	   sb.append("\nAFTER**\n");
+	   msgBody.setContents(sb.toString().getBytes());
+	   return message;
+   }
+   
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_action/src/quickstart/helloworld_action/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+/*
+ * 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 quickstart.helloworld_action.test;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_helloworld_action_Request");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);
+        send.send(tm);        
+        send.close();
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,71 @@
+<project name="Quickstart_db_registration" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+		
+  <property name="jbossesb-config" value="${basedir}/jbossesb.xml"/>
+
+	<path id="classpath">
+  <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+  <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+  <fileset dir="${basedir}/lib" includes="*jar"/>    
+	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+			<include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	</fileset>		
+  	
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+  <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+        <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+
+  <target name="run" depends="jars">
+     <echo>Basic JMS Gateway and Listener</echo>
+    <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+    	<arg value="${jbossesb-config}"/>
+		<classpath refid="classpath"/>
+     </java>     
+  </target>	
+
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.test.SendJMSMessage" failonerror="true">
+     	<arg value="Hello World"/>
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jbossesb-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jbossesb-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, JBoss Inc., and others contributors as indicated 
+  by the @authors tag. All rights reserved. 
+  See the copyright.txt in the distribution for a
+  full listing of individual contributors. 
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU Lesser General Public License, v. 2.1.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+  You should have received a copy of the GNU Lesser General Public License,
+  v.2.1 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+  These options are described in the JBossESB manual.
+  Defaults are provided here for convenience only.
+ 
+  Please read through this file prior to using the system, and consider
+  updating the specified entries.
+-->
+<esb
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+    <properties name="core">
+		<property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+    </properties>
+    <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#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.LocalTransport"/>
+    </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/jbossesb"/>
+		<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"/> 
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,32 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+    <providers>
+        <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+            jndi-URL="localhost">
+            <jms-bus busid="helloworldDBGatewayChannel">
+                <jms-message-filter dest-name="queue/quickstart_helloworld_Request"
+                    dest-type="QUEUE"/>
+            </jms-bus>
+            <jms-bus busid="helloworldDBServiceChannel">
+                <jms-message-filter dest-name="queue/B"
+                    dest-type="QUEUE"/>
+            </jms-bus>
+        </jms-provider>
+    </providers>
+    
+    <services>
+        <service category="UsingDBRegServices" name="UsingDBRegJMSService"
+        	description="Hello World DB JMS Service">
+            <listeners>
+                <jms-listener name="helloworldDBGatewayListener"
+                    busidref="helloworldDBGatewayChannel" maxThreads="1" is-gateway="true"/>
+                <jms-listener name="helloworldDBServiceListener"
+                    busidref="helloworldDBServiceChannel" maxThreads="1"/>
+            </listeners>
+            <actions>
+                <action name="helloworldDBAction" class="quickstart.MyJMSListenerAction" 
+                   	process="displayMessage"/>
+            </actions>
+        </service>
+    </services>
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/lib/mysql-connector-java-3.1.12-bin.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/lib/mysql-connector-java-3.1.12-bin.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,71 @@
+This example assumes your jUDDI registry is running in Mysql and it connects 
+directly to the database to register the component.
+
+The magic of DB registration (as opposed to RMI or SOAP) is in the jbossesb-properties.xml and the 
+significant lines are marked with a **
+ <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" 
+    	**	value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" 
+    	**	value="org.apache.juddi.registry.local.PublishService#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.LocalTransport"/>
+    </properties>
+
+In a command prmompt window, start the listeners by simply running "ant" 
+in this directory.  You might review the build.xml file to see how it is setup. 
+More details on the build.xml can be found later in this document.  Shutdown
+the listener by simply using Cntrl-C in that window.
+
+In a separate command prompt window, run "ant runtest" to shoot a JMS message
+into the listener which will then invoke the MyJMSListenerAction and display
+it to the console.  You can modify the build.xml to change the phrase 
+"Hello World" to something else and re-run "ant runtest".
+
+Project file descriptions:
+* build.xml - the ant build script. 
+* esb-config.xml - the ESB listener configuration file
+* esb-config-gateway.xml - the JMS gateway configuration file. It is listening
+for JMS ObjectMessages or TextMessages at "queue/quickstart_helloworld_Request"
+* juddi.properties - configures jUDDI, needs to be at the head of the classpath
+* jbossesb-properties.xml - also needed by jUDDI and needs to be at the 
+head of the classpath.  Both juddi.properties and jbossesb-properties.xml are
+used when the service first boots up for self-registration based upon the 
+service-category and service-name found in the esb-config.xml file.
+* jndi.properties - needed primarily for quickstart.test.SendJMSMessage that
+is fired by ant runtest.
+* log4j.xml - needed to configure log4J used by both the quickstart and the ESB
+itself.  A listener needs a place to log.
+* src\quickstart\Launcher.java - called by ant "run" target with 3 arguments.
+The most important arguments being the locations of the esb-config.xml and
+esb-config-gateway.xml files.  The Launcher starts the gateway and esb listener
+threads and then waits indefinitely.  
+* src\quickstart\MyJMSListenerAction.java - the action class that is identified
+in the esb-config.xml file and is called whenever a message is received.  
+* src\quickstart\test\SendJMSMessage.java - shoots in the string passed in via
+the command line or in this case the arg attribute in the ant runtest task.
+* lib\mysql-connector-java-3.1.12-bin.jar - the listener must register itself
+when it boots up therefore it needs access to the MySQL environment where 
+jUDDI is living.  This works in conjunction with juddi.properties.
+
+build.xml task and structure description:
+* the classpath property pulls the jbossesb-properties.xml file and the juddi.properties file to the
+front of the list
+* the echoCP task is useful for making sure what you think is in your classpath is actually in your classpath
+Usage is: ant echoCP > myclasspath.txt 
+This generates a file called myclasspath.txt which can be reviewed in a text editor
+* the run task calls the Launcher passing in 3 arguments the most important are the esb-config.xml and 
+esb-config-gateway.xml files
+* the runtest task calls the quickstart.test.SendJMSMessage class and passes in an argument representing
+the string-based message to be pused into the queue the gateway is listening on.  Note: SendJMSMessage 
+contains a hard-coded queue name.
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,44 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+
+  
+  public Message displayMessage(Message message) throws Exception{
+		
+		  System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");		  		  
+		  System.out.println("\nBody: " + new String(message.getBody().getContents()));
+		  System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+		  return message; 
+        		
+	}
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_db_registration/src/quickstart/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,80 @@
+/*
+ * 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 quickstart.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_helloworld_Request");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);
+        send.send(tm);        
+        send.close();
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/base-build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/base-build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/base-build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,53 @@
+<project name="Base" default="run" basedir=".">
+
+	<property file="../quickstarts.properties" />
+
+	<property name="classes" value="build/classes" />
+
+	<path id="compile-classpath">
+		<fileset dir="lib" includes="*.jar" /> <!-- Quickstart Specific Jars. -->
+		<fileset dir="../../../lib/ext" includes="*.jar" /> <!-- Product Dependencies. -->
+		<fileset dir="${esb.product.lib.dir}" includes="*.jar" /> <!-- Product Jars. -->
+	</path>
+	<path id="exec-classpath">
+		<pathelement location="." />
+		<fileset dir="build" includes="${ant.project.name}.jar" />
+		<path refid="compile-classpath" />
+		<pathelement location="../../../" />
+		<fileset dir="${jbosshome.dir}/server/default/lib" includes="jboss-j2ee.jar" /> <!-- Required for JMS Client Code. -->
+	</path>
+
+	<target name="compile" depends="clean">
+		<mkdir dir="${classes}" />
+		<javac srcdir="src" destdir="${classes}">
+			<classpath refid="compile-classpath" />
+		</javac>
+		<jar basedir="${classes}" destfile="build/${ant.project.name}.jar" />
+	</target>
+
+	<target name="run" depends="compile">
+		<echo>Launching Quickstart in standalone mode...</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+			<arg value="jbossesb.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+	<target name="deployToSAR">
+		<echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+		<copy file="build/${ant.project.name}.jar" overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar" />
+		<copy file="jbossesb.xml" overwrite="true" todir="${jbosshome.dir}/server/default/conf" />
+		<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml" />
+		<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+	</target>
+
+	<target name="echoCP">
+		<property name="cp" refid="exec-classpath" />
+		<echo message="Classpath is ${cp}" />
+	</target>
+
+	<target name="clean">
+		<delete dir="build" />
+	</target>
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,25 @@
+<project name="helloworld-embeddedreg-quickstart" default="run" basedir=".">
+
+	<target name="run" depends="compile">
+		<echo>Basic JMS Gateway and Listener</echo>
+		<java fork="yes" classname="quickstart.Launcher" failonerror="true">
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+	<target name="runtest">
+		<echo>Runs Test JMS Sender</echo>
+		<java fork="yes" classname="quickstart.test.SendJMSMessage" failonerror="true">
+			<arg value="Hello World" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+	<!-- Import the base Ant build script... -->
+	<import file="base-build.xml" />
+	
+	<target name="deployToSAR">
+			<echo>Not supported</echo>
+	</target>
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jbossesb-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jbossesb-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, JBoss Inc., and others contributors as indicated 
+  by the @authors tag. All rights reserved. 
+  See the copyright.txt in the distribution for a
+  full listing of individual contributors. 
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU Lesser General Public License, v. 2.1.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+  You should have received a copy of the GNU Lesser General Public License,
+  v.2.1 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+  These options are described in the JBossESB manual.
+  Defaults are provided here for convenience only.
+ 
+  Please read through this file prior to using the system, and consider
+  updating the specified entries.
+-->
+<esb
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+    <properties name="core">
+		<property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+    </properties>
+    <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#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.LocalTransport"/>
+    </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/jbossesb"/>
+		<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"/> 
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,35 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd">
+
+	<providers>
+		<jms-provider name="JBossMQ"
+			connection-factory="ConnectionFactory"
+			jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+			jndi-URL="localhost">
+
+			<jms-bus busid="quickstartGwChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/A" />
+			</jms-bus>
+			<jms-bus busid="quickstartEsbChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/B" />
+			</jms-bus>
+
+		</jms-provider>
+	</providers>
+
+	<services>
+
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World">
+			<listeners>
+				<jms-listener name="JMS-Gateway" busidref="quickstartGwChannel" maxThreads="1" is-gateway="true"/>
+				<jms-listener name="quickstart" busidref="quickstartEsbChannel" maxThreads="1" />
+			</listeners>
+			<actions>
+				<action name="MyJMSListenerAction" class="quickstart.MyJMSListenerAction" process="displayMessage" />
+			</actions>
+		</service>
+	</services>
+
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/juddi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/juddi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,70 @@
+# 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=org.hsqldb.jdbcDriver
+#juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost/jbossesb
+juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost:9001/jbossesb
+juddi.jdbcUsername=sa
+juddi.jdbcPassword=
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/lib/test-util.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/lib/test-util.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,60 @@
+The purpose of the helloworld quickstart sample is to prove that the ESB is 
+properly configured and happy.  As well as to demonstrate the needed minimal
+files to make a basic ESB component execute.  The only difference between
+this quickstart and the "helloworld" quickstart is that you don't need to install
+a database for the registry.  It uses an embedded registry via Hypersonic,
+eliminating the registry setup overhead.
+
+In a command prmompt window, start the listeners by simply running "ant" 
+in this directory.  You might review the build.xml file to see how it is setup. 
+More details on the build.xml can be found later in this document.  Shutdown
+the listener by simply using Ctrl-C in that window.
+
+In a separate command prompt window, run "ant runtest" to shoot a JMS message
+into the listener which will then invoke the MyJMSListenerAction and display
+it to the console.  You can modify the build.xml to change the phrase 
+"Hello World" to something else and re-run "ant runtest".
+
+Project file descriptions:
+* build.xml - the ant build script. 
+* esb-config.xml - the ESB listener configuration file
+* esb-config-gateway.xml - the JMS gateway configuration file. It is listening
+for JMS ObjectMessages or TextMessages at "queue/quickstart_helloworld_Request"
+* juddi.properties - configures jUDDI, needs to be at the head of the classpath
+* jbossesb-properties.xml - also needed by jUDDI and needs to be at the 
+head of the classpath.  Both juddi.properties and jbossesb-properties.xml are
+used when the service first boots up for self-registration based upon the 
+service-category and service-name found in the esb-config.xml file.
+* jndi.properties - needed primarily for quickstart.test.SendJMSMessage that
+is fired by ant runtest.
+* log4j.xml - needed to configure log4J used by both the quickstart and the ESB
+itself.  A listener needs a place to log.
+* src\quickstart\Launcher.java - called by ant "run" target with 3 arguments.
+The most important arguments being the locations of the esb-config.xml and
+esb-config-gateway.xml files.  The Launcher starts the gateway and esb listener
+threads and then waits indefinitely.  
+* src\quickstart\MyJMSListenerAction.java - the action class that is identified
+in the esb-config.xml file and is called whenever a message is received.  
+* src\quickstart\test\SendJMSMessage.java - shoots in the string passed in via
+the command line or in this case the arg attribute in the ant runtest task.
+* lib\mysql-connector-java-3.1.12-bin.jar - the listener must register itself
+when it boots up therefore it needs access to the MySQL environment where 
+jUDDI is living.  This works in conjunction with juddi.properties.
+
+NOTE:  	Be sure to update the quickstarts.properties file with the location of
+	your JBoss Application install.  This file is located in the
+	"samples/quickstarts" folder.
+
+build.xml task and structure description:
+* the classpath property pulls the jbossesb-properties.xml file and the juddi.properties file to the
+front of the list
+* the echoCP task is useful for making sure what you think is in your classpath is actually in your classpath
+Usage is: ant echoCP > myclasspath.txt 
+This generates a file called myclasspath.txt which can be reviewed in a text editor
+* the run task calls the Launcher passing in 3 arguments the most important are the esb-config.xml and 
+esb-config-gateway.xml files
+* the runtest task calls the quickstart.test.SendJMSMessage class and passes in an argument representing
+the string-based message to be pused into the queue the gateway is listening on.  Note: SendJMSMessage 
+contains a hard-coded queue name.
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/HsqldbUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/HsqldbUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/HsqldbUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,125 @@
+/*
+ * 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 quickstart;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+
+import org.apache.log4j.Logger;
+import org.hsqldb.Server;
+import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManager;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.testutils.FileUtil;
+
+/**
+ * Utility to start and stop a hsql Database.
+ * 
+ * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
+ *
+ */
+public class HsqldbUtil 
+{
+	final private static String THREAD_NAME = "hypersonic-unittest";
+	
+	private static Logger _logger = Logger.getLogger(HsqldbUtil.class);
+	/**
+	 * Starts the hsql database in it's own thread. 
+	 * Don't forget to shut it down when you're done.
+	 * 
+	 * @param databaseFile - i.e. build/hsqltestdb
+	 * @param databaseName - i.e. jbossesb
+	 * @throws Exception
+	 */
+	public static void startHsqldb() throws Exception 
+	{
+		// Start DB in new thread, or else it will block us
+		Thread serverThread = new Thread(THREAD_NAME) {
+			public void run() {
+				try {
+					// Create startup arguments
+					String[] args = new String[4];
+					args[0] = "-database.0";
+					args[1] = "build/hsqldb";
+					args[2] = "-dbname.0";
+					args[3] = "jbossesb";
+					
+					_logger.info("creating db from this script: " + args[1]);
+
+					// Start server
+					Server.main(args);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+//				log.error("Failed to start database", e);
+			}
+		};
+		serverThread.run();
+		
+		createDatabase();
+	}
+	/**
+	 * 
+	 * @param url
+	 * @param username
+	 * @param password
+	 * @throws Exception
+	 */
+	public static void stopHsqldb() throws Exception {
+		String url = Configuration.getStoreUrl();
+		String username = Configuration.getStoreUser();
+		String password = Configuration.getStorePwd();
+		
+		java.sql.Connection connection = DriverManager.getConnection(
+				url, username, password);
+		Statement statement = connection.createStatement();
+		String shutdownCommand = "SHUTDOWN COMPACT";
+		statement.executeQuery(shutdownCommand);
+	}
+
+	private static void createDatabase() throws Exception{	
+		//message store db
+		String sqlCreateCmd    = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/message-store/sql/hsqldb/create_database.sql"));
+		String sqlDropCmd      = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/message-store/sql/hsqldb/drop_database.sql"));		
+		
+		DBConnectionManager mgr = DBConnectionManager.getInstance();
+		Connection con = mgr.getConnection();
+		
+		Statement stmnt = con.createStatement();
+		System.out.println("Dropping the message store schema if exists...");
+		stmnt.execute(sqlDropCmd);
+		System.out.println("Creating the message store schema...");
+		stmnt.execute(sqlCreateCmd);
+		
+		//registry DB
+		System.out.println("Dropping the registry schema if exists...");
+		sqlDropCmd      = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/jUDDI-registry/sql/hsqldb/drop_database.sql"));
+		stmnt.execute(sqlDropCmd);
+		System.out.println("creating the registry schema...");
+		sqlCreateCmd    = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/jUDDI-registry/sql/hsqldb/create_database.sql"));
+		stmnt.execute(sqlCreateCmd);
+		System.out.println("inserting registry publishers...");
+		String sqlInsertPubCmd = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/jUDDI-registry/sql/hsqldb/insert_publishers.sql"));
+		stmnt.execute(sqlInsertPubCmd);
+		stmnt.close();
+		con.close();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/Launcher.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/Launcher.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/Launcher.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+ * @author JBoss Inc.
+ */
+package quickstart;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.listeners.StandAloneBootStrapper;
+
+public class Launcher {	
+	private static Log log = LogFactory.getLog(Launcher.class);
+	
+	public static void main (String args[]) throws Exception {
+	
+		// Start Hypersonic...
+		if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
+			HsqldbUtil.startHsqldb();
+		}
+		
+		try {
+			// Start the ESB...
+			new StandAloneBootStrapper("jbossesb.xml");
+			
+			// Loop forever...
+    		while(true) {
+    			Thread.sleep(10000);
+    		}    		
+		} finally {
+			// Stop Hypersonic...
+			if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
+				HsqldbUtil.stopHsqldb();
+			}
+		}
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,44 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+
+  
+  public Message displayMessage(Message message) throws Exception{
+		
+		  System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");		  		  
+		  System.out.println("\nBody: " + new String(message.getBody().getContents()));
+		  System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+		  return message; 
+        		
+	}
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_embedded_reg/src/quickstart/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,80 @@
+/*
+ * 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 quickstart.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/A");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);
+        send.send(tm);        
+        send.close();
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,109 @@
+<project name="Quickstart_helloworld_file_action" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+
+  <property name="jbossesb.name" value="jbossesb.xml"/>
+  <property name="jbossesb.origconfig" location="${basedir}/${jbossesb.name}"/>
+  <property name="jbossesb.config" location="${build.dir}/${jbossesb.name}"/>
+
+  <property name="jbossesb.rootdir" location="${build.dir}/dirs"/>
+  <property name="jbossesb.inputdir" location="${jbossesb.rootdir}/input"/>
+  <property name="jbossesb.outputdir" location="${jbossesb.rootdir}/output"/>
+  <property name="jbossesb.errordir" location="${jbossesb.rootdir}/error"/>
+
+  <property name="jboss.server.dir" location="${jbosshome.dir}/server/default"/>
+  <property name="jboss.deploy.dir" location="${jboss.server.dir}/deploy/jbossesb.sar"/>
+  <property name="jboss.conf.dir" location="${jboss.server.dir}/conf"/>
+
+  <path id="classpath">
+    <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+    <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+ 
+  <fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+  <fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+  <fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+  <fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+  <fileset dir="${jbosshome.dir}/server/default/lib">
+    <include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+  </fileset>
+  
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+  <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+    <echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+    <mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+    <delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+    <javac srcdir="${src.dir}"
+        destdir="${build.dir}">
+      <classpath refid="classpath"/>
+    </javac>
+  </target>
+
+  <target name="jars" depends="compile">
+    <delete file="${build.dir}/${ant.project.name}.jar"/>
+    <jar destfile="${build.dir}/${ant.project.name}.jar"
+        basedir="${build.dir}" includes="**/*.class"/>
+  </target>
+
+  <target name="config">
+    <delete dir="${jbossesb.rootdir}" quiet="true"/>
+    <mkdir dir="${jbossesb.rootdir}"/>
+    <mkdir dir="${jbossesb.inputdir}"/>
+    <mkdir dir="${jbossesb.outputdir}"/>
+    <mkdir dir="${jbossesb.errordir}"/>
+
+    <copy file="${jbossesb.origconfig}" tofile="${jbossesb.config}"
+        overwrite="true" filtering="true">
+      <filterset>
+        <filter token="INPUTDIR" value="${jbossesb.inputdir}"/>
+        <filter token="OUTPUTDIR" value="${jbossesb.outputdir}"/>
+        <filter token="ERRORDIR" value="${jbossesb.errordir}"/>
+      </filterset>
+    </copy>
+    <copy file="log4j.xml" tofile="build/log4j.xml"/>
+  </target>
+  
+  <target name="run" depends="jars, config">
+    <echo>Basic File Gateway and Listener</echo>
+    <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+      <arg value="${jbossesb.config}"/>
+      <classpath refid="classpath"/>
+    </java>
+  </target>
+
+  <target name="deployToSAR" depends="jars, config">
+    <echo message="Deploying to ${jboss.deploy.dir}"/>
+    <copy file="${build.dir}/${ant.project.name}.jar"
+          todir="${jboss.deploy.dir}" overwrite="true"/>
+    <copy file="${jbossesb.config}" todir="${jboss.conf.dir}" overwrite="true"/>
+    <touch file="${jboss.deploy.dir}/META-INF/jboss-service.xml"/>
+  </target>
+
+  <target name="runtest">
+    <echo>Runs Test File Creator</echo>
+    <java fork="yes" classname="quickstart.hw_file_action.test.CreateTestFile" failonerror="true">
+      <arg value="${jbossesb.inputdir}"/>
+      <arg value="MyInput.dat"/> <!-- the directory the file should be created in -->
+      <arg value="Hello World In A File"/> <!-- the file contents -->
+      <classpath refid="classpath"/>
+    </java>
+  </target>  
+</project>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,65 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5" >
+
+    <providers>
+          <fs-provider name="FSprovider1">
+          	<fs-bus busid="helloFileChannel" >
+          		<fs-message-filter
+          			directory="@INPUTDIR@"
+          			input-suffix=".dat"
+          			work-suffix=".esbWorking"
+          			post-delete="false"
+          			post-directory="@OUTPUTDIR@"
+          			post-suffix=".sentToEsb"
+          			error-delete="false"
+          			error-directory="@ERRORDIR@"
+          			error-suffix=".IN_ERROR"
+          		/>
+          	</fs-bus>
+          </fs-provider>
+          
+          <jms-provider name="JBossMQ" 
+          		connection-factory="ConnectionFactory"
+            	jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+            	jndi-URL="localhost" >
+            
+			    <jms-bus busid="quickstartEsbChannel">
+			        <jms-message-filter
+			            dest-type="QUEUE"
+			            dest-name="queue/A"
+			            selector="type='fromHelloworldFileAction'"
+			        />
+			    </jms-bus>
+			
+		   </jms-provider>
+
+      </providers>
+      
+      <services>
+          
+        <service 
+			category="myCategory"
+			name="myFileListener"
+        	description="Hello World File Action (esb listener)" >
+            <listeners>
+            	<fs-listener name="FileGateway"
+            		busidref="helloFileChannel"
+            		maxThreads="1"
+            		is-gateway="true"
+            		poll-frequency-seconds="10"
+            	/>
+                <jms-listener name="helloWorldFileAction"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />
+            </listeners>
+            <actions>
+                   <action name="action1" 
+                   	class="quickstart.hw_file_action.MyAction" 
+                   	process="displayMessage,playWithMessage" 
+                   	/>      
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+Overview:
+=========
+    This is a basic example of using the File gateway feature of the JBoss ESB
+    Files that are found in a particular directory with a particular 
+    extension are sent to a JMS queue with actions for processing.
+    
+Before Running:
+===============
+    1.	Update the "jbosshome.dir" property in the quickstarts.properties file in "../".
+	  2.	Make sure the jbossesb.sar is deployed on your JBoss Application Server.
+	  3.	Make sure the JBoss Application server is running since it uses JBossMQ
+    
+To Run:
+=======
+		1.  In a command window type "ant run". You will see the service get registered in the 
+		JBoss AS server console as well as by the activity in the command window where the service
+		runs.
+		2. Open another command window and type "ant runtest".  This will create a new file called
+		"MyInput.dat" in the directory "build/dirs/input" with the contents "Hello World In A File"
+		3. You should see the output on the first command window running the service.
+		4. Change the file name and contents and re-test.
+		
+What to look at in this Quickstart:
+===================================
+		This example demonstrates the use of a file gateway that by default loads the file 
+		and pushes into a JMS message queue. What follows is a more detailed discussion on the 
+		file gateway:
+		
+        * directory - the directory to be monitored for input file messages
+        * input-suffix - the file extension to be monitored, other files will be ignored
+        * work-suffix - the file extension that is used while the file is "in process" by the
+        ESB.  The file is considered to be "in process" while the gateway is passing it into
+        the ESB listener/service (in this case JMS queue).
+        * post-delete - "true" or "false". The file can be removed once has been successfully 
+        processed.
+        * post-directory - The place where the "processed" file ends up assuming no errors
+        and assuming post-delete="false"
+        * post-suffix - The file extension that is used to mark the file as "completed" 
+        * error-delete - "true" or "false". If there is an internal error and the file fails to
+        be loaded by the ESB, delete it. 
+        * error-directory - The place to drop any file that fails to be uploaded/processed
+        * error-suffix - The file extension that is used to mark a file has had an internal error.
+        Note: Error processing in this case means the file failed to pass through the gateway
+        and into the waiting queue.  
+        
+    

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/MyAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/MyAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/MyAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+/*
+ * 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 quickstart.hw_file_action;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+
+public class MyAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public Message playWithMessage(Message message) throws Exception {
+	   Body msgBody = message.getBody();
+	   String contents = new String(msgBody.getContents());
+	   StringBuffer sb = new StringBuffer();
+	   sb.append("\nBEFORE\n");
+	   sb.append(contents);
+	   sb.append("\nAFTER\n");
+	   msgBody.setContents(sb.toString().getBytes());
+	   return message;
+   }
+	
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/test/CreateTestFile.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/test/CreateTestFile.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_file_action/src/quickstart/hw_file_action/test/CreateTestFile.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+/*
+ * 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 quickstart.hw_file_action.test;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+
+public class CreateTestFile {
+           
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	String inputDirectory = args[0];
+    	String fileName = args[1];
+    	String fileContents = args[2];
+    	File x = new File(inputDirectory + "/" + fileName);
+    	try {
+    		BufferedWriter out = new BufferedWriter(new FileWriter(x));
+    		out.write(fileContents.toCharArray());
+    		out.close();
+    	} catch (Exception e) {
+    		System.out.println("Error while writing the file: " + inputDirectory + "/" + fileName);
+    		System.out.println(e.getMessage());
+    	}
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,100 @@
+<project name="Quickstart_helloworld_FTP_action" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+		
+  <property name="jbossesb.name" value="jbossesb.xml"/>
+  <property name="jbossesb.origconfig" location="${jbossesb.name}"/>
+
+  <property name="jbossesb.config" location="${build.dir}/${jbossesb.name}"/>
+
+	<path id="classpath">
+    <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+    <!-- fileset dir="${basedir}" includes="juddi.properties" -->  
+	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+		  	
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+  <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="config">
+    <copy file="${jbossesb.origconfig}" tofile="${jbossesb.config}"
+        overwrite="true" filtering="true">
+      <filterset>
+        <filter token="FTP_HOSTNAME" value="${jbossesb.ftp.hostname}"/>
+        <filter token="FTP_USERNAME" value="${jbossesb.ftp.username}"/>
+        <filter token="FTP_PASSWORD" value="${jbossesb.ftp.password}"/>
+        <filter token="FTP_DIRECTORY" value="${jbossesb.ftp.directory}"/>
+      </filterset>
+    </copy>
+    <copy file="log4j.xml" tofile="build/log4j.xml"/>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+        <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+
+  <target name="run" depends="jars, config">
+	     <echo>Basic FTP Gateway and JMS Listener with Actions</echo>
+	     <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+	     	<arg value="${jbossesb.config}"/>
+			<classpath refid="classpath"/>
+	     </java>     
+  </target>	
+
+  <target name="deployToSAR" depends="jars, config">
+	    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+	  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+	  	/>
+	  	<copy file="${jbossesb.config}" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/conf"
+	  	/>
+	  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+  </target>
+	
+  <target name="runtest">
+     <echo>Runs Test FTP File creator</echo>
+     <java fork="yes" classname="quickstart.hw_ftp_action.test.CreateTestFile" failonerror="true">
+        <arg value="${jbossesb.ftp.hostname}"/>
+        <arg value="${jbossesb.ftp.username}"/>
+        <arg value="${jbossesb.ftp.password}"/>
+        <arg value="${jbossesb.ftp.directory}/HWFtp.dat"/>
+        <arg value="Hello World In A File (for Hello World FTP Action test)"/> <!--  File Contents -->
+                <classpath refid="classpath"/>
+     </java>
+  </target>
+
+
+</project>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,66 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+    <providers>
+          <ftp-provider name="FTPprovider" hostname="@FTP_HOSTNAME@" >
+          	<ftp-bus busid="helloFTPChannel" >
+          		<ftp-message-filter
+          			username="@FTP_USERNAME@"
+          			password="@FTP_PASSWORD@"
+          			passive="false"
+          			directory="@FTP_DIRECTORY@"
+          			input-suffix=".dat"
+          			work-suffix=".esbWorking"
+          			post-delete="false"
+          			post-suffix=".COMPLETE"
+          			error-delete="false"
+          			error-suffix=".HAS_ERROR"
+          		/>
+          	</ftp-bus>
+          </ftp-provider>
+          
+          <jms-provider name="JBossMQ" 
+          		connection-factory="ConnectionFactory"
+            	jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+            	jndi-URL="localhost" >
+            
+			    <jms-bus busid="quickstartEsbChannel">
+			        <jms-message-filter
+			            dest-type="QUEUE"
+			            dest-name="queue/A"
+			            selector="source='fromHelloworldFTPAction'"
+			        />
+			    </jms-bus>
+			
+		   </jms-provider>
+
+      </providers>
+      
+      <services>  
+        <service 
+			category="myCategory"
+			name="myFileListener"
+        	description="Hello World File Action (esb listener)" >
+            <listeners>
+            	<ftp-listener name="FtpGateway"
+            		busidref="helloFTPChannel"
+            		maxThreads="1"
+            		is-gateway="true"
+            		>
+            		<property name="pollLatencySeconds" value="5"/> 
+            	</ftp-listener>
+                <jms-listener name="helloWorldFileAction"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />
+            </listeners>
+            <actions>
+                   <action name="action1" 
+                   	class="quickstart.hw_ftp_action.MyAction" 
+                   	process="displayMessage,playWithMessage" 
+                   	/>      
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,33 @@
+Overview:
+=========
+  	This is a very basic example that demonstrates how to configure the FTP gateway
+ 	so that it picks up messages from an ftp server, routes them through a JMS queue
+ 	and finally to your action class for processing.
+  
+Before Running:
+===============
+	1.	Update the "jbosshome.dir" and all the jbossesb.ftp properties
+		in the quickstarts.properties file in "../".
+	2.	Make sure the jbossesb.sar is deployed on your JBoss Application Server.
+	3.	Make sure the JBoss Application server is running
+	4.  Make sure you have read/write access to an FTP server.  Write access is required
+	so that a file can be marked as "completed" (or just deleted) and not reprocessed 
+	again and again.
+
+To Run:
+=======
+	1.  In a command window type "ant" to bring up the listener
+	2.  In a second command window type "ant runtest" to execute
+	3.  You should see the file contents displayed in the listener window
+	
+What to consider in this Quickstart:
+===================================	
+1) The FTP configuration has been initialised in ../quickstarts.properties
+
+2) The FTP directory is accessable and can be written to as the "in process"
+and "completed" files are renamed accordingly. 
+	
+If you do not have write access you will receive an error that looks something like the 
+following:
+     [java] 20:41:36,625 ERROR [Thread-5][AbstractFileGateway] Problems renaming
+ file new_file.dat to new_file.dat.esbWorking

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/MyAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/MyAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/MyAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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 quickstart.hw_ftp_action;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+
+public class MyAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public Message playWithMessage(Message message) throws Exception {
+//	   Header msgHeader = message.getHeader();
+	   Body msgBody = message.getBody();
+//	   Call theCall = msgHeader.getCall();
+//	   EPR theEpr = theCall.getFrom();
+	   String contents = new String(msgBody.getContents());
+	   StringBuffer sb = new StringBuffer();
+	   sb.append("\nBEFORE\n");
+	   sb.append(contents);
+	   sb.append("\nAFTER\n");
+	   msgBody.setContents(sb.toString().getBytes());
+	   return message;
+   }
+   
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/test/CreateTestFile.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/test/CreateTestFile.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_ftp_action/src/quickstart/hw_ftp_action/test/CreateTestFile.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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 quickstart.hw_ftp_action.test;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+
+public class CreateTestFile {
+	
+	public static void main(final String[] args) {
+		if (args.length != 5)
+		{
+			System.err.println("Usage: java " + CreateTestFile.class.getName() + " <hostname> <username> <password> <filename> <contents>") ;
+			System.exit(1) ;
+		}
+		else
+		{
+			final String hostname = args[0] ;
+			final String username = args[1] ;
+			final String password = args[2] ;
+			final String filename = args[3] ;
+			final String contents = args[4] ;
+			
+			final URL url ;
+			final String filenameVal ;
+			if (filename.charAt(0) == '/')
+			{
+				filenameVal = (filename.length() > 1 ? "%2F" + filename.substring(1) : "%2F") ;
+			}
+			else
+			{
+				filenameVal = filename ;
+			}
+			try
+			{
+				url = new URL("ftp://" + username + ":" + password + "@" + hostname + "/" + filenameVal) ;
+			}
+			catch (final MalformedURLException murle)
+			{
+				exit("Invalid URL: " + filenameVal, murle, 2) ;
+				return ; // for compiler
+			}
+			final URLConnection connection ;
+			try
+			{
+				connection = url.openConnection() ;
+			}
+			catch (final IOException ioe)
+			{
+				exit("Error accessing location: " + filenameVal, ioe, 3) ;
+				return ; // for compiler
+			}
+			connection.setDoOutput(true) ;
+			final OutputStream os ;
+			try
+			{
+				os = connection.getOutputStream() ;
+			}
+			catch (final IOException ioe)
+			{
+				exit("Error obtaining output stream for location: " + filenameVal, ioe, 4) ;
+				return ; // for compiler
+			}
+			
+			try
+			{
+				final PrintStream ps = new PrintStream(os) ;
+				ps.print(contents) ;
+				ps.close() ;
+			}
+			finally
+			{
+				try
+				{
+					os.close() ;
+				}
+				catch (final IOException ioe) {} //ignore
+			}
+		}
+	}
+	
+	private static void exit(final String message, final Throwable th, final int exitValue)
+	{
+		System.err.println(message) ;
+		th.printStackTrace() ;
+		System.exit(exitValue) ;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,122 @@
+<project name="Quickstart_helloworld_FTP_action" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+		
+  <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+
+	<path id="classpath">
+    <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+    <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+    <fileset dir="${basedir}/lib" includes="*jar"/>    
+	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+			<include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	</fileset>		
+  	
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+  <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+        <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+
+  <target name="run" depends="jars">
+	     <echo>Basic FTP Gateway and JMS Listener with Actions</echo>
+	     <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+	     	<arg value="${esb-config}"/>
+			<classpath refid="classpath"/>
+	     </java>     
+  </target>	
+
+  <target name="runtest">
+     <echo>Insert row data into sql table polled by gateway</echo>
+  	<exec executable="mysql" input="populate.sql" >
+  		<arg value="--user=root" />
+  		<arg value="--password=admin" />
+  		<arg value="--database=test_sql_gateway" />
+  	</exec>
+  </target>  
+
+  <target name="deployToSAR">
+	    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+	  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+	  	/>
+	  	<copy file="jbossesb.xml" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/conf"
+	  	/>
+	  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+	  	<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+  </target>
+	
+	  <target name="dropdb">
+	    <echo>Drop database</echo>
+	  	<exec executable="mysql" >
+	  		<arg value="--user=root" />
+	  		<arg value="--password=admin" />
+	  		<arg value="--execute=drop database test_sql_gateway" />
+	  	</exec>
+	  </target>  
+
+	<target name="createdb">
+	    <echo>Create database and test table</echo>
+	  	<exec executable="mysql" input="create.sql" >
+	  		<arg value="--user=root" />
+	  		<arg value="--password=admin" />
+	  	</exec>
+	  </target>  
+
+	  <target name="purgetable">
+	     <echo>Purge sql table polled by gateway</echo>
+	  	<exec executable="mysql" >
+	  		<arg value="--user=root" />
+	  		<arg value="--password=admin" />
+	  		<arg value="--database=test_sql_gateway" />
+	  		<arg value="--execute=delete from gateway_table" />
+	  	</exec>
+	  </target>  
+
+	  <target name="select">
+	     <echo>Select * from gateway_table</echo>
+	  	<exec executable="mysql" >
+	  		<arg value="--user=root" />
+	  		<arg value="--password=admin" />
+	  		<arg value="--database=test_sql_gateway" />
+	  		<arg value="--execute=select * from gateway_table" />
+	  	</exec>
+	  </target>  
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/create.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/create.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/create.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,10 @@
+-- drop database test_sql_gateway;
+create database test_sql_gateway;
+use test_sql_gateway;
+create table gateway_table
+(
+unique_id serial
+,data_column text
+,status_col text
+);
+create unique index  uid_index  on gateway_table (unique_id);

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,61 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+    <providers>
+          <sql-provider name="SQLprovider" 
+          			url="jdbc:mysql://localhost:3306/test_sql_gateway"
+          			driver="com.mysql.jdbc.Driver"
+          			username="root"
+          			password="admin"
+          >
+          	<sql-bus busid="helloSQLChannel" >
+          		<sql-message-filter
+          			tablename="gateway_table"
+          			status-column="status_col"
+          			message-id-column="unique_id"
+          		/>
+          	</sql-bus>
+          </sql-provider>
+          
+          <jms-provider name="JBossMQ" 
+          		connection-factory="ConnectionFactory"
+            	jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+            	jndi-URL="localhost" >
+            
+			    <jms-bus busid="quickstartEsbChannel">
+			        <jms-message-filter
+			            dest-type="QUEUE"
+			            dest-name="queue/A"
+			            selector="source='fromHelloworldSQLAction'"
+			        />
+			    </jms-bus>
+			
+		   </jms-provider>
+
+      </providers>
+      
+      <services>
+        <service 
+			category="myCategory"
+			name="myJmsListener"
+        	description="Hello World SQL Action (esb jdbc listener)">
+            <listeners>
+            	<sql-listener name="SqlGateway"
+            		busidref="helloSQLChannel"
+            		maxThreads="1"
+            		is-gateway="true"/>
+                <jms-listener name="helloWorldJmsAction"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />
+            </listeners>
+            <actions>
+                   <action name="action1" 
+                   	class="quickstart.hw_sql_action.MyAction" 
+                   	process="displayMessage" 
+                   	/>      
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/populate.sql
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/populate.sql	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/populate.sql	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+use test_sql_gateway;
+insert into gateway_table values(0,'data 111111','p');
+insert into gateway_table values(0,'data 22','p');
+insert into gateway_table values(0,'data 333333333333111111','p');
+insert into gateway_table values(0,'data d d d d','p');
+insert into gateway_table values(0,'data last record','p');

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+
+This test is configured to use a mysql database running in localhost (see jbossesb.xml).
+the jar containing the mysql (or whichever DB you decide to use) must be in the classpath
+
+Configure the sql scripts in this directory (create.sql and populate.sql) to your preferences
+
+You can also configure other preferences by modifying the following build.xml targets:
+	dropdb, createdb (that runs the create.sql)"  ,purgetable
+	and runtest (that runs the populate.sql)
+
+There's a helpful target (select) to see status of table polled by gateway
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/MyAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/MyAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/helloworld_sql_action/src/quickstart/hw_sql_action/MyAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+/*
+ * 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 quickstart.hw_sql_action;
+
+import java.util.Map;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.Message;
+
+public class MyAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  @SuppressWarnings("unchecked")
+ public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  Map<String,Object> rowData =(Map)message.getProperties()
+		  	.getProperty(ListenerTagNames.SQL_ROW_DATA_TAG);
+		  for (Map.Entry<String,Object> curr : rowData.entrySet())
+			  System.out.println("column "+curr.getKey()+" = <" + curr.getValue()+">");
+		  logFooter();
+		  return message;         	
+	}
+  
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,72 @@
+<project name="jbpm_simple1" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+		
+  <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+
+	<path id="classpath">
+    <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+    <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+    <fileset dir="${basedir}/lib" includes="*jar"/>    
+	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+			<include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	</fileset>		
+  	
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+  <fileset dir="../../../build/jbossesb/lib" includes="*.jar" />
+  <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}" debug="true"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+        <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+
+  <target name="run" depends="jars">
+	     <echo>Basic Jbpm interaction example</echo>
+	     <java fork="yes" classname="quickstart.jbpm_simple1.TestLauncher" failonerror="true">  
+	     	<arg value="${esb-config}"/>
+			<classpath refid="classpath"/>
+	     </java>     
+  </target>	
+
+	  <target name="runtest">
+	     <echo>Example of a full jBPM process lifecycle</echo>
+	     <java fork="yes" classname="quickstart.jbpm_simple1.test.TestCommandMessages" failonerror="true">
+			<classpath refid="classpath"/>
+	     </java>
+	  </target>  
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/gpd.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/gpd.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/gpd.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-diagram name="simple" width="666" height="507">
+  <node name="start" x="125" y="18" width="140" height="40">
+    <transition name="to_state">
+      <label x="5" y="-10"/>
+    </transition>
+  </node>
+  <node name="first" x="126" y="107" width="140" height="40">
+    <transition name="to_end">
+      <label x="5" y="-10"/>
+    </transition>
+  </node>
+  <node name="end" x="128" y="204" width="140" height="40"/>
+</process-diagram>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/hibernate.cfg.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/hibernate.cfg.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/hibernate.cfg.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,176 @@
+<?xml version='1.0' encoding='utf-8'?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+  <session-factory>
+    <!-- jdbc connection properties -->
+<!--
+    <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
+    <property name="hibernate.connection.url">jdbc:hsqldb:mem:.;sql.enforce_strict_size=true</property>
+    <property name="hibernate.connection.url">jdbc:hsqldb:hsql://localhost/juddi</property>
+    <property name="hibernate.connection.username">sa</property>
+    <property name="hibernate.connection.password"></property>
+-->
+    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
+    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
+    <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/JbpmDB</property>
+    <property name="hibernate.connection.username">postgres</property>
+    <property name="hibernate.connection.password"></property>
+
+
+    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
+        
+    <!-- other hibernate properties 
+    <property name="hibernate.show_sql">true</property>
+    <property name="hibernate.format_sql">true</property>
+    <property name="hibernate.use_sql_comments">true</property>
+    -->
+
+    <!-- ############################################ -->
+    <!-- # mapping files with external dependencies # -->
+    <!-- ############################################ -->
+
+    <!-- following mapping file has a dependendy on   -->
+    <!-- 'bsh-{version}.jar'.                         -->
+    <!-- uncomment this if you don't have bsh on your -->
+    <!-- classpath.  you won't be able to use the     -->
+    <!-- script element in process definition files   -->
+    <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
+
+    <!-- following mapping files have a dependendy on  -->
+    <!-- 'jbpm-identity-{version}.jar', mapping files  -->
+    <!-- of the pluggable jbpm identity component.     -->
+    <!-- comment out the following 3 lines if you don't-->
+    <!-- want to use the default jBPM identity mgmgt   -->
+    <!-- component                                     -->
+    <mapping resource="org/jbpm/identity/User.hbm.xml"/>
+    <mapping resource="org/jbpm/identity/Group.hbm.xml"/>
+    <mapping resource="org/jbpm/identity/Membership.hbm.xml"/>
+
+    <!-- ###################### -->
+    <!-- # jbpm mapping files # -->
+    <!-- ###################### -->
+
+    <!-- hql queries and type defs -->
+    <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
+    
+    <!-- graph.def mapping files -->
+    <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/Node.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/Event.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/Action.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>
+    <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/>
+
+    <!-- graph.node mapping files -->
+    <mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/Join.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/State.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/>
+
+    <!-- context.def mapping files -->
+    <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>
+    <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/>
+
+    <!-- taskmgmt.def mapping files -->
+    <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>
+
+    <!-- module.def mapping files -->
+    <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
+
+    <!-- bytes mapping files -->
+    <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
+
+    <!-- file.def mapping files -->
+    <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/>
+
+    <!-- scheduler.def mapping files -->
+    <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>
+    <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>
+
+    <!-- graph.exe mapping files -->
+    <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/>
+
+    <!-- module.exe mapping files -->
+    <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/>
+        
+    <!-- context.exe mapping files -->
+    <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>
+
+    <!-- msg.db mapping files -->
+    <mapping resource="org/jbpm/msg/Message.hbm.xml"/>
+    <mapping resource="org/jbpm/msg/db/TextMessage.hbm.xml"/>
+    <mapping resource="org/jbpm/command/ExecuteActionCommand.hbm.xml"/>
+    <mapping resource="org/jbpm/command/ExecuteNodeCommand.hbm.xml"/>
+    <mapping resource="org/jbpm/command/SignalCommand.hbm.xml"/>
+    <mapping resource="org/jbpm/command/TaskInstanceEndCommand.hbm.xml"/>
+
+    <!-- taskmgmt.exe mapping files -->
+    <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>
+
+    <!-- scheduler.exe mapping files -->
+    <mapping resource="org/jbpm/scheduler/exe/Timer.hbm.xml"/>
+
+    <!-- logging mapping files -->
+    <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>
+    <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/>
+    <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/>
+    
+  </session-factory>
+</hibernate-configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-gateway.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-gateway.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-gateway.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	NOTE: DO NOT MODIFY
+	This file was auto-generated.
+-->
+<jbossesb-gateways parameterReloadSecs="5"/>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-listener.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-listener.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb-listener.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	NOTE: DO NOT MODIFY
+	This file was auto-generated.
+-->
+<jbossesb-listeners parameterReloadSecs="5">
+<jmsToJbpmInterface listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" service-category="categoryJbpmSimple1" service-description="Simple jBPM-ESB example" service-name="nameJbpmSimple1">
+<EPR connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="queue" jndi-URL="localhost" jndi-context-factory="org.jnp.interfaces.NamingContextFactory" message-selector="type='toJbpm'" protocol="jms"/>
+<action action="jbpmCommand" class="org.jboss.soa.esb.actions.jbpm.CommandInterpreter"/>
+</jmsToJbpmInterface>
+</jbossesb-listeners>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,38 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+	<providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="toJbpmJmsChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                      selector="type='toJbpm'"
+                  />
+              </jms-bus>
+          </jms-provider>
+      </providers>
+      
+      <services>
+        <service 
+        	category="categoryJbpmSimple1" 
+        	name="nameJbpmSimple1" 
+        	description="Simple jBPM-ESB example">
+            <listeners>
+                <jms-listener name="jmsToJbpmInterface"
+                    busidref="toJbpmJmsChannel"                         
+                    maxThreads="1"
+                />
+            </listeners>
+            <actions>
+                   <action name="jbpmCommand"  
+                   	class="org.jboss.soa.esb.actions.jbpm.CommandInterpreter" 
+                   />      
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbpm.cfg.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbpm.cfg.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jbpm.cfg.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,9 @@
+<jbpm-configuration>
+
+  <!-- 
+    The default configurations can be found in org/jbpm/default.jbpm.cfg.xml 
+    Those configurations can be overwritten by putting this file called 
+    jbpm.cfg.xml on the root of the classpath and put in the customized values.
+  -->
+
+</jbpm-configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/processdefinition.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/processdefinition.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/processdefinition.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition 
+  xmlns="urn:jbpm.org:jpdl-3.1"
+  name="simple">
+   <start-state name="start">
+      <transition name="to_state" to="first">
+         <action name="action" class="quickstart.jbpm_simple1.JbpmActionHandler">
+            <message>Going to the first state!</message>
+         </action>
+      </transition>
+   </start-state>
+   <state name="first">
+      <transition name="to_end" to="end">
+         <action name="action" class="quickstart.jbpm_simple1.JbpmActionHandler">
+            <message>About to finish!</message>
+         </action>
+      </transition>
+   </state>
+   <end-state name="end"></end-state>
+</process-definition>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/processimage.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/processimage.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+
+This test is configured to use JMS transport:
+
+queue/B with a message selector:  type='toJbpm' (see jbossesb.xml)
+
+First terminal:
+1) cd to this directory ( ... product/samples/quickstarts/jbpm_simple1 )
+2) ant clean run
+
+Second terminal
+1) cd to this directory ( ... product/samples/quickstarts/jbpm_simple1 )
+2) ant runtest
+
+Output on first  terminal will log hibernate and jbpm classes output
+Output on second terminal will log what's going on with the jBPM process
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/gpd.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/gpd.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/gpd.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-diagram name="simple" width="690" height="503">
+  <node name="start" x="0" y="0" width="140" height="40">
+    <transition name="to_state">
+      <label x="5" y="-10"/>
+    </transition>
+  </node>
+  <node name="first" x="0" y="0" width="140" height="40">
+    <transition name="to_end">
+      <label x="5" y="-10"/>
+    </transition>
+  </node>
+  <node name="end" x="0" y="0" width="140" height="40"/>
+</process-diagram>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/hibernate.cfg.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/hibernate.cfg.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/hibernate.cfg.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,176 @@
+<?xml version='1.0' encoding='utf-8'?>
+
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+  <session-factory>
+    <!-- jdbc connection properties -->
+<!--
+    <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
+    <property name="hibernate.connection.url">jdbc:hsqldb:mem:.;sql.enforce_strict_size=true</property>
+    <property name="hibernate.connection.url">jdbc:hsqldb:hsql://localhost/juddi</property>
+    <property name="hibernate.connection.username">sa</property>
+    <property name="hibernate.connection.password"></property>
+-->
+    <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
+    <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
+    <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/JbpmDB</property>
+    <property name="hibernate.connection.username">postgres</property>
+    <property name="hibernate.connection.password"></property>
+
+
+    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
+        
+    <!-- other hibernate properties 
+    <property name="hibernate.show_sql">true</property>
+    <property name="hibernate.format_sql">true</property>
+    <property name="hibernate.use_sql_comments">true</property>
+    -->
+
+    <!-- ############################################ -->
+    <!-- # mapping files with external dependencies # -->
+    <!-- ############################################ -->
+
+    <!-- following mapping file has a dependendy on   -->
+    <!-- 'bsh-{version}.jar'.                         -->
+    <!-- uncomment this if you don't have bsh on your -->
+    <!-- classpath.  you won't be able to use the     -->
+    <!-- script element in process definition files   -->
+    <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
+
+    <!-- following mapping files have a dependendy on  -->
+    <!-- 'jbpm-identity-{version}.jar', mapping files  -->
+    <!-- of the pluggable jbpm identity component.     -->
+    <!-- comment out the following 3 lines if you don't-->
+    <!-- want to use the default jBPM identity mgmgt   -->
+    <!-- component                                     -->
+    <mapping resource="org/jbpm/identity/User.hbm.xml"/>
+    <mapping resource="org/jbpm/identity/Group.hbm.xml"/>
+    <mapping resource="org/jbpm/identity/Membership.hbm.xml"/>
+
+    <!-- ###################### -->
+    <!-- # jbpm mapping files # -->
+    <!-- ###################### -->
+
+    <!-- hql queries and type defs -->
+    <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
+    
+    <!-- graph.def mapping files -->
+    <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/Node.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/Event.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/Action.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>
+    <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/>
+
+    <!-- graph.node mapping files -->
+    <mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/Join.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/State.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/>
+
+    <!-- context.def mapping files -->
+    <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>
+    <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/>
+
+    <!-- taskmgmt.def mapping files -->
+    <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>
+
+    <!-- module.def mapping files -->
+    <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
+
+    <!-- bytes mapping files -->
+    <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
+
+    <!-- file.def mapping files -->
+    <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/>
+
+    <!-- scheduler.def mapping files -->
+    <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>
+    <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>
+
+    <!-- graph.exe mapping files -->
+    <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/>
+
+    <!-- module.exe mapping files -->
+    <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/>
+        
+    <!-- context.exe mapping files -->
+    <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>
+
+    <!-- msg.db mapping files -->
+    <mapping resource="org/jbpm/msg/Message.hbm.xml"/>
+    <mapping resource="org/jbpm/msg/db/TextMessage.hbm.xml"/>
+    <mapping resource="org/jbpm/command/ExecuteActionCommand.hbm.xml"/>
+    <mapping resource="org/jbpm/command/ExecuteNodeCommand.hbm.xml"/>
+    <mapping resource="org/jbpm/command/SignalCommand.hbm.xml"/>
+    <mapping resource="org/jbpm/command/TaskInstanceEndCommand.hbm.xml"/>
+
+    <!-- taskmgmt.exe mapping files -->
+    <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>
+
+    <!-- scheduler.exe mapping files -->
+    <mapping resource="org/jbpm/scheduler/exe/Timer.hbm.xml"/>
+
+    <!-- logging mapping files -->
+    <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>
+    <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/>
+    <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>
+    <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/>
+    <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/>
+    
+  </session-factory>
+</hibernate-configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/processdefinition.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/processdefinition.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/processdefinition.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition 
+  xmlns="urn:jbpm.org:jpdl-3.1"
+  name="simple">
+   <start-state name="start">
+      <transition name="to_state" to="first">
+         <action name="action" class="quickstart.jbpm_simple1.JbpmActionHandler">
+            <message>Going to the first state!</message>
+         </action>
+      </transition>
+   </start-state>
+   <state name="first">
+      <transition name="to_end" to="end">
+         <action name="action" class="quickstart.jbpm_simple1.JbpmActionHandler">
+            <message>About to finish!</message>
+         </action>
+      </transition>
+   </state>
+   <end-state name="end"></end-state>
+</process-definition>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/processimage.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/processimage.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/JbpmActionHandler.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/JbpmActionHandler.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/JbpmActionHandler.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,21 @@
+package quickstart.jbpm_simple1;
+
+import org.apache.log4j.Logger;
+import org.jbpm.graph.def.ActionHandler;
+import org.jbpm.graph.exe.ExecutionContext;
+
+public class JbpmActionHandler implements ActionHandler {
+
+	public String message;
+	private static final long serialVersionUID = 1L;
+	
+	public void execute(ExecutionContext ctx) throws Exception {
+		ctx.getContextInstance().setVariable("message", message);
+		ctx.getContextInstance().setVariable("invocationCounter",++_counter);
+		_logger.info(getClass().getSimpleName()+" invoked - count = "+_counter);
+		
+	}
+
+	private static int _counter = 0;
+	static Logger _logger=Logger.getLogger(JbpmActionHandler.class);
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/TestLauncher.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/TestLauncher.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/TestLauncher.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,166 @@
+package quickstart.jbpm_simple1;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.Properties;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.listeners.StandAloneBootStrapper;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.jbpm.JbpmConfiguration;
+
+import com.arjuna.common.util.propertyservice.PropertyManager;
+
+public class TestLauncher {
+	
+	private static Logger _logger = Logger.getLogger(TestLauncher.class);
+	
+	public static void main(String[] args) throws Exception
+	{
+		try
+		{
+			_config 	= JbpmConfiguration.getInstance();
+			createJbpmSchema();
+			setupRegistry();
+			runBeforeTest();
+			StandAloneBootStrapper.main(args);
+		}
+		finally
+		{
+			runAfterTest();
+//			dropJbpmSchema();
+		}
+	} //________________________________
+
+	static JbpmConfiguration	_config;
+	static void createJbpmSchema()
+	{
+		try 	{ dropJbpmSchema(); }
+		catch (Exception e) {}
+		_logger.info("&&&&&&&&&&&&&&& CREATING jBPM schema");
+	    _config.createSchema();
+	}  
+	static void dropJbpmSchema() 
+	{
+		if (null!=_config)
+		{
+			_logger.info("&&&&&&&&&&&&&&& Dropping jBPM schema");
+			_config.dropSchema();
+			_config.close();
+		}
+	}
+
+	public static void runAfterTest()
+	{
+		try
+		{
+			Thread.sleep(2000);
+			if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+				HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
+		}
+		catch (Exception e) {}
+	}
+	
+	public static void runBeforeTest()
+	{
+		try {
+			
+			String userDir = System.getProperty("user.dir");
+			String baseDir = (userDir.endsWith("jbpm_simple1")) 
+				? userDir
+				: userDir + "/product/samples/quickstarts/jbpm_simple1";
+			DOMConfigurator.configure(baseDir + "/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse(".");
+
+			//Set the juddi properties file in System so juddi will pick it up later and use the test values.
+			baseDir = (userDir.endsWith("jbpm_simple1"))
+				? userDir+"/../../../.."
+				: userDir;
+			String juddiPropertiesFile = baseDir+"/qa/junit/src/org/jboss/soa/esb/services/registry/juddi-qatest.properties";
+
+			System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
+			//Read this properties file to get the db connection string
+			Properties props = new Properties();
+			InputStream inStream = new FileInputStream(juddiPropertiesFile);
+			props.load(inStream);
+			mDbDriver    = props.getProperty("juddi.jdbcDriver");
+			mDbUrl       = props.getProperty("juddi.jdbcUrl");
+			mDbUsername  = props.getProperty("juddi.jdbcUsername");
+			mDbPassword  = props.getProperty("juddi.jdbcPassword");
+			
+			String database="not tested yet";
+			if ("org.hsqldb.jdbcDriver".equals(mDbDriver)) {
+				database = "hsqldb";
+				//Bring up hsql on default port 9001
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir("product","../product") + "build/hsqltestdb", "juddi");
+			} else if ("com.mysql.jdbc.Driver".equals(mDbDriver)) {
+				database = "mysql";
+			} //add and test your own database..
+			
+			//Get the registry-schema create scripts
+			String sqlDir = baseDir+"/product/install/jUDDI-registry/sql/" + database + "/";
+			//Drop what is there now, if exists. We want to start fresh.
+			String sqlDropCmd      = FileUtil.readTextFile(new File(sqlDir + "drop_database.sql"));
+			String sqlCreateCmd    = FileUtil.readTextFile(new File(sqlDir + "create_database.sql"));
+			String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir + "insert_publishers.sql"));
+			
+			try {
+				Class.forName(mDbDriver);
+			} catch (Exception e) {
+				System.out.println("ERROR: failed to load " + database + " JDBC driver.");
+				e.printStackTrace();
+				return;
+			}
+			java.sql.Connection con = DriverManager.getConnection(mDbUrl, mDbUsername, mDbPassword);
+			Statement stmnt = con.createStatement();
+			stmnt.execute(sqlDropCmd);
+			stmnt.execute(sqlCreateCmd);
+			stmnt.execute(sqlInsertPubCmd);
+			
+		} catch (Throwable e) {
+			e.printStackTrace();
+			System.out.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+	}
+
+    private static String mDbDriver;
+	private static String mDbUrl;
+	private static String mDbUsername;
+	private static String mDbPassword;
+
+	/**
+	 * Invocation of this method should be unnecessary.  
+	 * Had to invoke it because I had trouble to have the properties loaded from jbossesb-properties.xml
+	 * Once that is solved, you can get rid of the invocation to this method (up in the run() )
+	 */
+	protected static void setupRegistry() {
+		PropertyManager mgr = null;
+		
+		mgr = ModulePropertyManager.getPropertyManager("registry");
+		mgr.setProperty(Environment.REGISTRY_IMPEMENTATION_CLASS,"org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl");
+		mgr.setProperty(Environment.REGISTRY_QUERY_MANAGER_URI,"jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire");
+		mgr.setProperty(Environment.REGISTRY_LIFECYCLE_MANAGER_URI,"jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish");
+		mgr.setProperty(Environment.REGISTRY_FACTORY_CLASS,"org.apache.ws.scout.registry.ConnectionFactoryImpl");
+		mgr.setProperty(Environment.REGISTRY_SCOUT_TRANSPORT_CLASS,"org.apache.ws.scout.transport.RMITransport");
+		mgr.setProperty(Environment.REGISTRY_USER,"jbossesb");
+		mgr.setProperty(Environment.REGISTRY_PASSWORD,"password");
+		System.setProperty("javax.xml.registry.ConnectionFactoryClass", "org.apache.ws.scout.registry.ConnectionFactoryImpl");
+		
+        mgr = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE) ;
+        mgr.setProperty(Environment.REGISTRY_FILE_HELPER_DIR, System.getProperty("java.io.tmpdir","/tmp")) ;
+
+	}
+
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/JunitTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/JunitTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/JunitTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,86 @@
+package quickstart.jbpm_simple1.test;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ProcessInstance;
+
+public class JunitTest extends TestCase {
+
+	JbpmConfiguration	_config;
+	JbpmContext 		_ctx;
+
+	  public void setUp() {
+			_config 	= JbpmConfiguration.getInstance();
+		    _config.createSchema();
+			_ctx 		= _config.createJbpmContext();
+		  }
+		  
+		  public void tearDown() {
+			if (null!=_ctx) 	_ctx.close();
+			if (null!=_config)
+			{
+				_config.dropSchema();
+				_config.close();
+			}
+		  }
+
+	public void testSimpleProcess() throws Exception {
+		ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("processdefinition.xml");
+		assertNotNull("Definition should not be null", processDefinition);
+
+		_ctx.getSession().saveOrUpdate(processDefinition);
+		String processName = processDefinition.getName();
+		processDefinition	= null;
+		
+
+		_ctx.close(); 
+		_ctx = _config.createJbpmContext();
+		ProcessInstance instance = _ctx.newProcessInstance(processName);		
+		assertEquals(
+				"Instance is in start state", 
+				instance.getRootToken().getNode().getName(), 
+				"start");
+		assertNull(
+				"Message variable should not exist yet", 
+				instance.getContextInstance().getVariable("message"));
+
+		instance.signal();
+		_ctx.save(instance);
+		long instanceId	= instance.getId();
+
+		_ctx.close(); 
+		_ctx = _config.createJbpmContext();
+		instance	= _ctx.loadProcessInstanceForUpdate(instanceId);
+		assertEquals(
+				"Instance is in first state", 
+				instance.getRootToken().getNode().getName(), 
+				"first");
+
+		instance.signal();
+		_ctx.save(instance);
+
+		_ctx.close(); 
+		_ctx = _config.createJbpmContext();
+		instance	= _ctx.loadProcessInstanceForUpdate(instanceId);
+		assertEquals(
+				"Instance is in end state", 
+				instance.getRootToken().getNode().getName(), 
+				"end");
+		
+		_logger.info(
+				"Context variable invocationCounter contains "
+				+instance.getContextInstance().getVariable("invocationCounter"));
+
+		assertTrue("Instance has ended", instance.hasEnded());
+		assertEquals(
+				"Message variable is changed", 
+				instance.getContextInstance().getVariable("message"),
+				"About to finish!");
+
+	}
+	Logger _logger = Logger.getLogger(JunitTest.class);
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/jbpm_simple1/src/quickstart/jbpm_simple1/test/TestCommandMessages.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,197 @@
+package quickstart.jbpm_simple1.test;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.listeners.message.Invoker;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.jbpm.CommandVehicle;
+
+import com.arjuna.common.util.propertyservice.PropertyManager;
+
+public class TestCommandMessages {
+
+	static Logger		_logger = Logger.getLogger(TestCommandMessages.class);
+	
+	public static void main(String[] args) throws Exception
+	{
+		try
+		{		
+			// following call should not be necessary - see method for comments
+			setupRegistry();
+			new TestCommandMessages().run();
+		}
+		finally
+		{
+			System.exit(0);
+		}
+	}
+	
+	public void run() throws Exception {
+
+		String category = "categoryJbpmSimple1";
+		String name = "nameJbpmSimple1";
+
+		Enum operation	= null;
+		CommandVehicle command = null;
+		
+		operation	= CommandVehicle.Operation.deployProcessDefinition;
+		command 	= new CommandVehicle(operation);		
+		command.setProcessDefinition(getProcessDefinitionXml("processdefinition.xml"));	
+		Message respMsg	= Invoker.invokeAndAwaitResponse(command,category,name,15000);
+		CommandVehicle response = (null==respMsg) ? null : new CommandVehicle(respMsg);
+		if (null!=response)
+		{
+			_logger.info("Invoked : "+operation.toString());
+			_logger.info("Return code = "+response.getReturnCode());
+			_logger.info("Error messg = "+response.getErrorMessage());
+			Exception e = response.getException();
+			if (null==e)
+			{
+				_logger.info("PrcDef name = "+response.getProcessDefinitionName());
+				_logger.info("PrcDef vers = "+response.getProcessVersion());
+			}
+			else
+				_logger.error("Problems in jbpm.CommandInterpreter",e);
+		}
+		else
+			_logger.info("Response was not received");
+		_logger.info("_______________________________________________________________________");
+		
+		operation	= CommandVehicle.Operation.newProcessInstance;
+		command		= new CommandVehicle(operation);
+		command.setProcessDefinitionName(response.getProcessDefinitionName());
+		respMsg		= Invoker.invokeAndAwaitResponse(command,category,name,15000);
+		response	= (null==respMsg) ? null : new CommandVehicle(respMsg);
+		if (null!=response)
+		{
+			_logger.info("Invoked : "+operation.toString());
+			_logger.info("Return code = "+response.getReturnCode());
+			_logger.info("Error messg = "+response.getErrorMessage());
+			Exception e = response.getException();
+			if (null==e)
+			{
+				_logger.info("PrcDef name = "+response.getProcessDefinitionName());
+				_logger.info("PrcDef vers = "+response.getProcessVersion());
+				_logger.info("Instance id = "+response.getInstanceId());
+				_logger.info("Token    id = "+response.getTokenId());
+				_logger.info("Current node= "+response.getCurrentNodeName());
+			}
+			else
+				_logger.error("Problems in jbpm.CommandInterpreter",e);
+		}
+		else
+			_logger.info("Response was not received");
+		_logger.info("_______________________________________________________________________");
+		
+		for (boolean continueLooping = true; continueLooping;)
+		{
+			operation	= CommandVehicle.Operation.signalToken;
+			command		= new CommandVehicle(operation);
+			command.setTokenId(response.getTokenId());
+			respMsg		= Invoker.invokeAndAwaitResponse(command,category,name,15000);
+			response	= (null==respMsg) ? null : new CommandVehicle(respMsg);
+			if (null!=response)
+			{
+				_logger.info("Invoked : "+operation.toString());
+				_logger.info("Return code = "+response.getReturnCode());
+				_logger.info("Error messg = "+response.getErrorMessage());
+				Exception e = response.getException();
+				if (null==e)
+				{
+					_logger.info("PrcDef name = "+response.getProcessDefinitionName());
+					_logger.info("PrcDef vers = "+response.getProcessVersion());
+					_logger.info("Instance id = "+response.getInstanceId());
+					_logger.info("Token    id = "+response.getTokenId());
+					_logger.info("Current node= "+response.getCurrentNodeName());
+					Object obj = response.getUserObject();
+					String ended = (null==obj)?"<null>":obj.toString();
+					_logger.info("Has ended   = "+ ended);
+					continueLooping	= "false".equals(ended);
+				}
+				else
+					_logger.error("Problems in jbpm.CommandInterpreter",e);
+			}
+			else
+				_logger.info("Response was not received");
+			_logger.info("_______________________________________________________________________");
+			
+			if (! CommandVehicle.RETCODE_OK.equals(response.getReturnCode()))
+				break;
+		}
+		
+		// Invoke 'hasInstanceEnded' once just to exemplify use of this operation
+		operation	= CommandVehicle.Operation.hasInstanceEnded;
+		command		= new CommandVehicle(operation);
+		command.setInstanceId(response.getInstanceId());
+		respMsg		= Invoker.invokeAndAwaitResponse(command,category,name,15000);
+		response	= (null==respMsg) ? null : new CommandVehicle(respMsg);
+		if (null!=response)
+		{
+			_logger.info("Invoked : "+operation.toString());
+			_logger.info("Return code = "+response.getReturnCode());
+			_logger.info("Error messg = "+response.getErrorMessage());
+			Exception e = response.getException();
+			if (null==e)
+			{
+				_logger.info("PrcDef name = "+response.getProcessDefinitionName());
+				_logger.info("PrcDef vers = "+response.getProcessVersion());
+				_logger.info("Instance id = "+response.getInstanceId());
+				_logger.info("Token    id = "+response.getTokenId());
+				_logger.info("Current node= "+response.getCurrentNodeName());
+				Object obj = response.getUserObject();
+				String ended = (null==obj)?"<null>":obj.toString();
+				_logger.info("Has ended   = "+ ended);
+			}
+			else
+				_logger.error("Problems in jbpm.CommandInterpreter",e);
+		}
+		else
+			_logger.info("Response was not received");
+		_logger.info("_______________________________________________________________________");
+	}
+	
+	protected String getProcessDefinitionXml(String pFileName) throws Exception
+	{
+		String userDir = System.getProperty("user.dir");
+		String baseDir = (userDir.endsWith("jbpm_simple1")) 
+		? userDir
+		: userDir + "/product/samples/quickstarts/jbpm_simple1";
+	    InputStream in = new FileInputStream(new File(baseDir,pFileName));
+		ByteArrayOutputStream out = new ByteArrayOutputStream();
+		byte[]ba = new byte[1000];
+		int iQ = -1;
+		while (-1<(iQ=in.read(ba)))
+			if (iQ>0)	out.write(ba,0,iQ);
+		return out.toString();
+	}
+	
+	/**
+	 * Invocation of this method should be unnecessary.  
+	 * Had to invoke it because I had trouble to have the properties loaded from jbossesb-properties.xml
+	 * Once that is solved, you can get rid of the invocation to this method (up in the run() )
+	 */
+	protected static void setupRegistry() {
+		PropertyManager mgr = null;
+		
+		mgr = ModulePropertyManager.getPropertyManager("registry");
+		mgr.setProperty(Environment.REGISTRY_IMPEMENTATION_CLASS,"org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl");
+		mgr.setProperty(Environment.REGISTRY_QUERY_MANAGER_URI,"jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire");
+		mgr.setProperty(Environment.REGISTRY_LIFECYCLE_MANAGER_URI,"jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish");
+		mgr.setProperty(Environment.REGISTRY_FACTORY_CLASS,"org.apache.ws.scout.registry.ConnectionFactoryImpl");
+		mgr.setProperty(Environment.REGISTRY_SCOUT_TRANSPORT_CLASS,"org.apache.ws.scout.transport.RMITransport");
+		mgr.setProperty(Environment.REGISTRY_USER,"jbossesb");
+		mgr.setProperty(Environment.REGISTRY_PASSWORD,"password");
+		System.setProperty("javax.xml.registry.ConnectionFactoryClass", "org.apache.ws.scout.registry.ConnectionFactoryImpl");
+		
+        mgr = ModulePropertyManager.getPropertyManager(ModulePropertyManager.CORE_MODULE) ;
+        mgr.setProperty(Environment.REGISTRY_FILE_HELPER_DIR, System.getProperty("java.io.tmpdir","/tmp")) ;
+
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,81 @@
+<project name="Quickstart_more_action" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+	
+  <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+
+	<path id="classpath">
+		  <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+		  <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+    <fileset dir="${basedir}/lib" includes="*jar"/>    
+  	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+  	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+  	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	  <fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	  <fileset dir="${jbosshome.dir}/server/default/lib">
+		  	<include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	  </fileset>		
+  	
+    <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  	<fileset dir="${basedir}" includes="build/**/*.xml"/>
+    <pathelement location="." />  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+        <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+	
+  <target name="run" depends="jars">
+    <echo>More Actions</echo>
+		 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+	  	   	<arg value="${esb-config}"/>
+	  		<classpath refid="classpath"/>
+	  	 </java>
+  </target>
+
+  <target name="deployToSAR">
+	    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+	  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+	  	/>
+	  	<copy file="jbossesb.xml" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/conf"
+	  	/>
+	  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+  </target>
+	
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.moreaction.test.SendJMSMessage" failonerror="true">
+     	<arg value="Goodbye World"/>
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+</project>
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,64 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="quickstartGwChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+   					  dest-name="queue/quickstart_more_action_Request"
+                  />
+              </jms-bus>
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+          
+        <service category="ActionServices" 
+                 name="MoreActionService" 
+                 description="More Action EPR description" >
+            <listeners>
+                <jms-listener name="JMS-Gateway"
+                    busidref="quickstartGwChannel"                         
+                    maxThreads="1"
+                    is-gateway="true"
+                />
+                <jms-listener name="JMS-ESBListener"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />                
+            </listeners>
+            <actions>
+			   <action name="first"  class="quickstart.moreaction.MyJMSListenerAction"  process="displayMessage" >
+			   		<property name="exceptionMethod" value="exceptionHandler" />
+			   </action>
+		   	   <action name="second" class="quickstart.moreaction.MyJMSListenerAction" >
+			   		<property name="exceptionMethod" value="exceptionHandler" />
+			   </action>
+		   	   <action name="third"  class="quickstart.moreaction.StatefulAction"  process="methodOne,methodTwo,displayCount" > 
+			   		<property name="exceptionMethod" value="exceptionHandler" />
+			   </action>
+		   	   <action name="fourth" class="quickstart.moreaction.CustomConfigAction"  process="displayConfig" >
+		   	   		<property name="myStuff" value="rocks" />
+		   	   		<property name="moreStuff" value="rocks harder"/>
+		   	   		<property name="subElements">
+			   	   		<subElement1>Value of 1</subElement1>
+			   	   		<subElement2>Value of 2</subElement2>
+			   	   		<subElement3>Value of 3</subElement3>
+		   	   		</property>
+		   	   </action>
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,30 @@
+The purpose of the more_action quickstart example is to show different ways of using Action classes.
+
+In the jbossesb.xml:
+	   <action class="quickstart.MyJMSListenerAction" process="displayMessage" exceptionMethod="exceptionHandler" />	  
+   	   <action class="quickstart.MyJMSListenerAction" exceptionMethod="exceptionHandler" />
+   	   <action class="quickstart.StatefulAction"  process="methodOne,methodTwo,displayCount" exceptionMethod="exceptionHandler" />
+   	   <action class="quickstart.CustomConfigAction" process="displayConfig"
+			myStuff="rocks"
+			moreStuff="rocks harder"   	   
+   	   >
+   	   		<subElement1>Value of 1</subElement1>
+   	   		<subElement2>Value of 2</subElement2>
+   	   		<subElement3>Value of 3</subElement3>
+   	   </action>
+   	   
+   	   
+The second MyJMSListenerAction doesn't have a "process" attribute.  That means JBoss ESB is looking for a
+method with the following signature:
+  public Message process(Message message) {
+
+The StatefulAction declaration has a process attribute that has a command delimited list of method names.
+These methods will be called in the order in which they appear in the list. In addition, the StatefulAction
+class is only instantiated one time and all method calls are executed against the same instance.  
+When you execute this example you'll be able to see that the cnt maintains its state between method calls.
+If you would like to see the alternative of calling each method with a new instance of StatefulAction 
+review the esb-config.xml.backup file that lists all the actions individually.
+
+The CustomConfigAction demonstrates how to access custom attributes on the main action tag and child
+elements of the action tag.  As an action developer you have full access to these items as a means of
+configuration for your action thus making them more reusable between various projects.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/CustomConfigAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/CustomConfigAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/CustomConfigAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,51 @@
+/*
+ * 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 quickstart.moreaction;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import java.util.Set;
+
+public class CustomConfigAction {
+	protected ConfigTree	_config;
+	public CustomConfigAction(ConfigTree config) { _config = config; } 
+	
+	public Message displayConfig(Message msg) {
+		// Note: in and out message is being ignored
+		
+	    Set<String> names = _config.getAttributeNames();
+	    System.out.println("****************************");
+	    for (String attrName : names) {
+	    	String value = _config.getAttribute(attrName);
+	    	System.out.println("Attribute: " + attrName + " Value: " + value);
+	    }
+	    System.out.println("****************************");
+	    
+	    ConfigTree[] subElements = _config.getAllChildren();
+	    // Note: even a sub-element can have attributes but trying to keep this simple
+	    System.out.println("############################");
+	    for (ConfigTree child : subElements) {
+	    	System.out.println("SubElement: " + child.getName() + "Body: " + child.getWholeText());
+	    }
+	    System.out.println("############################");
+		return msg;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,66 @@
+/*
+ * 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 quickstart.moreaction;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message process(Message message) {
+	  System.out.println("** Demonstrates the default method call if no process attribute is specified");
+	  return message;	 
+  }
+  
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+   
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/StatefulAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/StatefulAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/StatefulAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,65 @@
+/*
+ * 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 quickstart.moreaction;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class StatefulAction {
+	 protected ConfigTree	_config;
+	 int cnt = 0;
+	 public StatefulAction(ConfigTree config) {
+		 System.out.println("\n\n!!Constructor - " + this.getClass().getName() + "!!\n");
+		 cnt++; // 1
+		 _config = config; 
+	 } 
+	  
+	 public Message methodOne(Message msg) throws Exception {
+		 cnt++; // 2
+		 System.out.println("methodOne: " + cnt);
+		 return msg;
+	 }
+	 public Message methodTwo(Message msg) throws Exception {
+		 cnt++; // 3
+		 System.out.println("methodTwo: " + cnt);
+		 return msg;
+	 }
+	 public Message displayCount(Message msg) throws Exception {
+		 System.out.println("\n\n displayCount cnt=" + cnt + "\n");
+		 return msg;
+	 }
+	 public void exceptionHandler(Message message, Throwable exception) {
+	  logHeader();
+	  System.out.println("!ERROR!");
+	  System.out.println(exception.getMessage());
+	  System.out.println("For Message: ");
+	  System.out.println(message.getBody().getContents());
+	  logFooter();
+	 }
+	   
+	 // This makes it easier to read on the console
+	 private void logHeader() {
+	  System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+	 }
+	 private void logFooter() {
+	  System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+	 }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/more_action/src/quickstart/moreaction/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+/*
+ * 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 quickstart.moreaction.test;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_more_action_Request");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);
+        send.send(tm);        
+        send.close();
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/quickstarts.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/quickstarts.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/quickstarts.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,21 @@
+##############################################################################################
+# Environment specific properties for executing the quickstarts.
+#
+# NOTE: This variable should only require modification if running the quickstarts
+# from source i.e. DO NOT MODIFY if you're running from a downloaded distribution.
+# 
+# If running from source, you'll need to switch this variable to point to 
+# ../../../build/jbossesb/lib, but DO NOT CHECK THIS IN!
+##############################################################################################
+#esb.product.lib.dir=../../../build/jbossesb/lib
+esb.product.lib.dir=../../../lib
+
+# Location of your JBoss Application Server installation.
+# NB: Avoid using back slashes '\' in the path - '/' works on all platforms.
+jbosshome.dir=/jboss-4.0.5.GA
+
+# If you are running the ftp tests then you must complete the following
+jbossesb.ftp.hostname=
+jbossesb.ftp.username=
+jbossesb.ftp.password=
+jbossesb.ftp.directory=

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,78 @@
+The purpose of the quickstart samples is to illustrate various JBoss ESB product
+features and general "how tos".
+
+If you have any suggestions for future samples or simply have a suggestion for
+improving on the ones contained here simply post on the JBoss ESB User Forum 
+with "quickstart" in the subject line and a description of your thoughts.
+
+Each quickstart has its own readme.txt file that should be reviewed carefully.
+
+Each quickstart has its own build.xml file that uses the central "quickstarts.properties" file.
+Make sure to modify this file to point to your specific version of JBoss AS and JBoss ESB.
+In the example below, it assumes there is a "jboss" directory off the current root which includes
+a JBoss AS installation called "jboss-4.0.4.GA" and a JBoss ESB installation called "jbossesb".
+esb.product.lib.dir=/jboss/jbossesb/lib
+jbosshome.dir=/jboss/jboss-4.0.4.GA
+
+Prerequisites:
+- Assumes you are comfortable working at the command line with Ant
+- Assumes you are running JBossMQ on JBoss Application Server. Other JMS
+solutions should work as well but the configuration files contained in the
+quickstarts are focused on JBossMQ.
+- Assumes you have properly configured the JBoss ESB Registry. A minimum configuration
+is included in the SAR deployment option. If you are using JBoss Application Server simply 
+go into the "install" folder for the JBoss ESB.  Modify the deployment.properties file and
+run "ant".  Make sure to have the App Server turned "off" while this process is occuring.
+This process will add the "jbossesb.sar" to your JBoss Application Server as well
+as tweak the configuration.
+- Almost all of these examples use RMI-based registration. "helloworld_embedded_reg" deploys 
+its own registry.  "helloworld_db_registration" makes a client/server connection to
+the registry database. It assumes a MySQL DB holds the registry.
+- The file "esb-quickstart-service.xml" should be dropped into your "deploy"
+directory for your application server if you are using JBossMQ in JBossAS.  This
+will setup the JMS queues for the quickstart samples.
+
+The following is a brief outline of the various quickstarts. If this is your first
+time working with the JBoss ESB we recommend at least trying "helloworld", "helloworld_action"
+and "more_action".
+
+* helloworld - Uses a JMS Gateway combined with a Listener.  If this is your
+first time using the JBoss ESB then start by exercising this simple 
+"Hello World" example.
+
+* helloworld_action - Builds on the concepts of the helloworld example but also
+show the use of multiple methods in a given action, how to "chain" action
+invocations into a particular sequence for a listener and how to respond
+(request/reply).  This example uses the notification feature.
+
+* more_action - demonstrates numerous tips & tricks to using the JBoss ESB actions. The first option
+shows what happens if you don't specify a "process" attribute.  The second option illustrates how to
+make multiple method calls of a since action class instance. The third option shows you how to create
+your own custom attributes and child elements for the action tag.
+
+* transform_XML2POJO - Shows you how to setup a basic Smooks-based transformation to convert
+an XML document into Java POJOs.   
+
+* simple_cbr - demonstrates how to use JBoss Rules and the Content-based Router Action for determining
+how a particular message should follow through the various services. This example also shows you that you
+can setup multiple services in a single esb-config.xml.
+
+* fun_cbr - demonstrates the JBoss ESB's capability for hot deployment both of the CBR rules 
+and the jbossesb.xml configuration file.
+
+* business_service - JBoss ESB actions are custom mediators.  Their not specifically focused
+on business logic.  This example demonstrates how to invoke an EJB3 stateless session
+bean (plus how to build a deploy an EJB3 SLSB on the JBoss AS). The SLSB is where
+your business logic can go.  Feel free to use your favorite middle-tier component for
+handling business logic (e.g. business validation, persistence).
+
+* webservice_war1 - demonstrates how to create a 181 Web Service and use it as the 
+front-end to the ESB.  This also demonstrates a synchronous call into the bus service.
+
+* static_router - is primarily interesting because it is completely JMS-less.  It uses
+FTP and File drop monitoring to move a message and send it out to multiple endpoints.
+
+* aggregator - demonstrations how to use the Splitter/Aggregator capabilities of
+JBoss ESB.  It uses the Transformation engine as well as the static-routing feature.
+It also demonstrations the use of multiple JVMs running different services.
+This is a fairly advanced demonstration.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/SampleOrder.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/SampleOrder.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/SampleOrder.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" 
+netAmount="59.97" totalAmount="64.92" tax="4.95">
+	<Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+	<OrderLines>
+		<OrderLine position="1" quantity="1">
+			<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+		</OrderLine>
+		<OrderLine position="2" quantity="1">
+			<Product productId="299" title="Pulp Fiction" price="29.99"/>
+		</OrderLine>
+	</OrderLines>
+</Order>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,107 @@
+<project name="Quickstart_simple_cbr" default="run" basedir=".">
+
+ <property file="../quickstarts.properties" />
+
+ <property name="build.dir"
+    value="${basedir}/build"/>
+ <property name="src.dir"
+    value="${basedir}/src"/>
+	
+ <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+  
+	<path id="classpath">
+    <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+    <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+    <fileset dir="${basedir}/lib" includes="*jar"/>        
+    <fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+	  <include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+	 </fileset>		
+  	
+    <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  	<fileset dir="${basedir}" includes="build/**/*.xml"/>
+    <pathelement location="." />  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+    <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  	<!-- Rules files must be jarred and on the classpath -->
+    <jar destfile="${build.dir}/${ant.project.name}_rules.jar"
+		basedir="${basedir}/src/services/rules" includes="*.*"/>
+  </target>
+
+  <target name="run" depends="jars">
+	    <echo>Simple CBR: make sure to also run receiveExpress, receiveNormal</echo>
+			 <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+		  	   	<arg value="${esb-config}"/>
+		  		<classpath refid="classpath"/>
+		  	 </java>
+  </target>
+
+  <target name="deployToSAR" depends="jars">
+		    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+		  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+		  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+		  	/>
+  			<copy file="${build.dir}/${ant.project.name}_rules.jar" overwrite="true"
+  			  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+  			  	/>
+		  	<copy file="jbossesb.xml" overwrite="true"
+		  		todir="${jbosshome.dir}/server/default/conf"
+		  	/>
+		  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+		  	<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+  </target>
+	
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.test.SendJMSMessage" failonerror="true">
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+	
+  <target name="receiveExpress">
+	 <echo>Runs Test JMS Receiver</echo>
+	 <java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+	  	<arg value="queue/CBRExpressFreeShippingAlert"/>
+		<classpath refid="classpath"/>
+	 </java>
+  </target>  
+	
+  <target name="receiveNormal">
+	 <echo>Runs Test JMS Receiver</echo>
+	 <java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+	   	<arg value="queue/CBRNormalShippingAlert"/>
+		<classpath refid="classpath"/>
+	 </java>
+   </target>  
+	
+</project>
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,120 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="quickstartGwChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/quickstart_simple_cbr_Request"
+                   />
+              </jms-bus>
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+              <jms-bus busid="CBRNormalShipping">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/CBRNormalShipping"
+                  />
+              </jms-bus>
+              <jms-bus busid="CBRExpressFreeShipping">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/CBRExpressFreeShipping"
+                  />
+              </jms-bus>
+			  
+          </jms-provider>
+      </providers>
+      
+      <services>
+          
+        <!--  ESB CBR Service -->
+        <service 
+        	category="MyFirstCBRServicesESB" 
+        	name="FirstCBRServiceESB" 
+        	description="ESB Listener" >
+        	<listeners>
+        	    <!--  Gateway -->
+        	    <jms-listener name="the-gateway"
+        	        busidref="quickstartGwChannel"
+        	        maxThreads="1"
+        	        is-gateway="true"
+        	    />         
+                  <jms-listener name="XPathContentBasedRouter"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1">          
+	             </jms-listener>
+             </listeners>
+            <actions>
+                <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter">
+                    <property name="ruleSet" value="MyESBRules-XPath.drl"/>
+                    <property name="ruleLanguage" value="XPathLanguage.dsl"/>
+                    <property name="ruleReload" value="true"/>
+                    <property name="destinations">
+                        <route-to destination-name="express" service-category="ExpressShipping" service-name="ExpressShippingService"/>
+                        <route-to destination-name="normal"  service-category="NormalShipping"  service-name="NormalShippingService"/>
+                    </property>  
+                </action>
+            </actions>
+        </service>
+        
+        <!--  Normal Shipping -->
+        <service
+  	      category="NormalShipping"
+  	      name="NormalShippingService"
+  	      description="Normal Shipping Service">
+  	      <listeners>
+  	        <jms-listener
+  	       	  name="CBRNormalShipping"
+  	       	  busidref="CBRNormalShipping"
+  	       	  maxThreads="1"
+  	         />
+  	      </listeners>
+  	      <actions>
+               <action name="displayMessageAction" 
+                   	class="quickstart.MyJMSListenerAction" 
+                   	process="displayMessage" 
+                   	/>   
+                <!-- This can be replaced with notification -->
+                <action name="route"
+                   class="quickstart.RouteNormalShipping"
+                   process="sendResponse"
+                />   
+           </actions>
+  	    </service>
+  	    
+        <!--  Express Shipping -->
+          <service
+  	      category="ExpressShipping"
+  	      name="ExpressShippingService"
+  	      description="Express Shipping Service">
+  	      <listeners>
+  	        <jms-listener
+  	       	  name="CBRExpressFreeShipping"
+  	       	  busidref="CBRExpressFreeShipping"
+  	       	  maxThreads="1"
+  	         />
+  	      </listeners>
+  	        <actions>
+               <action name="displayMessageAction" 
+                   	class="quickstart.MyJMSListenerAction" 
+                   	process="displayMessage" 
+                   	/>   
+                <!-- This can be replaced with notification -->
+                <action name="route"
+                   class="quickstart.RouteExpressShipping"
+                   process="sendResponse"
+                />   
+           </actions>
+  	    </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,49 @@
+The purpose of the simple_cbr quickstart is to demonstrate the Content Based Router in JBoss ESB.
+
+To self-demonstrate the example, open 4 command windows and insure that Ant and Java are in the PATH, 
+then execute the following commands, in order, one per command window:
+ant
+ant receiveExpress
+ant receiveNormal
+ant runtest
+
+"ant" - starts the listeners
+"ant receiveExpress" - in another command window, this process will wait for messages to hit the
+queue/CBRExpressFreeShippingAlert queue
+"ant receiveNormal" - in another command window, this process will wait for messages to hit the 
+queue/CBRNormalShippingAlert queue
+"ant runtest" - in another command window, this process will pick up the SampleOrder.xml and shoot it into
+the queue/quickstart_simple_cbr_Request queue which is identified in the esb-config-gateway.xml
+
+Use a text editor to change the "totalAmount" in the order above/below $50 and re-execute ant runtest to 
+see the order flash up in the different receivers.
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" 
+	netAmount="59.97" totalAmount="64.92" tax="4.95">
+
+What follows are the highlights that uncover some of the magic associated with CBR:
+* src\services\rules\MyESBRules-XPath.drl is a JBoss Rules ruleset that has simple logic that evaluates
+the totalAmount attribute of the SampleOrder.xml.  Over $50 means Free Express shipping, Under $50 means
+Normal shipping. 
+* src\services\rules\MyESBRules.drl can be used for selecting a path based upon a piece of meta-data
+as opposed to the message content.  It is not used in the example but provided anyway.
+* src\quickstart\test\ReceiveJMSMessage.java has been modified to accept the queue to listen to from
+the command line (from build.xml)
+* RouteExpressShipping.java - simply pushes the message to the CBRExpressFreeShippingAlert queue
+* RouteNormalShipping.java - simply pushes the message to the CBRNormalShippingAlert queue
+* build.xml creates an additional jar file for the rules files.  This jar file is also loaded into the 
+classpath.  
+    <jar destfile="${build.dir}/${ant.project.name}_Rules.jar"
+		basedir="${basedir}/src/services/rules" includes="*.*"/>
+		
+* jbossesb.xml establishes 3 services.  The first is the perform the CBR evaluation and has this
+action:
+  ruleSet="MyESBRules-XPath.drl" 
+  ruleLanguage="XPathLanguage.dsl"
+ XPathLanguage.dsl lives in core\services\rules\XPathLanguage.dsl and ships as jbossesb-rules.jar
+
+ * MyESBRules-XPath.drl routes to the appropriate destination service via this command
+ Destination : "express";
+ 
+ In the jbossesb.xml the "express" destination is related to:
+ "ExpressShipping" is the service-category (found in esb-config.xml)
+ "ExpressShippingService" is the service-name (also found in the jbossesb.xml)
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Header;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.apache.log4j.Logger;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/ReturnJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/ReturnJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/ReturnJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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 quickstart;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+import javax.jms.TextMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import org.jboss.soa.esb.message.Message;
+
+public class ReturnJMSMessage {
+       
+    public static void sendMessage(Message esbMessage,String newDestination) throws JMSException, NamingException, Exception {
+    	if (esbMessage == null || newDestination == null) 
+    		throw new Exception("Message and JMS Destination are required");
+    
+    	QueueConnection conn;
+        QueueSession session;
+        Queue que;
+        
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/" + newDestination);
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+
+    	    	   
+    	String newMsg = new String(esbMessage.getBody().getContents());
+
+    	
+    	QueueSender send = session.createSender(que);        
+        TextMessage tm = session.createTextMessage(newMsg);
+        send.send(tm);
+        
+
+    	conn.stop();
+    }    
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteExpressShipping.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteExpressShipping.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteExpressShipping.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class RouteExpressShipping {
+	
+	  protected Message  _message;
+	  protected ConfigTree	_config;
+	  
+	  public RouteExpressShipping(ConfigTree config) { _config = config; } 
+	  
+	  // used to send response
+	  public Message noOperation(Message message) { return message; }
+	  
+	  public Message sendResponse(Message message) {
+		  try {
+			   logHeader();
+			   System.out.println(new String(message.getBody().getContents()));
+			   System.out.println("EXPRESS EXPRESS EXPRESS");
+			   logFooter();
+			   ReturnJMSMessage.sendMessage(message,"CBRExpressFreeShippingAlert");
+		   } catch (Exception e) {
+			   logHeader();
+			   System.out.println(e.getMessage());
+			   logFooter();
+		   }
+		   return message;
+	  }
+	   private void logHeader() {
+		   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+	   }
+	   private void logFooter() {
+		   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+	   }
+
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteNormalShipping.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteNormalShipping.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/RouteNormalShipping.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class RouteNormalShipping {
+	
+	  protected Message  _message;
+	  protected ConfigTree	_config;
+	  
+	  public RouteNormalShipping(ConfigTree config) { _config = config; } 
+	  
+	  // used to send response
+	  public Message noOperation(Message message) { return message; }
+	  
+	  public Message sendResponse(Message message) {
+		  try {
+			   logHeader();
+			   System.out.println(new String(message.getBody().getContents()));
+			   System.out.println("NORMAL SHIPPING");
+			   logFooter();
+			   ReturnJMSMessage.sendMessage(message,"CBRNormalShippingAlert");
+		   } catch (Exception e) {
+			   logHeader();
+			   System.out.println(e.getMessage());
+			   logFooter();
+		   }
+		   return message;
+	  }
+	   private void logHeader() {
+		   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+	   }
+	   private void logFooter() {
+		   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+	   }
+
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/ReceiveJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/ReceiveJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/ReceiveJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+/*
+ * 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 quickstart.test;
+
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueReceiver;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.InitialContext;
+
+public class ReceiveJMSMessage {
+	   QueueConnection conn = null;	   
+	   QueueSession receiverSession = null;	   
+	   Queue receiverQueue = null;	   
+	   QueueReceiver queueReceiver = null;
+	   InitialContext iniCtx = null;
+	   QueueConnectionFactory qcf = null;
+	   String receiveQueueName = "queue/D"; // Default to queue/D
+	   
+	   public ReceiveJMSMessage() {
+		   
+	   }
+	   public void receiveOne() {
+		   try {
+		   if (iniCtx == null) iniCtx = new InitialContext();
+	          if (qcf == null) qcf = (QueueConnectionFactory) iniCtx.lookup("ConnectionFactory");
+	          if (conn == null) {
+	              conn = qcf.createQueueConnection();
+	              conn.start();
+	          }	        
+	          receiverQueue = (Queue) iniCtx.lookup(receiveQueueName);
+	          receiverSession = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+	    	  queueReceiver = receiverSession.createReceiver(receiverQueue); 
+	    	  TextMessage msg = (TextMessage) queueReceiver.receive(2000);
+	    	  if (msg != null) {
+	    		  System.out.println("*********************************************************");
+	    		  System.out.println(msg);
+	    		  System.out.println("*********************************************************");
+	    	  }	
+		   } catch (Exception e) {
+			   System.out.println(e);
+		   }
+	   }
+	   public static void main(String[] args) {
+		      ReceiveJMSMessage receiver = new ReceiveJMSMessage();
+		      
+		      if(args[0] != null) {
+		    	  receiver.receiveQueueName = args[0];
+		    	  System.out.println("Receiving on: " + receiver.receiveQueueName );		    	 
+		      }		    	  
+		      while (true) { // loop until I'm killed
+		    	  receiver.receiveOne();
+		      }
+	   }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/quickstart/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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 quickstart.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_simple_cbr_Request");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);        
+        send.send(tm);        
+        send.close();
+    }
+    public String readAsciiFile(String fileName) throws IOException {
+		  FileReader fr = null;
+		  char[] thechars = null;
+
+		  try {
+			  File thefile = new File( fileName );
+			  fr = new FileReader( thefile );
+			  int size = (int) thefile.length();
+			  thechars = new char[size];
+		
+			  int count, index = 0;
+		
+			  // 	read in the bytes from the input stream
+			  while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
+				  size -= count;
+				  index += count;
+			  }
+			} catch(Exception e) {	
+				System.out.println(e);
+			}
+			finally {
+				if( fr != null )
+		        fr.close();
+			}
+			return new String(thechars);
+
+    } // readAsciiFile
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	String fileContent = sm.readAsciiFile("SampleOrder.xml");
+    	System.out.println("---------------------------------------------");
+    	System.out.println(fileContent);
+    	System.out.println("---------------------------------------------");
+    	sm.sendAMessage(fileContent); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/MyESBRules-XPath.drl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/MyESBRules-XPath.drl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/MyESBRules-XPath.drl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,33 @@
+#created on: Nov 8, 2006
+package com.jboss.soa.esb.routing.cbr
+
+#list any import classes here.
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+
+expander XPathLanguage.dsl
+
+#declare any global variables here
+global java.util.List destinations;
+
+rule "Routing Rule using XPATH"
+	
+	when
+		xpathGreaterThan "/Order/@totalAmount", "50.0"
+	then 
+	    Log : "EXPRESS";
+		Log : "EXPRESS";
+		Log : "Really It's EXPRESS Shipping";
+		Destination : "express";
+		
+end
+
+rule "Routing Rule using XPATH less"
+    when
+        xpathLessThan "/Order/@totalAmount", "50.0"
+    then
+	    Log : "NORMAL";
+		Log : "NORMAL";
+		Log : "Really It's NORMAL Shipping";
+		Destination : "normal";
+end
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/MyESBRules.drl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/MyESBRules.drl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/simple_cbr/src/services/rules/MyESBRules.drl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,29 @@
+#created on: Oct 30, 2006
+package com.jboss.soa.esb.routing.cbr
+
+#list any import classes here.
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+
+#declare any global variables here
+global java.util.List destinations;
+
+
+rule "Routing Rule - Serialized based message"
+	
+	when
+		Message( type == MessageType.JAVA_SERIALIZED)
+	then
+		System.out.println("Serialized");
+		destinations.add("serialized");
+		
+end
+
+rule "Routing Rule - XML based message"
+	
+	when
+		Message( type == MessageType.JBOSS_XML)
+	then 
+		System.out.println("JBoss_XML");
+		destinations.add("xml");
+end
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,130 @@
+<project name="Quickstart_static_router" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+		
+  <property name="jbossesb.name" value="jbossesb.xml"/>
+  <property name="jbossesb.origconfig" location="${jbossesb.name}"/>
+
+  <property name="jbossesb.config" location="${build.dir}/${jbossesb.name}"/>
+
+  <property name="jbossesb.rootdir" location="${build.dir}/dirs"/>
+  <property name="jbossesb.staticrouter.dir" location="${jbossesb.rootdir}/staticrouter"/>
+  <property name="jbossesb.service1.dir" location="${jbossesb.rootdir}/service01"/>
+  <property name="jbossesb.service1.input" location="${jbossesb.service1.dir}/input"/>
+  <property name="jbossesb.service1.post" location="${jbossesb.service1.dir}/post"/>
+  <property name="jbossesb.service2.dir" location="${jbossesb.rootdir}/service02"/>
+  <property name="jbossesb.service2.input" location="${jbossesb.service2.dir}/input"/>
+  <property name="jbossesb.service2.post" location="${jbossesb.service2.dir}/post"/>
+  <property name="jbossesb.service3.dir" location="${jbossesb.rootdir}/service03"/>
+  <property name="jbossesb.service3.input" location="${jbossesb.service3.dir}/input"/>
+  <property name="jbossesb.service3.post" location="${jbossesb.service3.dir}/post"/>
+
+	<path id="classpath">
+    <!-- fileset dir="${basedir}" includes="jbossesb-properties.xml" -->
+    <!-- fileset dir="${basedir}" includes="juddi.properties" -->
+	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+    <fileset dir="${basedir}" includes="build/**/*.jar"/>
+    <fileset dir="${basedir}" includes="build/**/*.xml"/>
+    <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}"
+	   destdir="${build.dir}">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="config">
+    <delete dir="${jbossesb.rootdir}" quiet="true"/>
+    <mkdir dir="${jbossesb.rootdir}"/>
+    <mkdir dir="${jbossesb.staticrouter.dir}"/>
+    <mkdir dir="${jbossesb.service1.dir}"/>
+    <mkdir dir="${jbossesb.service1.input}"/>
+    <mkdir dir="${jbossesb.service1.post}"/>
+    <mkdir dir="${jbossesb.service2.dir}"/>
+    <mkdir dir="${jbossesb.service2.input}"/>
+    <mkdir dir="${jbossesb.service2.post}"/>
+    <mkdir dir="${jbossesb.service3.dir}"/>
+    <mkdir dir="${jbossesb.service3.input}"/>
+    <mkdir dir="${jbossesb.service3.post}"/>
+
+    <copy file="${jbossesb.origconfig}" tofile="${jbossesb.config}"
+        overwrite="true" filtering="true">
+      <filterset>
+        <filter token="FTP_HOSTNAME" value="${jbossesb.ftp.hostname}"/>
+        <filter token="FTP_USERNAME" value="${jbossesb.ftp.username}"/>
+        <filter token="FTP_PASSWORD" value="${jbossesb.ftp.password}"/>
+        <filter token="FTP_DIRECTORY" value="${jbossesb.ftp.directory}"/>
+
+        <filter token="STATICROUTER" value="${jbossesb.staticrouter.dir}"/>
+        <filter token="SERVICE01" value="${jbossesb.service1.input}"/>
+        <filter token="SERVICE01_POST" value="${jbossesb.service1.post}"/>
+        <filter token="SERVICE02" value="${jbossesb.service2.input}"/>
+        <filter token="SERVICE02_POST" value="${jbossesb.service2.post}"/>
+        <filter token="SERVICE03" value="${jbossesb.service3.input}"/>
+        <filter token="SERVICE03_POST" value="${jbossesb.service3.post}"/>
+      </filterset>
+    </copy>
+  	 <copy file="log4j.xml" tofile="build/log4j.xml"/>
+  </target>
+
+  <target name="jars" depends="compile">
+	<delete file="${build.dir}/${ant.project.name}.jar"/>
+        <jar destfile="${build.dir}/${ant.project.name}.jar"
+		basedir="${build.dir}"
+		includes="**/*.class"/>
+  </target>
+
+  <target name="run" depends="jars, config">
+	     <echo>FTP Gateway file Listener and static router to file destination</echo>
+	     <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+	     	<arg value="${jbossesb.config}"/>
+			<classpath refid="classpath"/>
+	     </java>     
+  </target>	
+
+  <target name="deployToSAR" depends="jars, config">
+	    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+	  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+	  	/>
+	  	<copy file="${jbossesb.config}" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/conf"
+	  	/>
+	  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+  </target>
+
+  <target name="runtest">
+     <echo>Runs Test FTP File creator</echo>
+     <java fork="yes" classname="quickstart.static_router.test.CreateTestFile" failonerror="true">
+        <arg value="${jbossesb.ftp.hostname}"/>
+        <arg value="${jbossesb.ftp.username}"/>
+        <arg value="${jbossesb.ftp.password}"/>
+        <arg value="${jbossesb.ftp.directory}/StaticRouter.dat"/>
+     	<arg value="Hello World In A File (for static router test)"/> <!--  File Contents -->
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+
+</project>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,123 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" >
+
+    <providers>
+          <ftp-provider name="FTPprovider" hostname="@FTP_HOSTNAME@" >
+          	<ftp-bus busid="StaticRouterFtpGW" >
+          		<ftp-message-filter
+          			username="@FTP_USERNAME@"
+          			password="@FTP_PASSWORD@"
+          			passive="false"
+          			directory="@FTP_DIRECTORY@"
+          			input-suffix=".dat"
+          		/>
+          	</ftp-bus>
+          </ftp-provider>
+
+          <fs-provider name="LocalFsProvider">
+          	<fs-bus busid="staticRouter" >
+          		<fs-message-filter
+          			directory="@STATICROUTER@"
+          			input-suffix=".esbMessage"
+          		/>
+          	</fs-bus>
+          	<fs-bus busid="fileMessageDestination_01" >
+          		<fs-message-filter
+          			directory="@SERVICE01@"
+          			input-suffix=".toRoute01"
+          			post-delete="false"
+          			post-directory="@SERVICE01_POST@"
+          		/>
+          	</fs-bus>
+          	<fs-bus busid="fileMessageDestination_02" >
+          		<fs-message-filter
+          			directory="@SERVICE02@"
+          			input-suffix=".toRoute02"
+          			post-delete="false"
+          			post-directory="@SERVICE02_POST@"
+          		/>
+          	</fs-bus>
+          	<fs-bus busid="fileMessageDestination_03" >
+          		<fs-message-filter
+          			directory="@SERVICE03@"
+          			input-suffix=".toRoute03"
+          			post-delete="false"
+          			post-directory="@SERVICE03_POST@"
+          		/>
+          	</fs-bus>
+          </fs-provider>
+          
+      </providers>
+      
+      <services>
+          
+        <service 
+          		 category="StaticRouterCategoryEsb1"
+          		 name="fileListener"
+          		 description="Static router(listener)">
+            <listeners>
+                <ftp-listener name="Ftp-Gateway"
+                    busidref="StaticRouterFtpGW"
+                    maxThreads="1"
+                    is-gateway="true"
+                />
+                <fs-listener name="StaticRouter"
+                              busidref="staticRouter"
+                              maxThreads="1"
+                />                
+            </listeners>
+            <actions>
+               <action name="routeAction"  class="org.jboss.soa.esb.actions.StaticRouter">
+               		<property name="destinations">
+   	 				   <route-to service-category="category01" service-name="service01" /> 
+   	 				   <route-to service-category="category02" service-name="service02" /> 
+   	 				   <route-to service-category="category03" service-name="service03" /> 
+	    		   </property>
+   	   			</action>    
+            </actions>
+        </service>
+
+        <service 
+          		 category="category01"
+          		 name="service01"
+          		 description="Static route destination 1">
+            <listeners>
+                <fs-listener name="fileDest01" busidref="fileMessageDestination_01" maxThreads="1" />                
+            </listeners>
+            <actions>
+               <action name="doThis"  class="quickstart.static_router.SimpleFileAction">
+               		<property name="msgSuffix" value=".01FromRouter" />
+               </action>
+            </actions>
+        </service>
+
+        <service 
+          		 category="category02"
+          		 name="service02"
+          		 description="Static route destination 2">
+            <listeners>
+                <fs-listener name="fileDest02" busidref="fileMessageDestination_02" maxThreads="1" />                
+            </listeners>
+            <actions>
+               <action name="doThis"  class="quickstart.static_router.SimpleFileAction">
+               		<property name="msgSuffix" value=".02FromRouter" />
+               </action>
+            </actions>
+        </service>
+
+        <service 
+          		 category="category03"
+          		 name="service03"
+          		 description="Static route destination 3">
+            <listeners>
+                <fs-listener name="fileDest03" busidref="fileMessageDestination_03" maxThreads="1" />                
+            </listeners>
+            <actions>
+               <action name="doThis"  class="quickstart.static_router.SimpleFileAction">
+               		<property name="msgSuffix" value=".03FromRouter" />
+               </action>
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,10 @@
+This test assumes:
+
+1) That the quickstarts.properties file has been configured with the details
+   of the ftp server.
+
+2) That the configured ftp directory is writable.
+
+This quick start will create a file on the FTP server and show the progress
+of the message through a static route.  Intermediate files will be created
+in the directories under build/dirs/

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/SimpleFileAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/SimpleFileAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/SimpleFileAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+/*
+ * 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 quickstart.static_router;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+public class SimpleFileAction 
+{
+	protected ConfigTree _config;
+	private SimpleFileAction() {}
+	public SimpleFileAction (ConfigTree tree) { _config = tree; }
+
+	public Message process(Message message) throws Exception
+	{
+
+		String sMsg = new String(message.getBody().getContents());
+		sMsg = sMsg + " - to file with suffix="+_config.getAttribute("msgSuffix");
+		message.getBody().setContents(sMsg.getBytes());
+		
+	  System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");		  		  
+	  System.out.println("\nBody: " + sMsg);
+	  System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+
+		
+		return message;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/test/CreateTestFile.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/test/CreateTestFile.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/static_router/src/quickstart/static_router/test/CreateTestFile.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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 quickstart.static_router.test;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+
+public class CreateTestFile {
+	
+	public static void main(final String[] args) {
+		if (args.length != 5)
+		{
+			System.err.println("Usage: java " + CreateTestFile.class.getName() + " <hostname> <username> <password> <filename> <contents>") ;
+			System.exit(1) ;
+		}
+		else
+		{
+			final String hostname = args[0] ;
+			final String username = args[1] ;
+			final String password = args[2] ;
+			final String filename = args[3] ;
+			final String contents = args[4] ;
+			
+			final URL url ;
+			final String filenameVal ;
+			if (filename.charAt(0) == '/')
+			{
+				filenameVal = (filename.length() > 1 ? "%2F" + filename.substring(1) : "%2F") ;
+			}
+			else
+			{
+				filenameVal = filename ;
+			}
+			try
+			{
+				url = new URL("ftp://" + username + ":" + password + "@" + hostname + "/" + filenameVal) ;
+			}
+			catch (final MalformedURLException murle)
+			{
+				exit("Invalid URL: " + filenameVal, murle, 2) ;
+				return ; // for compiler
+			}
+			final URLConnection connection ;
+			try
+			{
+				connection = url.openConnection() ;
+			}
+			catch (final IOException ioe)
+			{
+				exit("Error accessing location: " + filenameVal, ioe, 3) ;
+				return ; // for compiler
+			}
+			connection.setDoOutput(true) ;
+			final OutputStream os ;
+			try
+			{
+				os = connection.getOutputStream() ;
+			}
+			catch (final IOException ioe)
+			{
+				exit("Error obtaining output stream for location: " + filenameVal, ioe, 4) ;
+				return ; // for compiler
+			}
+			
+			try
+			{
+				final PrintStream ps = new PrintStream(os) ;
+				ps.print(contents) ;
+				ps.close() ;
+			}
+			finally
+			{
+				try
+				{
+					os.close() ;
+				}
+				catch (final IOException ioe) {} //ignore
+			}
+		}
+	}
+	
+	private static void exit(final String message, final Throwable th, final int exitValue)
+	{
+		System.err.println(message) ;
+		th.printStackTrace() ;
+		System.exit(exitValue) ;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/README.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/README.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,60 @@
+Overview:
+=========
+    This is the most advanved of the "transform" Quickstarts.  Be sure to go through the other
+    Quickstarts before going through this.
+    
+    This Quickstart is quite detailed.  There's an accompanying Flash demo that walks you through
+    all the steps that were involved in creating this Quickstart.  You should check this out before
+    or as you go through this quickstart:
+    	http://labs.jboss.com/portal/jbossesb/resources/tutorials/xformation-demos/console-demo-03.html
+    
+    Out of the box, this Quickstart does not use the JBoss ESB Administration Console to manage the
+    message Transformation configurations to the ESB.  However, as you'll hopefully have seen from the
+    Flash demo mentioned above, this Quickstart was created using the Admin Conosle.  In order to ship
+    with the ESB distribution, the transformations configurations were exported from the console and
+    into the "smooks-res.xml" file here in this Quickstart.  See the end of this README for details on how
+    to re-import and manage this Quickstart's transformations via the Console.
+
+
+Before Running:
+===============
+    1. Update the "org.jboss.esb.appserver.home" property in the quickstarts.properties file in "../".
+    2. Make sure to run the the ant script in the "install" folder of the distribution.  This
+       deploys the required SARs to your JBoss Application Server instance.
+    3. Make sure the JBoss Application server is running.
+    4. It would be a great idea to read MessageTransformation.pdf to fully understand this
+       Quickstart.  It is located in the docs/services folder.
+
+
+To Run:
+=======
+    1. In a command terminal window in this folder ("Window1"), type "ant run".
+    2. Open another command terminal window in this folder ("Window2"), type "ant runtest".
+    3. Switch back to "Window1" to see the message transformation before and after.
+    
+    Note that, as with all these Quickstarts, you can deply and run them through your local
+    JBoss Application Server instance.  To do this, skip step 1 above and in it's place 
+    execute the following Ant task:
+        "ant deployToSAR"
+    This will packagce up this Quickstart and deploy it to your JBoss AS instance.  The Quickstart
+    "Service" will automatically start then.  At that point, continue with steps 2 and 3.
+
+
+What to look at in this Quickstart:
+===================================
+    The Flash demo at:
+    	http://labs.jboss.com/portal/jbossesb/resources/tutorials/xformation-demos/console-demo-03.html
+
+
+Playing with this Transformation through the Administration Console:
+====================================================================
+    To load the Transformation Configurations defined in smooks-res.xml into the Admin Console, and have them
+    managed from the Admin Console, do the following:
+    
+    1. Deploy the console as outlined in MessageTransformation.pdf.
+    2. Edit the smooks-cdr.lst file in this folder, commenting out both the classpath based listings and
+       uncommenting out the listing for the console HTTP URI.  The same set of steps were executed at the 
+       start of the Flash demo.
+    3. In the console, import "smooks-res.xml" through the "Import Configurations" form.
+    4. You are now ready to start managing the message transformations through the console.  You can add more
+       transformations and modify the existing transformations.  Be sure to read MessageTransformation.pdf!!!
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/SampleOrder.edi
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/SampleOrder.edi	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/SampleOrder.edi	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,4 @@
+HDR*1*0*59.97*64.92*4.95*Wed Nov 15 13:45:28 EST 2006
+CUS*user1*Harry^Fletcher*SD
+ORD*1*1*364*The 40-Year-Old Virgin*29.98
+ORD*2*1*299*Pulp Fiction*29.99

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/base-build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/base-build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/base-build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,58 @@
+<project name="Base" default="run" basedir=".">
+
+	<property file="../quickstarts.properties" />
+
+	<property name="classes" value="build/classes" />
+
+	<path id="compile-classpath">
+		<fileset dir="lib" includes="*.jar" /> <!-- Quickstart Specific Jars. -->
+		<fileset dir="../../../lib/ext" includes="*.jar" /> <!-- Product Dependencies. -->
+		<fileset dir="${esb.product.lib.dir}" includes="*.jar" /> <!-- Product Jars. -->
+	</path>
+	<path id="exec-classpath">
+		<pathelement location="." />
+		<pathelement location="src" />
+		<fileset dir="build" includes="${ant.project.name}.jar" />
+		<path refid="compile-classpath" />
+		<fileset dir="${jbosshome.dir}/server/default/lib" includes="jboss-j2ee.jar" /> <!-- Required for JMS Client Code. -->
+	</path>
+
+	<target name="compile" depends="clean">
+		<mkdir dir="${classes}" />
+		<javac srcdir="src" destdir="${classes}">
+			<classpath refid="compile-classpath" />
+		</javac>
+		<jar basedir="${classes}" destfile="build/${ant.project.name}.jar" />
+	</target>
+
+	<target name="run" depends="compile">
+		<echo>Launching Quickstart in standalone mode...</echo>
+
+		<java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+			<arg value="./jbossesb.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+	<target name="deployToSAR" depends="compile">
+		<echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+		<copy file="build/${ant.project.name}.jar" overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar" />
+		<copy overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb-dependencies.sar">
+			<!-- additional.deploys defined in build.xml -->
+			<fileset dir="./" includes="${additional.deploys}" />
+		</copy>
+		<copy file="jbossesb.xml" overwrite="true" todir="${jbosshome.dir}/server/default/conf" />
+		<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml" />
+		<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+	</target>
+
+	<target name="echoCP">
+		<property name="cp" refid="exec-classpath" />
+		<echo message="Classpath is ${cp}" />
+	</target>
+
+	<target name="clean">
+		<delete dir="build" />
+	</target>
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,19 @@
+<project name="transformation-edi2xml_groovy-quickstart" default="run" basedir=".">
+	
+	<property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+	
+	<!-- Import the base Ant build script... -->
+	<import file="base-build.xml"/>
+
+	<!-- The ESB itself is started by the default "run" target - defined in base-build.xml  -->
+	
+	<!-- Target for injecting the sample order message for transformation... -->
+	<target name="runtest">
+		<echo>Runs Test JMS Sender</echo>
+		<java fork="yes" classname="quickstart.helloworld.test.SendJMSMessage" failonerror="true">
+			<arg value="SampleOrder.edi" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+</project>
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+	<providers>
+		<jms-provider name="JBossMQ"
+			connection-factory="ConnectionFactory"
+			jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+			jndi-URL="localhost">
+
+			<jms-bus busid="quickstartGwChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/A" />
+			</jms-bus>
+			<jms-bus busid="quickstartEsbChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/B" />
+			</jms-bus>
+
+		</jms-provider>
+	</providers>
+
+	<services>
+
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World">
+			<listeners>
+				<jms-listener name="JMS-Gateway" busidref="quickstartGwChannel" maxThreads="1" is-gateway="true"/>
+				<jms-listener name="quickstart" busidref="quickstartEsbChannel" maxThreads="1" />
+			</listeners>
+			<actions>
+				<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="Message before transformation" />
+				</action>
+				<action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+					<property name="from" value="DVDStore:OrderDispatchService" />
+					<property name="from-type" value="text/xml:fullFillOrder" />
+					<property name="to" value="DVDWarehouse_1:OrderHandlingService" />
+					<property name="to-type" value="text/xml:shipOrder" />
+				</action>
+				<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="Message after transformation" />
+				</action>
+			</actions>
+		</service>
+	</services>
+
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+      <priority value="INFO"/>
+   </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="INFO"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,17 @@
+########################################################################################################
+# Uncomment out to load config from local XML file
+########################################################################################################
+/smooks-res.xml
+/org/milyn/templating/templating-cdu-creators-0.1.cdrl
+/org/milyn/smooks/scripting/scripting-cdu-creators.cdrl
+
+########################################################################################################
+# Uncomment out to load config from the
+# ESB Administration Console.
+#
+# You must "import" smooks-res.xml into the console in order to view and manipulate the
+# transformations in this sample.  You will also need to register the "Message Exchange Participants"
+# "A" and "B" as well as their supported message contracts "text/xml:messageAtA" and 
+# "text/xml:messageAtB" respectively.
+########################################################################################################
+#http://localhost:8080/jboss-esb-console/transform/smooks-config.jsp

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/smooks-res.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/smooks-res.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!DOCTYPE smooks-resource-list PUBLIC "-//MILYN//DTD SMOOKS 1.0//EN" "http://www.milyn.org/dtd/smooksres-list-1.0.dtd">
+<smooks-resource-list>
+
+	<smooks-resource selector="org.xml.sax.driver" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice and to-type:text/xml:shiporder and to:dvdwarehouse_1:orderhandlingservice" path="org.milyn.smooks.edi.SmooksEDIParser" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[EDI Message Parser]]></param>
+		<param name="mapping-model"><![CDATA[org/jboss/xtrans/edi-to-xml-order-mapping.xml]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="date" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice and to-type:text/xml:shiporder and to:dvdwarehouse_1:orderhandlingservice" path="org/jboss/xtrans/DateFormatter.groovy" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[Groovy Script (External)]]></param>
+		<param name="restype"><![CDATA[groovy]]></param>
+		<param name="input-format"><![CDATA[EEE MMM dd HH:mm:ss z yyyy]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="state" useragent="from-type:text/xml:fullFillOrder AND from:DVDStore:OrderDispatchService AND to-type:text/xml:shipOrder AND to:DVDWarehouse_1:OrderHandlingService" path="/org/jboss/xtrans/EnrichmentProcessor.groovy" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[Groovy Script (External)]]></param>
+		<param name="restype"><![CDATA[groovy]]></param>
+		<param name="enrichments-uri"><![CDATA[/org/jboss/xtrans/us-state-codes.properties]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice and to-type:text/xml:shiporder and to:dvdwarehouse_1:orderhandlingservice" path="org/jboss/xtrans/dispatch-to-handling.xsl" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[XSLT (Full Stylesheet - External)]]></param>
+		<param name="encoding"><![CDATA[UTF-8]]></param>
+		<param name="visitBefore"><![CDATA[false]]></param>
+
+		<param name="is-xslt-templatelet"><![CDATA[false]]></param>
+		<param name="restype"><![CDATA[xsl]]></param>
+		<param name="action"><![CDATA[replace]]></param>
+	</smooks-resource>
+
+</smooks-resource-list>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/DateFormatter.groovy
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/DateFormatter.groovy	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/DateFormatter.groovy	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,75 @@
+package org.jboss.xtrans;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+
+import org.milyn.cdr.SmooksResourceConfiguration;
+import org.milyn.container.ContainerRequest;
+import org.milyn.delivery.assemble.AssemblyUnit;
+import org.milyn.xml.DomUtils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * Date Formatting class.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class DateFormatter implements AssemblyUnit {
+
+	private SimpleDateFormat dateDecodeFormat;
+	private Properties outputFields;
+
+	public void setConfiguration(SmooksResourceConfiguration configuration) {
+		String inputFormat = configuration.getStringParameter("input-format");
+		String outputFormats = configuration.getStringParameter("output-format", "time=HH:mm\nday=dd\nmonth=MM\nyear=yy");
+		
+		assert inputFormat != null;
+		assert inputFormat != '';
+		dateDecodeFormat = new SimpleDateFormat(inputFormat);
+		outputFields = parseOutputFields(outputFormats);
+	}
+
+	public void visit(Element element, ContainerRequest request) {
+		String dateString = null;
+		Date date = null;
+
+		// Decode the date string...
+		dateString = element.getTextContent();
+		try {
+			date = dateDecodeFormat.parse(dateString);
+		} catch (ParseException e) {
+			date = new Date(0);
+		}
+
+		// Clear the child contents of the element...
+		DomUtils.removeChildren(element);
+		
+		// Define a closure that we'll use for adding formatted date fields
+		// from the decoded date...
+		def addDateField = { fieldName, fieldFormat ->
+			Document doc = element.getOwnerDocument();
+			Element newElement = doc.createElement(fieldName);
+			SimpleDateFormat dateFormatter = new SimpleDateFormat(fieldFormat);
+			
+			element.appendChild(newElement);
+			newElement.appendChild(doc.createTextNode(dateFormatter.format(date)));
+		}
+
+		// Apply the "addDateField" closure to the entries of the outputFields specified as
+		// a Smooks resource parameter...
+		for (entry in outputFields) {
+			addDateField(entry.key, entry.value);
+		}
+	}
+	
+	private Properties parseOutputFields(String outputFormats) {
+		Properties properties = new Properties();
+		properties.load(new ByteArrayInputStream(outputFormats.getBytes()));
+		return properties;
+	}
+
+	public boolean visitBefore() {
+		return false;
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/EnrichmentProcessor.groovy
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/EnrichmentProcessor.groovy	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/EnrichmentProcessor.groovy	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,88 @@
+/*
+ * 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.xtrans;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.milyn.cdr.SmooksConfigurationException;
+import org.milyn.cdr.SmooksResourceConfiguration;
+import org.milyn.container.ContainerRequest;
+import org.milyn.delivery.process.ProcessingUnit;
+import org.milyn.resource.URIResourceLocator;
+import org.milyn.xml.DomUtils;
+import org.w3c.dom.Element;
+
+/**
+ * Sample "simple" enrichment Java based processing unit.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class EnrichmentProcessor implements ProcessingUnit {
+
+	private static final String ENRICHMENTS_URI = "enrichments-uri";
+	private Properties enrichments = new Properties();
+	private String attributeName = null;
+	
+	public void setConfiguration(SmooksResourceConfiguration config) {
+		String enrichmentURI = config.getStringParameter(ENRICHMENTS_URI);
+		InputStream enrichmentDataStream;
+		
+		// Load the enrichments table...
+		if(enrichmentURI == null) {
+			throw new SmooksConfigurationException("'" + ENRICHMENTS_URI + "' parameter not specified.");
+		}
+		try {
+			enrichmentDataStream = (new URIResourceLocator()).getResource(enrichmentURI);
+			enrichments.load(enrichmentDataStream);
+		} catch (IOException e) {
+			throw new SmooksConfigurationException("Error loading 'enrichments' table from URI '" + enrichmentURI + "'.");
+		}
+		// Get the attribute name - if not specified, assuming element text...
+		attributeName = config.getStringParameter("attribute-name");
+	}
+
+	public void visit(Element element, ContainerRequest request) {
+		if(attributeName != null) {
+			String enrichmentKey = element.getAttribute(attributeName);
+			if(enrichmentKey != null) {
+				String enrichment = enrichments.getProperty(enrichmentKey.trim());
+				if(enrichment != null) {
+					element.setAttribute(attributeName, enrichment);
+				}
+			}
+		} else {
+			String enrichmentKey = element.getTextContent();
+			if(enrichmentKey != null) {
+				String enrichment = enrichments.getProperty(enrichmentKey.trim());
+				if(enrichment != null) {
+					DomUtils.removeChildren(element);
+					DomUtils.addLiteral(element, enrichment);
+				}
+			}
+		}
+	}
+
+	public boolean visitBefore() {
+		// We'll perfom the enrichment process as soon as we encouter the element
+		// and before we process the element's child nodes.
+		return true;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/dispatch-to-handling.xsl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/dispatch-to-handling.xsl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/dispatch-to-handling.xsl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,30 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+				version="1.0">
+
+	<xsl:output method="xml" encoding="UTF-8" />
+
+	<xsl:template match="Order">
+		<Order orderId="{header/order-id}" statusCode="{header/status-code}" netAmount="{header/net-amount}"
+						totalAmount="{header/total-amount}" tax="{header/tax}" date="{header/date/month}-{header/date/day}-{header/date/year}">
+			<xsl:apply-templates select="customer-details"/>
+			<OrderLines>
+				<xsl:apply-templates select="order-item"/>
+			</OrderLines>			
+		</Order>
+	</xsl:template>
+
+	<xsl:template match="date">
+		<date><xsl:value-of select="month" />-<xsl:value-of select="day" />-<xsl:value-of select="year" /></date>
+	</xsl:template>
+
+	<xsl:template match="customer-details">
+		<Customer userName="{username}" firstName="{name/firstname}" lastName="{name/lastname}" state="{state}"/>
+	</xsl:template>
+
+	<xsl:template match="order-item">
+        <order-item quantity="{quantity}" product-id="{product-id}" price="{price}">
+			<xsl:value-of select="title" />
+        </order-item>
+	</xsl:template>
+
+</xsl:stylesheet>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/edi-to-xml-order-mapping.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/edi-to-xml-order-mapping.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/edi-to-xml-order-mapping.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<medi:edimap xmlns:medi="http://www.milyn.org/schema/edi-message-mapping-1.0.xsd">
+
+	<medi:description name="DVD Order" version="1.0" />
+
+	<medi:delimiters segment="&#10;" field="*" component="^" sub-component="~" />
+
+	<medi:segments xmltag="Order">
+
+		<medi:segment segcode="HDR" xmltag="header">
+			<medi:field xmltag="order-id" />
+			<medi:field xmltag="status-code" />
+			<medi:field xmltag="net-amount" />
+			<medi:field xmltag="total-amount" />
+			<medi:field xmltag="tax" />
+			<medi:field xmltag="date" />
+		</medi:segment>
+
+		<medi:segment segcode="CUS" xmltag="customer-details">
+			<medi:field xmltag="username" />
+			<medi:field xmltag="name">
+				<medi:component xmltag="firstname" />
+				<medi:component xmltag="lastname" />
+			</medi:field>
+			<medi:field xmltag="state" />
+		</medi:segment>
+
+		<medi:segment segcode="ORD" xmltag="order-item" maxOccurs="-1">
+			<medi:field xmltag="position" />
+			<medi:field xmltag="quantity" />
+			<medi:field xmltag="product-id" />
+			<medi:field xmltag="title" />
+			<medi:field xmltag="price" />
+		</medi:segment>
+
+	</medi:segments>
+	
+</medi:edimap>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/us-state-codes.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/us-state-codes.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/org/jboss/xtrans/us-state-codes.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,59 @@
+AL=Alabama
+AK=Alaska
+AS=American Samoa
+AZ=Arizona
+AR=Arkansas
+CA=California
+CO=Colorado
+CT=Connecticut
+DE=Delaware
+DC=District of Columbia	DC
+FM=Federated States of Micronesia
+FL=Florida
+GA=Georgia
+GU=Guam
+HI=Hawaii
+ID=Idaho
+IL=Illinois	
+IN=Indiana
+IA=Iowa	
+KS=Kansas
+KY=Kentucky	
+LA=Louisiana
+ME=Maine
+MH=Marshall Islands
+MD=Maryland
+MA=Massachusetts
+MI=Michigan
+MN=Minnesota
+MS=Mississippi
+MO=Missouri
+MT=Montana
+NE=Nebraska
+NV=Nevada
+NH=New Hampshire
+NJ=New Jersey
+NM=New Mexico
+NY=New York
+NC=North Carolina
+ND=North Dakota
+MP=Northern Mariana Islands
+OH=Ohio
+OK=Oklahoma
+OR=Oregon
+PW=Palau
+PA=Pennsylvania
+PR=Puerto Rico
+RI=Rhode Island
+SC=South Carolina
+SD=South Dakota
+TN=Tennessee
+TX=Texas
+UT=Utah
+VT=Vermont
+VI=Virgin Islands
+VA=Virginia
+WA=Washington
+WV=West Virginia
+WI=Wisconsin
+WY=Wyoming
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/quickstart/helloworld/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/quickstart/helloworld/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/src/quickstart/helloworld/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,93 @@
+/*
+ * 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 quickstart.helloworld.test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.milyn.io.StreamUtils;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/A");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String fileName) throws JMSException, FileNotFoundException, IOException {
+    	
+        QueueSender send = session.createSender(que);
+        ObjectMessage tm;
+        File file = new File(fileName);
+        
+        if(!file.exists()) {
+        	throw new IllegalArgumentException("Input message file [" + file.getAbsolutePath() + "] not found.");
+        }
+        
+        String message = new String(StreamUtils.readStream(new FileInputStream(file)));
+        
+        tm = session.createObjectMessage(message);
+        send.send(tm);        
+        send.close();
+        
+        System.out.println("*** Switch back to the ESB Java console now to see '" + fileName + "' before and after the transformation...");
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/SampleOrder.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/SampleOrder.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/SampleOrder.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,11 @@
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+	<Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+	<OrderLines>
+		<OrderLine position="1" quantity="1">
+			<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+		</OrderLine>
+		<OrderLine position="2" quantity="1">
+			<Product productId="299" title="Pulp Fiction" price="29.99"/>
+		</OrderLine>
+	</OrderLines>
+</Order>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/base-build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/base-build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/base-build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,57 @@
+<project name="Base" default="run" basedir=".">
+
+	<property file="../quickstarts.properties" />
+
+	<property name="classes" value="build/classes" />
+
+	<path id="compile-classpath">
+		<fileset dir="lib" includes="*.jar" /> <!-- Quickstart Specific Jars. -->
+		<fileset dir="../../../lib/ext" includes="*.jar" /> <!-- Product Dependencies. -->
+		<fileset dir="${esb.product.lib.dir}" includes="*.jar" /> <!-- Product Jars. -->
+	</path>
+	<path id="exec-classpath">
+		<pathelement location="." />
+		<pathelement location="src" />
+		<fileset dir="build" includes="${ant.project.name}.jar" />
+		<path refid="compile-classpath" />
+		<fileset dir="${jbosshome.dir}/server/default/lib" includes="jboss-j2ee.jar" /> <!-- Required for JMS Client Code. -->
+	</path>
+
+	<target name="compile" depends="clean">
+		<mkdir dir="${classes}" />
+		<javac srcdir="src" destdir="${classes}">
+			<classpath refid="compile-classpath" />
+		</javac>
+		<jar basedir="${classes}" destfile="build/${ant.project.name}.jar" />
+	</target>
+
+	<target name="run" depends="compile">
+		<echo>Launching Quickstart in standalone mode...</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+			<arg value="./jbossesb.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+	<target name="deployToSAR" depends="compile">
+		<echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+		<copy file="build/${ant.project.name}.jar" overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar" />
+		<copy overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb-dependencies.sar">
+			<!-- additional.deploys defined in build.xml -->
+			<fileset dir="./" includes="${additional.deploys}" />
+		</copy>
+		<copy file="jbossesb.xml" overwrite="true" todir="${jbosshome.dir}/server/default/conf" />
+		<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml" />
+		<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+	</target>
+
+	<target name="echoCP">
+		<property name="cp" refid="exec-classpath" />
+		<echo message="Classpath is ${cp}" />
+	</target>
+
+	<target name="clean">
+		<delete dir="build" />
+	</target>
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,26 @@
+<project name="transformation-pojo-quickstart" default="run" basedir=".">
+	
+	<!-- Additional files to be deployed in the sar. -->
+	<property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+
+	<!-- Import the base Ant build script... -->
+	<import file="base-build.xml"/>
+
+	<!-- The ESB itself is started by the default "run" target - defined in base-build.xml  -->
+	
+	<!-- Target for injecting the sample order message for transformation... -->
+	<target name="runtest">
+		<echo>Runs Test JMS Sender</echo>
+		<java fork="yes" classname="quickstart.test.SendJMSMessage" failonerror="true">
+			<classpath refid="exec-classpath"/>
+		</java>
+	</target>  
+	
+	<target name="receive">
+		<echo>Runs Test JMS Receiver</echo>
+		<java fork="yes" classname="quickstart.test.ReceiveJMSMessage" failonerror="true">
+			<classpath refid="exec-classpath"/>
+		</java>
+	</target>  
+
+</project>
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,60 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="quickstartGwChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/quickstart_simple_transformation_Request"
+                   />
+              </jms-bus>
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+        <service 
+        	category="MyTransformationServicesESB" 
+        	name="MyFirstTransformationServiceESB" 
+        	description="ESB: Takes XML in and produces a POJO">
+            <listeners>
+                <jms-listener name="JMS-Gateway"
+                    busidref="quickstartGwChannel"
+                    maxThreads="1"
+                    is-gateway="true"
+                />
+                <jms-listener name="jmsTransformer"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />
+            </listeners>
+            <actions>
+                <action name="displayBeforeTransformer"
+                  	class="quickstart.MyJMSListenerAction" 
+                   	process="displayMessage" 
+                />   
+                <action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+              		<property name="from" value="DVDStore:OrderDispatchService" />
+					<property name="from-type" value="text/xml:fullFillOrder" />
+					<property name="to" value="DVDWarehouse_1:OrderHandlingService" />
+					<property name="to-type" value="text/xml:shipOrder" />
+                </action>
+                <action name="convertPOJO2Message" class="org.jboss.soa.esb.dvdstore.DVDStoreAction"	/>	
+                <action name="displayAfterTransformer" class="quickstart.MyJMSListenerAction" process="displayMessage" />  
+                <action name="returnToSender"
+                	class="quickstart.MyJMSListenerAction" process="sendResponse" />           	   
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+      <priority value="INFO"/>
+   </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="INFO"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,32 @@
+XML to POJO
+
+The purpose of the simple_transformation quickstart sample is to illustrate the use of Smooks performing
+a simple transformation by converting a XML file into Java POJOs.  
+
+You will need three command windows to execute this demonstration.  In the three windows execute the following
+commands in the order listed:
+ant
+ant receive
+ant runtest
+
+The listener executes by simply typing "ant" at the command line and it waits.  Shut it down via Ctrl-C.
+The message sender executes by typing in "ant runtest".  This executes the SendJMSMessage.java class that 
+picks up the SampleOrder.xml file from the root of the project and shoots it over to the "quickstart_simple_transformation_Request"
+queue.  The gateway listener is looking for messages in that particular queue.
+The message receive executes by typing in "ant receive".  This executes the ReceiveJMSMessage.java class
+that waits until a message is received (polls every 2 seconds) and displays it to the console. You can
+shut it down via Ctrl-C.
+
+For more information on the Smooks Transformation engine please consult the MessagesTransformation.pdf
+in the docs directory.
+
+Files to review:
+* esb-config.xml - uses the SmooksTransformerAction which is shipped with the JBoss ESB
+* smooks-res.xml - handles the mappings of the from/to combinations and determines which transformer to apply
+* SampleOrder.xml - is the inbound test order. Feel free to modify the data (not the structure) and send
+it into the transformer multiple times (ant runtest) to see the results.
+* src\org\jboss\soa\esb\dvdstore\DVDStoreAction.java - converts the beans into a concatenated string
+* src\org\jboss\soa\esb\dvdstore\OrderHeader.java - holds the header portion of the Order
+* src\org\jboss\soa\esb\dvdstore\OrderItem.java - holds a line item for the Order
+* src\org\jboss\soa\esb\dvdstore\Customer.java - holds the Customer associated with the Order.
+* src\org\jboss\soa\esb\dvdstore\orderitem.st - is the string transformation template
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,10 @@
+####################################################
+# Uncomment out to load config from database
+####################################################
+# http://localhost:8080/jboss-esb-console/transform/smooks-config.jsf
+
+####################################################
+# Uncomment out to load config from local XML file
+####################################################
+/smooks-res.xml
+/org/milyn/templating/templating-cdu-creators-0.1.cdrl

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/smooks-res.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/smooks-res.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<!DOCTYPE smooks-resource-list PUBLIC "-//MILYN//DTD SMOOKS 1.0//EN" "http://www.milyn.org/dtd/smooksres-list-1.0.dtd" >
+<smooks-resource-list>
+	<smooks-resource selector="cdu-creator" useragent="*" path="org.milyn.templating.xslt.XslContentDeliveryUnitCreator" >
+		<param name="restype"><![CDATA[xsl]]></param>
+	</smooks-resource>
+	<smooks-resource selector="cdu-creator" useragent="*" path="org.milyn.templating.stringtemplate.StringTemplateContentDeliveryUnitCreator" >
+		<param name="restype"><![CDATA[st]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.OrderHeader]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[orderId]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+
+		<param name="attributeName"><![CDATA[orderDate]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[statusCode]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[netAmount]]></param>
+
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[totalAmount]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderHeader]]></param>
+		<param name="attributeName"><![CDATA[tax]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.Customer]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[userName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[firstName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+		<param name="attributeName"><![CDATA[lastName]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order customer" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[customer]]></param>
+
+		<param name="attributeName"><![CDATA[state]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="beanClass"><![CDATA[org.jboss.soa.esb.dvdstore.OrderItem]]></param>
+		<param name="addToList"><![CDATA[true]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+
+		<param name="attributeName"><![CDATA[position]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[quantity]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[productId]]></param>
+
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[title]]></param>
+	</smooks-resource>
+	<smooks-resource selector="order orderlines orderline product" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="beanId"><![CDATA[orderItem]]></param>
+		<param name="attributeName"><![CDATA[price]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="order orderlines orderline" useragent="from-type:text/xml:fullfillorder and from:dvdstore:orderdispatchservice and to-type:text/xml:shiporder and to:dvdwarehouse_1:orderhandlingservice" path="/org/jboss/soa/esb/dvdstore/orderitem.st" >
+		<param name="encoding"><![CDATA[UTF-8]]></param>
+		<param name="visitBefore"><![CDATA[false]]></param>
+		<param name="action"><![CDATA[replace]]></param>
+	</smooks-resource>
+
+</smooks-resource-list>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/Customer.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/Customer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/Customer.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,94 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Customer {
+
+	// <Customer userName="user1" firstName="Harry" lastName="Potter" state="SD"/>
+	private String userName;
+	private String firstName;
+	private String lastName;
+	private String state;
+	
+	/**
+	 * @return Returns the firstName.
+	 */
+	public String getFirstName() {
+		return firstName;
+	}
+	/**
+	 * @param firstName The firstName to set.
+	 */
+	public void setFirstName(String firstName) {
+		//System.out.println("**** firstName: " + firstName);
+		this.firstName = firstName;
+	}
+	/**
+	 * @return Returns the lastName.
+	 */
+	public String getLastName() {
+		return lastName;
+	}
+	/**
+	 * @param lastName The lastName to set.
+	 */
+	public void setLastName(String lastName) {
+		this.lastName = lastName;
+	}
+	/**
+	 * @return Returns the state.
+	 */
+	public String getState() {
+		return state;
+	}
+	/**
+	 * @param state The state to set.
+	 */
+	public void setState(String state) {
+		this.state = state;
+	}
+	/**
+	 * @return Returns the userName.
+	 */
+	public String getUserName() {
+		return userName;
+	}
+	/**
+	 * @param userName The userName to set.
+	 */
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return userName + "," + firstName + "," + lastName + "," + state;
+	}
+	
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,86 @@
+/*
+ * 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.dvdstore;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * DVD Store action.
+ * <p/>
+ * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class DVDStoreAction implements ActionProcessor {
+
+	public DVDStoreAction(ConfigTree configTree) {
+		
+	}
+	
+	public Message process(Message message) throws ActionProcessingException {
+		HashMap beanHash = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+		
+		StringBuffer results = new StringBuffer();		
+		if(beanHash != null) {
+			OrderHeader header = (OrderHeader) beanHash.get("orderHeader");
+			Customer customer = (Customer) beanHash.get("customer");
+			List orderItems = (List) beanHash.get("orderItemList");
+			results.append("Demonstrates Smooks ability to rip the XML into Objects\n");
+			results.append("********* DVDStoreAction - Order Value Objects Populated *********\n");
+			results.append("Header: " + header + "\n");
+			results.append("Customer: " + customer + "\n");
+			if(orderItems != null) {
+				results.append("Order Items (" + orderItems.size() + "):\n");
+				for(int i = 0; i < orderItems.size(); i++) {
+					results.append("\t" + i + ": " + orderItems.get(i) + "\n");
+				}
+			}
+			results.append("\n****************************************************************** ");
+		} else {
+			results.append("\n*** No beanhash found!");
+		}
+		
+		// Take this "parsed" output and make it a new message
+		message.getBody().setContents(results.toString().getBytes());
+		return message;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/OrderHeader.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/OrderHeader.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/OrderHeader.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,118 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderHeader {
+	
+	// <Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+	private String orderId;
+	private String orderDate;
+	private String statusCode;
+	private String netAmount;
+	private String totalAmount;
+	private String tax;
+	
+	/**
+	 * @return Returns the netAmount.
+	 */
+	public String getNetAmount() {
+		return netAmount;
+	}
+	/**
+	 * @param netAmount The netAmount to set.
+	 */
+	public void setNetAmount(String netAmount) {
+		// System.out.println("**** netAmount: " + netAmount);
+		this.netAmount = netAmount;
+	}
+	/**
+	 * @return Returns the orderDate.
+	 */
+	public String getOrderDate() {
+		return orderDate;
+	}
+	/**
+	 * @param orderDate The orderDate to set.
+	 */
+	public void setOrderDate(String orderDate) {
+		this.orderDate = orderDate;
+	}
+	/**
+	 * @return Returns the orderId.
+	 */
+	public String getOrderId() {
+		return orderId;
+	}
+	/**
+	 * @param orderId The orderId to set.
+	 */
+	public void setOrderId(String orderId) {
+		this.orderId = orderId;
+	}
+	/**
+	 * @return Returns the statusCode.
+	 */
+	public String getStatusCode() {
+		return statusCode;
+	}
+	/**
+	 * @param statusCode The statusCode to set.
+	 */
+	public void setStatusCode(String statusCode) {
+		this.statusCode = statusCode;
+	}
+	/**
+	 * @return Returns the tax.
+	 */
+	public String getTax() {
+		return tax;
+	}
+	/**
+	 * @param tax The tax to set.
+	 */
+	public void setTax(String tax) {
+		this.tax = tax;
+	}
+	/**
+	 * @return Returns the totalAmount.
+	 */
+	public String getTotalAmount() {
+		return totalAmount;
+	}
+	/**
+	 * @param totalAmount The totalAmount to set.
+	 */
+	public void setTotalAmount(String totalAmount) {
+		this.totalAmount = totalAmount;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return orderId + ", " + orderDate + ", " + statusCode + ", " + netAmount + ", " + totalAmount + ", " + tax + ", ";
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/OrderItem.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/OrderItem.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/OrderItem.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,109 @@
+/*
+ * 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.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderItem {
+
+	// <OrderLine position="1" quantity="1">
+	// 		<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+	// </OrderLine>
+	private String position;
+	private String quantity;
+	private String productId;
+	private String title;
+	private String price;
+	
+	/**
+	 * @return Returns the position.
+	 */
+	public String getPosition() {
+		return position;
+	}
+	/**
+	 * @param position The position to set.
+	 */
+	public void setPosition(String position) {
+		//System.out.println("**** position: " + position);
+		this.position = position;
+	}
+	/**
+	 * @return Returns the price.
+	 */
+	public String getPrice() {
+		return price;
+	}
+	/**
+	 * @param price The price to set.
+	 */
+	public void setPrice(String price) {
+		//System.out.println("**** price: " + price);
+		this.price = price;
+	}
+	/**
+	 * @return Returns the productId.
+	 */
+	public String getProductId() {
+		return productId;
+	}
+	/**
+	 * @param productId The productId to set.
+	 */
+	public void setProductId(String productId) {
+		this.productId = productId;
+	}
+	/**
+	 * @return Returns the quantity.
+	 */
+	public String getQuantity() {
+		return quantity;
+	}
+	/**
+	 * @param quantity The quantity to set.
+	 */
+	public void setQuantity(String quantity) {
+		this.quantity = quantity;
+	}
+	/**
+	 * @return Returns the title.
+	 */
+	public String getTitle() {
+		return title;
+	}
+	/**
+	 * @param title The title to set.
+	 */
+	public void setTitle(String title) {
+		this.title = title;
+	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	@Override
+	public String toString() {
+		return position + "," + quantity + "," + productId + "," + title + "," + price;
+		
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/orderitem.st
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/orderitem.st	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/orderitem.st	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,7 @@
+		<order-item>
+			<index>$orderItem.position$</index>
+			<quantity>$orderItem.quantity$</quantity>
+			<product>$orderItem.productId$</product>
+			<title>$orderItem.title$</title>
+			<price>$orderItem.price$</price>
+		</order-item>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/MyJMSListenerAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,93 @@
+/*
+ * 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 quickstart;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Header;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.apache.log4j.Logger;
+
+public class MyJMSListenerAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public Message playWithMessage(Message message) throws Exception {
+	   Header msgHeader = message.getHeader();
+	   Body msgBody = message.getBody();
+	   Call theCall = msgHeader.getCall();
+	   EPR theEpr = theCall.getFrom();
+	   String contents = new String(msgBody.getContents());
+	   StringBuffer sb = new StringBuffer();
+	   sb.append("BEFORE\n");
+	   sb.append(contents);
+	   sb.append("\nAFTER");
+	   msgBody.setContents(sb.toString().getBytes());
+	   return message;
+   }
+   
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+   public Message sendResponse(Message message) { 
+	   try {
+		   logHeader();
+		   System.out.println(new String(message.getBody().getContents()));
+		   logFooter();
+		   ReturnJMSMessage.sendMessage(message,"quickstart_simple_transformation_Response");
+	   } catch (Exception e) {
+		   logHeader();
+		   System.out.println(e.getMessage());
+		   logFooter();
+	   }
+	   return message; //nothing was done to this but action methods must return a Message
+   }
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/ReturnJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/ReturnJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/ReturnJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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 quickstart;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+import javax.jms.TextMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import org.jboss.soa.esb.message.Message;
+
+public class ReturnJMSMessage {
+       
+    public static void sendMessage(Message esbMessage,String newDestination) throws JMSException, NamingException, Exception {
+    	if (esbMessage == null || newDestination == null) 
+    		throw new Exception("Message and JMS Destination are required");
+    
+    	QueueConnection conn;
+        QueueSession session;
+        Queue que;
+        
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/" + newDestination);
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+
+    	    	   
+    	String newMsg = new String(esbMessage.getBody().getContents());
+
+    	
+    	QueueSender send = session.createSender(que);        
+        TextMessage tm = session.createTextMessage(newMsg);
+        send.send(tm);
+        
+
+    	conn.stop();
+    }    
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/ReceiveJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/ReceiveJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/ReceiveJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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 quickstart.test;
+
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueReceiver;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.InitialContext;
+
+public class ReceiveJMSMessage {
+	   QueueConnection conn = null;	   
+	   QueueSession receiverSession = null;	   
+	   Queue receiverQueue = null;	   
+	   QueueReceiver queueReceiver = null;
+	   InitialContext iniCtx = null;
+	   QueueConnectionFactory qcf = null;
+	   public ReceiveJMSMessage() {
+		   
+	   }
+	   public void receiveOne() {
+		   try {
+		   if (iniCtx == null) iniCtx = new InitialContext();
+	          if (qcf == null) qcf = (QueueConnectionFactory) iniCtx.lookup("ConnectionFactory");
+	          if (conn == null) {
+	              conn = qcf.createQueueConnection();
+	              conn.start();
+	          }
+	          String responseQueueName = "queue/quickstart_simple_transformation_Response";
+	          receiverQueue = (Queue) iniCtx.lookup(responseQueueName);
+	          receiverSession = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+	    	  queueReceiver = receiverSession.createReceiver(receiverQueue); 
+	    	  TextMessage msg = (TextMessage) queueReceiver.receive(2000);
+	    	  if (msg != null) {
+	    		  System.out.println("*********************************************************");
+	    		  System.out.println(msg);
+	    		  System.out.println("*********************************************************");
+	    	  }	
+		   } catch (Exception e) {
+			   System.out.println(e);
+		   }
+	   }
+	   public static void main(String[] args) {
+		      ReceiveJMSMessage receiver = new ReceiveJMSMessage();
+		      while (true) { // loop until I'm killed
+		    	  receiver.receiveOne();
+		      }
+	   }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2POJO/src/quickstart/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,110 @@
+/*
+ * 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 quickstart.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_simple_transformation_Request");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);        
+        send.send(tm);        
+        send.close();
+    }
+    public String readAsciiFile(String fileName) throws IOException {
+		  FileReader fr = null;
+		  char[] thechars = null;
+
+		  try {
+			  File thefile = new File( fileName );
+			  fr = new FileReader( thefile );
+			  int size = (int) thefile.length();
+			  thechars = new char[size];
+		
+			  int count, index = 0;
+		
+			  // 	read in the bytes from the input stream
+			  while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
+				  size -= count;
+				  index += count;
+			  }
+			} catch(Exception e) {	
+				System.out.println(e);
+			}
+			finally {
+				if( fr != null )
+		        fr.close();
+			}
+			return new String(thechars);
+
+    } // readAsciiFile
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	String fileContent = sm.readAsciiFile("SampleOrder.xml");
+    	System.out.println("---------------------------------------------");
+    	System.out.println(fileContent);
+    	System.out.println("---------------------------------------------");
+    	sm.sendAMessage(fileContent); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/README.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/README.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,87 @@
+Overview:
+=========
+    This is another simple example of how to manually define and apply a Message Transformation
+    within JBoss ESB 4.0GA.  
+    
+    This Quickstart is an extension of the "transformation_XML2XML_simple" Quickstart, demonstrating how 
+    JBoss ESB Transformations can simplify your XSLT transformations by combining the
+    power of XSLT with Java.  In this Quickstart, we use Java to perform the ugly string manipulation
+    on the SampleOrder date field (see OrderDate.java) and use XSLT for what it's good at i.e.
+    Templating.  Again, the transformed SampleOrder.xml message is just printed to the Java
+    console (message before and after).
+    
+    This Quickstart does not use the JBoss ESB Administration Console to manage the
+    message Transformation configurations to the ESB.  See the end of this README for details on how
+    to manage this Quickstart's transformations via the Console.
+    
+    Check out the Administration Console Flash demos at:
+    	http://labs.jboss.com/portal/jbossesb/resources/tutorials/xformation-demos/console-demos.html
+
+
+Before Running:
+===============
+    1. Update the "org.jboss.esb.appserver.home" property in the quickstarts.properties file in "../".
+    2. Make sure to run the the ant script in the "install" folder of the distribution.  This
+       deploys the required SARs to your JBoss Application Server instance.
+    3. Make sure the JBoss Application server is running.
+    4. It would be a great idea to read MessageTransformation.pdf to fully understand this
+       Quickstart.  It is located in the docs/services folder.
+
+
+To Run:
+=======
+    1. In a command terminal window in this folder ("Window1"), type "ant run".
+    2. Open another command terminal window in this folder ("Window2"), type "ant runtest".
+    3. Switch back to "Window1" to see the message transformation before and after.
+    
+    Note that, as with all these Quickstarts, you can deply and run them through your local
+    JBoss Application Server instance.  To do this, skip step 1 above and in it's place 
+    execute the following Ant task:
+        "ant deployToSAR"
+    This will packagce up this Quickstart and deploy it to your JBoss AS instance.  The Quickstart
+    "Service" will automatically start then.  At that point, continue with steps 2 and 3.
+
+
+What to look at in this Quickstart:
+===================================
+    As stated above, a read of MessageTransformation.pdf would be of great benefit in understanding
+    JBoss ESB Transformations.
+
+    jbossesb.xml:    The ESB configuration file in this Quickstart simply defines a JMS Listener for receiving
+                     the contents of the SampleOrder.xml file located in this folder (line 31).  The listener
+                     configuration then executes the "SmooksTransformer" action for the Message Exchange between
+                     "A" and "B".
+                    
+    smooks-cdr.lst:  This file is used by the JBoss ESB Transformation Service to list the Transformation
+                     resource configuration URIs.  Out of the box, the smoooks-cdr.lst file in this Quickstart
+                     refers to 2 resource URIs, both of which are classpath based.  It also has a commented
+                     out listing for accessing Transformation Configurations managed by the JBoss ESB
+                     Administration Conosle (see below).
+                    
+    smooks-res.xml:  This file defines the Transformations for the Quickstart.  This time, there are a number of
+                     transformation configurations, all "targeted" at the same message.
+                    
+    OrderDate.java:  (In the src tree).  This is just a simple POJO class.  It gets populated by JBoss ESB
+                     Transformation (via Smooks) and is used by the XSLT (defined in smooks-res.xml)
+                     to generate the new OrderDate element in the output message.  This class uses the standard
+                     Java SimpleDateFormat class for decoding the orderDate value and extracting the components of
+                     the date from it (day, month, zone etc).  This means you avoid having to do this in your XSLT
+                     code, which would be very ugly and difficult to maintain.
+
+
+Playing with this Transformation through the Administration Console:
+====================================================================
+    To load the Transformation Configurations defined in smooks-res.xml into the Admin Console, and have them
+    managed from the Admin Console, do the following:
+    
+    1. Deploy the console as outlined in MessageTransformation.pdf.
+    2. Edit the smooks-cdr.lst file in this folder, commenting out both the classpath based listings and
+       uncommenting out the listing for the console HTTP URI.
+    3. In the console:
+        a) Add "Message Exchange Participants" for "A" and "B" through the "Manage Message Exchange Participants" form.
+        b) Add new "Message Contract" against "A" and "B" for "text/xml:messageAtA" and "text/xml:messageAtB" respectively.
+           Note: "messageAtA" and "messageAtB" are the Message Namespace values and "text/xml" is the Message Mime in
+           both cases.
+        c) Import "smooks-res.xml" through the "Import Configurations" form.
+    4. You are now ready to start managing the message transformations through the console.  You can add more
+       transformations and modify the existing transformations.  Be sure to read MessageTransformation.pdf!!!
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/SampleOrder.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/SampleOrder.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/SampleOrder.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,11 @@
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+	<Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+	<OrderLines>
+		<OrderLine position="1" quantity="1">
+			<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+		</OrderLine>
+		<OrderLine position="2" quantity="1">
+			<Product productId="299" title="Pulp Fiction" price="29.99"/>
+		</OrderLine>
+	</OrderLines>
+</Order>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/base-build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/base-build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/base-build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,57 @@
+<project name="Base" default="run" basedir=".">
+
+	<property file="../quickstarts.properties" />
+
+	<property name="classes" value="build/classes" />
+
+	<path id="compile-classpath">
+		<fileset dir="lib" includes="*.jar" /> <!-- Quickstart Specific Jars. -->
+		<fileset dir="../../../lib/ext" includes="*.jar" /> <!-- Product Dependencies. -->
+		<fileset dir="${esb.product.lib.dir}" includes="*.jar" /> <!-- Product Jars. -->
+	</path>
+	<path id="exec-classpath">
+		<pathelement location="." />
+		<pathelement location="src" />
+		<fileset dir="build" includes="${ant.project.name}.jar" />
+		<path refid="compile-classpath" />
+		<fileset dir="${jbosshome.dir}/server/default/lib" includes="jboss-j2ee.jar" /> <!-- Required for JMS Client Code. -->
+	</path>
+
+	<target name="compile" depends="clean">
+		<mkdir dir="${classes}" />
+		<javac srcdir="src" destdir="${classes}">
+			<classpath refid="compile-classpath" />
+		</javac>
+		<jar basedir="${classes}" destfile="build/${ant.project.name}.jar" />
+	</target>
+
+	<target name="run" depends="compile">
+		<echo>Launching Quickstart in standalone mode...</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+			<arg value="./jbossesb.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+	<target name="deployToSAR" depends="compile">
+		<echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+		<copy file="build/${ant.project.name}.jar" overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar" />
+		<copy overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb-dependencies.sar">
+			<!-- additional.deploys defined in build.xml -->
+			<fileset dir="./" includes="${additional.deploys}" />
+		</copy>
+		<copy file="jbossesb.xml" overwrite="true" todir="${jbosshome.dir}/server/default/conf" />
+		<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml" />
+		<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+	</target>
+
+	<target name="echoCP">
+		<property name="cp" refid="exec-classpath" />
+		<echo message="Classpath is ${cp}" />
+	</target>
+
+	<target name="clean">
+		<delete dir="build" />
+	</target>
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,19 @@
+<project name="transformation-date-manipulation-quickstart" default="run" basedir=".">
+	
+	<property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+
+	<!-- Import the base Ant build script... -->
+	<import file="base-build.xml"/>
+
+	<!-- The ESB itself is started by the default "run" target - defined in base-build.xml  -->
+	
+	<!-- Target for injecting the sample order message for transformation... -->
+	<target name="runtest">
+		<echo>Runs Test JMS Sender</echo>
+		<java fork="yes" classname="quickstart.helloworld.test.SendJMSMessage" failonerror="true">
+			<arg value="SampleOrder.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+</project>

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,45 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+	<providers>
+		<jms-provider name="JBossMQ"
+			connection-factory="ConnectionFactory"
+			jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+			jndi-URL="localhost">
+
+			<jms-bus busid="quickstartGwChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/A" />
+			</jms-bus>
+			<jms-bus busid="quickstartEsbChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/B" />
+			</jms-bus>
+
+		</jms-provider>
+	</providers>
+
+	<services>
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World">
+			<listeners>
+				<jms-listener name="JMS-Gateway" busidref="quickstartGwChannel" maxThreads="1" is-gateway="true"/>
+				<jms-listener name="quickstart" busidref="quickstartEsbChannel" maxThreads="1" />
+			</listeners>
+			<actions>
+				<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="Message before transformation" />
+				</action>
+				<action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+					<property name="from" value="A" />
+					<property name="from-type" value="text/xml:messageAtA" />
+					<property name="to" value="B" />
+					<property name="to-type" value="text/xml:messageAtB" />
+				</action>
+				<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="Message after transformation" />
+				</action>
+			</actions>
+		</service>
+	</services>
+
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+      <priority value="INFO"/>
+   </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="INFO"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+########################################################################################################
+# Uncomment out to load config from local XML file
+########################################################################################################
+/smooks-res.xml
+/org/milyn/templating/templating-cdu-creators-0.1.cdrl
+
+########################################################################################################
+# Uncomment out to load config from the
+# ESB Administration Console.
+#
+# You must "import" smooks-res.xml into the console in order to view and manipulate the
+# transformations in this sample.  You will also need to register the "Message Exchange Participants"
+# "A" and "B" as well as their supported message contracts "text/xml:messageAtA" and 
+# "text/xml:messageAtB" respectively.
+########################################################################################################
+#http://localhost:8080/jboss-esb-console/transform/smooks-config.jsp

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/smooks-res.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/smooks-res.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!DOCTYPE smooks-resource-list PUBLIC "-//MILYN//DTD SMOOKS 1.0//EN" "http://www.milyn.org/dtd/smooksres-list-1.0.dtd">
+<smooks-resource-list>
+
+	<!--
+		Create an instance of the OrderDate bean and bind it to the beanId "orderDate".  This ID is 
+		used later in the XSLT to refer to this bean.
+	-->
+	<smooks-resource selector="Order" useragent="from-type:text/xml:messageAtA AND from:A AND to-type:text/xml:messageAtB AND to:B" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[JavaBean Create - Processing Phase]]></param>
+		<param name="beanId"><![CDATA[orderDate]]></param>
+		<param name="beanClass"><![CDATA[quickstart.helloworld.test.OrderDate]]></param>
+		<param name="addToList"><![CDATA[false]]></param>
+
+	</smooks-resource>
+	
+	<!-- 
+		Populate the "orderDate" bean with the orderDate attribute value from the Order element.
+	-->
+	<smooks-resource selector="Order" useragent="from-type:text/xml:messageAtA AND from:A AND to-type:text/xml:messageAtB AND to:B" path="org.milyn.javabean.ProcessingPhaseBeanPopulator" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[JavaBean Populate - Processing Phase]]></param>
+		<param name="beanId"><![CDATA[orderDate]]></param>
+		<param name="attributeName"><![CDATA[orderDate]]></param>
+	</smooks-resource>
+	
+	<!-- 
+		Generate the new "OrderDate" element from the date data in the orderDate bean and insert the result before
+		the OrderLines element.
+	-->
+	<smooks-resource selector="OrderLines" useragent="from-type:text/xml:messageAtA AND from:A AND to-type:text/xml:messageAtB AND to:B" path="See 'resdata' parameter value" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[XSLT (Templatelet)]]></param>
+		<param name="encoding"><![CDATA[UTF-8]]></param>
+
+		<param name="visitBefore"><![CDATA[false]]></param>
+		<param name="is-xslt-templatelet"><![CDATA[true]]></param>
+		<param name="restype"><![CDATA[xsl]]></param>
+		<param name="action"><![CDATA[insertbefore]]></param>
+		<param name="resdata"><![CDATA[<OrderDate>
+   <day><smooks-bean:select ognl="orderDate.day"/></day>
+   <time><smooks-bean:select ognl="orderDate.time"/></time>
+   <zone><smooks-bean:select ognl="orderDate.zone"/></zone>
+   <month><smooks-bean:select ognl="orderDate.month"/></month>
+   <year><smooks-bean:select ognl="orderDate.year"/></year>
+</OrderDate>]]></param>
+	</smooks-resource>
+	
+	<!-- 
+		Remove the orderDate attribute from the Order element - it's now in the message as an OrderDate element.
+	-->
+	<smooks-resource selector="Order" useragent="from-type:text/xml:messageAtA AND from:A AND to-type:text/xml:messageAtB AND to:B" path="org.milyn.cdres.trans.RemoveAttributeTU" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[Remove Attribute]]></param>
+		<param name="attributeName"><![CDATA[orderDate]]></param>
+	</smooks-resource>
+	
+</smooks-resource-list>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/OrderDate.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/OrderDate.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/OrderDate.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,79 @@
+/*
+ * 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 quickstart.helloworld.test;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * Sample bean for orderDate manipulation Using Java.  This type of thing is a
+ * real pain in XSLT!!
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderDate {
+	
+	private Date orderDate;
+	
+	/**
+	 * Formatter for decoding the date from the message.
+	 */
+	private static SimpleDateFormat dateDecodeFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
+	
+	/**
+	 * Formatters for encoding the date in the transformation.
+	 */
+	private static SimpleDateFormat dayFormat = new SimpleDateFormat("dd");
+	private static SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");
+	private static SimpleDateFormat monthFormat = new SimpleDateFormat("MM");
+	private static SimpleDateFormat yearFormat = new SimpleDateFormat("yy");
+	private static SimpleDateFormat timezoneFormat = new SimpleDateFormat("Z");
+	
+	public void setOrderDate(String orderDate) {
+		try {
+			// "Wed Nov 15 13:45:28 EST 2006"
+			// "EEE MMM dd HH:mm:ss z yyyy"
+			this.orderDate = dateDecodeFormat.parse(orderDate);
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
+	}
+	public Date getOrderDate() {
+		return orderDate;
+	}
+	public String getDay() {
+		return dayFormat.format(orderDate);
+	}
+	public String getTime() {
+		return timeFormat.format(orderDate);
+	}
+	public String getMonth() {
+		return monthFormat.format(orderDate);
+	}
+	public String getYear() {
+		return yearFormat.format(orderDate);
+	}
+	public String getZone() {
+		return timezoneFormat.format(orderDate);
+	}	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_date_manipulation/src/quickstart/helloworld/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,93 @@
+/*
+ * 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 quickstart.helloworld.test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.milyn.io.StreamUtils;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/A");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String fileName) throws JMSException, FileNotFoundException, IOException {
+    	
+        QueueSender send = session.createSender(que);
+        ObjectMessage tm;
+        File file = new File(fileName);
+        
+        if(!file.exists()) {
+        	throw new IllegalArgumentException("Input message file [" + file.getAbsolutePath() + "] not found.");
+        }
+        
+        String message = new String(StreamUtils.readStream(new FileInputStream(file)));
+        
+        tm = session.createObjectMessage(message);
+        send.send(tm);        
+        send.close();
+        
+        System.out.println("*** Switch back to the ESB Java console now to see '" + fileName + "' before and after the transformation...");
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/README.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/README.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,74 @@
+Overview:
+=========
+    This is a very basic example of how to manually define and apply a Message Transformation
+    within JBoss ESB 4.0GA.  It applies a very simple XSLT to a SampleOrder.xml message and prints the
+    before and after XML to the console.
+    
+    This Quickstart does not use the JBoss ESB Administration Console to manage the
+    message Transformation configurations to the ESB.  See the end of this README for details on how
+    to manage this Quickstart's transformations via the Console.
+    
+    Check out the Administration Console Flash demos at:
+    	http://labs.jboss.com/portal/jbossesb/resources/tutorials/xformation-demos/console-demos.html
+
+
+Before Running:
+===============
+    1. Update the "org.jboss.esb.appserver.home" property in the quickstarts.properties file in "../".
+    2. Make sure to run the the ant script in the "install" folder of the distribution.  This
+       deploys the required SARs to your JBoss Application Server instance.
+    3. Make sure the JBoss Application server is running.
+    4. It would be a great idea to read MessageTransformation.pdf to fully understand this
+       Quickstart.  It is located in the docs/services folder.
+
+
+To Run:
+=======
+    1. In a command terminal window in this folder ("Window1"), type "ant run".
+    2. Open another command terminal window in this folder ("Window2"), type "ant runtest".
+    3. Switch back to "Window1" to see the message transformation before and after.
+    
+    Note that, as with all these Quickstarts, you can deply and run them through your local
+    JBoss Application Server instance.  To do this, skip step 1 above and in it's place 
+    execute the following Ant task:
+        "ant deployToSAR"
+    This will packagce up this Quickstart and deploy it to your JBoss AS instance.  The Quickstart
+    "Service" will automatically start then.  At that point, continue with steps 2 and 3.
+
+
+What to look at in this Quickstart:
+===================================
+    As stated above, a read of MessageTransformation.pdf would be of great benefit in understanding
+    JBoss ESB Transformations.
+
+    jbossesb.xml:    The ESB configuration file in this Quickstart simply defines a JMS Listener for receiving
+                     the contents of the SampleOrder.xml file located in this folder (line 31).  The listener
+                     configuration then executes the "SmooksTransformer" action for the Message Exchange between
+                     "A" and "B".
+                    
+    smooks-cdr.lst:  This file is used by the JBoss ESB Transformation Service to list the Transformation
+                     resource configuration URIs.  Out of the box, the smoooks-cdr.lst file in this Quickstart
+                     refers to 2 resource URIs, both of which are classpath based.  It also has a commented
+                     out listing for accessing Transformation Configurations managed by the JBoss ESB
+                     Administration Conosle (see below).
+                    
+    smooks-res.xml:  This file defines the Transformations for the Quickstart.  In this case, it simply defines
+                     a single XSL transformation for the order line items.
+
+
+Playing with this Transformation through the Administration Console:
+====================================================================
+    To load the Transformation Configurations defined in smooks-res.xml into the Admin Console, and have them
+    managed from the Admin Console, do the following:
+    
+    1. Deploy the console as outlined in MessageTransformation.pdf.
+    2. Edit the smooks-cdr.lst file in this folder, commenting out both the classpath based listings and
+       uncommenting out the listing for the console HTTP URI.
+    3. In the console:
+        a)  Add "Message Exchange Participants" for "A" and "B" through the "Manage Message Exchange Participants" form.
+        b)  Add new "Message Contract" against "A" and "B" for "text/xml:messageAtA" and "text/xml:messageAtB" respectively.
+            Note: "messageAtA" and "messageAtB" are the Message Namespace values and "text/xml" is the Message Mime in
+            both cases.
+        c)  Import "smooks-res.xml" through the "Import Configurations" form.
+    4. You are now ready to start managing the message transformations through the console.  You can add more
+       transformations and modify the existing transformations.  Be sure to read MessageTransformation.pdf!!!
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/SampleOrder.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/SampleOrder.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/SampleOrder.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,11 @@
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+	<Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+	<OrderLines>
+		<OrderLine position="1" quantity="1">
+			<Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+		</OrderLine>
+		<OrderLine position="2" quantity="1">
+			<Product productId="299" title="Pulp Fiction" price="29.99"/>
+		</OrderLine>
+	</OrderLines>
+</Order>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/base-build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/base-build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/base-build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,57 @@
+<project name="Base" default="run" basedir=".">
+
+	<property file="../quickstarts.properties" />
+
+	<property name="classes" value="build/classes" />
+
+	<path id="compile-classpath">
+		<fileset dir="lib" includes="*.jar" /> <!-- Quickstart Specific Jars. -->
+		<fileset dir="../../../lib/ext" includes="*.jar" /> <!-- Product Dependencies. -->
+		<fileset dir="${esb.product.lib.dir}" includes="*.jar" /> <!-- Product Jars. -->
+	</path>
+	<path id="exec-classpath">
+		<pathelement location="." />
+		<pathelement location="src" />
+		<fileset dir="build" includes="${ant.project.name}.jar" />
+		<path refid="compile-classpath" />
+		<fileset dir="${jbosshome.dir}/server/default/lib" includes="jboss-j2ee.jar" /> <!-- Required for JMS Client Code. -->
+	</path>
+
+	<target name="compile" depends="clean">
+		<mkdir dir="${classes}" />
+		<javac srcdir="src" destdir="${classes}">
+			<classpath refid="compile-classpath" />
+		</javac>
+		<jar basedir="${classes}" destfile="build/${ant.project.name}.jar" />
+	</target>
+
+	<target name="run" depends="compile">
+		<echo>Launching Quickstart in standalone mode...</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+			<arg value="./jbossesb.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+	<target name="deployToSAR" depends="compile">
+		<echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+		<copy file="build/${ant.project.name}.jar" overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar" />
+		<copy overwrite="true" todir="${jbosshome.dir}/server/default/deploy/jbossesb-dependencies.sar">
+			<!-- additional.deploys defined in build.xml -->
+			<fileset dir="./" includes="${additional.deploys}" />
+		</copy>
+		<copy file="jbossesb.xml" overwrite="true" todir="${jbosshome.dir}/server/default/conf" />
+		<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml" />
+		<echo>Check your AS console to see if everything deployed properly then run 'ant runtest'</echo>
+	</target>
+
+	<target name="echoCP">
+		<property name="cp" refid="exec-classpath" />
+		<echo message="Classpath is ${cp}" />
+	</target>
+
+	<target name="clean">
+		<delete dir="build" />
+	</target>
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,19 @@
+<project name="transformation-simple-quickstart" default="run" basedir=".">
+	
+	<property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+	
+	<!-- Import the base Ant build script... -->
+	<import file="base-build.xml"/>
+
+	<!-- The ESB itself is started by the default "run" target - defined in base-build.xml  -->
+	
+	<!-- Target for injecting the sample order message for transformation... -->
+	<target name="runtest">
+		<echo>Runs Test JMS Sender</echo>
+		<java fork="yes" classname="quickstart.helloworld.test.SendJMSMessage" failonerror="true">
+			<arg value="SampleOrder.xml" />
+			<classpath refid="exec-classpath" />
+		</java>
+	</target>
+
+</project>
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" parameterReloadSecs="5">
+
+	<providers>
+		<jms-provider name="JBossMQ"
+			connection-factory="ConnectionFactory"
+			jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+			jndi-URL="localhost">
+
+			<jms-bus busid="quickstartGwChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/A" />
+			</jms-bus>
+			<jms-bus busid="quickstartEsbChannel">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/B" />
+			</jms-bus>
+
+		</jms-provider>
+	</providers>
+
+	<services>
+
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World">
+			<listeners>
+				<jms-listener name="JMS-Gateway" busidref="quickstartGwChannel" maxThreads="1" is-gateway="true"/>
+				<jms-listener name="quickstart" busidref="quickstartEsbChannel" maxThreads="1" />
+			</listeners>
+			<actions>
+				<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="Message before transformation" />
+				</action>
+				<action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+					<property name="from" value="A" />
+					<property name="from-type" value="text/xml:messageAtA" />
+					<property name="to" value="B" />
+					<property name="to-type" value="text/xml:messageAtB" />
+				</action>
+				<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="message" value="Message after transformation" />
+				</action>
+			</actions>
+		</service>
+	</services>
+
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.milyn">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+      <priority value="INFO"/>
+   </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="INFO"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+########################################################################################################
+# Uncomment out to load config from local XML file
+########################################################################################################
+/smooks-res.xml
+/org/milyn/templating/templating-cdu-creators-0.1.cdrl
+
+########################################################################################################
+# Uncomment out to load config from the
+# ESB Administration Console.
+#
+# You must "import" smooks-res.xml into the console in order to view and manipulate the
+# transformations in this sample.  You will also need to register the "Message Exchange Participants"
+# "A" and "B" as well as their supported message contracts "text/xml:messageAtA" and 
+# "text/xml:messageAtB" respectively.
+########################################################################################################
+#http://localhost:8080/jboss-esb-console/transform/smooks-config.jsp

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/smooks-res.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/smooks-res.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!DOCTYPE smooks-resource-list PUBLIC "-//MILYN//DTD SMOOKS 1.0//EN" "http://www.milyn.org/dtd/smooksres-list-1.0.dtd">
+<smooks-resource-list>
+
+	<smooks-resource selector="OrderLine" useragent="from-type:text/xml:messageAtA AND from:A AND to-type:text/xml:messageAtB AND to:B" path="See 'resdata' parameter value" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[XSLT (Templatelet)]]></param>
+		<param name="encoding"><![CDATA[UTF-8]]></param>
+		<param name="visitBefore"><![CDATA[false]]></param>
+		<param name="is-xslt-templatelet"><![CDATA[true]]></param>
+		<param name="restype"><![CDATA[xsl]]></param>
+		<param name="action"><![CDATA[replace]]></param>
+		<param name="resdata"><![CDATA[<line-item>
+    <product><xsl:value-of select="./Product/@productId" /></product>
+    <price><xsl:value-of select="./Product/@price" /></price>
+    <quantity><xsl:value-of select="@quantity" /></quantity>
+</line-item>
+]]></param>
+	</smooks-resource>
+</smooks-resource-list>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/src/quickstart/helloworld/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/src/quickstart/helloworld/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/transform_XML2XML_simple/src/quickstart/helloworld/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,93 @@
+/*
+ * 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 quickstart.helloworld.test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.milyn.io.StreamUtils;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/A");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String fileName) throws JMSException, FileNotFoundException, IOException {
+    	
+        QueueSender send = session.createSender(que);
+        ObjectMessage tm;
+        File file = new File(fileName);
+        
+        if(!file.exists()) {
+        	throw new IllegalArgumentException("Input message file [" + file.getAbsolutePath() + "] not found.");
+        }
+        
+        String message = new String(StreamUtils.readStream(new FileInputStream(file)));
+        
+        tm = session.createObjectMessage(message);
+        send.send(tm);        
+        send.close();
+        
+        System.out.println("*** Switch back to the ESB Java console now to see '" + fileName + "' before and after the transformation...");
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,128 @@
+<project name="Quickstart_webservice_war1" default="run" basedir=".">
+  
+  <property file="../quickstarts.properties" />
+  
+  <!-- setup for the ESB service -->
+  <property name="esb_actions.build.dir" value="${basedir}/esb_actions/build"/>
+  <property name="esb_actions.src.dir" value="${basedir}/esb_actions/src"/>
+  <property name="esb-config" value="${basedir}/jbossesb.xml"/>
+  
+  <!-- setup for the WAR & Web service -->
+  <property name="war.file.name" value="quickstartWAR1" />
+  <property name="war.build.dir" value="${basedir}/war/build"/>
+  <property name="war.src.dir" value="${basedir}/war/src"/>
+    		
+
+	<path id="classpath">
+	<fileset dir="./war/lib/ext" includes="jbossws-client.jar" /> 
+	<fileset dir="${esb.product.lib.dir}" includes="*jar"/>
+	<fileset dir="${esb.product.lib.dir}" includes="*xml"/>
+	<fileset dir="${esb.product.lib.dir}/ext" includes="*jar"/>
+	<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+	<fileset dir="${basedir}" includes="esb_actions/build/**/*.jar"/>
+	<fileset dir="${jbosshome.dir}/server/default/lib">
+			<include name="jboss-j2ee.jar"/> 
+	</fileset>		
+  	
+  <fileset dir="${basedir}" includes="build/**/*.jar"/>
+  <fileset dir="${basedir}" includes="build/**/*.xml"/>
+  <pathelement location="." />
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+		<mkdir dir="${war.build.dir}"/>		
+		<mkdir dir="${war.build.dir}/dist"/>
+		<mkdir dir="${esb_actions.build.dir}"/>
+  </target>
+
+  <target name="clean">
+		<delete dir="${war.build.dir}" />
+		<delete dir="${esb_actions.build.dir}"/>
+  </target>
+
+  <target name="warcompile" depends="prepare">
+		<javac srcdir="${war.src.dir}"
+		   destdir="${war.build.dir}">
+		  <classpath refid="classpath"/>
+	 	</javac>  
+  </target>
+  
+  <target name="compile" depends="prepare">
+		<javac srcdir="${esb_actions.src.dir}"
+		   destdir="${esb_actions.build.dir}">
+		  <classpath refid="classpath"/>
+	 	</javac>
+  </target>
+
+  <target name="makewar" depends="warcompile">
+  	<war warfile="${war.build.dir}/dist/${war.file.name}.war"							
+				 webxml="${basedir}/war/resources/WEB-INF/web.xml">
+			  <webinf dir="${basedir}/war/resources/WEB-INF">
+				<include name="jboss-web.xml"/>
+			  </webinf>
+				<classes dir="${war.build.dir}" includes="**/*.class"/>
+				<fileset dir="${basedir}/war/view">
+				  <include name="**/*"/>
+				</fileset>
+				<lib dir="${esb.product.lib.dir}">
+						<include name="*.jar"/>						
+				</lib>
+				<lib dir="${esb.product.lib.dir}/ext">
+					<include name="jaxr-api-*.jar"/>
+					<include name="scout-*.jar"/>
+					<include name="juddi-*.jar"/>	
+					<include name="jbossts-common.jar"/>
+				</lib>
+				<classes dir="${basedir}">
+				  <include name="juddi.properties"/>
+			 </classes>
+	 </war>
+  </target>
+  
+  <target name="jars" depends="compile">
+			<delete file="${build.dir}/${ant.project.name}_ESB.jar"/>
+      <jar destfile="${esb_actions.build.dir}/${ant.project.name}_ESB.jar"
+				basedir="${esb_actions.build.dir}"
+				includes="**/*.class"/>
+  </target>
+
+  <target name="deploywar" depends="makewar">
+     <copy file="${war.build.dir}/dist/${war.file.name}.war" overwrite="true"
+           todir="${jbosshome.dir}/server/default/deploy"/>
+  </target>
+  
+  <target name="run" depends="deploywar,jars">
+	     <echo>The ESB services behind the WS War</echo>
+	     <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">  
+	     	<arg value="${esb-config}"/>
+			<classpath refid="classpath"/>
+	     </java>     
+  </target>	
+
+  <target name="deployToSAR" depends="jars">
+	    <echo>Deploys the project to the JBoss Application Server ESB SAR</echo>
+	  	<copy file="${build.dir}/${ant.project.name}.jar" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/deploy/jbossesb.sar"	
+	  	/>
+	  	<copy file="jbossesb.xml" overwrite="true"
+	  		todir="${jbosshome.dir}/server/default/conf"
+	  	/>
+	  	<touch file="${jbosshome.dir}/server/default/deploy/jbossesb.sar/META-INF/jboss-service.xml"/>
+	  	<echo>Check your AS console to see if everything deployed properly</echo>
+  </target>
+	
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.helloworld.test.SendJMSMessage" failonerror="true">
+     	<arg value="Hello World"/>
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+
+</project>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/MyAction.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,88 @@
+/*
+ * 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 quickstart.webservice_war1;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+
+public class MyAction
+{
+    
+  protected ConfigTree	_config;
+	  
+  public MyAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
+
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
+  
+   public Message playWithMessage(Message message) throws Exception {
+	   Body msgBody = message.getBody();
+     String results = new String();
+	   String contents = new String(msgBody.getContents());
+     results = "Hello From ESB MyAction: " + contents;
+	   // msgBody.setContents(results.getBytes());
+	   Message replyMessage = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);				
+		 replyMessage.getBody().setContents(results.getBytes());
+		 EPR replyEPR = message.getHeader().getCall().getReplyTo();
+		 final Courier courier = CourierFactory.getCourier(replyEPR) ;
+                 try
+                 {
+                     courier.deliver(replyMessage); 
+                 }
+                 finally
+                 {
+                     CourierUtil.cleanCourier(courier) ;
+                 }
+	   return replyMessage;
+   }
+   
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
+    
+	
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/test/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/esb_actions/src/quickstart/webservice_war1/test/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+/*
+ * 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 quickstart.webservice_war1.test;
+
+import javax.jms.JMSException;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection() throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/quickstart_helloworld_action_Request");
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        ObjectMessage tm = session.createObjectMessage(msg);
+        send.send(tm);        
+        send.close();
+    }
+       
+    
+    public static void main(String args[]) throws Exception
+    {        	    	
+    	SendJMSMessage sm = new SendJMSMessage();
+    	sm.setupConnection();
+    	sm.sendAMessage(args[0]); 
+    	sm.stop();
+    	
+    }
+    
+}
\ No newline at end of file

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+ xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+ parameterReloadSecs="5">
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >                      
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+          
+        <service category="MyServiceCategory" 
+                 name="MyService" 
+                 description="WS Frontend speaks natively to the ESB" >
+            <listeners>
+                <jms-listener name="JMS-ESBListener"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />                
+            </listeners>
+            <actions>
+               <action name="displayAction" 
+               		class="quickstart.webservice_war1.MyAction" 
+               		process="displayMessage">
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+               </action>
+  			       <action name="playAction" 
+  			   	    	class="quickstart.webservice_war1.MyAction" 
+  			   		    process="playWithMessage">  	               
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+  			       </action> 
+  			       <action name="displayAction" 
+               		class="quickstart.webservice_war1.MyAction" 
+               		process="displayMessage">
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+               </action> 			       
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

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

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

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,49 @@
+Overview:
+=========
+    This example demonstrates how to develop and host a 181 Web Service on 
+    the JBoss Application Server. This Web Service is then used to make a
+    synchronous call into the ESB.
+  
+
+Before Running:
+===============
+1. Update the "jbosshome.dir" property in the quickstarts.properties file in "../".
+2. Make sure the jbossesb.sar is deployed on your JBoss Application Server.
+   In the ESB "install" folder update deployment.properties and then run "ant".
+   This example does require you to use a version for 4.0.4+ with the EJB3 profile.
+3. Make sure the JBoss Application server is running.
+
+
+
+To Run:
+=======
+1. In the first command window, execute "ant".  This will compile the project, build
+the needed jars and deploy the WAR component to the Application Server.  If you are 
+monitoring the Application Server console you will see it hot deploy the WAR.
+
+2. Using a browser, hit the following URL: http://localhost:8080/jbossws.
+You should some the following result:
+jboss.ws:di=quickstartWAR1.war,port=HelloWorldPort,service=HelloWorldWSService	
+http://yourMachineName:8080/quickstartWAR1/HelloWorldWS?wsdl
+
+3. Use for favorite Web Service testing tool to invoke the Web Service. A great one
+is called SoapUI at www.soapui.org.  
+
+The ESB console should produce the following messages:
+
+     [java] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+     [java] Body: Your Name
+     [java] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+
+
+     [java] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+     [java] Body: Hello From ESB MyAction: Your Name
+     [java] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+
+The AS console should produce the following message:
+     22:47:30,531 INFO  [STDOUT] I'm Hit! Your Name  
+
+This assumes you put in "Your Name" as the parameter in your WS client testing tool.
+     
+     
+    
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/lib/ext/jbossws-client.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/lib/ext/jbossws-client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/jboss-web.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/jboss-web.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/jboss-web.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<jboss-web>
+	<class-loading java2ClassLoadingCompliance="false">
+	<loader-repository>	
+		org.jboss.soa.esb:loader=jbossesb
+		<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
+	</loader-repository>
+	</class-loading>
+</jboss-web>
+
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/resources/WEB-INF/web.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">  
+  <servlet> 
+    <servlet-name>HelloWorldWS</servlet-name>  
+    <servlet-class>quickstart.webservice_war1.webservice.HelloWorldWS</servlet-class>  
+  </servlet>  
+  
+  <servlet-mapping> 
+    <servlet-name>HelloWorldWS</servlet-name>  
+    <url-pattern>/HelloWorldWS</url-pattern> 
+  </servlet-mapping>   
+  
+</web-app>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/HelloWorldWS.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/HelloWorldWS.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/src/quickstart/webservice_war1/webservice/HelloWorldWS.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,97 @@
+/*
+ * 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 quickstart.webservice_war1.webservice;
+
+// For setting up the basic WS
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding; 
+
+
+// For ESB Interaction
+import org.jboss.soa.esb.services.registry.Registry; // jbossesb-services.jar
+import org.jboss.soa.esb.services.registry.RegistryFactory; // jbossesb-services.jar
+import org.jboss.soa.esb.message.Message; // jbossesb-rosetta.jar
+import org.jboss.soa.esb.message.format.MessageFactory; // jbossesb-rosetta.jar
+import org.jboss.soa.esb.message.format.MessageType; // jbossesb-rosetta.jar
+import org.jboss.soa.esb.addressing.EPR; // jbossesb-rosetta.jar
+import org.jboss.soa.esb.couriers.TwoWayCourier; // jbossesb-rosetta.jar
+import org.jboss.soa.esb.couriers.CourierFactory; // jbossesb-rosetta.jar
+import org.jboss.soa.esb.couriers.CourierUtil; // jbossesb-rosetta.jar
+import org.jboss.soa.esb.addressing.Call; // jbossesb-rosetta.jar
+
+ at WebService(name = "HelloWorld", targetNamespace="http://webservice_war1/helloworld")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public class HelloWorldWS
+{
+   @WebMethod
+   public String sayHello(String toWhom)
+   {
+   	  System.out.println("I'm Hit! " + toWhom);
+   	  String results = "";
+   	  try {		
+	   	  
+	   	  Registry registry = RegistryFactory.getRegistry();
+	   	  
+	   	  Message requestMessage = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+	   	  requestMessage.getBody().setContents(toWhom.getBytes()); // inject the value from the WS client
+	   	  
+	   	  Message replyMessage=null;
+
+	   	  EPR requestEPR = (EPR)registry.findEPR("MyServiceCategory", "MyService"); // from HelloWorld quickstart
+	   	  
+	   	  EPR replyEPR = CourierUtil.getTemporaryReplyToEpr(requestEPR);
+	   	  TwoWayCourier courier = CourierFactory.getCourier(requestEPR, null);	 
+	   	  
+                  try
+                  {
+                          if (requestMessage.getHeader().getCall()==null) {
+                                        Call call = new Call();
+                                        requestMessage.getHeader().setCall(call);
+                                }
+                  requestMessage.getHeader().getCall().setReplyTo(replyEPR);
+                  if (courier.deliver(requestMessage))
+                                {
+                                                        courier.setReplyToEpr(replyEPR); // why?
+                                
+                                                        replyMessage = courier.pickup(5000); // attempt for 5 secs
+                                                        
+                                }
+                  }
+                  finally
+                  {
+                      CourierUtil.cleanCourier(courier) ;
+                  }
+	
+			  if (replyMessage != null) {
+	     	  results = new String(replyMessage.getBody().getContents());
+	     	} else {
+	     		results = "Hello World: " + toWhom + " on " + new java.util.Date();
+	      }
+      } catch (Exception e) {      	
+      	System.out.println(e + "\n");
+      	e.printStackTrace(System.out);
+      }
+      return results;
+   }
+}
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/view/index.jsp
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/view/index.jsp	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/quickstarts/webservice_war1/war/view/index.jsp	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,9 @@
+<html>
+	<body>
+		This is just a place holder.<br>
+		Verify the that the WS has been deployed by hitting 
+			<a href="http://localhost:8080/jbossws">
+				http://localhost:8080/jbossws
+			</a>
+  </body>
+</html>	
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/JBoss ESB Loan Broker Banks Guide.html
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/JBoss ESB Loan Broker Banks Guide.html	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/JBoss ESB Loan Broker Banks Guide.html	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,489 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 11">
+<meta name=Originator content="Microsoft Word 11">
+<link rel=File-List
+href="JBoss%20ESB%20Loan%20Broker%20Banks%20Guide_files/filelist.xml">
+<title>BANKS FOR THE LOANBROKER DEMO</title>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="country-region"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="Street"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="address"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="place"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="City"/>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="State"/>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Author>kstam</o:Author>
+  <o:LastAuthor>kstam</o:LastAuthor>
+  <o:Revision>2</o:Revision>
+  <o:TotalTime>7</o:TotalTime>
+  <o:Created>2006-08-03T14:42:00Z</o:Created>
+  <o:LastSaved>2006-08-03T14:42:00Z</o:LastSaved>
+  <o:Pages>1</o:Pages>
+  <o:Words>743</o:Words>
+  <o:Characters>4237</o:Characters>
+  <o:Company>JBoss, Inc.</o:Company>
+  <o:Lines>35</o:Lines>
+  <o:Paragraphs>9</o:Paragraphs>
+  <o:CharactersWithSpaces>4971</o:CharactersWithSpaces>
+  <o:Version>11.6568</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
+  <w:GrammarState>Clean</w:GrammarState>
+  <w:PunctuationKerning/>
+  <w:ValidateAgainstSchemas/>
+  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
+  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
+  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
+  <w:Compatibility>
+   <w:BreakWrappedTables/>
+   <w:SnapToGridInCell/>
+   <w:WrapTextWithPunct/>
+   <w:UseAsianBreakRules/>
+   <w:DontGrowAutofit/>
+  </w:Compatibility>
+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
+ </w:LatentStyles>
+</xml><![endif]--><!--[if !mso]><object
+ classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
+<style>
+st1\:*{behavior:url(#ieooui) }
+</style>
+<![endif]-->
+<style>
+<!--
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+h1
+	{mso-style-link:"Heading 1 Char";
+	mso-style-next:Normal;
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	page-break-after:avoid;
+	mso-outline-level:1;
+	font-size:16.0pt;
+	font-family:Arial;
+	mso-font-kerning:16.0pt;}
+h2
+	{mso-style-next:Normal;
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	page-break-after:avoid;
+	mso-outline-level:2;
+	font-size:14.0pt;
+	font-family:Arial;
+	font-style:italic;}
+h3
+	{mso-style-next:Normal;
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	page-break-after:avoid;
+	mso-outline-level:3;
+	font-size:13.0pt;
+	font-family:Arial;}
+a:link, span.MsoHyperlink
+	{color:blue;
+	text-decoration:underline;
+	text-underline:single;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:purple;
+	text-decoration:underline;
+	text-underline:single;}
+span.Heading1Char
+	{mso-style-name:"Heading 1 Char";
+	mso-style-locked:yes;
+	mso-style-link:"Heading 1";
+	mso-ansi-font-size:16.0pt;
+	mso-bidi-font-size:16.0pt;
+	font-family:Arial;
+	mso-ascii-font-family:Arial;
+	mso-hansi-font-family:Arial;
+	mso-bidi-font-family:Arial;
+	mso-font-kerning:16.0pt;
+	mso-ansi-language:EN-US;
+	mso-fareast-language:EN-US;
+	mso-bidi-language:AR-SA;
+	font-weight:bold;}
+span.SpellE
+	{mso-style-name:"";
+	mso-spl-e:yes;}
+span.GramE
+	{mso-style-name:"";
+	mso-gram-e:yes;}
+ at page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+<!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+	{mso-style-name:"Table Normal";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	mso-style-noshow:yes;
+	mso-style-parent:"";
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-ansi-language:#0400;
+	mso-fareast-language:#0400;
+	mso-bidi-language:#0400;}
+</style>
+<![endif]-->
+</head>
+
+<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<h1>JBoss ESB Loan Broker Banks Guide</h1>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal>By: Kurt Stam (<a href="mailto:kurt.stam at jboss.com">kurt.stam at jboss.com</a>)</p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal>JBoss ESB JBoss Labs Home Page: <a
+href="http://labs.jboss.com/portal/jbossesb">http://labs.jboss.com/portal/jbossesb</a></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal>JBoss ESB Developer Community Forums: <a
+href="http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=220">http://www.jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=220</a></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal>########################################################################</p>
+
+<p class=MsoNormal># JBoss, Home of Professional Open Source</p>
+
+<p class=MsoNormal># Copyright 2006, JBoss Inc., and individual contributors as
+indicated</p>
+
+<p class=MsoNormal># <span class=GramE>by</span> the @authors tag. See the
+copyright.txt in the distribution for a</p>
+
+<p class=MsoNormal># <span class=GramE>full</span> listing of individual
+contributors.</p>
+
+<p class=MsoNormal>#</p>
+
+<p class=MsoNormal># <span class=GramE>This</span> is free software; you can
+redistribute it and/or modify it</p>
+
+<p class=MsoNormal># <span class=GramE>under</span> the terms of the GNU Lesser
+General Public License as</p>
+
+<p class=MsoNormal># published by the Free Software Foundation; either version
+2.1 of</p>
+
+<p class=MsoNormal># <span class=GramE>the</span> License, or (at your option)
+any later version.</p>
+
+<p class=MsoNormal>#</p>
+
+<p class=MsoNormal># <span class=GramE>This</span> software is distributed in
+the hope that it will be useful,</p>
+
+<p class=MsoNormal># <span class=GramE>but</span> WITHOUT ANY WARRANTY; without
+even the implied warranty of</p>
+
+<p class=MsoNormal><span class=GramE># MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE.</span> See the GNU</p>
+
+<p class=MsoNormal><span class=GramE># Lesser General Public License for more
+details.</span></p>
+
+<p class=MsoNormal>#</p>
+
+<p class=MsoNormal># <span class=GramE>You</span> should have received a copy
+of the GNU Lesser General Public</p>
+
+<p class=MsoNormal># License along with this software; if not, write to the
+Free</p>
+
+<p class=MsoNormal># Software Foundation, Inc., <st1:Street w:st="on"><st1:address
+ w:st="on">51 Franklin St</st1:address></st1:Street>, Fifth Floor, <st1:place
+w:st="on"><st1:City w:st="on">Boston</st1:City>, <st1:State w:st="on">MA</st1:State></st1:place></p>
+
+<p class=MsoNormal># 02110-1301 <st1:place w:st="on"><st1:country-region w:st="on">USA</st1:country-region></st1:place>,
+or see the FSF site: http://www.fsf.org.</p>
+
+<p class=MsoNormal>########################################################################</p>
+
+<p class=MsoNormal><b><span style='font-size:16.0pt;font-family:Arial;
+background:white;mso-highlight:white;mso-font-kerning:16.0pt'><o:p>&nbsp;</o:p></span></b></p>
+
+<p class=MsoNormal><b><span style='font-size:16.0pt;font-family:Arial;
+background:white;mso-highlight:white;mso-font-kerning:16.0pt'><o:p>&nbsp;</o:p></span></b></p>
+
+<b><span style='font-size:16.0pt;font-family:Arial;mso-fareast-font-family:
+"Times New Roman";background:white;mso-highlight:white;mso-font-kerning:16.0pt;
+mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA'><br
+clear=all style='page-break-before:always'>
+</span></b>
+
+<p class=MsoNormal><span class=Heading1Char><span style='font-size:16.0pt;
+background:white;mso-highlight:white'>1. Introduction</span></span><span
+class=Heading1Char><span style='font-size:16.0pt'><o:p></o:p></span></span></p>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>As part
+of the Loan Broker Demo, the broker goes out to a few banks to obtain loan
+quotes.</span></p>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>This
+folder contains two banks:</span></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>1. <span
+class=GramE>a</span> Flat File Based Bank, and</span></p>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>2. <span
+class=GramE>a</span> JMS Based bank.</span></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>To make
+the demo a little more interesting we have the banks use two different
+protocols (flat file and JMS), and two</span> <span style='background:white;
+mso-highlight:white'>different message formats (<span class=SpellE>csv</span>,
+xml). You can customize some of the configuration in the <span class=SpellE>bank.properties</span>
+file. Not that</span> <span style='background:white;mso-highlight:white'>the
+banks use to log4j.xml in the current directory. </span></p>
+
+<h2><span style='background:white;mso-highlight:white'>2. Flat File Based Bank</span></h2>
+
+<h3><span style='background:white;mso-highlight:white'>2.1 Starting the bank</span></h3>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>The Flat
+File Based Bank uses the property '<span class=SpellE>file.monitored.directory</span>'
+which by default is set to 'C<span class=GramE>:\</span>Temp\<span
+class=SpellE>BankInput</span>'.</span> <span style='background:white;
+mso-highlight:white'>You can start this bank by typing:</span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+class=GramE><span style='font-size:10.0pt;font-family:"Courier New";background:
+white;mso-highlight:white'>ant</span></span><span style='font-size:10.0pt;
+font-family:"Courier New";background:white;mso-highlight:white'> <span
+class=SpellE>runFileBank</span></span><span style='font-size:10.0pt;font-family:
+"Courier New"'><o:p></o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'>* Not of caution, there is
+no filter set in the <span class=SpellE>poller</span> code, so it will pick up
+and try to move any files it finds.<o:p></o:p></span></p>
+
+<h3><span style='background:white;mso-highlight:white'>2.2 Processing details</span></h3>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>The <span
+class=SpellE>FlatFilePollManager</span> monitors a directory specified in the
+configuration. When a file arrives it</span> <span style='background:white;
+mso-highlight:white'>tries to process the content assuming it contains one line
+with loan request information.</span> <span style='background:white;mso-highlight:
+white'>So for example the content of the file could read something like </span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New";background:white;mso-highlight:
+white'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New";background:white;mso-highlight:
+white'>23456890<span class=GramE>,3,4,20000,5</span></span><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>The order
+of values needs to be <span class=SpellE>SocialSecurityNumber</span>, <span
+class=SpellE>CreditScore</span>, <span class=SpellE>HistoryLength</span>
+[month], <span class=SpellE>LoanAmount</span> [dollar],</span> <span
+style='background:white;mso-highlight:white'>and finally the <span
+class=SpellE>LoanTerm</span> [month]. The request will be processed and a <span
+class=SpellE>BankQouteReply</span> is generated. The</span> <span
+style='background:white;mso-highlight:white'>original file is moved to a
+'processed' directory, and the <span class=SpellE>BankQuoteReply</span> is
+serialized to an 'outgoing' directory from <span class=GramE>the it</span> can
+be picked up by the system that dropped the request.</span></p>
+
+<h3><span style='background:white;mso-highlight:white'>2.3 Testing</span></h3>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>You can
+test whether or not the bank is working by dropping a file in the monitored
+directory (C:\Temp\BankInput).Let's say we</span> <span style='background:white;
+mso-highlight:white'>use a file with name 'request.txt'. The file should be
+ASCII and can contain the following line:</span></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New";background:white;mso-highlight:
+white'>23456890<span class=GramE>,3,4,20000,5</span></span><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>The file
+should get moved to the C:\Temp\BankInput\processed directory, and in the
+C:\Temp\ <span class=SpellE>BankInput</span>\outgoing directory a reply file
+should</span> <span style='background:white;mso-highlight:white'>appear with
+the name 'reply_to_request.txt'. It should contain the line:</span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New";background:white;mso-highlight:
+white'>8.29<span class=GramE>,FileBasedBank</span>-1,0</span><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span class=GramE><span style='background:white;mso-highlight:
+white'>which</span></span><span style='background:white;mso-highlight:white'>
+means the </span><span class=SpellE><span style='font-size:10.0pt;mso-bidi-font-size:
+12.0pt;font-family:"Courier New";mso-bidi-font-family:"Times New Roman";
+background:white;mso-highlight:white'>QuoteId</span></span><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New";
+mso-bidi-font-family:"Times New Roman";background:white;mso-highlight:white'>=FileBasedBank-1</span><span
+style='background:white;mso-highlight:white'>, the </span><span
+style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New";
+mso-bidi-font-family:"Times New Roman";background:white;mso-highlight:white'>interest=8.29</span><span
+style='background:white;mso-highlight:white'> and the </span><span
+class=SpellE><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
+font-family:"Courier New";mso-bidi-font-family:"Times New Roman";background:
+white;mso-highlight:white'>errorCode</span></span><span style='font-size:10.0pt;
+mso-bidi-font-size:12.0pt;font-family:"Courier New";mso-bidi-font-family:"Times New Roman";
+background:white;mso-highlight:white'>=0</span><span style='background:white;
+mso-highlight:white'> (which means success). You can check the logging for</span>
+<span style='background:white;mso-highlight:white'>additional details.</span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<h2><span style='background:white;mso-highlight:white'>3. JMS Based Bank</span></h2>
+
+<h3><span style='background:white;mso-highlight:white'>3.1 Starting the bank</span></h3>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>Before
+starting the bank you need to bring up your JMS provider. For the example this
+is the JBoss AS. We are using</span> <span style='background:white;mso-highlight:
+white'>the default queues (C and D). The JMS bank uses the properties: <span
+class=SpellE>jms.provider.url</span>, <span class=SpellE>jms.queue.in</span>
+and <span class=SpellE>jms.queue.out</span>. By</span> <span style='background:
+white;mso-highlight:white'>default these are set to '<span class=SpellE>localhost</span>',
+'queue/C' and 'queue/D'. So, by default, it assumes <st1:place w:st="on"><st1:City
+ w:st="on">JBoss</st1:City> <st1:State w:st="on">AS</st1:State></st1:place> is
+running on the <span class=SpellE>localhost</span>.</span> <span
+style='background:white;mso-highlight:white'>Next you can start the JMS Based
+bank by typing:</span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+class=GramE><span style='font-size:10.0pt;font-family:"Courier New";background:
+white;mso-highlight:white'>ant</span></span><span style='font-size:10.0pt;
+font-family:"Courier New";background:white;mso-highlight:white'> <span
+class=SpellE>runJMSBank</span></span><span style='font-size:10.0pt;font-family:
+"Courier New"'><o:p></o:p></span></p>
+
+<h3><span style='background:white;mso-highlight:white'>3.2 Processing details</span></h3>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>The <span
+class=SpellE>JMSManager</span> listens to an incoming queue (by default queue/C
+on <span class=SpellE>localhost</span>). It consumes the</span> <span
+style='background:white;mso-highlight:white'>message assuming it is a <span
+class=SpellE>TextMessage</span>, and that the text is an XML structure that can
+be marshaled</span> <span style='background:white;mso-highlight:white'>into a <span
+class=SpellE>BankQuoteRequest</span>. The request will be processed and a <span
+class=SpellE>BankQuote</span> Reply will be serialized to XML</span> <span
+style='background:white;mso-highlight:white'>and send to the outgoing queue (by
+default this is queue/D on <span class=SpellE>localhost</span>). If the
+processing results</span> <span style='background:white;mso-highlight:white'>in
+an error a <span class=SpellE>BankQuoteReply</span> with <span class=SpellE>ErrorCode</span>
+other then 0 is send to the outgoing queue.</span></p>
+
+<h3><span style='background:white;mso-highlight:white'>3.3 Testing</span></h3>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>The unit
+test <span class=SpellE>JMSProcessorTest</span> drops a <span class=SpellE>BankQuoteRequest</span>
+Message on the queue/C of <span class=SpellE>localhost</span>. You can use</span></p>
+
+<p class=MsoNormal><span class=GramE><span style='background:white;mso-highlight:
+white'>this</span></span><span style='background:white;mso-highlight:white'>
+test to check the health of the <span class=SpellE>JMSBank</span>. The tests
+can be executed by typing</span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
+class=GramE><span style='font-size:10.0pt;font-family:"Courier New";background:
+white;mso-highlight:white'>ant</span></span><span style='font-size:10.0pt;
+font-family:"Courier New";background:white;mso-highlight:white'> test</span><span
+style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>
+
+<h1><span style='background:white;mso-highlight:white'>4. Finally</span></h1>
+
+<p class=MsoNormal><span style='background:white;mso-highlight:white'>You are
+now ready to run the larger Load Broker Demo itself.</span></p>
+
+</div>
+
+</body>
+
+</html>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/JBoss ESB Loan Broker Banks Guide.odt
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/JBoss ESB Loan Broker Banks Guide.odt
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/bank.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/bank.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/bank.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,4 @@
+jms.provider.url=localhost
+file.monitored.directory=c:\Users\dbrum\workspace\trunk\product\samples\trailblazer\banks\monitored_folders\input
+jms.queue.in=queue/esb-tb-bankRequestQueue
+jms.queue.out=queue/esb-tb-bankGatewayResponseQueue

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/bank.properties.template
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/bank.properties.template	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/bank.properties.template	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+jms.provider.url=@jndi.host@
+file.monitored.directory=@cwd.dir@/@trail.runtime.dir@/BankInput
+
+jms.queue.in=queue/C
+jms.queue.out=queue/D

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,121 @@
+<project name="BANKS" default="compile" basedir=".">
+
+	<property file="bank.properties"/>
+	<!-- Some default build locations -->
+	<property name="org.jboss.esb.ext.lib.dir"                               value="../../../lib/ext"/>
+	<property name="org.jboss.esb.samples.loanbroker.banks.dest"             value="${basedir}/build"/>
+	<property name="org.jboss.esb.samples.loanbroker.banks.classes.dir"      value="${basedir}/build/classes/banks/"/>
+	<property name="org.jboss.esb.samples.loanbroker.banks.testclasses.dir"  value="${basedir}/build/classes/tests/"/>
+	<property name="org.jboss.esb.samples.loanbroker.banks.src.dir"          value="${basedir}/src"/>
+	<property name="org.jboss.esb.samples.loanbroker.banks.test.dir"         value="${basedir}/test"/>
+	<property name="org.jboss.esb.samples.loanbroker.banks.jar.dest"         value="${basedir}/build/dist/lib/"/>
+	<property name="org.jboss.esb.samples.loanbroker.banks.lib.ext.dir"      value="${basedir}/lib/ext"/>
+	<property name="org.jboss.esb.samples.loanbroker.banks.tests.report.dir" value="${basedir}/build/tests"/>
+		
+	<path id="org.jboss.esb.samples.loanbroker.banks.classpath">
+	    <fileset dir="${org.jboss.esb.samples.loanbroker.banks.lib.ext.dir}" includes="*.jar"/>
+		<fileset dir="${org.jboss.esb.ext.lib.dir}" includes="log4j.jar jbossall-client.jar xstream-1.1.3.jar junit-4.1.jar"/>
+	</path>
+	<path id="org.jboss.esb.samples.loanbroker.banks.testclasspath">
+	    <fileset dir="${org.jboss.esb.samples.loanbroker.banks.lib.ext.dir}" includes="*.jar"/>
+		<fileset dir="${org.jboss.esb.ext.lib.dir}" includes="log4j.jar jbossall-client.jar xstream-1.1.3.jar junit-4.1.jar"/>
+	    <pathelement location="${org.jboss.esb.samples.loanbroker.banks.classes.dir}"/>
+		<pathelement location="${org.jboss.esb.samples.loanbroker.banks.testclasses.dir}"/>
+		<pathelement location="."/>
+	</path>
+	
+	<target name="clean">
+		<delete dir="${org.jboss.esb.samples.loanbroker.banks.dest}" />
+	</target>
+	<!-- =================================================================== -->
+	<!-- Prepares the directory structure                                    -->
+    <!-- =================================================================== -->
+    <target name="org.jboss.esb.samples.loanbroker.banks.prepare">
+    	<mkdir dir="${org.jboss.esb.samples.loanbroker.banks.dest}"/>
+    	<mkdir dir="${org.jboss.esb.samples.loanbroker.banks.dest}/dist"/>
+		<mkdir dir="${org.jboss.esb.samples.loanbroker.banks.dest}/classes/banks"/>
+    	<mkdir dir="${org.jboss.esb.samples.loanbroker.banks.dest}/classes/tests"/>
+    	<mkdir dir="${org.jboss.esb.samples.loanbroker.banks.dest}/tests"/>
+		<mkdir dir="${org.jboss.esb.samples.loanbroker.banks.dest}/dist/lib"/>
+    </target>
+	
+	<!-- Compilation targets -->
+	<target name="org.jboss.esb.samples.loanbroker.banks.compile" depends="org.jboss.esb.samples.loanbroker.banks.prepare"
+		description="Compile all classes">
+
+		        <javac
+		            destdir="${org.jboss.esb.samples.loanbroker.banks.classes.dir}"
+		            classpathref="org.jboss.esb.samples.loanbroker.banks.classpath"
+		        	debug="true"
+		        	>
+		            <src path="${org.jboss.esb.samples.loanbroker.banks.src.dir}"/>
+		        </javac>
+				<javac
+		            destdir="${org.jboss.esb.samples.loanbroker.banks.testclasses.dir}"
+					debug="true"
+					classpathref="org.jboss.esb.samples.loanbroker.banks.testclasspath"
+		    		>
+		            <src path="${org.jboss.esb.samples.loanbroker.banks.test.dir}"/>
+		        </javac>
+	</target>
+
+    <!-- javadocs paths -->
+	<path id="org.jboss.esb.samples.loanbroker.banks.javadocs.path">
+		<pathelement path="esb/classes"/>
+	</path>
+
+	<!-- Jar targets -->
+	<target name="org.jboss.esb.samples.loanbroker.banks.jar" depends="org.jboss.esb.samples.loanbroker.banks.compile">
+		<echo message="Building jar file"/>
+		<delete file="${org.jboss.esb.samples.loanbroker.banks.dest}/dist/lib/bank.jar" />
+        <jar    destfile="${org.jboss.esb.samples.loanbroker.banks.dest}/dist/lib/bank.jar" 
+                basedir="${org.jboss.esb.samples.loanbroker.banks.classes.dir}" 
+                includes="**/*.class"
+                />
+	</target>
+	
+	<target name="runJMSBank" depends="org.jboss.esb.samples.loanbroker.banks.jar">
+		<echo>Running JMS Based Bank</echo>
+		<echo>Note that your app-server on host: localhost needs to be up and running!</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.samples.loanbroker.banks.ManagerJMS" failonerror="true">
+			<arg value="${jms.provider.url}"/>
+			<arg value="${jms.queue.in}"/>
+		    <arg value="${jms.queue.out}"/>
+			<classpath refid="org.jboss.esb.samples.loanbroker.banks.testclasspath"/>
+		</java>
+	</target>	
+	
+	<target name="runFileBank" depends="org.jboss.esb.samples.loanbroker.banks.jar">
+		<echo>Running File Based Bank</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.samples.loanbroker.banks.ManagerFlatFile" failonerror="true" args="${file.monitored.directory}">
+			<classpath refid="org.jboss.esb.samples.loanbroker.banks.testclasspath"/>
+		</java>
+	</target>	
+	
+	<!-- Short target names -->
+	<target name="compile" depends="org.jboss.esb.samples.loanbroker.banks.compile"/>
+    <target name="test" depends="org.jboss.esb.samples.loanbroker.banks.test"/>
+    <target name="jar" depends="org.jboss.esb.samples.loanbroker.banks.jar"/>
+	
+    <!-- ====================================================================== -->
+    <!--         U N I T   T E S T S                                            -->
+    <!-- ====================================================================== -->
+    <target name="org.jboss.esb.samples.loanbroker.banks.test" depends="org.jboss.esb.samples.loanbroker.banks.compile">
+        <echo message="Running tests for banks"/>
+        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="no" fork="true">
+            <formatter type="plain" usefile="false"/>
+            <formatter type="xml"/>
+            <batchtest todir="${org.jboss.esb.samples.loanbroker.banks.tests.report.dir}">
+                <fileset dir="${org.jboss.esb.samples.loanbroker.banks.test.dir}">
+                    <include name="**/**Test.java"/>
+                </fileset>
+            </batchtest>
+            <classpath>
+            	<!-- Need the tests src folder because there may be non-compiled test resources -->
+                <pathelement location="${org.jboss.esb.samples.loanbroker.banks.test.dir}"/>
+                <path refid="org.jboss.esb.samples.loanbroker.banks.testclasspath"/>
+            </classpath>
+        </junit>
+    </target>
+
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/Licenses.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/Licenses.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/Licenses.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,445 @@
+The jars in this directory are covered by a range of licences, as described
+below.
+
+JBoss jars:
+
+/*
+ *
+ * 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,
+ */
+   
+JUnit
+   
+   Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+    a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+
+    b) in the case of each subsequent Contributor:
+
+    i) changes to the Program, and
+
+    ii) additions to the Program;
+
+    where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+    a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and such
+derivative works, in source code and object code form.
+
+    b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+    c) Recipient understands that although each Contributor grants the licenses
+to its Contributions set forth herein, no assurances are provided by any
+Contributor that the Program does not infringe the patent or other intellectual
+property rights of any other entity. Each Contributor disclaims any liability to
+Recipient for claims brought by any other entity based on infringement of
+intellectual property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient's responsibility to acquire that license
+before distributing the Program.
+
+    d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright license set
+forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its
+own license agreement, provided that:
+
+    a) it complies with the terms and conditions of this Agreement; and
+
+    b) its license agreement:
+
+    i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title and
+non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+    ii) effectively excludes on behalf of all Contributors all liability for
+damages, including direct, indirect, special, incidental and consequential
+damages, such as lost profits;
+
+    iii) states that any provisions which differ from this Agreement are offered
+by that Contributor alone and not by any other party; and
+
+    iv) states that source code for the Program is available from such
+Contributor, and informs licensees how to obtain it in a reasonable manner on or
+through a medium customarily used for software exchange. 
+
+When the Program is made available in source code form:
+
+    a) it must be made available under this Agreement; and
+
+    b) a copy of this Agreement must be included with each copy of the Program. 
+
+Contributors may not remove or alter any copyright notices contained within the
+Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to
+control, and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may participate in
+any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its exercise of
+rights under this Agreement, including but not limited to the risks and costs of
+program errors, compliance with applicable laws, damage to or loss of data,
+programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of the
+terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to
+a patent applicable to software (including a cross-claim or counterclaim in a
+lawsuit), then any patent licenses granted by that Contributor to such Recipient
+under this Agreement shall terminate as of the date such litigation is filed. In
+addition, if Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
+itself (excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted under
+Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue and
+survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
+as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the Agreement
+under which it was received. In addition, after a new version of the Agreement
+is published, Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated in Sections
+2(a) and 2(b) above, Recipient receives no rights or licenses to the
+intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial in
+any resulting litigation.
+
+
+
+XStream, Antlr, Stingtemplate BSD License
+
+Copyright (c) 2003-2005, Joe Walnes
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. Redistributions in binary form must reproduce
+the above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.
+
+Neither the name of XStream nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
+
+
+pollmgt.jar, org.sadun.util.jar
+
+GNU Lesser General Public License
+
+Version 2.1, February 1999
+
+    Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+    [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
+
+This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below.
+
+When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.
+
+To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it.
+
+For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
+
+We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.
+
+To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.
+
+Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.
+
+Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.
+
+When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.
+
+We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.
+
+For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License.
+
+In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.
+
+Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library.
+
+The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
+
+A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
+
+The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
+
+"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
+
+1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
+
+    These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+    Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
+
+    In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 
+
+3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
+
+Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
+
+This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
+
+4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
+
+If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
+
+5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
+
+However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
+
+When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
+
+If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
+
+Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
+
+6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
+
+    a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
+
+For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
+
+7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
+
+    b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
+
+8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
+
+10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
+
+11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
+
+14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+How to Apply These Terms to Your New Libraries
+If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License).
+
+To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and an idea of what it does.> Copyright (C) <year> <name of author>
+
+    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
+
+    Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+    signature of Ty Coon, 1 April 1990
+    Ty Coon, President of Vice
+
+That's all there is to it!
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/org.sadun.util.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/org.sadun.util.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/pollmgt.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/lib/ext/pollmgt.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,287 @@
+<?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">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="./banks.log"/>
+      <param name="Append" value="false"/>
+
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+      <!-- Rollover at the top of each hour
+      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+         <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+          -->
+      </layout>
+   </appender>
+
+   <!-- 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="${jboss.server.home.dir}/log/server.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 [%c] %m%n"/>
+     </layout>	    
+   </appender>
+   -->
+
+   <!-- ============================== -->
+   <!-- 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 [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ====================== -->
+   <!-- More Appender examples -->
+   <!-- ====================== -->
+
+   <!-- Buffer events and log them asynchronously
+   <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <appender-ref ref="FILE"/>
+     <appender-ref ref="CONSOLE"/>
+     <appender-ref ref="SMTP"/>
+   </appender>
+   -->
+
+   <!-- EMail events to an administrator
+   <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="To" value="admin at myhost.domain.com"/>
+     <param name="From" value="nobody at myhost.domain.com"/>
+     <param name="Subject" value="JBoss Sever Errors"/>
+     <param name="SMTPHost" value="localhost"/>
+     <param name="BufferSize" value="10"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Syslog events
+   <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Facility" value="LOCAL7"/>
+     <param name="FacilityPrinting" value="true"/>
+     <param name="SyslogHost" value="localhost"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Log events to JMS (requires a topic to be created)
+   <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
+     <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
+   </appender>
+   -->
+
+   <!-- Log events through SNMP
+   <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
+     <param name="ManagementHost" value="127.0.0.1"/>
+     <param name="ManagementHostTrapListenPort" value="162"/>
+     <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
+     <param name="LocalIPAddress" value="127.0.0.1"/>
+     <param name="LocalTrapSendPort" value="161"/>
+     <param name="GenericTrapType" value="6"/>
+     <param name="SpecificTrapType" value="12345678"/>
+     <param name="CommunityString" value="public"/>
+     <param name="ForwardStackTraceWithTrap" value="true"/>
+     <param name="Threshold" value="DEBUG"/>
+     <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
+     <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!--  Emit events as JMX notifications
+   <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      
+      <param name="Threshold" value="WARN"/>
+      <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+      
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
+      </layout>
+   </appender>
+   -->
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit jboss axis to INFO as its DEBUG is even more verbose -->
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBoss categories
+   <category name="org.jboss">
+      <priority value="INFO"/>
+   </category>
+   -->
+   
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBoss webservice category
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Decrease the priority threshold for the org.jboss.varia category
+   <category name="org.jboss.varia">
+     <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
+   <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+
+   <!--
+      | An example of enabling the custom TRACE level priority that is used
+      | by the JBoss internals to diagnose low level details. This example
+      | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+      | subpackages. This will produce A LOT of logging output.
+   <category name="org.jboss.system">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   <category name="org.jboss.ejb.plugins">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+  
+   <!--
+       | Logs these events to SNMP:
+           - server starts/stops
+           - cluster evolution (node death/startup)
+           - When an EJB archive is deployed (and associated verified messages)
+           - When an EAR archive is deployed
+      	 
+   <category name="org.jboss.system.server.Server">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.deployment.MainDeployer">
+     <priority value="ERROR" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.ejb.EJBDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.deployment.EARDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   -->
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+   <!-- Clustering logging -->
+   <!-- Uncomment the following to redirect the org.jgroups and
+      org.jboss.ha categories to a cluster.log file.
+
+   <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="${jboss.server.home.dir}/log/cluster.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 [%c] %m%n"/>
+     </layout>
+   </appender>
+   <category name="org.jgroups">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   <category name="org.jboss.ha">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   -->
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/Bank.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/Bank.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/Bank.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,117 @@
+/*
+* 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.samples.loanbroker.banks;
+
+import java.math.BigDecimal;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+
+/**
+ * This Bank is pretty well focussed on doing one thing, which is giving out loans. On the 
+ * reception of a BankQuoteRequest it will compute the interest rate it will return
+ * in the BankQuoteReply.
+ * 
+ * Each bank instance can be customized using the parameters bankName, RatePremium and MaxLoanTerm.
+ * 
+ * @author kstam
+ *
+ */
+public class Bank 
+{
+	private Logger logger = Logger.getLogger(this.getClass());
+	
+	private static final BigDecimal PRIME_RATE            = BigDecimal.valueOf(8.0);
+	private static final BigDecimal DEFAULT_RATE_PREMIUM  = BigDecimal.valueOf(0.5);
+	private static final int        DEFAULT_MAX_LOAN_TERM = 30;
+	private static final String     DEFAULT_BANK_NAME     = "DefaultBank";
+	private static int _quoteCounter                      = 0;
+	
+	//Default values for bank
+	private String bankName                               = DEFAULT_BANK_NAME;
+	private BigDecimal ratePremium                        = DEFAULT_RATE_PREMIUM;
+	private int maxLoanTerm                               = DEFAULT_MAX_LOAN_TERM;
+
+	/** 
+	 * The Bank's constructor.
+	 * 
+	 * @param bankName    - the name of the bank
+	 * @param ratePremium - the premium it charges for the loan
+	 * @param maxLoanTerm - the maximum loan term
+	 */
+	public Bank(String bankName, BigDecimal ratePremium, int maxLoanTerm) {
+		super();
+		if (bankName!=null) {
+			this.bankName=bankName;
+		}
+		if (ratePremium!=null) {
+			this.ratePremium=ratePremium;
+		}
+		if (maxLoanTerm > 0) {
+			this.maxLoanTerm=maxLoanTerm;
+		}
+	}
+	/**
+	 * The bank computes the interest rate based on configuration parameters of the bank and
+	 * the information in the {@link BankQuoteRequest.
+	 * @param bankQuoteRequest - the bank quote request containing requests parameters
+	 * @return bankQuoteReply  - the bank quote replay contaning the interest rate
+	 */
+	private BankQuoteReply computeBankQuoteReply(BankQuoteRequest bankQuoteRequest)
+	{
+		BankQuoteReply bankQuoteReply = new BankQuoteReply();
+		if (bankQuoteRequest.loanTerm <= maxLoanTerm) {
+			BigDecimal interestRate=BigDecimal.valueOf((bankQuoteRequest.loanTerm/12.0)/10.0);
+			interestRate=PRIME_RATE.add(ratePremium).add(interestRate);
+			bankQuoteReply.setInterestRate(interestRate.setScale(2, BigDecimal.ROUND_HALF_UP));
+			bankQuoteReply.setErrorCode(0);
+		} else {
+			bankQuoteReply.setInterestRate(BigDecimal.valueOf(0.00).setScale(2, BigDecimal.ROUND_HALF_UP));
+			bankQuoteReply.setErrorCode(1);
+		}
+		String quoteId=bankName + "-" + _quoteCounter++;
+		bankQuoteReply.setQuoteId(quoteId);
+		bankQuoteReply.setCustomerUID(bankQuoteRequest.getCustomerUID());
+		return bankQuoteReply;
+	}
+	/**
+	 * Processes the Loan Quote request and returns the banks reply.
+	 * 
+	 * @param bankQuoteRequest - the bank quote request
+	 * @return bankQuoteReply  - the bank quote reply
+	 */
+	protected BankQuoteReply processMessage(BankQuoteRequest bankQuoteRequest)
+	{
+		logger.log(Priority.INFO, "Bank '" + bankName + "' received a request for SSN=" 
+				+ bankQuoteRequest.getSsn()
+				+ " for $" + bankQuoteRequest.loanAmount 
+				+ " over " + bankQuoteRequest.loanTerm + " months.");
+		logger.log(Priority.DEBUG, bankQuoteRequest);
+		
+		BankQuoteReply bankQuoteReply = computeBankQuoteReply(bankQuoteRequest);
+		logger.log(Priority.INFO, "Bank '" + bankName + " offers SSN=" 
+				+ bankQuoteRequest.getSsn() + " " + bankQuoteReply);
+		
+		return bankQuoteReply;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReply.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReply.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReply.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,166 @@
+/*
+* 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.samples.loanbroker.banks;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+
+public class BankQuoteReply implements Serializable 
+{
+	private static final long serialVersionUID = 1L;
+	
+	private BigDecimal interestRate;
+	private String quoteId;
+	private int errorCode;
+	private String customerUID;
+	private String customerEmail;
+	private String customerSSN;
+	private String customerName;	
+	private String customerAddress;	
+	private String customerSalary;
+	private String loanAmount;
+	private String loanDuration;
+	
+	/**
+	 * Gets the SerialVersionUID.
+	 * @return serialVersionUID
+	 */
+	public static long getSerialVersionUID() {
+		return serialVersionUID;
+	}
+	/**
+	 * Gets the errorCode.
+	 * 	<li>0 - success
+	 *  <li>1 - loan term exceeds the maximum available loan term
+	 *  <li>2 - invalid SSN
+	 *  <li>3 - invalid credit score
+	 *  <li>4 - invalid credit history length
+	 *  <li>5 - invalid loan term
+	 *  <li>6 - invalid message
+	 *  <li>7 - invalid customerUID
+	 * @return errorCode
+	 */
+	public int getErrorCode() {
+		return errorCode;
+	}
+	/**
+	 * Sets the errorCode.
+	 *  <li>0 - success
+	 *  <li>1 - loan term exceeds the maximum available loan term
+	 *  <li>2 - invalid SSN
+	 *  <li>3 - invalid credit score
+	 *  <li>4 - invalid credit history length
+	 *  <li>5 - invalid loan term
+	 * @param errorCode
+	 */
+	public void setErrorCode(int errorCode) {
+		this.errorCode = errorCode;
+	}
+	/**
+	 * Gets the quoted interest rate.
+	 * @return interestRate
+	 */
+	public BigDecimal getInterestRate() {
+		return interestRate;
+	}
+	/**
+	 * Sets the quoted interest rate.
+	 * @param interestRate
+	 */
+	public void setInterestRate(BigDecimal interestRate) {
+		this.interestRate = interestRate;
+	}
+	/**
+	 * Gets the Quote ID.
+	 * @return quoteId
+	 */
+	public String getQuoteId() {
+		return quoteId;
+	}
+	/**
+	 * Sets the quoteId.
+	 * @param quoteId
+	 */
+	public void setQuoteId(String quoteId) {
+		this.quoteId = quoteId;
+	}
+	/**
+	 * Returns a human readable string representation of this object.
+	 * @return toString
+	 */
+	public String toString() {
+		return this.getClass().getSimpleName() + "=["
+			+ "interestRate=" + interestRate
+			+ ", quoteId=" + quoteId
+			+ ", errorCode=" + errorCode 
+			+ ", customerUID=" + customerUID + "]";
+	}
+	public String getCustomerUID() {
+		return customerUID;
+	}
+	public void setCustomerUID(String customerUID) {
+		this.customerUID = customerUID;
+	}
+	public String getCustomerAddress() {
+		return customerAddress;
+	}
+	public void setCustomerAddress(String customerAddress) {
+		this.customerAddress = customerAddress;
+	}
+	public String getCustomerEmail() {
+		return customerEmail;
+	}
+	public void setCustomerEmail(String customerEmail) {
+		this.customerEmail = customerEmail;
+	}
+	public String getCustomerName() {
+		return customerName;
+	}
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
+	public String getCustomerSalary() {
+		return customerSalary;
+	}
+	public void setCustomerSalary(String customerSalary) {
+		this.customerSalary = customerSalary;
+	}
+	public String getCustomerSSN() {
+		return customerSSN;
+	}
+	public void setCustomerSSN(String customerSSN) {
+		this.customerSSN = customerSSN;
+	}
+	public String getLoanAmount() {
+		return loanAmount;
+	}
+	public void setLoanAmount(String loanAmount) {
+		this.loanAmount = loanAmount;
+	}
+	public String getLoanDuration() {
+		return loanDuration;
+	}
+	public void setLoanDuration(String loanDuration) {
+		this.loanDuration = loanDuration;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,133 @@
+/*
+* 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.samples.loanbroker.banks;
+
+import java.io.Serializable;
+
+
+public class BankQuoteRequest implements Serializable 
+{
+	private static final long serialVersionUID = 1L;
+	public int ssn;
+	public int creditScore;
+	public int historyLength;
+	public int loanAmount;
+	public int loanTerm;
+	public String customerUID;
+	public String customerEmail;
+	public String customerSSN;
+	public String customerName;	
+	public String customerAddress;	
+	public String customerSalary;	
+	public String loanDuration;
+	
+	/**
+	 * Gets for the credit score.
+	 * @return credit score
+	 */
+	public int getCreditScore() {
+		return creditScore;
+	}
+	/**
+	 * Sets the credit score.
+	 * @param creditScore
+	 */
+	public void setCreditScore(int creditScore) {
+		this.creditScore = creditScore;
+	}
+	/**
+	 * Gets the credit history length (in months).
+	 * @return credit history length
+	 */
+	public int getHistoryLength() {
+		return historyLength;
+	}
+	/**
+	 * Sets the credit history length (in months).
+	 * @param historyLength
+	 */
+	public void setHistoryLength(int historyLength) {
+		this.historyLength = historyLength;
+	}
+	/**
+	 * Gets the requested loan amount (in dollar).
+	 * @return the loan amount
+	 */
+	public int getLoanAmount() {
+		return loanAmount;
+	}
+	/** 
+	 * Sets the loan amount.
+	 * @param loanAmount - the loan amount (in dollar).
+	 */
+	public void setLoanAmount(int loanAmount) {
+		this.loanAmount = loanAmount;
+	}
+	/**
+	 * Gets the duration of the loan, the term, (in months).
+	 * @return loanTerm
+	 */
+	public int getLoanTerm() {
+		return loanTerm;
+	}
+	/**
+	 * Sets the term (duration) of the loan (in months)
+	 * @param loanTerm
+	 */
+	public void setLoanTerm(int loanTerm) {
+		this.loanTerm = loanTerm;
+	}
+	/** 
+	 * Sets the Social Security Number (SSN).
+	 * @return ssn
+	 */
+	public int getSsn() {
+		return ssn;
+	}
+	/**
+	 * Sets the Social Security Number (SSN).
+	 * @param ssn
+	 */
+	public void setSsn(int ssn) {
+		this.ssn = ssn;
+	}
+	/**
+	 * Returns a human readable string representation of this object.
+	 * @return toString
+	 */
+	public String toString() {
+		return this.getClass().getSimpleName() + "=["
+			+ "ssn=" + ssn
+		    + ", creditScore=" + creditScore
+			+ ", historyLength=" + historyLength
+			+ ", loanAmount=" + loanAmount
+			+ ", loanTerm=" + loanTerm
+			+ ", customerUID="+ customerUID + "]";	
+	}
+	
+	public String getCustomerUID() {
+		return customerUID;
+	}
+	public void setCustomerUID(String customerUID) {
+		this.customerUID = customerUID;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/FileUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/FileUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/FileUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.samples.loanbroker.banks;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+/**
+ * Utility class for reading a file into a String and back.
+ * @author kstam
+ */
+public class FileUtil {
+    /**
+     * Read the file into a String.
+     * @param file - the file to be read
+     * @return String with the content of the file
+     * @throws IOException - when we can't read the file
+     */
+    public static String readTextFile(File file) throws IOException 
+    {
+        StringBuffer sb = new StringBuffer(1024);
+        BufferedReader reader = new BufferedReader(new FileReader(file.getPath()));
+        char[] chars = new char[1];
+        while( (reader.read(chars)) > -1){
+            sb.append(String.valueOf(chars)); 
+            chars = new char[1];
+        }
+        reader.close();
+        return sb.toString();
+    }
+    /**
+     * Write a String into a file.
+     * @param file - File to which we write the String
+     * @param str - string which will be written
+     * @throws IOException - when we can't write to the file
+     */
+    public static void writeTextFile(File file, String str) throws IOException 
+    {
+        BufferedWriter writer = new BufferedWriter(new FileWriter(file.getPath()));
+        writer.write(str);
+        writer.close();
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/ManagerFlatFile.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/ManagerFlatFile.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/ManagerFlatFile.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,211 @@
+/*
+ * 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.samples.loanbroker.banks;
+
+import java.io.File;
+import java.math.BigDecimal;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.sadun.util.polling.BasePollManager;
+import org.sadun.util.polling.CycleEndEvent;
+import org.sadun.util.polling.CycleStartEvent;
+import org.sadun.util.polling.DirectoryLookupEndEvent;
+import org.sadun.util.polling.DirectoryLookupStartEvent;
+import org.sadun.util.polling.DirectoryPoller;
+import org.sadun.util.polling.FileFoundEvent;
+import org.sadun.util.polling.FileSetFoundEvent;
+
+/**
+ * The FlatFilePollManager monitors a directory specified in the configuration. When a file arrives it
+ * tries to process the content assuming it contains one line with loan request information.
+ * So for example the content of the file could read some like <br>23456890,3,4,20000,5<br>
+ * The order of values needs to be SocialSecurityNumber, CreditScore, HistoryLength [month], LoanAmount [dollar],
+ * and finally the LoanTerm [month]. The request will be processed and a BankQouteReply is generated. The
+ * original file is moved to a 'processed' directory, and the BankQuoteReply is serialized to an 'outgoing' 
+ * directory from the it can be picked up by the system that dropped the request.
+ * 
+ * @author kstam
+ *
+ */
+class ManagerFlatFile extends BasePollManager 
+{
+	private Logger logger = Logger.getLogger(this.getClass());
+	
+	private static final String BANK_NAME        = "FileBasedBank";
+	private static final BigDecimal RATE_PREMIUM = BigDecimal.valueOf(0.25);
+	private static final int MAXLOANTERM         = 120;
+	protected static final String OUTGOING_DIR   = "outgoing";
+	protected static final String PREFIX         = "reply_to_";
+	protected static final String PROCESSED_DIR  = "processed";
+	/**
+	 * Handle to the cycle start event.
+	 */
+	public void cycleStarted(CycleStartEvent evt) {
+		logger.log(Priority.DEBUG, "Poller awakened "
+				+ (evt.getPoller().getFilter() == null ? "(no filtering)" : evt
+						.getPoller().getFilter().toString()));
+	}
+	/**
+	 * Handle to the cycle end event.
+	 */
+	public void cycleEnded(CycleEndEvent evt) {
+		logger.log(Priority.DEBUG, "Poller going to sleep");
+	}
+	/**
+	 * Handle to the directory lookup start event.
+	 */
+	public void directoryLookupStarted(DirectoryLookupStartEvent evt) {
+		logger.log(Priority.DEBUG, "Scanning " + evt.getDirectory());
+	}
+	/**
+	 * Handle to the directory lookup end event.
+	 */
+	public void directoryLookupEnded(DirectoryLookupEndEvent evt) {
+		logger.log(Priority.DEBUG, "Finished scanning " + evt.getDirectory());
+	}
+	/**
+	 * Handle to the file set found event. Currenty this is the only event that
+	 * is actually used to proces the incoming loan quote requests. Each file
+	 * is send to be processed.
+	 */
+	public void fileSetFound(FileSetFoundEvent evt) {
+		File[] files = evt.getFiles();
+		
+		for (int i = 0; i < files.length; i++) {
+			File file = files[i];
+			processFile(file);
+		}
+	}
+	/**
+	 * Handle to the file found event.
+	 */
+	public void fileFound(FileFoundEvent evt) {
+		logger.log(Priority.DEBUG, evt);
+		// Add artificial delay
+	}
+	/**
+	 * Returns the name of this PollManager and a quick summary of what it does.
+	 */
+	public String toString() {
+		return "FlatFilePollManager - a pollmanager which processed incoming -flat file based- loan requests";
+	}
+	/**
+	 * Each file is processed assuming it contains one line with loan request information.
+	 * So for example the content of the file could read some like <br>23456890,3,4,20000,5<br>
+	 * The order of values needs to be SocialSecurityNumber, CreditScore, HistoryLength [month], LoanAmount [dollar],
+	 * and finally the LoanTerm [month]. The BankQuoteRequest is processed and a BankQouteReply is generated. The
+	 * original file is moved to a processed directory, and the BankQuoteReply is serialized to an 'outgoing' 
+	 * directory from the it can be picked up by the system that dropped the request.
+	 * 
+	 * @param file - incoming flat file with loan quote request info.
+	 */
+	protected void processFile(File file) 
+	{
+		BankQuoteReply bankQuoteReply=new BankQuoteReply();
+		bankQuoteReply.setQuoteId(BANK_NAME);
+		int errorCode=7;
+		String message=null;
+		logger.log(Priority.INFO, "Found " + file.getAbsolutePath() );
+		
+		try {
+			BankQuoteRequest bankQuoteRequest = new BankQuoteRequest();
+            //Read the content of the file into a String
+			message=FileUtil.readTextFile(file);
+			String[] messagePart = message.split(",");
+			
+			errorCode=1;
+			bankQuoteRequest.setSsn(Integer.valueOf(messagePart[0]));
+			errorCode=2;
+			bankQuoteRequest.setCreditScore(Integer.valueOf(messagePart[1]));
+			errorCode=3;
+			bankQuoteRequest.setHistoryLength(Integer.valueOf(messagePart[2]));
+			errorCode=4;
+			bankQuoteRequest.setLoanAmount(Integer.valueOf(messagePart[3]));
+			errorCode=5;
+			bankQuoteRequest.setLoanTerm(Integer.valueOf(messagePart[4]));
+			errorCode=6;
+			bankQuoteRequest.setCustomerUID(String.valueOf(messagePart[5]));
+			
+			Bank fileBasedBank = new Bank(BANK_NAME, RATE_PREMIUM, MAXLOANTERM);
+			bankQuoteReply = fileBasedBank.processMessage(bankQuoteRequest);	
+		} catch (Throwable e) {
+			//Package up the error, so it can be processed
+			logger.log(Priority.ERROR, e.getMessage());
+			bankQuoteReply.setErrorCode(errorCode);
+		}
+		
+		try {
+			//Create the outgoing response file
+			File outgoingDir  = new File(file.getParent() + "/" + OUTGOING_DIR);
+			if (!outgoingDir.exists()) {
+				outgoingDir.mkdir();
+			}
+			File outgoingFile = new File(outgoingDir + "/" + PREFIX + file.getName());
+			logger.log(Priority.INFO, "Creating outgoing file " + outgoingFile.getAbsolutePath());
+			outgoingFile.createNewFile();
+			String reply=bankQuoteReply.getInterestRate() + "," + bankQuoteReply.getQuoteId() + "," 
+				+ bankQuoteReply.getErrorCode() + "," + bankQuoteReply.getCustomerUID();
+			logger.log(Priority.INFO, "Writing reply " + reply);
+			FileUtil.writeTextFile(outgoingFile, reply);
+			
+			//Move the processed file away so it does not get processed again
+			File processedDir  = new File(file.getParent() + "/" + PROCESSED_DIR);
+			if (!processedDir.exists()) {
+				processedDir.mkdir();
+			}
+			logger.log(Priority.INFO, "Moving file " + file.getName() + " to processed directory");
+			File processedFile = new File(processedDir.getAbsolutePath() + "/" + file.getName());
+			file.renameTo(processedFile);
+			if (file.exists()) {
+				file.delete();
+			}
+		} catch (Exception e) {
+			logger.log(Priority.ERROR, e.getMessage(), e);
+		}
+	}
+	
+	public static void main(String[] args)
+	{
+		DOMConfigurator.configure("log4j.xml");
+		String monitoredDirectoryStr = "C:/Temp/BankInput";
+		if (args!=null && args.length > 0) {
+			monitoredDirectoryStr=args[0];
+		}
+		File monitoredDirectory = new File(monitoredDirectoryStr);
+		if (!monitoredDirectory.exists() || !monitoredDirectory.isDirectory()){
+			System.err.println("Invalid directory " + monitoredDirectory.getAbsolutePath());
+			System.out.println("Trying to create the directory.");
+			try {
+				monitoredDirectory.mkdir();
+			} catch (SecurityException e) {
+				e.printStackTrace();
+			}
+		}
+		DirectoryPoller poller = new DirectoryPoller(monitoredDirectory);
+		poller.addPollManager(new ManagerFlatFile());
+		poller.start();
+	}
+	
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/ManagerJMS.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/ManagerJMS.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/src/org/jboss/soa/esb/samples/loanbroker/banks/ManagerJMS.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,214 @@
+/*
+ * 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.samples.loanbroker.banks;
+
+import java.math.BigDecimal;
+import java.util.Properties;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueReceiver;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.apache.log4j.xml.DOMConfigurator;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+/**
+ * The JMS Manager listens to an incoming queue (by default queue/A on localhost). It consumes the
+ * message assuming it is a TextMessage, and that the text is an XML structure that can be marshalled
+ * into a BankQuoteRequest. The request will be processed and a BankQuoteRequest Reply will be serialized to XML
+ * and send to the outgoing queue (by default this is queue/B on localhost).
+ * 
+ * @author kstam
+ */
+public class ManagerJMS implements javax.jms.MessageListener {
+	private static Logger logger = Logger.getLogger(ManagerJMS.class);
+	/** Name of the Bank */
+	private static final String BANK_NAME = "JMSBasedBank";
+	/** Rate premium the bank charges */
+	private static final BigDecimal RATE_PREMIUM = BigDecimal.valueOf(0.50);
+	/** Maximum duration of the loan the bank will accept [months] */
+	private static final int MAXLOANTERM = 120;
+	/** Default incoming queue */
+	private static String QUEUE_IN = "queue/C";
+	/** Default outgoing queue */
+	private static String QUEUE_OUT = "queue/D";
+	/** Context used to lookup the Queues */
+	private static InitialContext ctx;
+	/** Properties used when constructing the InitialContext */
+	private static Properties properties = new Properties();
+	/** Queue connection for incoming queue */
+	QueueConnection inQueueConnection;
+
+	/**
+	 * Sets up the queue listener. By default is listenes to queue/A on localhost.
+	 */
+	public void listen() {
+		try {
+			//MQ Series
+			//properties.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.mq.jms.context.WMQInitialContextFactory");
+			//properties.put(Context.PROVIDER_URL           , "dev38:1415/SYSTEM.DEF.SVRCONN");
+			//ActiveMQ
+			//properties.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
+			//properties.put(Context.PROVIDER_URL           , "tcp://localhost:61616");
+			//JBossMQ
+		    properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
+		    properties.put(Context.PROVIDER_URL           , "localhost");
+			ctx = new InitialContext(properties);
+			
+			logger.info("Looking up connection factory");
+			QueueConnectionFactory qcf = (QueueConnectionFactory) ctx
+					.lookup("ConnectionFactory");
+			logger.info("Creating connection");
+			inQueueConnection = qcf.createQueueConnection();
+			logger.info("Creating session");
+			QueueSession qs = inQueueConnection.createQueueSession(false,
+					Session.DUPS_OK_ACKNOWLEDGE);
+			logger.info("Looking up queue=" + QUEUE_IN);
+			Queue inQueue=null;
+			try {
+				inQueue = (Queue) ctx.lookup(QUEUE_IN);
+			} catch (NamingException ne) {
+				inQueue = qs.createQueue(QUEUE_IN);
+			}
+			//Queue 
+			QueueReceiver qr = qs.createReceiver(inQueue);
+			qr.setMessageListener(this);
+			inQueueConnection.start();
+		} catch (Exception e) {
+			logger.error(e.getMessage(), e);
+		}
+	}
+	/**
+	 * Sets up the queue listener. By default is listenes to queue/A on localhost.  It consumes the
+	 * message assuming it is a TextMessage, and that the text is an XML structure that can be marshalled
+	 * into a BankQuoteRequest. The request will be processed and a BankQuoteRequest Reply will be serialized to XML
+	 * and send to the outgoing queue (by default this is queue/B on localhost). If the processing results
+	 * in an error a BankQuoteReply with ErrorCode other then 0 is send to the outgoing queue.
+	 * 
+	 * @see javax.jms.MessageListener#onMessage(javax.jms.Message)
+	 * changed this to use a CSV from the request, left the reply as is - dbrum
+	 */
+	public void onMessage(Message message) {
+		QueueConnection outQueueConnection;
+		logger.info("Got message: " + message);
+		try {
+			TextMessage textMessage = (TextMessage) message;
+//			String xml = textMessage.getText();
+			String csv = textMessage.getText();
+			XStream xstream = new XStream(new DomDriver());
+			BankQuoteRequest bankQuoteRequest = getQuoteFromCSV(csv);
+			
+            
+//            xstream.fromXML(xml, bankQuoteRequest);
+			Bank bank = new Bank(BANK_NAME, RATE_PREMIUM, MAXLOANTERM);
+			BankQuoteReply bankQuoteReply = bank
+					.processMessage(bankQuoteRequest);
+			bankQuoteReply.setCustomerEmail(bankQuoteRequest.customerEmail);
+			String bankQuoteReplyXML = xstream.toXML(bankQuoteReply);
+			logger.log(Priority.INFO, "Looking up connection factory");
+			QueueConnectionFactory qcf = (QueueConnectionFactory) ctx
+					.lookup("ConnectionFactory");
+			logger.log(Priority.INFO, "Creating connection");
+			outQueueConnection = qcf.createQueueConnection();
+			try {
+				logger.log(Priority.INFO, "Creating session");
+				QueueSession qs = outQueueConnection.createQueueSession(false,
+						Session.DUPS_OK_ACKNOWLEDGE);
+				Queue outQueue;
+				try {
+					outQueue = (Queue) ctx.lookup(QUEUE_OUT);
+				} catch (NamingException ne) {
+					outQueue = qs.createQueue(QUEUE_OUT);
+				}
+				TextMessage responseTextMessage = qs.createTextMessage(bankQuoteReplyXML);
+//				ObjectMessage responseObjMessage = qs.createObjectMessage(bankQuoteReplyXML);
+				QueueSender queueSender = qs.createSender(outQueue);
+//				queueSender.send(responseObjMessage);
+				queueSender.send(responseTextMessage);
+				logger.info("message being sent back on " + QUEUE_OUT + "\n" + responseTextMessage);
+			} catch (JMSException je) {
+				logger.log(Priority.ERROR, je.getMessage(), je);
+			} finally {
+				outQueueConnection.close();
+			}
+		} catch (Exception e) {
+			logger.error(e.getMessage(), e);
+		}
+	}
+	/** 
+	 * Closing the queue connection as to not leak connection resources.
+	 */
+	public void close() throws JMSException {
+		inQueueConnection.close();
+	}
+	/**
+	 * Invokes an instance of JMS based bank listener.
+	 * @param args - provider url, queue_in, queue_out
+	 */
+	public static void main(String[] args) {
+		if (args != null && args.length > 0) {
+			if (args.length > 0) {
+				QUEUE_IN = args[1];
+				if (args.length > 1) {
+					QUEUE_OUT = args[2];
+				}
+			}
+		} else {
+			System.out.println(
+					"Usage: ManagerJMS providerURL, queueIn, queueOut");
+		}
+		System.out.println("Starting JMS Bank Listener...");
+		System.out.println("Listening  to Queue '" + QUEUE_IN + "'.");
+		System.out.println("Responding to Queue '" + QUEUE_OUT + "'.");
+		DOMConfigurator.configure("log4j.xml");
+		ManagerJMS managerJMS = new ManagerJMS();
+		managerJMS.listen();
+	}
+	
+	private BankQuoteRequest getQuoteFromCSV(String csv) {
+		BankQuoteRequest quote = new BankQuoteRequest();
+		String[] parsed = csv.split(",");
+		quote.ssn=Integer.parseInt(parsed[0]);
+		quote.creditScore=Integer.parseInt(parsed[1]);
+		quote.historyLength=Integer.parseInt(parsed[2]);
+		quote.loanAmount=Integer.parseInt(parsed[3]);
+		quote.loanTerm=Integer.parseInt(parsed[4]);
+		quote.customerUID=parsed[5];
+		quote.customerEmail=parsed[6];
+		
+		return quote;
+	}
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReplyTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReplyTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReplyTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,65 @@
+/*
+* 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.samples.loanbroker.banks;
+
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigDecimal;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+
+import com.thoughtworks.xstream.XStream;
+
+public class BankQuoteReplyTest {
+
+	private Logger logger = Logger.getLogger(this.getClass());
+	
+	/**
+	 * Testing the XML layout of a BankQuoteReply
+	 */
+	@Test public void obtainExampleXML(){
+		BankQuoteReply bankQuoteReply = new BankQuoteReply();
+		bankQuoteReply.setErrorCode(0);
+		bankQuoteReply.setCustomerUID("unique");
+		bankQuoteReply.setInterestRate(BigDecimal.valueOf(11.7));
+		bankQuoteReply.setQuoteId("JBBANK_1");
+		
+		XStream xstream = new XStream();
+		String bankQuoteReplyXml=xstream.toXML(bankQuoteReply);
+		logger.info("xml=\n" + bankQuoteReplyXml);
+		String expectedXml = 
+			  "<org.jboss.soa.esb.samples.loanbroker.banks.BankQuoteReply>\n"
+			+ "  <interestRate>11.7</interestRate>\n"
+            + "  <quoteId>JBBANK_1</quoteId>\n"
+            + "  <errorCode>0</errorCode>\n"
+            + "  <customerUID>unique</customerUID>\n"
+            + "</org.jboss.soa.esb.samples.loanbroker.banks.BankQuoteReply>";
+		assertTrue(expectedXml.equals(bankQuoteReplyXml));
+	}
+	
+	public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(BankQuoteReplyTest.class);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequestTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequestTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequestTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.samples.loanbroker.banks;
+
+import static org.junit.Assert.assertTrue;
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.junit.Test;
+
+import com.thoughtworks.xstream.XStream;
+
+public class BankQuoteRequestTest {
+
+	private Logger logger = Logger.getLogger(this.getClass());
+	
+	/**
+	 * Testing the XML layout of a BankQuoteRequest
+	 */
+	@Test public void obtainExampleXML(){
+		BankQuoteRequest bankQuoteRequest = new BankQuoteRequest();
+		bankQuoteRequest.setSsn(123456890);
+		bankQuoteRequest.setCreditScore(3);
+		bankQuoteRequest.setHistoryLength(4);
+		bankQuoteRequest.setLoanTerm(5);
+		bankQuoteRequest.setLoanAmount(20000);
+		bankQuoteRequest.setCustomerUID("unique");
+		
+		XStream xstream = new XStream();
+		String bankQuoteRequestXml=xstream.toXML(bankQuoteRequest);
+		logger.info("xml=\n" + bankQuoteRequestXml);
+		String expectedXml = 
+			  "<org.jboss.soa.esb.samples.loanbroker.banks.BankQuoteRequest>\n"
+			+ "  <ssn>123456890</ssn>\n"
+			+ "  <creditScore>3</creditScore>\n"
+			+ "  <historyLength>4</historyLength>\n"
+			+ "  <loanAmount>20000</loanAmount>\n"
+			+ "  <loanTerm>5</loanTerm>\n"
+		    + "  <customerUID>unique</customerUID>\n"
+			+ "</org.jboss.soa.esb.samples.loanbroker.banks.BankQuoteRequest>";
+		assertTrue(expectedXml.equals(bankQuoteRequestXml));
+	}
+	
+	public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(BankQuoteRequestTest.class);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/BankTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.soa.esb.samples.loanbroker.banks;
+
+import static org.junit.Assert.assertTrue;
+
+import java.math.BigDecimal;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.junit.Test;
+
+public class BankTest {
+
+	private Logger logger = Logger.getLogger(this.getClass());
+	
+	/**
+	 * Tests the computation of the interestRate for the TestBank.
+	 *
+	 */
+	@Test public void processLoanRequest(){
+		
+		//Building a BankQuoteRequest
+		BankQuoteRequest bankQuoteRequest = new BankQuoteRequest();
+		bankQuoteRequest.setSsn(123456890);
+		bankQuoteRequest.setCreditScore(3);
+		bankQuoteRequest.setHistoryLength(4);
+		bankQuoteRequest.setLoanTerm(72);
+		bankQuoteRequest.setLoanAmount(20000);
+		bankQuoteRequest.setCustomerUID("unique");
+		logger.log(Priority.INFO, bankQuoteRequest);
+		
+		//Getting a Bank Instance
+		String bankName        = "TestBank";
+		BigDecimal ratePrimium = BigDecimal.valueOf(0.25);
+		int maxLoanTerm        = 120;
+		Bank bank = new Bank(bankName, ratePrimium, maxLoanTerm);
+		
+		//Getting a quote from this bank
+		BankQuoteReply bankQuoteReply = bank.processMessage(bankQuoteRequest);
+		logger.log(Priority.INFO, bankQuoteReply);
+		
+		//Checking for validity
+		BigDecimal expectedInterestRate = BigDecimal.valueOf(8.85);
+		assertTrue(bankQuoteReply.getInterestRate().equals(expectedInterestRate));
+	}
+	
+	public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(BankTest.class);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/FlatFileProcessorTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/FlatFileProcessorTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/FlatFileProcessorTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,112 @@
+/*
+* 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.samples.loanbroker.banks;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.junit.Test;
+
+public class FlatFileProcessorTest {
+
+	private Logger logger = Logger.getLogger(this.getClass());
+	private static String FLAT_FILE = "FlatFileProcessorTest.txt";
+	/**
+	 * Tests the processing of flat file containing a loan quote request. First
+	 * we try to find a temporary directory. When this succeeds we drop a
+	 * loan request file in there and try to process it.
+	 *
+	 */
+	@Test public void processRequest()
+	{
+		File writableDir=null;
+		logger.log(Priority.INFO, "Check to see if I can write to /tmp");
+		File tmpDir = new File("/tmp");
+		if (tmpDir.exists() && tmpDir.canWrite()) {
+			writableDir=tmpDir;
+		} else {
+			File tempDir = new File("C:/temp");
+			if (tempDir.exists() && tempDir.canWrite()) {
+				writableDir=tempDir;
+			} else {
+				logger.log(Priority.ERROR, "Could not find either /tmp or C:\\Temp for a temporary " 
+						+ "writing space.");
+			    assertTrue(false);
+			}
+		}
+//		We found a temp space so now we can drop in a load request file.
+		try {
+			logger.log(Priority.INFO, "Creating " + FLAT_FILE + " file in " + writableDir.getAbsolutePath());
+			File loanRequestFile = new File(writableDir.getAbsolutePath() + "/"+ FLAT_FILE);
+			if (loanRequestFile.exists()) {
+				loanRequestFile.delete();
+			}
+			loanRequestFile.createNewFile();
+			String str="23456890,3,4,20000,5,unique";
+			FileUtil.writeTextFile(loanRequestFile, str);
+			
+			logger.log(Priority.INFO, "Processing FlatFileProcessorTest.txt");
+			ManagerFlatFile pollManager = new ManagerFlatFile();
+			pollManager.processFile(loanRequestFile);
+			
+			//Check to see if the file is now moved.
+			assertFalse(loanRequestFile.exists());
+			
+			File processedFile = new File(writableDir.getAbsolutePath() + "/" 
+				+ ManagerFlatFile.PROCESSED_DIR + "/" + FLAT_FILE);
+			logger.log(Priority.INFO, "Check to see if " + processedFile.getAbsolutePath()
+					+ " exists");
+			assertTrue(processedFile.exists());
+			logger.log(Priority.INFO, "OK");
+			
+			File replyToFile = new File(writableDir.getAbsolutePath() + "/" 
+				+ ManagerFlatFile.OUTGOING_DIR + "/" + ManagerFlatFile.PREFIX
+				+ FLAT_FILE);
+			logger.log(Priority.INFO, "Check to see if " + replyToFile.getAbsolutePath()
+					+ " exists");
+			assertTrue(replyToFile.exists());
+			logger.log(Priority.INFO, "OK");
+			
+			//Checking the content of the reply
+			logger.log(Priority.INFO, "Check the reply, should be ('8.29,FileBasedBank-0,0,unique'");
+			assertTrue("8.29,FileBasedBank-0,0,unique".equals(FileUtil.readTextFile(replyToFile)));
+			logger.log(Priority.INFO, "OK");
+			//Cleaning up
+			processedFile.delete();
+			replyToFile.delete();
+			
+		} catch (Throwable e) {
+			logger.log(Priority.ERROR,e.getMessage(),e);
+			assertTrue(false);
+		}
+	}
+	
+	public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(FlatFileProcessorTest.class);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/JmsProcessorTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/JmsProcessorTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/banks/test/src/org/jboss/soa/esb/samples/loanbroker/banks/JmsProcessorTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,92 @@
+/*
+* 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.samples.loanbroker.banks;
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.Properties;
+
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.junit.Test;
+
+public class JmsProcessorTest {
+
+	private Logger logger = Logger.getLogger(this.getClass());
+
+	/**
+	 * This can be activate if the server is running and you want
+	 * to drop a message on the queue
+	 *
+	 */
+	@Test public void sendLoanRequestXML()
+	{
+
+		QueueSession sess;
+		Queue queue;
+		try {
+			Properties properties = new Properties();
+			
+			//ActiveMQ
+			//properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
+		    //properties.put(Context.PROVIDER_URL           , "tcp://localhost:61616");
+			//JBossMQ
+		    properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
+		    properties.put(Context.PROVIDER_URL           , "localhost");
+			InitialContext ctx = new InitialContext(properties);
+		
+			QueueConnectionFactory factory = (QueueConnectionFactory) ctx
+					.lookup("ConnectionFactory");
+			QueueConnection cnn = factory.createQueueConnection();
+			sess = cnn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+			queue = sess.createQueue("queue/C");
+			//queue = sess.createQueue("queue/C");
+			String str="23456890,3,4,20000,5,unique,kurt.stam at jboss.com";
+			TextMessage msg = sess.createTextMessage(str);
+			QueueSender sender = sess.createSender(queue);
+			sender.send(msg);
+			//if the test gets here without errors it passes.
+			assertTrue(true);
+		} catch (Exception e) {
+			//if it fails it may be because the server is not up and the Queue is not found
+			//I'm not letting the test fail, since we may want to do nightly build/test runs
+			//which may not have the server up.
+			logger.log(Priority.ERROR, e.getMessage(), e);
+			logger.log(Priority.ERROR, "Is the server up and running?");
+		}
+	}
+
+	public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(JmsProcessorTest.class);
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/build.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/build.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/build.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,2 @@
+org.jboss.soa.samples.trailblazer.jboss_home=/usr/local/jboss-4.0.5.GA/
+org.jboss.soa.samples.trailblazer.jboss_server=default

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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,
+  @author Daniel Brum
+-->
+
+<project name="TRAILBLAZER" default="org.jboss.esb.samples.trailblazer.esb.compile" basedir=".">	
+
+	<!-- UPDATE THIS WITH YOUR JBOSS_HOME AND SERVER -->
+	<property file="build.properties" />
+
+	<property name="org.jboss.soa.samples.trailblazer.jboss_home" 		value="/jboss-4.0.5.GA"/>
+	<property name="org.jboss.soa.samples.trailblazer.jboss_server"	value="default"/>
+	<property name="org.jboss.soa.samples.trailblazer.home" value="."/>
+
+	<property name="org.jboss.soa.samples.trailblazer.esb_home"	 	location="../../"/>
+
+	<!-- properties for the esb part of the trailblazer -->
+	<property name="org.jboss.esb.samples.trailblazer.esb.dest"        	value="${basedir}/esb/build"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.classes.dir" 	value="${basedir}/esb/build/classes"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.testclasses.dir"  value="${basedir}/esb/build/classes/tests/"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.src.dir"          value="${basedir}/esb/src"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.test.dir"         value="${basedir}/esb/test"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.lib.dir"      	value="${basedir}/esb/lib"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.tests.report.dir" value="${basedir}/esb/build/tests"/>
+
+	<!-- properties for the client(web) part of the trailblazer -->
+	<property name="org.jboss.esb.samples.trailblazer.client.dest"        		value="${basedir}/client/build"/>
+	<property name="org.jboss.esb.samples.trailblazer.client.classes.dir" 		value="${basedir}/client/build/classes"/>
+	<property name="org.jboss.esb.samples.trailblazer.client.testclasses.dir"  	value="${basedir}/client/build/classes/tests/"/>
+	<property name="org.jboss.esb.samples.trailblazer.client.src.dir"          	value="${basedir}/client/src"/>
+	<property name="org.jboss.esb.samples.trailblazer.client.test.dir"         	value="${basedir}/client/test"/>
+	<property name="org.jboss.esb.samples.trailblazer.client.lib.dir"		value="${basedir}/client/lib"/>
+	<property name="org.jboss.esb.samples.trailblazer.client.tests.report.dir" 	value="${basedir}/client/build/tests"/>
+
+	<property environment="env" />
+
+        <property name="org.jboss.soa.esb.lib.file" value="jbossesb-rosetta.jar"/>
+        <property name="org.jboss.soa.esb.lib.dist.dir" value="${org.jboss.soa.samples.trailblazer.esb_home}/lib"/>
+        <property name="org.jboss.soa.esb.lib.src.dir" value="../../build/jbossesb/lib"/>
+
+	<available file="${org.jboss.soa.esb.lib.file}"
+            filepath="${org.jboss.soa.esb.lib.dist.dir}"
+            property="org.jboss.soa.esb.lib.dir"
+            value="${org.jboss.soa.esb.lib.dist.dir}"/>
+
+	<available file="${org.jboss.soa.esb.lib.file}"
+            filepath="${org.jboss.soa.esb.lib.src.dir}"
+            property="org.jboss.soa.esb.lib.dir"
+            value="${org.jboss.soa.esb.lib.src.dir}"/>
+
+	<property name="org.jboss.soa.esb.lib.ext.dir" value="${org.jboss.soa.esb.lib.dir}/ext"/>
+	
+
+	<!-- classpath -->
+	<path id="org.jboss.esb.samples.trailblazer.esb.classpath">
+		<fileset dir="${org.jboss.soa.esb.lib.dir}/ext" includes="*.jar"/>
+		<fileset dir="${org.jboss.esb.samples.trailblazer.esb.lib.dir}/ext" includes="*.jar"/>
+		<fileset dir="${org.jboss.soa.samples.trailblazer.jboss_home}/client" includes="jbossall-client.jar jbossws-client.jar mail.jar"/>
+		<fileset dir="${org.jboss.soa.esb.lib.dir}" includes="*.jar"/>
+		<fileset dir="${org.jboss.esb.samples.trailblazer.client.lib.dir}/ext" includes="*.jar"/>
+	</path>
+
+	<!-- classpath for running the listener-->
+	<path id="org.jboss.esb.samples.trailblazer.esb.classpath.run">
+		<fileset dir="${org.jboss.soa.esb.lib.ext.dir}"
+			includes="jaxr-api*.jar,scout*.jar,juddi*.jar"/>
+		<fileset dir="${org.jboss.esb.samples.trailblazer.esb.dest}/dist" includes="trailblazer-esb.jar"/>
+		<fileset dir="${org.jboss.soa.samples.trailblazer.esb_home}/lib/ext" includes="*.jar" excludes="jaxr-api*.jar,scout*.jar,juddi*.jar"/>
+		<fileset dir="${org.jboss.soa.esb.lib.ext.dir}" includes="*.jar" excludes="jaxr-api*.jar,scout*.jar,juddi*.jar"/>
+		<fileset dir="${org.jboss.soa.samples.trailblazer.jboss_home}/client" includes="jbossall-client.jar jbossws-client.jar mail.jar"/>
+		<fileset dir="${org.jboss.soa.esb.lib.dir}" includes="*.jar"/>
+		<fileset dir="${org.jboss.esb.samples.trailblazer.esb.lib.dir}/ext" includes="*.jar"/>
+		<!-- for finding the jbossesb-properties.xml file -->
+		<pathelement location="${basedir}"/>
+	</path>
+
+	<path id="org.jboss.esb.samples.trailblazer.esb.classpath.client">
+		<fileset dir="${org.jboss.soa.esb.lib.ext.dir}"/>
+		<fileset dir="${org.jboss.esb.samples.trailblazer.esb.lib.dir}/ext" includes="*.jar"/>
+		<fileset dir="${org.jboss.soa.samples.trailblazer.jboss_home}/client" includes="jbossall-client.jar jbossws-client.jar mail.jar"/>
+		<fileset dir="${org.jboss.soa.esb.lib.dir}" includes="*.jar"/>
+		<fileset dir="${org.jboss.esb.samples.trailblazer.client.lib.dir}/ext" includes="*.jar"/>
+		<fileset dir="${org.jboss.esb.samples.trailblazer.esb.dest}/dist" includes="trailblazer-esb.jar"/>
+	</path>
+
+
+
+	<target name="clean">
+		<delete dir="${org.jboss.esb.samples.trailblazer.esb.dest}"/>
+		<delete dir="${org.jboss.esb.samples.trailblazer.client.dest}"/>
+	</target>
+	
+	<!-- =================================================================== -->
+	<!-- Prepares the directory structure                                    -->
+	<!-- =================================================================== -->
+	<target name="org.jboss.esb.samples.trailblazer.prepare">
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.esb.dest}"/>
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.esb.dest}/dist"/>
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.esb.dest}/classes"/>
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.client.dest}"/>
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.client.dest}/dist"/>
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.client.dest}/classes"/>
+	</target>
+
+	<!-- Compilation targets -->
+	<!-- ___________________ -->
+	
+	<!-- ESB COMPILATION -->
+	<target name="org.jboss.esb.samples.trailblazer.esb.compile" depends="org.jboss.esb.samples.trailblazer.prepare"
+		description="Compiling Trailblazer ESB classes">
+		<javac
+		            destdir="${org.jboss.esb.samples.trailblazer.esb.classes.dir}"
+		            classpathref="org.jboss.esb.samples.trailblazer.esb.classpath"
+		        	debug="true"
+		        	>
+			<src path="${org.jboss.esb.samples.trailblazer.esb.src.dir}"/>
+		</javac>
+	</target>
+
+	<!-- CLIENT(WEB) COMPILATION -->
+	<target name="org.jboss.esb.samples.trailblazer.client.compile" depends="org.jboss.esb.samples.trailblazer.prepare"
+		description="Compiling Trailblazer client classes">
+
+		<javac
+		            destdir="${org.jboss.esb.samples.trailblazer.client.classes.dir}"
+		            classpathref="org.jboss.esb.samples.trailblazer.esb.classpath.client" debug="true">
+			<src path="${org.jboss.esb.samples.trailblazer.client.src.dir}"/>
+		</javac>
+	</target>
+	
+
+	<!-- JAR/WAR targets -->
+	<target name="org.jboss.esb.samples.trailblazer.esb.jar" depends="compile" >
+		
+		<!-- ESB JAR -->
+		<echo message="Building Trailblazer ESB jar file"/>
+		<delete file="${org.jboss.esb.samples.trailblazer.esb.dest}/dist/trailblazer-esb.jar" />
+		<jar    destfile="${org.jboss.esb.samples.trailblazer.esb.dest}/dist/trailblazer-esb.jar" 
+                basedir="${org.jboss.esb.samples.trailblazer.esb.classes.dir}" 
+                includes="**/*.class" excludes="**/web/*.class">
+        </jar>
+		
+		<!-- Web side WAR -->
+		<echo message="Building Trailblazer WAR file"/>
+		<delete file="${org.jboss.esb.samples.trailblazer.client.dest}/dist/trailblazer.war" />		
+		<war    warfile="${org.jboss.esb.samples.trailblazer.client.dest}/dist/trailblazer.war"
+		        webxml="${basedir}/client/resources/web.xml">
+			<classes dir="${org.jboss.esb.samples.trailblazer.client.classes.dir}" includes="**/web/**/*.class"/>
+			<classes dir="${org.jboss.esb.samples.trailblazer.client.classes.dir}" includes="**/loanbroker/**/*.class"/>
+			<lib dir="${org.jboss.soa.esb.lib.dir}">
+				<include name="*.jar"/>
+			</lib>
+
+			<lib dir="${org.jboss.esb.samples.trailblazer.esb.dest}/dist">
+				<include name="trailblazer-esb.jar"/>
+			</lib>
+
+			<lib dir="${org.jboss.esb.samples.trailblazer.client.lib.dir}/ext">
+				<include name="axis.jar"/>
+				<include name="commons-discovery.jar"/>
+			</lib>
+			<lib dir="${org.jboss.soa.esb.lib.ext.dir}">
+				<include name="xbean*.jar"/>
+				<include name="xmlpublic.jar"/>
+				<include name="stax-api-*.jar"/>
+				<include name="commons-discovery.jar"/>
+				<include name="jbossts-common.jar"/>
+				<include name="jaxr-api-*.jar"/>
+				<include name="scout-*.jar"/>
+				<include name="juddi-*.jar"/>				
+			</lib>
+			<fileset dir="${basedir}/client/jsp">
+				<include name="**/*.jsp"/>
+			</fileset>
+			<webinf dir="${basedir}/client/resources">
+				<include name="jboss-web.xml"/>
+			</webinf>
+			<classes dir="${basedir}">
+				<include name="juddi.properties"/>
+			</classes>
+		</war>
+	</target>
+	
+	<target name="deploy-war" depends="jar">
+		<copy file="${org.jboss.esb.samples.trailblazer.client.dest}/dist/trailblazer.war"
+		todir="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/deploy"/>
+		<copy file="${basedir}/esb-trailblazer-service.xml" overwrite="true"
+				todir="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/deploy"/>
+		<copy file="${basedir}/jbossesb-properties.xml" 
+				tofile="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/conf/jbossesb-properties.xml" overwrite="true"/>
+	</target>
+	
+	<target name="deploy-jars" depends="jar">
+		<copy file="${org.jboss.esb.samples.trailblazer.esb.dest}/dist/trailblazer-esb.jar" overwrite="true"
+		todir="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/deploy/jbossesb.sar"/>
+		<copy file="${basedir}/jbossesb-properties.xml" overwrite="true"
+			tofile="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/conf/jbossesb-properties.xml"/>
+		<copy file="${basedir}/esb-trailblazer-service.xml" overwrite="true"
+			todir="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/deploy"/>
+		<copy file="${org.jboss.soa.esb.lib.ext.dir}/stringtemplate-2.3b6.jar" overwrite="true"
+			todir="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/deploy/jbossesb.sar"/>
+		<copy file="${basedir}/esb/conf/jbossesb.xml" overwrite="true"
+			todir="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/conf"/>
+		<copy file="${basedir}/esb/conf/jbossesb-listener.xml" overwrite="true"
+			todir="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/conf"/>
+		<copy file="${basedir}/esb/conf/jbossesb-gateway.xml" overwrite="true"
+			todir="${org.jboss.soa.samples.trailblazer.jboss_home}/server/${org.jboss.soa.samples.trailblazer.jboss_server}/conf"/>
+	</target>
+
+
+	<!-- Short target names -->
+	<target name="compile" depends="org.jboss.esb.samples.trailblazer.esb.compile,org.jboss.esb.samples.trailblazer.client.compile"/>
+	<target name="jar" depends="org.jboss.esb.samples.trailblazer.esb.jar"/>
+
+	<!-- run the ESB listeners -->
+	<!-- set the first argument to 0 for an indefinite run for the listener launcher -->
+	<!-- arg1 = # of seconds to let the listener threads run -->
+	<!-- arg2 = location of the esb config file which describes the listener configurations for a Message aware listener config -->
+	<!-- arg3 (if any) = location of the esb config file which describes the listener configurations for a NON-Message aware listener config (gateway)-->
+	<target name="runESB" depends="jar">
+		<echo>Running ESB Trailblazer listeners</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.samples.trailblazer.util.TbBootStrapper" failonerror="true">
+			<arg value="${org.jboss.soa.samples.trailblazer.home}/esb/conf/jbossesb.xml"/>
+			<classpath refid="org.jboss.esb.samples.trailblazer.esb.classpath.run"/>
+		</java>
+	</target>
+
+	<!-- javadocs paths -->
+	<path id="org.jboss.esb.samples.trailblazer.esb.javadocs.path">
+		<pathelement path="esb/classes"/>
+	</path>
+
+		
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/jsp/index.jsp
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/jsp/index.jsp	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/jsp/index.jsp	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,151 @@
+<% 
+/*
+ * 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.
+ */
+ 
+String[] formHeader  = {"Name", "Address", "SSN", "Email", "Salary", "Employer", "LoanAmount", "LoanDuration"};
+String[] formValue   = new String[formHeader.length];
+
+String errors = "";
+int errorCount=0;
+
+for (int i=0; i<formValue.length;i++) {
+	formValue[i]    = String.valueOf(request.getParameter(formHeader[i]));
+	//out.write(formHeader[i] + "=" + formValue[i] + "<br>");
+	if ("null".equals(formValue[i]) || formValue[i]==null || "".equals(formValue[i])) {
+	        formValue[i]="";
+			errorCount++;
+			errors += formHeader[i] + " is a required field<br>";
+	}
+}
+//It's a new form. Let's set some default values.
+if (errorCount==formHeader.length) {
+	formValue[0]="Joe Broke";
+	formValue[1]="1 Spenditall Str., BrokeTown 99999 DC";
+	formValue[2]="1234567890";
+	formValue[3]="joe at iliketospendit.com";
+	formValue[4]="50000.00";
+	formValue[5]="Wesayso & Co";
+	formValue[6]="1000.00";
+	formValue[7]="12";
+}
+
+%>
+<html>
+<head>
+<title>JBossESB Loan Broker</title>
+<link rel="shortcut icon" href="/favicon.ico"/>
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/custom.css" type="text/css" media="all">
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/global.css" type="text/css" media="all">
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/headings.css" type="text/css" media="all">
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/layout.css" type="text/css" media="all">
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/navigation.css" type="text/css" media="all">
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/pagelayout.css" type="text/css" media="all">
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/tables.css" type="text/css" media="all">
+
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/screen.css" type="text/css" media="screen">
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/print.css" type="text/css" media="print">
+<link rel="stylesheet" href="http://www.jboss.com/themes/jbosstheme/style/common.css" type="text/css" media="all">
+</head>
+<body>
+
+<div id="TopLogo">
+  <a href="http://www.jboss.com"><img src="http://www.jboss.com/themes/jbosstheme/img/logo.gif" alt="JBoss - The Professional Open Source Company" border="0" /></a>
+</div>
+
+<div id="TopMenu">
+  <table cellpadding="0" cellspacing="0">
+  <tr>
+    <td class="menu_JBnetwork"><a href="http://network.jboss.com/">subscription</a></td>
+    <td class="menu_JBcom"><a href="http://www.jboss.com/">jboss.com</a></td>
+
+    <td class="menu_JBorg"><a href="http://labs.jboss.com">jboss.org</a></td>
+    <td class="menu_RH"><a href="http://www.redhat.com">redhat.com</a></td>
+  </tr>
+  </table>
+</div>
+
+
+<% if (errorCount!=0) { %>
+<form id="formLoanBrokerRequest" action="index.jsp" method="post">
+
+<table width="100%" border="0" cellpadding="10" cellspacing="3">
+        <tr><td colspan="2"><br><br><br><br>
+        <tr><td colspan="2"><h1>Loan Broker Request Form</h1></td></tr>
+        <% if (errorCount < formHeader.length) { %> 
+        <tr><td colspan="2"><font color="red"><%=errors %></font></td></tr>
+        <% } %>
+        <% for (int i=0; i<formHeader.length;i++) { %>
+        <tr>
+			<td width="30%" nowrap><%=formHeader[i] %></td>
+			<td width="70%"><input id="<%=formHeader[i] %>" name="<%=formHeader[i] %>" type="text"
+	   		    class="textBox" tabindex="1" size="60" value="<%=formValue[i] %>" /></td>
+	    </tr>
+	    <% } %>
+	
+	<tr>
+	    <td><INPUT TYPE="submit" VALUE="submit loan request">  </td>
+	</tr>
+</table>
+
+</form>
+
+<% } else  {
+	
+	org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSBindingStub binding=null;
+    try {
+        binding = (org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSBindingStub)
+                      new org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSServiceLocator().getLoanBrokerWSPort();
+    }
+    catch (javax.xml.rpc.ServiceException jre) {
+        if(jre.getLinkedCause()!=null)
+            jre.getLinkedCause().printStackTrace();
+        
+    }
+    // Time out after a minute
+    binding.setTimeout(60000);
+
+    //Setting the values in the request
+    org.jboss.soa.esb.samples.trailblazer.web.generated.WebCustomer webCustomer = new org.jboss.soa.esb.samples.trailblazer.web.generated.WebCustomer();
+    webCustomer.setName(formValue[0]);
+    webCustomer.setAddress(formValue[1]);
+    webCustomer.setSsn(Integer.valueOf(formValue[2]).intValue());
+    webCustomer.setEmail(formValue[3]);
+    webCustomer.setSalary(Double.valueOf(formValue[4]).doubleValue());
+    webCustomer.setEmployerName(formValue[5]);
+    webCustomer.setLoanAmount(Double.valueOf(formValue[6]).doubleValue());
+    webCustomer.setLoanDuration(Integer.valueOf(formValue[7]).intValue());
+    
+    binding.requestLoan(webCustomer); %>
+    
+    <table width="100%" border="0" cellpadding="10" cellspacing="3">
+        <tr><td><br><br><br><br>
+        <tr><td><h1>Loan Broker</h1></td></tr>
+    	<tr><td><h2>Request was submitted</h2></td></tr>
+        <tr><td><a href="index.jsp">Fill out another request</a></td></tr>
+	
+ <% } %>
+
+
+
+
+</body>
+</html>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/Licenses.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/Licenses.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/Licenses.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,479 @@
+The jars in this directory are covered by a range of licences, as described
+below.
+
+JBoss jars:
+
+/*
+ *
+ * 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,
+ */
+ 
+ 
+Apache Jakarta Commons Collections/Commons Logging/Axis/Log4j:
+
+Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+   
+   
+   JUnit
+   
+   Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+    a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+
+    b) in the case of each subsequent Contributor:
+
+    i) changes to the Program, and
+
+    ii) additions to the Program;
+
+    where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+    a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and such
+derivative works, in source code and object code form.
+
+    b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+    c) Recipient understands that although each Contributor grants the licenses
+to its Contributions set forth herein, no assurances are provided by any
+Contributor that the Program does not infringe the patent or other intellectual
+property rights of any other entity. Each Contributor disclaims any liability to
+Recipient for claims brought by any other entity based on infringement of
+intellectual property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient's responsibility to acquire that license
+before distributing the Program.
+
+    d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright license set
+forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its
+own license agreement, provided that:
+
+    a) it complies with the terms and conditions of this Agreement; and
+
+    b) its license agreement:
+
+    i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title and
+non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+    ii) effectively excludes on behalf of all Contributors all liability for
+damages, including direct, indirect, special, incidental and consequential
+damages, such as lost profits;
+
+    iii) states that any provisions which differ from this Agreement are offered
+by that Contributor alone and not by any other party; and
+
+    iv) states that source code for the Program is available from such
+Contributor, and informs licensees how to obtain it in a reasonable manner on or
+through a medium customarily used for software exchange. 
+
+When the Program is made available in source code form:
+
+    a) it must be made available under this Agreement; and
+
+    b) a copy of this Agreement must be included with each copy of the Program. 
+
+Contributors may not remove or alter any copyright notices contained within the
+Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to
+control, and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may participate in
+any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its exercise of
+rights under this Agreement, including but not limited to the risks and costs of
+program errors, compliance with applicable laws, damage to or loss of data,
+programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of the
+terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to
+a patent applicable to software (including a cross-claim or counterclaim in a
+lawsuit), then any patent licenses granted by that Contributor to such Recipient
+under this Agreement shall terminate as of the date such litigation is filed. In
+addition, if Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
+itself (excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted under
+Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue and
+survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
+as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the Agreement
+under which it was received. In addition, after a new version of the Agreement
+is published, Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated in Sections
+2(a) and 2(b) above, Recipient receives no rights or licenses to the
+intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial in
+any resulting litigation.
+
+
+
+XStream, Antlr, Stingtemplate BSD License
+
+Copyright (c) 2003-2005, Joe Walnes
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. Redistributions in binary form must reproduce
+the above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.
+
+Neither the name of XStream nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/axis.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/axis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/commons-discovery.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/commons-discovery.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/jbossws-client.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/jbossws-client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/milyn-smooks-csv-0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/milyn-smooks-csv-0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/opencsv-1.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/lib/ext/opencsv-1.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS-wsdl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS-wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS-wsdl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<definitions name="LoanBrokerWSService" targetNamespace="http://localhost/trailblazerWS">
+<types>
+	<schema elementFormDefault="qualified" targetNamespace="http://localhost/trailblazerWS">
+	<complexType name="WebCustomer">
+		<sequence>
+			<element name="address" nillable="true" type="string"/>
+			<element name="email" nillable="true" type="string"/>
+			<element name="employerName" nillable="true" type="string"/>
+			<element name="loanAmount" type="double"/>
+			<element name="loanDuration" type="int"/>
+			<element name="name" nillable="true" type="string"/>
+			<element name="salary" type="double"/>
+			<element name="ssn" type="int"/>
+		</sequence>
+	</complexType>
+	</schema>
+</types>
+
+<message name="LoanBrokerESB-WS_RequestLoanResponse"/>
+	<message name="LoanBrokerESB-WS_RequestLoan">
+<part name="WebCustomer_1" type="tns:WebCustomer"/>
+</message>
+<portType name="LoanBrokerESB-WS">
+	<operation name="RequestLoan" parameterOrder="WebCustomer_1">
+<input message="tns:LoanBrokerESB-WS_RequestLoan"/>
+<output message="tns:LoanBrokerESB-WS_RequestLoanResponse"/>
+</operation>
+</portType>
+	<binding name="LoanBrokerESB-WSBinding" type="tns:LoanBrokerESB-WS">
+<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+	<operation name="RequestLoan">
+<soap:operation soapAction=""/>
+	<input>
+<soap:body namespace="http://localhost/trailblazerWS" use="literal"/>
+</input>
+	<output>
+<soap:body namespace="http://localhost/trailblazerWS" use="literal"/>
+</output>
+</operation>
+</binding>
+	<service name="LoanBrokerWSService">
+	<port binding="tns:LoanBrokerESB-WSBinding" name="LoanBrokerESB-WSPort">
+<soap:address location="http://d820:8080/trailblazer/LoanBrokerWS"/>
+</port>
+</service>
+</definitions>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS-wsdl.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS-wsdl.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS-wsdl.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<definitions name="LoanBrokerWSService" targetNamespace="http://localhost/trailblazerWS">
+<types>
+	<schema elementFormDefault="qualified" targetNamespace="http://localhost/trailblazerWS">
+	<complexType name="WebCustomer">
+		<sequence>
+			<element name="address" nillable="true" type="string"/>
+			<element name="email" nillable="true" type="string"/>
+			<element name="employerName" nillable="true" type="string"/>
+			<element name="loanAmount" type="double"/>
+			<element name="loanDuration" type="int"/>
+			<element name="name" nillable="true" type="string"/>
+			<element name="salary" type="double"/>
+			<element name="ssn" type="int"/>
+		</sequence>
+	</complexType>
+	</schema>
+</types>
+
+<message name="LoanBrokerESB-WS_RequestLoanResponse"/>
+	<message name="LoanBrokerESB-WS_RequestLoan">
+<part name="WebCustomer_1" type="tns:WebCustomer"/>
+</message>
+<portType name="LoanBrokerESB-WS">
+	<operation name="RequestLoan" parameterOrder="WebCustomer_1">
+<input message="tns:LoanBrokerESB-WS_RequestLoan"/>
+<output message="tns:LoanBrokerESB-WS_RequestLoanResponse"/>
+</operation>
+</portType>
+	<binding name="LoanBrokerESB-WSBinding" type="tns:LoanBrokerESB-WS">
+<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+	<operation name="RequestLoan">
+<soap:operation soapAction=""/>
+	<input>
+<soap:body namespace="http://localhost/trailblazerWS" use="literal"/>
+</input>
+	<output>
+<soap:body namespace="http://localhost/trailblazerWS" use="literal"/>
+</output>
+</operation>
+</binding>
+	<service name="LoanBrokerWSService">
+	<port binding="tns:LoanBrokerESB-WSBinding" name="LoanBrokerESB-WSPort">
+<soap:address location="http://d820:8080/trailblazer/LoanBrokerWS"/>
+</port>
+</service>
+</definitions>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS.wsdl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/LoanBrokerWS.wsdl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<definitions name="LoanBrokerWSService" targetNamespace="http://localhost/trailblazer">
+	<types>
+	<schema elementFormDefault="qualified" targetNamespace="http://localhost/trailblazer">
+	<complexType name="WebCustomer">
+	<sequence>
+<element name="address" nillable="true" type="string"/>
+<element name="email" nillable="true" type="string"/>
+<element name="employerName" nillable="true" type="string"/>
+<element name="loanAmount" type="double"/>
+<element name="loanDuration" type="int"/>
+<element name="name" nillable="true" type="string"/>
+<element name="salary" type="double"/>
+<element name="ssn" type="int"/>
+</sequence>
+</complexType>
+</schema>
+</types>
+<message name="LoanBrokerWS_RequestLoanResponse"/>
+	<message name="LoanBrokerWS_RequestLoan">
+<part name="WebCustomer_1" type="tns:WebCustomer"/>
+</message>
+	<portType name="LoanBrokerWS">
+	<operation name="RequestLoan" parameterOrder="WebCustomer_1">
+<input message="tns:LoanBrokerWS_RequestLoan"/>
+<output message="tns:LoanBrokerWS_RequestLoanResponse"/>
+</operation>
+</portType>
+	<binding name="LoanBrokerWSBinding" type="tns:LoanBrokerWS">
+<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+	<operation name="RequestLoan">
+<soap:operation soapAction=""/>
+	<input>
+<soap:body namespace="http://localhost/trailblazer" use="literal"/>
+</input>
+	<output>
+<soap:body namespace="http://localhost/trailblazer" use="literal"/>
+</output>
+</operation>
+</binding>
+	<service name="LoanBrokerWSService">
+	<port binding="tns:LoanBrokerWSBinding" name="LoanBrokerWSPort">
+<soap:address location="http://localhost:8080/trailblazer/LoanBrokerWS"/>
+</port>
+</service>
+</definitions>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/from__loanbroker.cdrl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/from__loanbroker.cdrl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/from__loanbroker.cdrl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+<?xml version='1.0'?>
+<!DOCTYPE smooks-resource-list PUBLIC '-//MILYN//DTD SMOOKS 1.0//EN' 'http://milyn.org/dtd/smooksres-list-1.0.dtd'>
+
+<smooks-resource-list>
+
+	<!-- 
+		Bank Quotes from the loan broker are always in CSV format.  Need to enable a CSV to SAX parser
+		to enable transformation of these messages.
+		
+		See: http://milyn.codehaus.org/javadoc/smooks-cartridges/csv/org/milyn/csv/CSVParser.html
+	-->
+	<smooks-resource useragent="type:BankQuote-CSV AND from:LoanBroker" selector="org.xml.sax.driver" path="org.milyn.csv.CSVParser" >
+		<param name="fields" type="string-list">ssn,creditScore,creditHistoryLen,amount,term,customerUniqueId</param>
+	</smooks-resource>
+
+</smooks-resource-list>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/jboss-web.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/jboss-web.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/jboss-web.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<jboss-web>
+	<class-loading java2ClassLoadingCompliance="false">
+	<loader-repository>	
+		org.jboss.soa.esb:loader=jbossesb
+		<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
+	</loader-repository>
+	</class-loading>
+</jboss-web>
+
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,31 @@
+#################################################################################################################################################
+#
+# OVERVIEW:
+# =========
+# This is the Smooks configuration file "list file" i.e. it lists all the Smooks resource configuration files.  One should think of these
+# configuration files as being the Smooks configuration database.  These configurations may/will eventually be maintained in a database
+# with a graphical UI to aid comprehension.
+#
+# THINGS TO NOTE:
+# ===============
+# 1. Don't try to apply any significance to the fact that there are multiple .cdrl files.  This does not mean they are
+#    separate transformations.  All these files are loaded by Smooks to make up a "database" of transformation
+#    resource configurations.  Smooks will dynamically select the resource configurations that apply in a given situation
+#    based on the profiles associated with the requested transformation "useragent" e.g. message type, message producer,
+#    message consumer.
+#
+# 2. The .cdrl list entries in this file are resource references on the *classpath* i.e. they're not filesystem paths.
+#    These .cdrl files should all be located in the "transform" folder.
+#
+#################################################################################################################################################
+
+################################################################################
+# Message transformation resource definitions
+################################################################################
+/from__loanbroker.cdrl
+/to____jmsbank.cdrl
+
+################################################################################
+# Common transformation support resource definitions.
+################################################################################
+/org/milyn/templating/templating-cdu-creators-0.1.cdrl

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/to____jmsbank.cdrl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/to____jmsbank.cdrl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/to____jmsbank.cdrl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,40 @@
+<?xml version='1.0'?>
+<!DOCTYPE smooks-resource-list PUBLIC '-//MILYN//DTD SMOOKS 1.0//EN' 'http://milyn.org/dtd/smooksres-list-1.0.dtd'>
+
+<smooks-resource-list>
+
+	<!-- 
+		1.	Bank Quotes from the loan broker are always XML'ified CSV records.
+			See from__loanbroker.cdrl
+		2.	The JMSBank needs this data as XML, but the XML produced by CSVParser needs the following
+			modifications:
+			i)	A general restructuring of the <csv-record> elements to fit the format requirements of the JMSBank.
+				(See http://milyn.codehaus.org/javadoc/smooks-cartridges/templating/org/milyn/templating/xslt/XslContentDeliveryUnitCreator.html)
+			ii)	Remove the root <csv-set>.  We know that there's only one CSV record in this set and the JMSBank
+				expects the root to be "org.jboss.soa.esb.samples.loanbroker.banks.BankQuoteRequest".
+				(See http://milyn.codehaus.org/javadoc/smooks-cartridges/misc/org/milyn/cdres/trans/RemoveElementTU.html)
+				Note of course that this particular transformation could be easily avoided by simply targeting the XSLT
+				transformation at the <csv-set> element.  However, if multiple <csv-record> elements were present and
+				supported by the JMS Bank, a configuration like this would be more appropriate - the only difference being
+				that the <csv-set> would more like get renamed than removed.
+	-->
+	<smooks-resource useragent="type:BankQuote-CSV AND from:LoanBroker AND to:JMSBank" selector="csv-record">
+		<param name="restype">xsl</param>
+		<param name="resdata">
+			<![CDATA[
+				<org.jboss.soa.esb.samples.loanbroker.banks.BankQuoteRequest>
+					<ssn><xsl:value-of select="ssn"/></ssn>
+					<creditScore><xsl:value-of select="creditScore"/></creditScore>
+					<historyLength><xsl:value-of select="creditHistoryLen"/></historyLength>
+					<loanAmount><xsl:value-of select="amount"/></loanAmount>
+					<loanTerm><xsl:value-of select="term"/></loanTerm>
+					<customerUID><xsl:value-of select="customerUniqueId"/></customerUID>
+				</org.jboss.soa.esb.samples.loanbroker.banks.BankQuoteRequest>
+			]]>
+		</param>
+	</smooks-resource>
+	<smooks-resource useragent="type:BankQuote-CSV AND from:LoanBroker AND to:JMSBank" selector="csv-set" path="org.milyn.cdres.trans.RemoveElementTU">
+		<param name="keepChildContent">true</param>
+	</smooks-resource>
+
+</smooks-resource-list>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/web.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/web.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/resources/web.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> 
+	<servlet> 
+		<servlet-name>LoanBrokerWS</servlet-name> 
+		<servlet-class>org.jboss.soa.esb.samples.trailblazer.web.LoanBrokerWS</servlet-class>
+	</servlet>
+	<servlet-mapping>
+		<servlet-name>LoanBrokerWS</servlet-name>
+		<url-pattern>/LoanBrokerWS</url-pattern>
+	</servlet-mapping>
+</web-app>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/Customer.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/Customer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/Customer.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,44 @@
+package org.jboss.soa.esb.samples.trailblazer.loanbroker;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.io.Serializable;
+
+public class Customer implements Serializable {
+	
+	private static final long serialVersionUID = 1L;
+	public	String	name=""	,address=""	,employerName="";
+	public	double	salary=0.0	,loanAmount=0.0;
+	public	int		loanDuration=0;	
+	public int		ssn=0;
+	public String	email="";
+	public int creditScore=0;
+	public String quoteID, rateOffered, quoteCode;
+	
+	public String getCSV() {
+		String buff = (name+","+ssn+","+address+","+employerName+","+salary+","
+				+loanAmount+","+loanDuration+","+email+","+creditScore);
+				
+		return buff;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/CustomerMasterFile.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/CustomerMasterFile.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/CustomerMasterFile.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,88 @@
+package org.jboss.soa.esb.samples.trailblazer.loanbroker;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/*
+ * Utility class used to persist the customer quote requests to a serialized Hash list on the file system
+ * Key is the customer's SSN #
+ */
+
+public class CustomerMasterFile implements Serializable {
+	
+	private static final long serialVersionUID = 1L;
+	private static Map<String, Customer> customers;
+	private static final String TMP_DIR	= System.getProperty("java.io.tmpdir","/tmp");
+	private static final File FILE = new File(TMP_DIR, "customers");
+	
+	static {
+		getCustomers();
+	}
+	
+	public static synchronized void writeCustomers() {
+		try {
+			ObjectOutputStream stream = new ObjectOutputStream(new FileOutputStream(FILE));
+			stream.writeObject(customers);
+		} catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		
+		
+	}
+	
+	@SuppressWarnings("unchecked")
+	public static synchronized void  getCustomers() {
+		
+		try {
+			ObjectInputStream ois = new ObjectInputStream(new FileInputStream(FILE));
+			customers = (Map<String, Customer>)ois.readObject();
+		} catch (Exception e) {
+			customers = new HashMap<String, Customer>();
+		}	
+		
+	}
+	
+	public static Customer getCustomer(String id) {
+		return customers.get(id);
+	}
+	
+	public static void addCustomer(String id, Customer customer) {
+		customers.put(id, customer);
+		writeCustomers();
+	}
+	
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/LoanBroker.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/LoanBroker.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/LoanBroker.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,203 @@
+package org.jboss.soa.esb.samples.trailblazer.loanbroker;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.couriers.TwoWayCourier;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.samples.trailblazer.web.WebCustomer;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+
+/*
+ * LoanBroker is responsible for getting customer requests for loans onto the JBoss ESB
+ * Requests will come from a JSR-181 pojo web service (@org.jboss.soa.esb.samples.trailblazer.web.LoanBrokerWS)
+ * The sequence of events from the LoanBroker are:
+ * 1 - Prepare a request for the CreditAgency (transform the customer into a XML representation)
+ * 2 - Send to CreditAgency and get response (lookup the customer using the SSN (see @CustomerMasterFile)
+ * 3 - Prepare a LoanRequest for each of the banks in their unique data structures and send
+ * 4 - Collect the response(s) from the bank(s) and send an email to the customer with the quote offers
+ */
+
+public class LoanBroker {
+	
+	private static Logger logger = Logger.getLogger(LoanBroker.class);
+	//used to locate our entries in the trailblazer-properties
+	private final String MODULE_NAME = "trailblazer";
+	private final String SERVICE_NAME = "org.jboss.soa.esb.trailblazer.request.service.epr.name";
+	private final String SERVICE_CAT  = "org.jboss.soa.esb.trailblazer.request.service.category";
+	private final String JMS_BANK_QUEUE="org.jboss.soa.esb.trailblazer.jmsbank.queue";
+	
+	
+	public LoanBroker() {
+//		System.setProperty("org.jboss.soa.esb.propertyFile", "jbossesb-properties.xml");
+//		System.setProperty("juddi.propertiesFile", "juddi.properties");
+		
+	}
+	
+	public void processLoanRequest(WebCustomer wCustomer){
+		
+		Customer customer = getCustomer(wCustomer);
+		//keep the customer in a file someplace for later use, if needed
+		CustomerMasterFile.addCustomer(String.valueOf(customer.ssn), customer);
+		
+		//step 1 - send to credit agency for credit score if available
+
+		sendToCreditAgency(customer);
+		
+		//added a pause here to give the creditagency some time to reply
+		try {
+			Thread.sleep(5000);
+		} catch (InterruptedException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		
+		//step 2 - send to JMS Bank - async
+		System.out.println("sending to JMS Bank...");
+		sendToJMSBank(customer);		
+		
+	}
+	
+	private Customer getCustomer(WebCustomer wCustomer) {
+		Customer customer = new Customer();
+		customer.ssn = wCustomer.ssn;
+		customer.name = wCustomer.name;
+		customer.address = wCustomer.address;
+		customer.email = wCustomer.email;
+		customer.salary = wCustomer.salary;
+		customer.loanAmount = wCustomer.loanAmount;
+		customer.loanDuration = wCustomer.loanDuration;
+		customer.creditScore = 0;
+		
+		return customer;
+	}
+	
+	
+	//uses plain JMS to send a text message
+	private void sendToJMSBank(Customer customer) {
+		try {
+			//create a Quote Request that the bank expects
+			QuoteRequest quote = new QuoteRequest();
+			quote.ssn=customer.ssn;
+			quote.amount=(int)customer.loanAmount;
+			quote.creditScore=customer.creditScore;
+			quote.creditHistoryLen=0;	//not sure who added this one
+			quote.term=customer.loanDuration;
+			quote.customerEmail=customer.email;
+			
+			SendJMSMessage sender = new SendJMSMessage();
+			String queue = ModulePropertyManager.getPropertyManager(MODULE_NAME).getProperty(JMS_BANK_QUEUE);
+			sender.setupConnection(queue);
+			logger.debug("setting up jms connection to queue: " + queue);
+			logger.debug("sending text message to bank: " + quote.toString());
+			sender.sendAMessage(quote.getCSV());
+			sender.stop();
+		}catch (Exception e) {
+			logger.error(e);
+		}
+	}
+	
+	private int sendToCreditAgency(Customer customer) {
+		Message message = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+		Message replyMessage=null;
+		int score =0;				
+		
+		//set the customer inside the message - csv format for now to test
+		message.getBody().setContents(customer.getCSV().getBytes());	
+		
+		try {
+			logger.debug("sending to credit agency");
+			//registry setup stuff
+			Registry registry = RegistryFactory.getRegistry();
+			String serviceCategoryName = ModulePropertyManager.getPropertyManager(MODULE_NAME).getProperty(SERVICE_CAT);
+			String serviceName = ModulePropertyManager.getPropertyManager(MODULE_NAME).getProperty(SERVICE_NAME);			
+			logger.debug("looking for the following service in the registry -- Category: " + serviceCategoryName);
+			logger.debug("looking for the following service in the registry -- Name: " + serviceName);
+			
+			//EPRs to use for delivery and reply messages
+			JMSEpr toEPR=null, replyEPR=null;
+			
+			//find the service in the registry
+			toEPR = (JMSEpr)registry.findEPR(serviceCategoryName, serviceName);
+
+			//use a 2-way courier so we can grab the response
+			TwoWayCourier courier = CourierFactory.getCourier(toEPR, null);			
+			
+                        try
+                        {
+        			//needs to have this in order to get the reply
+        			if (message.getHeader().getCall()==null) {
+        				Call call = new Call();
+        				message.getHeader().setCall(call);
+        			}			
+        			
+        			if (null == courier) {
+        				logger.info("could not get a valid courier to deliver the message");
+        				throw new ActionProcessingException("could not find a courier to deliver the message for the serrvice " +
+        						"(category-name: " + serviceCategoryName +"-" + serviceCategoryName); }			
+        			
+        			replyEPR = (JMSEpr)CourierUtil.getTemporaryReplyToEpr(toEPR);
+        			message.getHeader().getCall().setReplyTo(replyEPR);
+        			
+        			//send the message and get the response
+        			if (courier.deliver(message)) {				
+        				courier.setReplyToEpr(replyEPR);
+        				replyMessage = courier.pickup(5000);	//wait for 5 seconds then give up
+        				if (replyMessage !=null) {
+        					logger.info("received reply from creditAgency action");
+        					logger.info("message received: " + replyMessage.getBody().getContents());
+        					String xx = new String(replyMessage.getBody().getContents());
+        					System.out.println("Loanbroker credit score received of: " + xx);
+        					score = Integer.parseInt(xx.trim());					
+        				}else {
+        					logger.debug("reply not received from credit agency - setting a value of 5");
+        					score = 5; 
+        				}
+        			} else
+        				throw new ActionProcessingException("error delivering the message to the credit agency");
+                        }
+                        finally
+                        {
+                            CourierUtil.cleanCourier(courier) ;
+                        }
+			
+		}catch (Exception ex2) {
+			logger.error("exception occured: " + ex2);
+			ex2.printStackTrace();
+		}
+		
+		return score;
+	}
+	
+	
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/QuoteRequest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/QuoteRequest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/QuoteRequest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,132 @@
+/*
+* 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.samples.trailblazer.loanbroker;
+
+import java.io.Serializable;
+
+
+public class QuoteRequest implements Serializable 
+{
+	private static final long serialVersionUID = 1L;
+	public int ssn;
+	public int creditScore;
+	public int creditHistoryLen;
+	public int amount;
+	public int term;
+	public String customerUniqueId;
+	public String customerEmail;
+	
+	/**
+	 * Gets for the credit score.
+	 * @return credit score
+	 */
+	public int getCreditScore() {
+		return creditScore;
+	}
+	/**
+	 * Sets the credit score.
+	 * @param creditScore
+	 */
+	public void setCreditScore(int creditScore) {
+		this.creditScore = creditScore;
+	}
+	/**
+	 * Gets the credit history length (in months).
+	 * @return credit history length
+	 */
+	public int getCreditHistoryLen() {
+		return creditHistoryLen;
+	}
+	/**
+	 * Sets the credit history length (in months).
+	 * @param creditHistoryLen
+	 */
+	public void setCreditHistoryLen(int historyLength) {
+		this.creditHistoryLen = historyLength;
+	}
+	/**
+	 * Gets the requested loan amount (in dollar).
+	 * @return the loan amount
+	 */
+	public int getAmount() {
+		return amount;
+	}
+	/** 
+	 * Sets the loan amount.
+	 * @param amount - the loan amount (in dollar).
+	 */
+	public void setAmount(int loanAmount) {
+		this.amount = loanAmount;
+	}
+	/**
+	 * Gets the duration of the loan, the term, (in months).
+	 * @return term
+	 */
+	public int getTerm() {
+		return term;
+	}
+	/**
+	 * Sets the term (duration) of the loan (in months)
+	 * @param term
+	 */
+	public void setTerm(int loanTerm) {
+		this.term = loanTerm;
+	}
+	/** 
+	 * Sets the Social Security Number (SSN).
+	 * @return ssn
+	 */
+	public int getSsn() {
+		return ssn;
+	}
+	/**
+	 * Sets the Social Security Number (SSN).
+	 * @param ssn
+	 */
+	public void setSsn(int ssn) {
+		this.ssn = ssn;
+	}
+	/**
+	 * Returns a human readable string representation of this object.
+	 * @return toString
+	 */
+	public String toString() {
+		return this.getClass().getSimpleName() + "=["
+			+ "ssn=" + ssn
+		    + ", creditScore=" + creditScore
+			+ ", creditHistoryLen=" + creditHistoryLen
+			+ ", amount=" + amount
+			+ ", term=" + term
+			+ ", customerUniqueId="+ customerUniqueId + "]";	
+	}
+	
+	public String getCSV() {
+		return (ssn+","+creditScore+","+creditHistoryLen+","+amount+","+term+","+ssn+","+customerEmail);
+	}
+	
+	public String getCustomerUniqueId() {
+		return customerUniqueId;
+	}
+	public void setCustomerUniqueId(String customerUID) {
+		this.customerUniqueId = customerUID;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/SendJMSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/loanbroker/SendJMSMessage.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,76 @@
+/*
+ * 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.trailblazer.loanbroker;
+
+import javax.jms.JMSException;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSender;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+public class SendJMSMessage {
+    QueueConnection conn;
+    QueueSession session;
+    Queue que;
+    
+    
+    public void setupConnection(String queue) throws JMSException, NamingException
+    {
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup(queue);
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+    	System.out.println("Connection Started");
+    }
+    
+    public void stop() throws JMSException 
+    { 
+        conn.stop();
+        session.close();
+        conn.close();
+    }
+    
+    public void sendAMessage(String msg) throws JMSException {
+    	
+        QueueSender send = session.createSender(que);        
+        TextMessage tm = session.createTextMessage(msg);
+        send.send(tm);        
+        send.close();
+    }
+       
+    
+//    public static void main(String args[]) throws Exception
+//    {        	    	
+//    	SendJMSMessage sm = new SendJMSMessage();
+//    	sm.setupConnection();
+//    	sm.sendAMessage(args[0]); 
+//    	sm.stop();
+//    	
+//    }
+    
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/LoanBrokerWS.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/LoanBrokerWS.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/LoanBrokerWS.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,51 @@
+/*
+ * 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.samples.trailblazer.web;
+
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.samples.trailblazer.loanbroker.LoanBroker;
+
+/**
+ * The Loan broker web service, which will handle a loan request. 
+ */
+ at WebService(name = "LoanBrokerWS", targetNamespace = "http://localhost/trailblazer")
+ at SOAPBinding(style = SOAPBinding.Style.RPC)
+public class LoanBrokerWS 
+{
+	private static Logger logger = Logger.getLogger(LoanBrokerWS.class);
+		
+	@WebMethod
+	// method name is .NET friendly
+	public void RequestLoan(WebCustomer customer) {
+			
+			logger.info("WebCustomer received: \n" + customer);
+			
+			LoanBroker broker = new LoanBroker();
+			broker.processLoanRequest(customer);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/WebCustomer.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/WebCustomer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/WebCustomer.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+
+/*
+ * a simple web Customer to use in the web services call and not expose the internal esb Customer object
+ */
+package org.jboss.soa.esb.samples.trailblazer.web;
+
+import java.io.Serializable;
+
+/*
+ * WebCustomer represents the data captured in the client JSP page
+ */
+
+ at SuppressWarnings("serial")
+public class WebCustomer implements Serializable
+{
+	public	String	name	,address	,employerName;
+	public	double	salary	,loanAmount;
+	public	int		loanDuration;	
+	public int		ssn;
+	public String	email;
+	
+	
+	public WebCustomer(){}
+	
+	public WebCustomer(String name, String address, String employerName, double salary, int loanDuration, double loanAmount, int ssn,String email) 
+    {
+		this.name			= name;
+		this.address		= address;
+		this.employerName	= employerName;
+		this.salary			= salary;
+		this.loanAmount		= loanAmount;
+		this.loanDuration	= loanDuration;
+		this.ssn 			= ssn;
+		this.email			= email;		
+    }//_________________________________________
+	
+	public String toString() {
+		String ret = "-- WebCustomer details -- \n";
+		ret += "name: " + name + "\n";
+		ret += "address: " + address + "\n";
+		ret += "employerName: " + employerName + "\n";
+		ret += "salary: " + salary + "\n";
+		ret += "loanAmount: " + loanAmount + "\n";
+		ret += "loanDuration: " + loanDuration + "\n";
+		ret += "ssn: " + ssn + "\n";
+		ret += "email: " + email + "\n";
+		ret += "--------------------------";
+		
+		return ret;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWS.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWS.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWS.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,33 @@
+/**
+ * LoanBrokerWS.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
+ */
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+package org.jboss.soa.esb.samples.trailblazer.web.generated;
+
+public interface LoanBrokerWS extends java.rmi.Remote {
+    public void requestLoan(org.jboss.soa.esb.samples.trailblazer.web.generated.WebCustomer webCustomer_1) throws java.rmi.RemoteException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSBindingStub.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSBindingStub.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSBindingStub.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,189 @@
+/**
+ * LoanBrokerWSBindingStub.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
+ */
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+
+package org.jboss.soa.esb.samples.trailblazer.web.generated;
+
+public class LoanBrokerWSBindingStub extends org.apache.axis.client.Stub implements org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS {
+    private java.util.Vector cachedSerClasses = new java.util.Vector();
+    private java.util.Vector cachedSerQNames = new java.util.Vector();
+    private java.util.Vector cachedSerFactories = new java.util.Vector();
+    private java.util.Vector cachedDeserFactories = new java.util.Vector();
+
+    static org.apache.axis.description.OperationDesc [] _operations;
+
+    static {
+        _operations = new org.apache.axis.description.OperationDesc[1];
+        _initOperationDesc1();
+    }
+
+    private static void _initOperationDesc1(){
+        org.apache.axis.description.OperationDesc oper;
+        org.apache.axis.description.ParameterDesc param;
+        oper = new org.apache.axis.description.OperationDesc();
+        oper.setName("RequestLoan");
+        param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "WebCustomer_1"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://localhost/trailblazer", "WebCustomer"), org.jboss.soa.esb.samples.trailblazer.web.generated.WebCustomer.class, false, false);
+        oper.addParameter(param);
+        oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);
+        oper.setStyle(org.apache.axis.constants.Style.RPC);
+        oper.setUse(org.apache.axis.constants.Use.LITERAL);
+        _operations[0] = oper;
+
+    }
+
+    public LoanBrokerWSBindingStub() throws org.apache.axis.AxisFault {
+         this(null);
+    }
+
+    public LoanBrokerWSBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
+         this(service);
+         super.cachedEndpoint = endpointURL;
+    }
+
+    @SuppressWarnings({ "unused", "unchecked" })
+    public LoanBrokerWSBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
+        if (service == null) {
+            super.service = new org.apache.axis.client.Service();
+        } else {
+            super.service = service;
+        }
+        ((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2");
+            java.lang.Class cls;
+            javax.xml.namespace.QName qName;
+			javax.xml.namespace.QName qName2;
+            java.lang.Class beansf = org.apache.axis.encoding.ser.BeanSerializerFactory.class;
+            java.lang.Class beandf = org.apache.axis.encoding.ser.BeanDeserializerFactory.class;
+            java.lang.Class enumsf = org.apache.axis.encoding.ser.EnumSerializerFactory.class;
+            java.lang.Class enumdf = org.apache.axis.encoding.ser.EnumDeserializerFactory.class;
+            java.lang.Class arraysf = org.apache.axis.encoding.ser.ArraySerializerFactory.class;
+            java.lang.Class arraydf = org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;
+            java.lang.Class simplesf = org.apache.axis.encoding.ser.SimpleSerializerFactory.class;
+            java.lang.Class simpledf = org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;
+            java.lang.Class simplelistsf = org.apache.axis.encoding.ser.SimpleListSerializerFactory.class;
+            java.lang.Class simplelistdf = org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class;
+            qName = new javax.xml.namespace.QName("http://localhost/trailblazer", "WebCustomer");
+            cachedSerQNames.add(qName);
+            cls = org.jboss.soa.esb.samples.trailblazer.web.generated.WebCustomer.class;
+            cachedSerClasses.add(cls);
+            cachedSerFactories.add(beansf);
+            cachedDeserFactories.add(beandf);
+
+    }
+
+    protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException {
+        try {
+            org.apache.axis.client.Call _call = super._createCall();
+            if (super.maintainSessionSet) {
+                _call.setMaintainSession(super.maintainSession);
+            }
+            if (super.cachedUsername != null) {
+                _call.setUsername(super.cachedUsername);
+            }
+            if (super.cachedPassword != null) {
+                _call.setPassword(super.cachedPassword);
+            }
+            if (super.cachedEndpoint != null) {
+                _call.setTargetEndpointAddress(super.cachedEndpoint);
+            }
+            if (super.cachedTimeout != null) {
+                _call.setTimeout(super.cachedTimeout);
+            }
+            if (super.cachedPortName != null) {
+                _call.setPortName(super.cachedPortName);
+            }
+            java.util.Enumeration keys = super.cachedProperties.keys();
+            while (keys.hasMoreElements()) {
+                java.lang.String key = (java.lang.String) keys.nextElement();
+                _call.setProperty(key, super.cachedProperties.get(key));
+            }
+            // All the type mapping information is registered
+            // when the first call is made.
+            // The type mapping information is actually registered in
+            // the TypeMappingRegistry of the service, which
+            // is the reason why registration is only needed for the first call.
+            synchronized (this) {
+                if (firstCall()) {
+                    // must set encoding style before registering serializers
+                    _call.setEncodingStyle(null);
+                    for (int i = 0; i < cachedSerFactories.size(); ++i) {
+                        java.lang.Class cls = (java.lang.Class) cachedSerClasses.get(i);
+                        javax.xml.namespace.QName qName =
+                                (javax.xml.namespace.QName) cachedSerQNames.get(i);
+                        java.lang.Object x = cachedSerFactories.get(i);
+                        if (x instanceof Class) {
+                            java.lang.Class sf = (java.lang.Class)
+                                 cachedSerFactories.get(i);
+                            java.lang.Class df = (java.lang.Class)
+                                 cachedDeserFactories.get(i);
+                            _call.registerTypeMapping(cls, qName, sf, df, false);
+                        }
+                        else if (x instanceof javax.xml.rpc.encoding.SerializerFactory) {
+                            org.apache.axis.encoding.SerializerFactory sf = (org.apache.axis.encoding.SerializerFactory)
+                                 cachedSerFactories.get(i);
+                            org.apache.axis.encoding.DeserializerFactory df = (org.apache.axis.encoding.DeserializerFactory)
+                                 cachedDeserFactories.get(i);
+                            _call.registerTypeMapping(cls, qName, sf, df, false);
+                        }
+                    }
+                }
+            }
+            return _call;
+        }
+        catch (java.lang.Throwable _t) {
+            throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t);
+        }
+    }
+
+    public void requestLoan(org.jboss.soa.esb.samples.trailblazer.web.generated.WebCustomer webCustomer_1) throws java.rmi.RemoteException {
+        if (super.cachedEndpoint == null) {
+            throw new org.apache.axis.NoEndPointException();
+        }
+        org.apache.axis.client.Call _call = createCall();
+        _call.setOperation(_operations[0]);
+        _call.setUseSOAPAction(true);
+        _call.setSOAPActionURI("");
+        _call.setEncodingStyle(null);
+        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
+        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
+        _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
+        _call.setOperationName(new javax.xml.namespace.QName("http://localhost/trailblazer", "RequestLoan"));
+
+        setRequestHeaders(_call);
+        setAttachments(_call);
+ try {        java.lang.Object _resp = _call.invoke(new java.lang.Object[] {webCustomer_1});
+
+        if (_resp instanceof java.rmi.RemoteException) {
+            throw (java.rmi.RemoteException)_resp;
+        }
+        extractAttachments(_call);
+  } catch (org.apache.axis.AxisFault axisFaultException) {
+  throw axisFaultException;
+}
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSProxy.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSProxy.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSProxy.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,70 @@
+/*
+ * 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 mark.little at jboss.com
+ */
+
+package org.jboss.soa.esb.samples.trailblazer.web.generated;
+
+public class LoanBrokerWSProxy implements org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS {
+  private String _endpoint = null;
+  private org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS loanBrokerWS = null;
+  
+  public LoanBrokerWSProxy() {
+    _initLoanBrokerWSProxy();
+  }
+  
+  private void _initLoanBrokerWSProxy() {
+    try {
+      loanBrokerWS = (new org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSServiceLocator()).getLoanBrokerWSPort();
+      if (loanBrokerWS != null) {
+        if (_endpoint != null)
+          ((javax.xml.rpc.Stub)loanBrokerWS)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
+        else
+          _endpoint = (String)((javax.xml.rpc.Stub)loanBrokerWS)._getProperty("javax.xml.rpc.service.endpoint.address");
+      }
+      
+    }
+    catch (javax.xml.rpc.ServiceException serviceException) {}
+  }
+  
+  public String getEndpoint() {
+    return _endpoint;
+  }
+  
+  public void setEndpoint(String endpoint) {
+    _endpoint = endpoint;
+    if (loanBrokerWS != null)
+      ((javax.xml.rpc.Stub)loanBrokerWS)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
+    
+  }
+  
+  public org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS getLoanBrokerWS() {
+    if (loanBrokerWS == null)
+      _initLoanBrokerWSProxy();
+    return loanBrokerWS;
+  }
+  
+  public void requestLoan(org.jboss.soa.esb.samples.trailblazer.web.generated.WebCustomer webCustomer_1) throws java.rmi.RemoteException{
+    if (loanBrokerWS == null)
+      _initLoanBrokerWSProxy();
+    loanBrokerWS.requestLoan(webCustomer_1);
+  }
+  
+  
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSService.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSService.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSService.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,38 @@
+/**
+ * LoanBrokerWSService.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
+ */
+
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+package org.jboss.soa.esb.samples.trailblazer.web.generated;
+
+public interface LoanBrokerWSService extends javax.xml.rpc.Service {
+    public java.lang.String getLoanBrokerWSPortAddress();
+
+    public org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS getLoanBrokerWSPort() throws javax.xml.rpc.ServiceException;
+
+    public org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS getLoanBrokerWSPort(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSServiceLocator.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSServiceLocator.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/LoanBrokerWSServiceLocator.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,166 @@
+/**
+ * LoanBrokerWSServiceLocator.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
+ */
+
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+package org.jboss.soa.esb.samples.trailblazer.web.generated;
+
+ at SuppressWarnings("serial")
+public class LoanBrokerWSServiceLocator extends org.apache.axis.client.Service implements org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSService {
+
+    public LoanBrokerWSServiceLocator() {
+    }
+
+
+    public LoanBrokerWSServiceLocator(org.apache.axis.EngineConfiguration config) {
+        super(config);
+    }
+
+    public LoanBrokerWSServiceLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException {
+        super(wsdlLoc, sName);
+    }
+
+    // Use to get a proxy class for LoanBrokerWSPort
+    private java.lang.String LoanBrokerWSPort_address = "http://localhost:8080/trailblazer/LoanBrokerWS";
+
+    public java.lang.String getLoanBrokerWSPortAddress() {
+        return LoanBrokerWSPort_address;
+    }
+
+    // The WSDD service name defaults to the port name.
+    private java.lang.String LoanBrokerWSPortWSDDServiceName = "LoanBrokerWSPort";
+
+    public java.lang.String getLoanBrokerWSPortWSDDServiceName() {
+        return LoanBrokerWSPortWSDDServiceName;
+    }
+
+    public void setLoanBrokerWSPortWSDDServiceName(java.lang.String name) {
+        LoanBrokerWSPortWSDDServiceName = name;
+    }
+
+    public org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS getLoanBrokerWSPort() throws javax.xml.rpc.ServiceException {
+       java.net.URL endpoint;
+        try {
+            endpoint = new java.net.URL(LoanBrokerWSPort_address);
+        }
+        catch (java.net.MalformedURLException e) {
+            throw new javax.xml.rpc.ServiceException(e);
+        }
+        return getLoanBrokerWSPort(endpoint);
+    }
+
+    public org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS getLoanBrokerWSPort(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {
+        try {
+            org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSBindingStub _stub = new org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSBindingStub(portAddress, this);
+            _stub.setPortName(getLoanBrokerWSPortWSDDServiceName());
+            return _stub;
+        }
+        catch (org.apache.axis.AxisFault e) {
+            return null;
+        }
+    }
+
+    public void setLoanBrokerWSPortEndpointAddress(java.lang.String address) {
+        LoanBrokerWSPort_address = address;
+    }
+
+    /**
+     * For the given interface, get the stub implementation.
+     * If this service has no port for the given interface,
+     * then ServiceException is thrown.
+     */
+    public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
+        try {
+            if (org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWS.class.isAssignableFrom(serviceEndpointInterface)) {
+                org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSBindingStub _stub = new org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSBindingStub(new java.net.URL(LoanBrokerWSPort_address), this);
+                _stub.setPortName(getLoanBrokerWSPortWSDDServiceName());
+                return _stub;
+            }
+        }
+        catch (java.lang.Throwable t) {
+            throw new javax.xml.rpc.ServiceException(t);
+        }
+        throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface:  " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));
+    }
+
+    /**
+     * For the given interface, get the stub implementation.
+     * If this service has no port for the given interface,
+     * then ServiceException is thrown.
+     */
+    public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
+        if (portName == null) {
+            return getPort(serviceEndpointInterface);
+        }
+        java.lang.String inputPortName = portName.getLocalPart();
+        if ("LoanBrokerWSPort".equals(inputPortName)) {
+            return getLoanBrokerWSPort();
+        }
+        else  {
+            java.rmi.Remote _stub = getPort(serviceEndpointInterface);
+            ((org.apache.axis.client.Stub) _stub).setPortName(portName);
+            return _stub;
+        }
+    }
+
+    public javax.xml.namespace.QName getServiceName() {
+        return new javax.xml.namespace.QName("http://localhost/trailblazer", "LoanBrokerWSService");
+    }
+
+    private java.util.HashSet ports = null;
+
+    @SuppressWarnings("unchecked")
+	public java.util.Iterator getPorts() {
+        if (ports == null) {
+            ports = new java.util.HashSet();
+            ports.add(new javax.xml.namespace.QName("http://localhost/trailblazer", "LoanBrokerWSPort"));
+        }
+        return ports.iterator();
+    }
+
+    /**
+    * Set the endpoint address for the specified port name.
+    */
+    public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
+        
+if ("LoanBrokerWSPort".equals(portName)) {
+            setLoanBrokerWSPortEndpointAddress(address);
+        }
+        else 
+{ // Unknown Port Name
+            throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName);
+        }
+    }
+
+    /**
+    * Set the endpoint address for the specified port name.
+    */
+    public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
+        setEndpointAddress(portName.getLocalPart(), address);
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/WebCustomer.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/WebCustomer.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/client/src/org/jboss/soa/esb/samples/trailblazer/web/generated/WebCustomer.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,378 @@
+/**
+ * WebCustomer.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
+ */
+
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+package org.jboss.soa.esb.samples.trailblazer.web.generated;
+
+ at SuppressWarnings("serial")
+public class WebCustomer  implements java.io.Serializable {
+    private java.lang.String address;
+
+    private java.lang.String email;
+
+    private java.lang.String employerName;
+
+    private double loanAmount;
+
+    private int loanDuration;
+
+    private java.lang.String name;
+
+    private double salary;
+
+    private int ssn;
+
+    public WebCustomer() {
+    }
+
+    public WebCustomer(
+           java.lang.String address,
+           java.lang.String email,
+           java.lang.String employerName,
+           double loanAmount,
+           int loanDuration,
+           java.lang.String name,
+           double salary,
+           int ssn) {
+           this.address = address;
+           this.email = email;
+           this.employerName = employerName;
+           this.loanAmount = loanAmount;
+           this.loanDuration = loanDuration;
+           this.name = name;
+           this.salary = salary;
+           this.ssn = ssn;
+    }
+
+
+    /**
+     * Gets the address value for this WebCustomer.
+     * 
+     * @return address
+     */
+    public java.lang.String getAddress() {
+        return address;
+    }
+
+
+    /**
+     * Sets the address value for this WebCustomer.
+     * 
+     * @param address
+     */
+    public void setAddress(java.lang.String address) {
+        this.address = address;
+    }
+
+
+    /**
+     * Gets the email value for this WebCustomer.
+     * 
+     * @return email
+     */
+    public java.lang.String getEmail() {
+        return email;
+    }
+
+
+    /**
+     * Sets the email value for this WebCustomer.
+     * 
+     * @param email
+     */
+    public void setEmail(java.lang.String email) {
+        this.email = email;
+    }
+
+
+    /**
+     * Gets the employerName value for this WebCustomer.
+     * 
+     * @return employerName
+     */
+    public java.lang.String getEmployerName() {
+        return employerName;
+    }
+
+
+    /**
+     * Sets the employerName value for this WebCustomer.
+     * 
+     * @param employerName
+     */
+    public void setEmployerName(java.lang.String employerName) {
+        this.employerName = employerName;
+    }
+
+
+    /**
+     * Gets the loanAmount value for this WebCustomer.
+     * 
+     * @return loanAmount
+     */
+    public double getLoanAmount() {
+        return loanAmount;
+    }
+
+
+    /**
+     * Sets the loanAmount value for this WebCustomer.
+     * 
+     * @param loanAmount
+     */
+    public void setLoanAmount(double loanAmount) {
+        this.loanAmount = loanAmount;
+    }
+
+
+    /**
+     * Gets the loanDuration value for this WebCustomer.
+     * 
+     * @return loanDuration
+     */
+    public int getLoanDuration() {
+        return loanDuration;
+    }
+
+
+    /**
+     * Sets the loanDuration value for this WebCustomer.
+     * 
+     * @param loanDuration
+     */
+    public void setLoanDuration(int loanDuration) {
+        this.loanDuration = loanDuration;
+    }
+
+
+    /**
+     * Gets the name value for this WebCustomer.
+     * 
+     * @return name
+     */
+    public java.lang.String getName() {
+        return name;
+    }
+
+
+    /**
+     * Sets the name value for this WebCustomer.
+     * 
+     * @param name
+     */
+    public void setName(java.lang.String name) {
+        this.name = name;
+    }
+
+
+    /**
+     * Gets the salary value for this WebCustomer.
+     * 
+     * @return salary
+     */
+    public double getSalary() {
+        return salary;
+    }
+
+
+    /**
+     * Sets the salary value for this WebCustomer.
+     * 
+     * @param salary
+     */
+    public void setSalary(double salary) {
+        this.salary = salary;
+    }
+
+
+    /**
+     * Gets the ssn value for this WebCustomer.
+     * 
+     * @return ssn
+     */
+    public int getSsn() {
+        return ssn;
+    }
+
+
+    /**
+     * Sets the ssn value for this WebCustomer.
+     * 
+     * @param ssn
+     */
+    public void setSsn(int ssn) {
+        this.ssn = ssn;
+    }
+
+    private java.lang.Object __equalsCalc = null;
+    public synchronized boolean equals(java.lang.Object obj) {
+        if (!(obj instanceof WebCustomer)) return false;
+        WebCustomer other = (WebCustomer) obj;
+        if (obj == null) return false;
+        if (this == obj) return true;
+        if (__equalsCalc != null) {
+            return (__equalsCalc == obj);
+        }
+        __equalsCalc = obj;
+        boolean _equals;
+        _equals = true && 
+            ((this.address==null && other.getAddress()==null) || 
+             (this.address!=null &&
+              this.address.equals(other.getAddress()))) &&
+            ((this.email==null && other.getEmail()==null) || 
+             (this.email!=null &&
+              this.email.equals(other.getEmail()))) &&
+            ((this.employerName==null && other.getEmployerName()==null) || 
+             (this.employerName!=null &&
+              this.employerName.equals(other.getEmployerName()))) &&
+            this.loanAmount == other.getLoanAmount() &&
+            this.loanDuration == other.getLoanDuration() &&
+            ((this.name==null && other.getName()==null) || 
+             (this.name!=null &&
+              this.name.equals(other.getName()))) &&
+            this.salary == other.getSalary() &&
+            this.ssn == other.getSsn();
+        __equalsCalc = null;
+        return _equals;
+    }
+
+    private boolean __hashCodeCalc = false;
+    public synchronized int hashCode() {
+        if (__hashCodeCalc) {
+            return 0;
+        }
+        __hashCodeCalc = true;
+        int _hashCode = 1;
+        if (getAddress() != null) {
+            _hashCode += getAddress().hashCode();
+        }
+        if (getEmail() != null) {
+            _hashCode += getEmail().hashCode();
+        }
+        if (getEmployerName() != null) {
+            _hashCode += getEmployerName().hashCode();
+        }
+        _hashCode += new Double(getLoanAmount()).hashCode();
+        _hashCode += getLoanDuration();
+        if (getName() != null) {
+            _hashCode += getName().hashCode();
+        }
+        _hashCode += new Double(getSalary()).hashCode();
+        _hashCode += getSsn();
+        __hashCodeCalc = false;
+        return _hashCode;
+    }
+
+    // Type metadata
+    private static org.apache.axis.description.TypeDesc typeDesc =
+        new org.apache.axis.description.TypeDesc(WebCustomer.class, true);
+
+    static {
+        typeDesc.setXmlType(new javax.xml.namespace.QName("http://localhost/trailblazer", "WebCustomer"));
+        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
+        elemField.setFieldName("address");
+        elemField.setXmlName(new javax.xml.namespace.QName("http://localhost/trailblazer", "address"));
+        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+        elemField.setNillable(true);
+        typeDesc.addFieldDesc(elemField);
+        elemField = new org.apache.axis.description.ElementDesc();
+        elemField.setFieldName("email");
+        elemField.setXmlName(new javax.xml.namespace.QName("http://localhost/trailblazer", "email"));
+        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+        elemField.setNillable(true);
+        typeDesc.addFieldDesc(elemField);
+        elemField = new org.apache.axis.description.ElementDesc();
+        elemField.setFieldName("employerName");
+        elemField.setXmlName(new javax.xml.namespace.QName("http://localhost/trailblazer", "employerName"));
+        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+        elemField.setNillable(true);
+        typeDesc.addFieldDesc(elemField);
+        elemField = new org.apache.axis.description.ElementDesc();
+        elemField.setFieldName("loanAmount");
+        elemField.setXmlName(new javax.xml.namespace.QName("http://localhost/trailblazer", "loanAmount"));
+        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
+        elemField.setNillable(false);
+        typeDesc.addFieldDesc(elemField);
+        elemField = new org.apache.axis.description.ElementDesc();
+        elemField.setFieldName("loanDuration");
+        elemField.setXmlName(new javax.xml.namespace.QName("http://localhost/trailblazer", "loanDuration"));
+        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
+        elemField.setNillable(false);
+        typeDesc.addFieldDesc(elemField);
+        elemField = new org.apache.axis.description.ElementDesc();
+        elemField.setFieldName("name");
+        elemField.setXmlName(new javax.xml.namespace.QName("http://localhost/trailblazer", "name"));
+        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
+        elemField.setNillable(true);
+        typeDesc.addFieldDesc(elemField);
+        elemField = new org.apache.axis.description.ElementDesc();
+        elemField.setFieldName("salary");
+        elemField.setXmlName(new javax.xml.namespace.QName("http://localhost/trailblazer", "salary"));
+        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
+        elemField.setNillable(false);
+        typeDesc.addFieldDesc(elemField);
+        elemField = new org.apache.axis.description.ElementDesc();
+        elemField.setFieldName("ssn");
+        elemField.setXmlName(new javax.xml.namespace.QName("http://localhost/trailblazer", "ssn"));
+        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
+        elemField.setNillable(false);
+        typeDesc.addFieldDesc(elemField);
+    }
+
+    /**
+     * Return type metadata object
+     */
+    public static org.apache.axis.description.TypeDesc getTypeDesc() {
+        return typeDesc;
+    }
+
+    /**
+     * Get Custom Serializer
+     */
+    public static org.apache.axis.encoding.Serializer getSerializer(
+           java.lang.String mechType, 
+           java.lang.Class _javaType,  
+           javax.xml.namespace.QName _xmlType) {
+        return 
+          new  org.apache.axis.encoding.ser.BeanSerializer(
+            _javaType, _xmlType, typeDesc);
+    }
+
+    /**
+     * Get Custom Deserializer
+     */
+    public static org.apache.axis.encoding.Deserializer getDeserializer(
+           java.lang.String mechType, 
+           java.lang.Class _javaType,  
+           javax.xml.namespace.QName _xmlType) {
+        return 
+          new  org.apache.axis.encoding.ser.BeanDeserializer(
+            _javaType, _xmlType, typeDesc);
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,106 @@
+<project name="TRAILBLAZER" default="org.jboss.esb.samples.trailblazer.esb.compile" basedir=".">
+
+	<property name="org.jboss.soa.samples.trailblazer.esb_home"	 	value="../../.."/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.dest"        	value="${basedir}/build"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.classes.dir" 	value="${basedir}/build/classes/esb/"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.testclasses.dir"  value="${basedir}/build/classes/tests/"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.src.dir"          value="${basedir}/src"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.test.dir"         value="${basedir}/test"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.lib.dir"      	value="${basedir}/lib"/>
+	<property name="org.jboss.esb.samples.trailblazer.esb.tests.report.dir" value="${basedir}/build/tests"/>
+
+	<!-- UPDATE THIS WITH YOUR JBOSS_HOME -->
+	<property name="org.jboss.soa.samples.trailblazer.jboss_home" 		value="/usr/local/jboss-4.0.4"/>
+
+	<property environment="env" />
+
+        <property name="org.jboss.soa.esb.lib.file" value="jbossesb-rosetta.jar"/>
+        <property name="org.jboss.soa.esb.lib.dist.dir" value="${org.jboss.soa.samples.trailblazer.esb_home}/lib"/>
+        <property name="org.jboss.soa.esb.lib.src.dir" value="../../../build/jbossesb/lib"/>
+
+	<available file="${org.jboss.soa.esb.lib.file}"
+            filepath="${org.jboss.soa.esb.lib.dist.dir}"
+            property="org.jboss.soa.esb.lib.dir"
+            value="${org.jboss.soa.esb.lib.dist.dir}"/>
+
+	<available file="${org.jboss.soa.esb.lib.file}"
+            filepath="${org.jboss.soa.esb.lib.src.dir}"
+            property="org.jboss.soa.esb.lib.dir"
+            value="${org.jboss.soa.esb.lib.src.dir}"/>
+
+
+	<!-- classpath -->
+	<path id="org.jboss.esb.samples.trailblazer.esb.classpath">
+		<fileset dir="${org.jboss.esb.samples.trailblazer.esb.lib.dir}/ext" includes="*.jar"/>
+		<fileset dir="${org.jboss.soa.esb.lib.dir}/ext" includes="*.jar"/>
+		<fileset dir="${org.jboss.soa.samples.trailblazer.jboss_home}/client" includes="jbossall-client.jar jbossws-client.jar mail.jar"/>
+		<fileset dir="${org.jboss.soa.esb.lib.dir}" includes="*.jar"/>
+	</path>
+
+	<!-- classpath for running the listener-->
+	<path id="org.jboss.esb.samples.trailblazer.esb.classpath.run">
+		<fileset dir="${org.jboss.esb.samples.trailblazer.esb.dest}/dist" includes="trailblazer-esb.jar"/>
+		<fileset dir="${org.jboss.soa.samples.trailblazer.esb_home}/lib/ext" includes="*.jar"/>
+		<fileset dir="${org.jboss.soa.esb.lib.dir}/ext" includes="*.jar"/>
+		<!-- for finding the jbossesb-properties.xml file -->
+		<fileset dir="${org.jboss.soa.samples.trailblazer.esb_home}/install/conf" includes="*.jar"/>	
+	</path>
+
+	<target name="clean">
+		<delete dir="${org.jboss.esb.samples.trailblazer.esb.dest}" />
+	</target>
+	
+	<!-- =================================================================== -->
+	<!-- Prepares the directory structure                                    -->
+	<!-- =================================================================== -->
+	<target name="org.jboss.esb.samples.trailblazer.esb.prepare">
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.esb.dest}"/>
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.esb.dest}/dist"/>
+		<mkdir dir="${org.jboss.esb.samples.trailblazer.esb.dest}/classes/esb"/>
+	</target>
+
+	<!-- Compilation targets -->
+	<target name="org.jboss.esb.samples.trailblazer.esb.compile" depends="org.jboss.esb.samples.trailblazer.esb.prepare"
+		description="Compile all classes">
+
+		<javac
+		            destdir="${org.jboss.esb.samples.trailblazer.esb.classes.dir}"
+		            classpathref="org.jboss.esb.samples.trailblazer.esb.classpath"
+		        	debug="true"
+		        	>
+			<src path="${org.jboss.esb.samples.trailblazer.esb.src.dir}"/>
+		</javac>
+
+	</target>
+
+	<!-- javadocs paths -->
+	<path id="org.jboss.esb.samples.trailblazer.esb.javadocs.path">
+		<pathelement path="esb/classes"/>
+	</path>
+
+	<!-- Jar targets -->
+	<target name="org.jboss.esb.samples.trailblazer.esb.jar" depends="org.jboss.esb.samples.trailblazer.esb.compile" >
+		<echo message="Building Trailblazer ESB jar file"/>
+		<delete file="${org.jboss.esb.samples.trailblazer.esb.dest}/dist/trailblazer-esb.jar" />
+		<jar    destfile="${org.jboss.esb.samples.trailblazer.esb.dest}/dist/trailblazer-esb.jar" 
+                basedir="${org.jboss.esb.samples.trailblazer.esb.classes.dir}" 
+                includes="**/*.class" excludes="**/web/*.class"
+                />
+	</target>
+
+	<!-- Short target names -->
+	<target name="compile" depends="org.jboss.esb.samples.trailblazer.esb.compile"/>
+	<target name="jar" depends="org.jboss.esb.samples.trailblazer.esb.jar"/>
+
+	<!-- run the listener -->
+	<target name="runESB" depends="org.jboss.esb.samples.trailblazer.esb.jar">
+		<echo>Running ESB Trailblazer listeners</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.samples.trailblazer.util.Launcher" failonerror="true" 
+			args="10 /home/dbrum/dev/jbossesb/product/samples/trailblazer2/conf/jbossesb-trailblazer.xml">
+			<classpath refid="org.jboss.esb.samples.trailblazer.esb.classpath"/>
+			<classpath refid="org.jboss.esb.samples.trailblazer.esb.classpath.run"/>
+		</java>
+	</target>
+
+		
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/conf/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/conf/jbossesb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/conf/jbossesb.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,52 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd" 
+	parameterReloadSecs="5000">
+
+	<providers>
+		<jms-provider name="JBossMQ" connection-factory="ConnectionFactory" 
+					jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+					jndi-URL="localhost">
+			<jms-bus busid="creditAgencyRequest">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/esb-tb-creditAgencyQueue" selector="function='request' "/>
+			</jms-bus>
+			<jms-bus busid="bankResponseGateway">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/esb-tb-bankGatewayResponseQueue"/>
+			</jms-bus>			
+			<jms-bus busid="bankResponseListener">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/esb-tb-bankResponseQueue"/>
+			</jms-bus>
+		</jms-provider>
+
+	</providers>
+	<services>    
+		
+		<service category="tbCreditAGency" name="creditagency" description="Credit Agency Service">
+			<listeners>
+				<jms-listener name="trailblazer-jmscreditagency"
+							  busidref="creditAgencyRequest"
+							  maxThreads="1"/>							  
+				</listeners>
+			<actions>
+				<action class="org.jboss.soa.esb.samples.trailblazer.actions.CreditAgencyActions"
+					process="processCreditRequest" name="fido">
+				</action>
+			</actions>
+		</service>
+		<service category="tbJmsbank" name="jmsbankreplies" description="Trailblazer Bank Reply Service">
+			<listeners>
+				<jms-listener name="trailblazer-jmsbank"
+					busidref="bankResponseGateway"
+					maxThreads="1"
+					is-gateway="true"/>
+				<jms-listener name="trailblazer-jmsbankreplies"
+							  busidref="bankResponseListener"
+							  maxThreads="1"/> 
+			</listeners>
+			<actions>
+				<action class="org.jboss.soa.esb.samples.trailblazer.actions.BankResponseActions"
+						process="processResponseFromJMSBank" name="pepe"/>
+			</actions>
+		</service>
+	</services>
+	
+</jbossesb>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/c3p0-0.9.1-pre9.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/c3p0-0.9.1-pre9.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/commons-logging.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/hsqldb.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/hsqldb.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/milyn-smooks-csv-0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/milyn-smooks-csv-0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/opencsv-1.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/lib/ext/opencsv-1.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic 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">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="./trailblazer.log"/>
+      <param name="Append" value="false"/>
+
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+      <!-- Rollover at the top of each hour
+      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+         <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+          -->
+      </layout>
+   </appender>
+
+   <!-- 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="${jboss.server.log.dir}/server.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 [%c] %m%n"/>
+     </layout>	    
+   </appender>
+   -->
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ====================== -->
+   <!-- More Appender examples -->
+   <!-- ====================== -->
+
+   <!-- Buffer events and log them asynchronously
+   <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <appender-ref ref="FILE"/>
+     <appender-ref ref="CONSOLE"/>
+     <appender-ref ref="SMTP"/>
+   </appender>
+   -->
+
+   <!-- EMail events to an administrator
+   <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="To" value="admin at myhost.domain.com"/>
+     <param name="From" value="nobody at myhost.domain.com"/>
+     <param name="Subject" value="JBoss Sever Errors"/>
+     <param name="SMTPHost" value="localhost"/>
+     <param name="BufferSize" value="10"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Syslog events
+   <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Facility" value="LOCAL7"/>
+     <param name="FacilityPrinting" value="true"/>
+     <param name="SyslogHost" value="localhost"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Log events to JMS (requires a topic to be created)
+   <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
+     <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
+   </appender>
+   -->
+
+   <!-- Log events through SNMP
+   <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
+     <param name="ManagementHost" value="127.0.0.1"/>
+     <param name="ManagementHostTrapListenPort" value="162"/>
+     <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
+     <param name="LocalIPAddress" value="127.0.0.1"/>
+     <param name="LocalTrapSendPort" value="161"/>
+     <param name="GenericTrapType" value="6"/>
+     <param name="SpecificTrapType" value="12345678"/>
+     <param name="CommunityString" value="public"/>
+     <param name="ForwardStackTraceWithTrap" value="true"/>
+     <param name="Threshold" value="DEBUG"/>
+     <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
+     <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!--  Emit events as JMX notifications
+   <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      
+      <param name="Threshold" value="WARN"/>
+      <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+      
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
+      </layout>
+   </appender>
+   -->
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="WARN"/>
+   </category>
+   
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <category name="org.milyn">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.milyn.delivery.SmooksXML">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.milyn.delivery.serialize.Serializer">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.milyn.cdr.XMLConfigDigester">
+      <priority value="INFO"/>
+   </category>
+   <category name="org.jboss.soa.esb.samples.trailblazer">
+      <priority value="INFO"/>
+   </category>
+
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+   <!-- Clustering logging -->
+   <!-- Uncomment the following to redirect the org.jgroups and
+      org.jboss.ha categories to a cluster.log file.
+
+   <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="${jboss.server.log.dir}/cluster.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 [%c] %m%n"/>
+     </layout>
+   </appender>
+   <category name="org.jgroups">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   <category name="org.jboss.ha">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   -->
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/BankResponseActions.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/BankResponseActions.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/BankResponseActions.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,65 @@
+package org.jboss.soa.esb.samples.trailblazer.actions;
+
+/*
+ * 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 mark.little at jboss.com
+ */
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.samples.trailblazer.util.ProcessEmail;
+
+public class BankResponseActions {
+	
+	protected Message 		_message;
+	protected ConfigTree	_config;
+	
+	private static Logger _logger = Logger.getLogger(BankResponseActions.class);
+	
+	public BankResponseActions(ConfigTree config) { _config = config; }
+	
+	public Message processResponseFromJMSBank(Message message) throws Exception {
+		System.out.println("Got the message from the JMS bank: " + message.getBody().getContents());
+		_message = message;
+		
+		_logger.debug("message received: \n" + new String(message.getBody().getContents()));
+		
+		//get the response from the bank and set it in the customer
+		ConfigTree tree = ConfigTree.fromXml(new String(message.getBody().getContents()));		
+		String quoteID = tree.getFirstTextChild("quoteId");
+		String rate = tree.getFirstTextChild("interestRate");
+		String errorCode = tree.getFirstTextChild("errorCode");
+		String ssn = tree.getFirstTextChild("customerUID");
+		String email = tree.getFirstTextChild("customerEmail");
+		_logger.debug("info using for email: " + quoteID +" "+rate+" "+errorCode+" "+ssn+" "+email);
+		//_logger.debug("email address found: " + email);
+		
+		
+		
+		_logger.debug("preparing to send the quote response via email to customer");
+		ProcessEmail procEmail = new ProcessEmail(email, quoteID, rate, errorCode, ssn);
+		procEmail.sendEmail();
+		
+		
+		
+		return message;
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/actions/CreditAgencyActions.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,95 @@
+package org.jboss.soa.esb.samples.trailblazer.actions;
+
+/*
+ * 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,
+ * @daniel.brum at jboss.com
+ */
+
+import java.util.Random;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.couriers.CourierUtil;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.util.Util;
+
+public class CreditAgencyActions {
+	protected Message 		_message;
+	protected ConfigTree	_config;
+	
+	private static Logger _logger = Logger.getLogger(CreditAgencyActions.class);
+	
+	public CreditAgencyActions(ConfigTree config) { _config = config; }
+	
+	public Message noOperation(Message message) { return message; }
+	
+	public Message processCreditRequest(Message message) throws Exception{
+		
+		_message = message;
+		Message replyMessage=null;
+		
+		_logger.debug("message received: " + Util.serialize(message) );		
+		
+		String csvData = new String(message.getBody().getContents());
+		_logger.debug("csv data received: " + csvData);
+		
+		
+		//generate a random score between 1 and 10
+		Random rand = new Random();
+		int n = 10;
+		int score = rand.nextInt(n+1);
+		
+		//send back the reply
+		replyMessage = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);		
+		_logger.info("CreditAgency sending back a credit score of " + score);
+		replyMessage.getBody().setContents(Integer.toString(score).getBytes());		
+		EPR replyEPR = message.getHeader().getCall().getReplyTo();
+		final Courier courier = CourierFactory.getCourier(replyEPR) ;
+                try
+                {
+                    courier.deliver(replyMessage);       
+                }
+                finally
+                {
+                    CourierUtil.cleanCourier(courier) ;
+                }
+		
+		//send the message back to the action processing chain
+		return message;
+	}
+	
+	public Message debugMessage(Message message) throws Exception{
+		
+		_message = message;
+		_logger.debug("message received in processCreditRequest with message: " + Util.serialize(message));
+
+		
+		
+		return message;
+	}
+	
+	
+}
+
+

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/HsqldbUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/HsqldbUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/HsqldbUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,89 @@
+/*
+ * 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.trailblazer.util;
+
+import java.sql.DriverManager;
+import java.sql.Statement;
+
+import org.apache.log4j.Logger;
+import org.hsqldb.Server;
+/**
+ * Utility to start and stop a hsql Database.
+ * 
+ * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
+ *
+ */
+public class HsqldbUtil 
+{
+	final private static String THREAD_NAME = "hypersonic-unittest";
+	
+	private static Logger _logger = Logger.getLogger(HsqldbUtil.class);
+	/**
+	 * Starts the hsql database in it's own thread. 
+	 * Don't forget to shut it down when you're done.
+	 * 
+	 * @param databaseFile - i.e. build/hsqltestdb
+	 * @param databaseName - i.e. jbossesb
+	 * @throws Exception
+	 */
+	public static void startHsqldb(final String databaseFile,
+			final String databaseName) throws Exception 
+	{
+		// Start DB in new thread, or else it will block us
+		Thread serverThread = new Thread(THREAD_NAME) {
+			public void run() {
+				try {
+					// Create startup arguments
+					String[] args = new String[4];
+					args[0] = "-database.0";
+					args[1] = databaseFile;
+					args[2] = "-dbname.0";
+					args[3] = databaseName;
+					
+					_logger.info("creating db from this script: " + databaseFile);
+
+					// Start server
+					Server.main(args);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+//				log.error("Failed to start database", e);
+			}
+		};
+		serverThread.run();
+	}
+	/**
+	 * 
+	 * @param url
+	 * @param username
+	 * @param password
+	 * @throws Exception
+	 */
+	public static void stopHsqldb(String url, String username, String password) throws Exception {
+		java.sql.Connection connection = DriverManager.getConnection(
+				url, username, password);
+		Statement statement = connection.createStatement();
+		String shutdownCommand = "SHUTDOWN COMPACT";
+		statement.executeQuery(shutdownCommand);
+	}
+
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/ProcessEmail.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/ProcessEmail.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/ProcessEmail.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,103 @@
+/*
+ * 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.samples.trailblazer.util;
+
+import org.antlr.stringtemplate.StringTemplate;
+import org.antlr.stringtemplate.StringTemplateGroup;
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.helpers.Email;
+
+
+public class ProcessEmail {
+	
+	private Logger logger = Logger.getLogger(this.getClass());	
+	private String emailTo, quoteID, rate, code, ssn;
+
+
+	public ProcessEmail(String email, String quoteID, String rate, String code, String ssn) {
+		this.emailTo=email;
+		this.quoteID=quoteID;
+		this.rate=rate;
+		this.code=code;
+		this.ssn=ssn;
+		logger.debug("creating email helper");
+						
+	}
+	
+	public void sendEmail() {		
+		try {
+			if (null==emailTo) {
+				logger.error("no email found for customer, aborting send");
+				return;
+			}
+			logger.info("customer SSN " + ssn + " - sending email to: " + emailTo);
+			Email emailMessage = new Email();			
+			emailMessage.setSendTo(emailTo);
+			emailMessage.setSubject("TrailBlazer Quote from Bank");
+			String emailFrom = Configuration.getSmtpFrom();
+			emailMessage.setFrom(emailFrom);
+//			File emailTemplate = new File(LoanBrokerConstants.EMAIL_TEMPLATE);
+//			String quoteMsg=FileUtil.readTextFile(emailTemplate);
+			emailMessage.setMessage(fillTemplate());
+			emailMessage.sendMessage();			
+		}catch (Exception e) {			
+			logger.error("error sending email - " + e);	
+			e.printStackTrace();		
+		}		
+	}
+	
+	private String fillTemplate() throws Exception{
+		//load up the email templates from the StringTemplate files
+		System.setProperty("com.arjuna.common.util.propertyservice.verbosePropertyManager", "ON");
+		String templatePath = ModulePropertyManager.getPropertyManager("trailblazer").
+			getProperty("org.jboss.soa.esb.trailblazer.email.template.path");
+		String templateFile = ModulePropertyManager.getPropertyManager("trailblazer").
+			getProperty("org.jboss.soa.esb.trailblazer.email.template.file");
+		                 
+		logger.debug("loading StringTemplate from path: "+templatePath);
+		logger.debug("loading StringTemplate from file: "+templateFile);
+		
+		StringTemplateGroup group =  new StringTemplateGroup("loan", templatePath);
+		StringTemplate email = group.getInstanceOf(templateFile);
+		
+		//String email, String quoteID, String rate, String code, String ssn
+		email.setAttribute("quote", quoteID);
+		email.setAttribute("rate", rate);
+		email.setAttribute("ssn", ssn);
+		email.setAttribute("code", code);
+		email.setAttribute("email", emailTo);
+		
+		return email.toString();
+		
+	}
+	
+	public static void main(String[] args) {
+		ProcessEmail email = new ProcessEmail("dbrum101 at gmail.com", "111", ".65", "0", "123456");
+		email.sendEmail();
+		
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/TbBootStrapper.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/TbBootStrapper.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb/src/org/jboss/soa/esb/samples/trailblazer/util/TbBootStrapper.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,170 @@
+/*
+ * 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.trailblazer.util;
+
+import java.io.File;
+import java.sql.Connection;
+import java.sql.Statement;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManager;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.listeners.StandAloneBootStrapper;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+
+public class TbBootStrapper extends StandAloneBootStrapper {
+	
+	protected static Logger _logger = Logger.getLogger(TbBootStrapper.class);
+	
+	public static void main(String[] args) throws Exception
+	{
+		Exception eT = null;
+		if (args.length < 1)
+		{
+			eT = new Exception ("No configuration file specified - Ending immediately");
+			_logger.fatal(eT);
+			throw eT;
+		} else {
+			_logger.info("Starting the trailblazer with arg=" + args[0]);
+		}
+		TbBootStrapper boot = null;
+
+		String configName = args[0];
+		long lSecondsToRun = 365 * 24 * 3600;   // run for 1 year (is it enough ?)
+		if (args.length > 1)
+			try 
+		{ 
+			lSecondsToRun = Long.parseLong(args[1]);
+		}
+		catch (Exception e)
+		{
+			_logger.fatal(e);
+			throw e;
+		}
+		try
+		{
+			boot = new TbBootStrapper(configName);
+			if (lSecondsToRun < 5)
+				lSecondsToRun = 5;
+			long lRunTo = System.currentTimeMillis()+1000*lSecondsToRun;
+
+			while (System.currentTimeMillis() < lRunTo)
+				try { Thread.sleep(1000); }
+				catch (InterruptedException e) { break; }
+		}
+		finally
+		{
+			if (null!=boot)
+				boot.requestEnd();
+		}
+	}
+	
+	private TbBootStrapper() throws Exception {super(null);}
+	
+	public TbBootStrapper (String configName) throws Exception
+	{
+		super(configName, null);
+	}
+	
+	public TbBootStrapper (String configName, String validationFileName) throws Exception 
+	{
+		super(configName, validationFileName);		
+	}
+
+	/*
+	 * Setup HSQLDB for the Registry and the MessageStore
+	 */
+	protected void runBefore(){	
+		//System.setProperty("com.arjuna.common.util.propertyservice.verbosePropertyManager", "on");
+		String baseDir="";
+		String productDir = "../../";
+		if (TestEnvironmentUtil.getUserDir("trailblazer").equals("trailblazer/")) {
+			baseDir = "product/samples/trailblazer/";
+			productDir = "product/";
+		}
+		DOMConfigurator.configure(baseDir + "log4j.xml");
+		String driver = Configuration.getStoreDriver();
+		System.out.println("Driver=" + driver);
+		if ("org.hsqldb.jdbcDriver".equals(driver)) {
+			
+			//start hsqldb
+			try {
+			HsqldbUtil.startHsqldb(productDir + "build/hsqldb", "jbossesb");
+			String database = "hsqldb";	
+			
+			//message store db
+			String sqlDir = productDir + "install/message-store/sql/" + database + "/";
+			String sqlCreateCmd    = TestEnvironmentUtil.readTextFile(new File(sqlDir + "create_database.sql"));
+			String sqlDropCmd      = TestEnvironmentUtil.readTextFile(new File(sqlDir + "drop_database.sql"));		
+			
+			DBConnectionManager mgr = DBConnectionManager.getInstance();
+			Connection con = mgr.getConnection();
+			
+			Statement stmnt = con.createStatement();
+			System.out.println("Dropping the message store schema if exists...");
+			stmnt.execute(sqlDropCmd);
+			System.out.println("Creating the message store schema...");
+			stmnt.execute(sqlCreateCmd);
+			
+			//registry DB
+			sqlDir = productDir + "install/jUDDI-registry/sql/" + database + "/";
+			System.out.println("Dropping the registry schema if exists...");
+			sqlDropCmd      = TestEnvironmentUtil.readTextFile(new File(sqlDir + "drop_database.sql"));
+			stmnt.execute(sqlDropCmd);
+			System.out.println("creating the registry schema...");
+			sqlCreateCmd    = TestEnvironmentUtil.readTextFile(new File(sqlDir + "create_database.sql"));
+			stmnt.execute(sqlCreateCmd);
+			System.out.println("inserting registry publishers...");
+			String sqlInsertPubCmd = TestEnvironmentUtil.readTextFile(new File(sqlDir + "insert_publishers.sql"));
+			stmnt.execute(sqlInsertPubCmd);
+			stmnt.close();
+			con.close();
+			}catch(Exception e) {
+				e.printStackTrace();
+			}
+		}
+		}
+		
+	/*
+	 * Shuts down the HSQLDB instance
+	 */
+		protected void runAfter()
+		{
+			try { Thread.sleep(5000); }
+			catch (InterruptedException e) {}
+			
+			//shutdown message store if using hsqldb
+			if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
+				try {
+					HsqldbUtil.stopHsqldb(Configuration.getStoreUrl(),
+							Configuration.getStoreUser(),Configuration.getStorePwd() );
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+				}
+		}
+
+	
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb-trailblazer-service.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb-trailblazer-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/esb-trailblazer-service.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=esb-tb-creditAgencyQueue">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=esb-tb-bankRequestQueue">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=esb-tb-bankResponseQueue">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+
+<mbean code="org.jboss.mq.server.jmx.Queue"
+	 name="jboss.mq.destination:service=Queue,name=esb-tb-bankGatewayResponseQueue">
+  <depends optional-attribute-name="DestinationManager">
+  	jboss.mq:service=DestinationManager
+  </depends>
+</mbean>
+
+
+</server>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/jbossesb-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/jbossesb-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,90 @@
+<?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: default-jbossesb-properties.xml $ -->
+<!--
+  These options are described in the JBossESB manual.
+  Defaults are provided here for convenience only.
+ 
+  Please read through this file prior to using the system, and consider
+  updating the specified entries.
+-->
+<esb
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+    <properties name="core">
+		<property name="org.jboss.soa.esb.jndi.server.type" 			value="jboss"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" 			value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+    </properties>
+    <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#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.LocalTransport"/>
+    </properties>
+    <properties name="transports" depends="core">
+    	<property name="org.jboss.soa.esb.mail.smtp.host" value="your.mailserver.net"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.user" value="your_username"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.from" value="your.email at mail.net"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.password" value="your_password_if_needed"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+	    <!-- if your mail server requires this - most do now a days -->
+	<property name="org.jboss.soa.esb.mail.smtp.auth" value="false"/>
+
+    </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.messagestore.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+		<property name="org.jboss.soa.esb.persistence.db.connection.url" 	value="jdbc:hsqldb:hsql://localhost:9001/jbossesb"/>
+		<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"/> 
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+    <!-- this section added for the convenience of the trailblazer only -->
+    <properties name="trailblazer">
+		<property name="org.jboss.soa.esb.trailblazer.request.service.epr.name" value="creditagency"/>
+		<property name="org.jboss.soa.esb.trailblazer.request.service.category" value="tbCreditAGency"/>
+		<property name="org.jboss.soa.esb.trailblazer.jmsbank.queue" value="queue/esb-tb-bankRequestQueue"/>
+		<property name="org.jboss.soa.esb.trailblazer.email.template.path" value="template"/>
+		<property name="org.jboss.soa.esb.trailblazer.email.template.file" value="quote"/>		
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/juddi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/juddi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,70 @@
+# 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=org.hsqldb.jdbcDriver
+#juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost/jbossesb
+juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost:9001/jbossesb
+juddi.jdbcUsername=sa
+juddi.jdbcPassword=
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,300 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.10 2006/04/21 17:29:20 csuconic 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">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="File" value="./trailblazer.log"/>
+      <param name="Append" value="false"/>
+
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+      <!-- Rollover at the top of each hour
+      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+         <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+          -->
+      </layout>
+   </appender>
+
+   <!-- 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="${jboss.server.log.dir}/server.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 [%c] %m%n"/>
+     </layout>	    
+   </appender>
+   -->
+
+   <!-- ============================== -->
+   <!-- 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 [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ====================== -->
+   <!-- More Appender examples -->
+   <!-- ====================== -->
+
+   <!-- Buffer events and log them asynchronously
+   <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <appender-ref ref="FILE"/>
+     <appender-ref ref="CONSOLE"/>
+     <appender-ref ref="SMTP"/>
+   </appender>
+   -->
+
+   <!-- EMail events to an administrator
+   <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="To" value="admin at myhost.domain.com"/>
+     <param name="From" value="nobody at myhost.domain.com"/>
+     <param name="Subject" value="JBoss Sever Errors"/>
+     <param name="SMTPHost" value="localhost"/>
+     <param name="BufferSize" value="10"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Syslog events
+   <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Facility" value="LOCAL7"/>
+     <param name="FacilityPrinting" value="true"/>
+     <param name="SyslogHost" value="localhost"/>
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!-- Log events to JMS (requires a topic to be created)
+   <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="Threshold" value="ERROR"/>
+     <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
+     <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
+   </appender>
+   -->
+
+   <!-- Log events through SNMP
+   <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
+     <param name="ManagementHost" value="127.0.0.1"/>
+     <param name="ManagementHostTrapListenPort" value="162"/>
+     <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
+     <param name="LocalIPAddress" value="127.0.0.1"/>
+     <param name="LocalTrapSendPort" value="161"/>
+     <param name="GenericTrapType" value="6"/>
+     <param name="SpecificTrapType" value="12345678"/>
+     <param name="CommunityString" value="public"/>
+     <param name="ForwardStackTraceWithTrap" value="true"/>
+     <param name="Threshold" value="DEBUG"/>
+     <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
+     <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
+     </layout>
+   </appender>
+   -->
+
+   <!--  Emit events as JMX notifications
+   <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      
+      <param name="Threshold" value="WARN"/>
+      <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+      
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
+      </layout>
+   </appender>
+   -->
+   
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <category name="org.apache">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <category name="org.jboss.serial">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <category name="org.jgroups">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <category name="jacorb">
+      <priority value="WARN"/>
+   </category>
+
+   <!-- Limit JBoss categories
+   <category name="org.jboss">
+      <priority value="INFO"/>
+   </category>
+   -->
+
+   <!-- Limit the JSR77 categories -->
+   <category name="org.jboss.management">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit Axis based webservice category -->
+   <category name="org.jboss.webservice">
+      <priority value="DEBUG"/>
+   </category>
+   <category name="org.jboss.axis">
+      <priority value="INFO"/>
+   </category>
+
+   <!-- Limit JBossWS webservice category
+   <category name="org.jboss.ws">
+      <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Decrease the priority threshold for the org.jboss.varia category
+   <category name="org.jboss.varia">
+     <priority value="DEBUG"/>
+   </category>
+   -->
+
+   <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
+   <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+
+   <!--
+      | An example of enabling the custom TRACE level priority that is used
+      | by the JBoss internals to diagnose low level details. This example
+      | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+      | subpackages. This will produce A LOT of logging output.
+   <category name="org.jboss.system">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   <category name="org.jboss.ejb.plugins">
+     <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+   </category>
+   -->
+  
+   <!--
+       | Logs these events to SNMP:
+           - server starts/stops
+           - cluster evolution (node death/startup)
+           - When an EJB archive is deployed (and associated verified messages)
+           - When an EAR archive is deployed
+      	 
+   <category name="org.jboss.system.server.Server">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+
+   <category name="org.jboss.deployment.MainDeployer">
+     <priority value="ERROR" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.ejb.EJBDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+   
+   <category name="org.jboss.deployment.EARDeployer">
+     <priority value="INFO" />
+     <appender-ref ref="TRAP_LOG"/>
+   </category>
+  
+   -->
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+   <!-- Clustering logging -->
+   <!-- Uncomment the following to redirect the org.jgroups and
+      org.jboss.ha categories to a cluster.log file.
+
+   <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="${jboss.server.log.dir}/cluster.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 [%c] %m%n"/>
+     </layout>
+   </appender>
+   <category name="org.jgroups">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   <category name="org.jboss.ha">
+     <priority value="DEBUG" />
+     <appender-ref ref="CLUSTER"/>
+   </category>
+   -->
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,32 @@
+The trailblazer is a small application that uses several of the services provided by the JBoss ESB.
+
+Required to run the Trailblazer:
+- ANT
+- A mail server to send email notifications
+- JBoss AS 4.0.4 or higher with EJB3 and JBossWS support.  You can install the latest JBoss AS JEMS installer and select the "EJB3" install config to get the right one installed.
+
+Settings required to edit before running:
+
+File: jbossesb-properties.xml
+- Update the section titled "transports" and specify all of the SMTP mail server settings for your environment.
+- you can change the settings in the "trailblazer" to work on different queues, etc but you can leave all of these as is for the default settings.
+
+File: build.properties
+- update with the 2 settings below to where you have your JBoss deployed to, along with the server instance you are using:
+org.jboss.soa.samples.trailblazer.jboss_home=/opt/jboss-4.0.5
+org.jboss.soa.samples.trailblazer.jboss_server=default
+
+
+-------------------------------------------
+To run the Trailblazer, follow these steps:
+
+1 - run your JBoss AS - you will need to have the 4.0.4 or higher with the EJB3 support installed.  This is rquired because the TB uses the JSR-181 pojo style web service.
+
+2 - from the TB_ROOT, execute the command to start the ESB: ANT deploy-war runESB
+* this should deploy the WAR to your JBoss AS server/default and deploy the Web Service/JSP page.
+
+3 - from the TB_ROOT/banks execute the command to start the Bank service: ANT runJMSBank
+
+4 - from the jsp: localhost:8080/trailblazer
+
+That's it.  Now you can submit quotes, and you should receive an email at the specified address on the page.

Added: labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/template/quote.st
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/template/quote.st	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/product/samples/trailblazer/template/quote.st	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,20 @@
+JBossESB - TrailBlazer Quote Response Notification
+
+Customer SSN:           $ssn$
+Customer Email:         $email$
+
+-- BANK QUOTES RECEIVED --
+
+QUOTE ID:	$quote$
+RATE:		$rate$
+BANK CODE:	$code$
+
+-- BANK CODES --
+0 - success
+1 - loan term exceeds the maximum available loan term
+2 - invalid SSN
+3 - invalid credit score
+4 - invalid credit history length
+5 - invalid loan term
+6 - invalid message
+7 - invalid customer ID

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/Copyright.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/Copyright.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/Copyright.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,19 @@
+/*
+ * 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,
+ */
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/README.TXT
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/README.TXT	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/README.TXT	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+OVERVIEW
+=============
+This file hierarchy contains QA tests.  Note that the JUnit based tests here are NOT "Unit Tests", we're simply utilising the
+Ant and JUnit frameworks for running QA level tests.  
+
+These tests depend on:
+1. An installed and built version of the ESB.  See the Build.txt file in the product folder.
+2. A a running JBoss AS (for JMS Queues).
+
+RUNNING THE TESTS
+====================
+1. Start your JBossAS server.
+2. Run the "test" ant build target from the "qa" folder.
+
+Note that because these tests are QA based tests (with filesystem dependencies etc), it is not recommended to run the
+JUnit based tests from within your IDE.

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,67 @@
+<project name="JBESB-QA" default="test" basedir=".">
+
+	<property name="build.sysclasspath" value="ignore"/>
+
+	<property file="test.properties" />
+	<property file="${basedir}../product/install/deployment.properties" />
+
+	<property name="junit.jar" location="lib/ext/junit-4.1.jar"/>
+	<macrodef name="runant">
+		<attribute name="target"/>
+		<sequential>
+			<java classname="org.apache.tools.ant.launch.Launcher"
+			    classpath="${ant.library.dir}/ant-launcher.jar"
+			    fork="true" failonerror="true">
+				<sysproperty key="ant.home" value="${ant.home}"/>
+				<sysproperty key="ant.library.dir" value="${ant.library.dir}"/>
+	            <sysproperty key="org.jboss.esb.properties" value="${org.jboss.esb.properties}"/>
+				<arg value="-cp"/>
+				<arg value="${junit.jar}"/>
+				<arg value="-f"/>
+				<arg value="${ant.file}"/>
+				<arg value="@{target}"/>
+			</java>
+		</sequential>
+	</macrodef>
+
+	<target name="test" description="Run all QA tests." depends="test.junit"/>
+	
+	<target name="ci-test" description="Run all QA tests.">
+		<runant target="ci-test.junit"/>
+	</target>
+	
+	<target name="test.junit" description="Run JUnit based QA tests.">
+		<ant dir="junit" target="test" />
+	</target>
+
+	<target name="ci-test.junit" description="Run JUnit based QA tests.">
+		<ant dir="junit" target="ci-test" />
+	</target>
+
+	<target name="clean" description="Clean the QA env">
+		<echo message="Cleaning..."/>
+		
+		<delete dir="${basedir}/build" />
+		<delete>
+                    <fileset dir="." includes="qatests.log unittest.log"/>
+		</delete>
+                <!-- hardcoded in at least one test -->
+		<delete dir="${basedir}/product" />
+	</target>
+
+	<target name="ant">
+		<property name="junit.jar" location="lib/ext/junit-4.1.jar"/>
+		<java classname="org.apache.tools.ant.launch.Launcher"
+                      classpath="${ant.library.dir}/ant-launcher.jar"
+                      fork="true" failonerror="true">
+			<sysproperty key="ant.home" value="${ant.home}"/>
+			<sysproperty key="ant.library.dir" value="${ant.library.dir}"/>
+			<arg value="-cp"/>
+			<arg value="${junit.jar}"/>
+			<arg value="-f"/>
+			<arg value="${ant.file}"/>
+			<arg value="${target}"/>
+		</java>
+	</target>
+	
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/jbossesb-unittest-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/jbossesb-unittest-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/jbossesb-unittest-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,73 @@
+<?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: default-jbossesb-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"/>
+    </properties>
+    <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#publish"/>
+    	<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.LocalTransport"/>
+    </properties>
+    <properties name="transports" depends="core">
+    	<property name="org.jboss.soa.esb.mail.smtp.host" value="@org.jboss.soa.esb.mail.smtp.host@"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.user" value="@org.jboss.soa.esb.mail.smtp.user@"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.password" value="@org.jboss.soa.esb.mail.smtp.password@"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.port" value="@org.jboss.soa.esb.mail.smtp.port@"/>
+    </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/jbossesb"/>
+		<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"/> 
+
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,173 @@
+<?xml version="1.0"?>
+<project name="JUnit" default="test" basedir=".">
+
+	<property name="product.build" location="../../product/build"/>
+	<property name="product.lib" location="${product.build}/jbossesb/lib"/>
+	<property name="coverage" location="${product.build}/tests/coverage"/>
+	<property name="qa.build" location="../build"/>
+	<property name="qa.lib" location="../lib"/>
+	<property name="qa.junit.src" location="src"/>
+	<property name="qa.junit.classes" location="${qa.build}/junit/classes"/>
+	<property name="qa.junit.report" location="${qa.build}/junit/report" />
+        <property name="qa.junit.memory" value="128m"/>
+
+        <property file="${org.jboss.esb.properties}"/>
+        <property name="org.jboss.esb.test.ftp.hostname" value="ftp.ncl.ac.uk"/>
+        <property name="org.jboss.esb.test.ftp.user" value="anonymous"/>
+        <property name="org.jboss.esb.test.ftp.pwd" value=""/>
+        <property name="org.jboss.esb.test.ftp.dir" value="/pub/DNS"/>
+
+	<path id="base.cp">
+		<fileset dir="${product.lib}/ext"
+		  excludes="*.jar" includes="jaxr-api*.jar,scout*.jar,juddi*.jar"/>
+		<fileset dir="${qa.lib}/ext" includes="*.jar" />
+		<fileset dir="${product.lib}/ext" includes="*.jar" />
+		<pathelement location="../" />
+	</path>
+	
+	<path id="qa.junit.cp">
+		<fileset dir="${product.lib}" includes="*.jar" />
+		<path refid="base.cp"/>
+	</path>
+	
+	<path id="qa.junit.emma.cp">
+		<fileset dir="${coverage}/all" includes="jbossesb-instr-all.jar" />
+		<path refid="base.cp"/>
+	</path>
+	
+	<target name="test" depends="compile, prompt, execute"/>
+	<target name="ci-test" depends="compile, execute"/>
+
+	<target name="compile">
+		<echo message="Running JUnit based QA tests..."/>
+		
+		<!-- Build the tests... -->
+		<mkdir dir="${qa.junit.classes}"/>
+		<javac srcdir="${qa.junit.src}" destdir="${qa.junit.classes}" classpathref="qa.junit.cp" debug="on" />
+	</target>
+
+	<target name="execute">
+		<!-- Run the tests... -->
+		<property name="tests.filter" value="*"/>
+		<mkdir dir="${qa.junit.report}"/>
+       <property name="org.jboss.soa.esb.paramsRepository.file.root" location="src" />
+        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="yes" fork="true">
+            <formatter type="plain" usefile="false"/>
+            <formatter type="xml"/>
+            <batchtest todir="${qa.junit.report}">
+                <fileset dir="${qa.junit.src}">
+                    <include name="**/${tests.filter}Test.java"/>
+                    <exclude name="${tests.exclude}"/>
+                </fileset>
+            </batchtest>
+            <classpath>
+                <pathelement location="${qa.junit.classes}"/>
+                <path refid="qa.junit.cp"/>
+                <pathelement location="${qa.junit.src}"/>
+            </classpath>
+            <jvmarg value="-Xmx${qa.junit.memory}"/>
+
+        	<!-- Listener Sys Props... -->
+        	<sysproperty key="org.jboss.soa.esb.paramsRepository.file.root" value="${org.jboss.soa.esb.paramsRepository.file.root}"/>
+
+        	<!-- Sys Props from the test.properties file... -->
+        	<sysproperty key="org.jboss.soa.esb.jndi.server.type" value="${org.jboss.soa.esb.jndi.server.type}" />
+        	<sysproperty key="org.jboss.soa.esb.jndi.server.url" value="${org.jboss.soa.esb.jndi.server.url}" />
+        	
+        	<!-- Sys Props from the deployment.properties file... -->
+	    	<sysproperty key="org.jboss.esb.db.driver" 		value="${org.jboss.esb.db.driver}" />
+        	<sysproperty key="org.jboss.esb.db.url" 		value="${org.jboss.esb.db.url}" />
+        	<sysproperty key="org.jboss.esb.db.user" 		value="${org.jboss.esb.db.user}" />
+	    	<sysproperty key="org.jboss.esb.db.password" 	value="${org.jboss.esb.db.password}" />
+                <sysproperty key="org.jboss.esb.test.ftp.hostname" value="${org.jboss.esb.test.ftp.hostname}"/>
+                <sysproperty key="org.jboss.esb.test.ftp.user" value="${org.jboss.esb.test.ftp.user}"/>
+                <sysproperty key="org.jboss.esb.test.ftp.pwd" value="${org.jboss.esb.test.ftp.pwd}"/>
+                <sysproperty key="org.jboss.esb.test.ftp.dir" value="${org.jboss.esb.test.ftp.dir}"/>
+
+        </junit>
+		
+		<!-- Remove all "fixed-up" listener configuration files -->
+		<delete><fileset dir="${qa.junit.src}" includes="**/*.conftmp" /></delete>
+		
+		<!-- Report on the tests (format results) ... -->
+        <junitreport todir="${qa.junit.report}">
+            <fileset dir="${qa.junit.report}">
+                <include name="*.xml"/>
+            </fileset>
+            <report format="frames" todir="${qa.junit.report}"/>
+            <report format="noframes" todir="${qa.junit.report}"/>
+        </junitreport>
+		
+	</target>
+
+	<target name="test-emma" depends="compile-emma, prompt, execute-emma"/>
+	<target name="ci-test-emma" depends="compile-emma, execute-emma"/>
+
+	<target name="compile-emma">
+		<echo message="Running JUnit based QA tests (with ema enabled) ..."/>
+		<!-- Build the tests... -->
+		<mkdir dir="${qa.junit.classes}"/>
+		<javac srcdir="${qa.junit.src}" destdir="${qa.junit.classes}" classpathref="qa.junit.emma.cp" debug="on" />
+	</target>
+
+	<target name="prompt">
+            <property name="tests.exclude" value="**/*IntegrationTest.java"/>
+		<echo message="" />
+		<echo message="" />
+		<input message='Which tests? (Press return to run all tests - Wildcards Supported - already assumes test cases end with the "Test" suffix)' 
+			addproperty="tests.filter"
+			defaultvalue="*"/>
+	</target>
+		
+	<target name="execute-emma">
+		<!-- Run the tests... -->
+		<property name="tests.filter" value="*"/>
+		<mkdir dir="${qa.junit.report}"/>
+        <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" showoutput="yes" fork="true">
+            <formatter type="plain" usefile="false"/>
+            <formatter type="xml"/>
+            <batchtest todir="${qa.junit.report}">
+                <fileset dir="${qa.junit.src}">
+                    <include name="**/${tests.filter}Test.java"/>
+                </fileset>
+            </batchtest>
+            <classpath>
+                <pathelement location="${qa.junit.classes}"/>
+                <path refid="qa.junit.emma.cp"/>
+                <pathelement location="${qa.junit.src}"/>
+            </classpath>
+
+            <jvmarg value="-Xmx${qa.junit.memory}"/>
+        	<!-- emma jvm args -->
+			<jvmarg value="-Demma.coverage.out.file=${coverage}/all/coverage.emma" />
+			<jvmarg value="-Demma.coverage.out.merge=true" />
+
+        	<!-- Listener Sys Props... -->
+        	<sysproperty key="org.jboss.soa.esb.paramsRepository.file.root" value="junit/src" />
+
+        	<!-- Sys Props from the test.properties file... -->
+        	<sysproperty key="org.jboss.soa.esb.jndi.server.type" value="${org.jboss.soa.esb.jndi.server.type}" />
+        	<sysproperty key="org.jboss.soa.esb.jndi.server.url" value="${org.jboss.soa.esb.jndi.server.url}" />
+        	
+        	<!-- Sys Props from the deployment.properties file... -->
+	    	<sysproperty key="org.jboss.esb.db.driver" 		value="${org.jboss.esb.db.driver}" />
+        	<sysproperty key="org.jboss.esb.db.url" 		value="${org.jboss.esb.db.url}" />
+        	<sysproperty key="org.jboss.esb.db.user" 		value="${org.jboss.esb.db.user}" />
+	    	<sysproperty key="org.jboss.esb.db.password" 	value="${org.jboss.esb.db.password}" />
+        </junit>
+		
+		<!-- Remove all "fixed-up" listener configuration files -->
+		<delete><fileset dir="${qa.junit.src}" includes="**/*.conftmp" /></delete>
+		
+		<!-- Report on the tests (format results) ... -->
+        <junitreport todir="${qa.junit.report}">
+            <fileset dir="${qa.junit.report}">
+                <include name="*.xml"/>
+            </fileset>
+            <report format="frames" todir="${qa.junit.report}"/>
+            <report format="noframes" todir="${qa.junit.report}"/>
+        </junitreport>
+		
+	</target>
+	
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/AggregatorTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/AggregatorTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/AggregatorTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,277 @@
+/*
+ * 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;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.InputStream;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Properties;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.listeners.StandAloneBootStrapper;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Testing the Content Based Router.
+ * 
+ * @author <a href="mailto:kurt.stam at redhat.com">Kurt Stam</a>
+ * @author <a href="mailto:schifest at heuristica.com.ar">Esteban</a>
+ * @since Version 4.0
+ * 
+ */
+public class AggregatorTest
+{
+	private static Logger logger = Logger.getLogger(AggregatorTest.class);
+
+	private static StandAloneBootStrapper _boot = null;
+
+	private static String mDbDriver;
+
+	private static String mDbUrl;
+
+	private static String mDbUsername;
+
+	private static String mDbPassword;
+
+	private static final String SERVICE_CATEGORY_NAME = "MessageRouting";
+
+	private static final String SERVICE_NAME = "SplitterService";
+
+	/**
+	 * Testing the Content Based Router.
+	 */
+	@Test
+	public void sendMessages()
+	{
+		try
+		{
+			sendMessage("<message>First Message</message>");
+			// The second time the rulesEngine should be primed.
+			sendMessage("<message>Second Message</message>");
+		}
+		catch (RegistryException re)
+		{
+			re.printStackTrace();
+			assertTrue(false);
+		}
+		catch (CourierException ce)
+		{
+			ce.printStackTrace();
+			assertTrue(false);
+		}
+		catch (MalformedEPRException me)
+		{
+			me.printStackTrace();
+			assertTrue(false);
+		}
+	}
+
+	/**
+	 * Sends a message to the CbrJmsQueueListener.
+	 * 
+	 * @param body -
+	 *            a String containing the body of the message.
+	 * @throws RegistryException
+	 * @throws CourierException
+	 * @throws MalformedEPRException
+	 */
+	
+	private static void sendMessage(String body) throws RegistryException, CourierException, MalformedEPRException
+	{
+		Message msg = MessageFactory.getInstance().getMessage();
+		msg.getBody().setContents(body.getBytes());
+		
+		Registry registry = RegistryFactory.getRegistry();
+		Collection<EPR> eprs = registry.findEPRs(SERVICE_CATEGORY_NAME,
+				SERVICE_NAME);
+		for (Iterator<EPR> eprIterator = eprs.iterator(); eprIterator.hasNext();)
+		{
+			// Just use the first EPR in the list.
+			EPR epr = eprIterator.next();
+			Courier courier = CourierFactory.getCourier(epr);
+			courier.deliver(msg);
+			break;
+		}
+	}
+
+	public static junit.framework.Test suite()
+	{
+		return new JUnit4TestAdapter(AggregatorTest.class);
+	}
+
+	@BeforeClass
+	public static void runBeforeAllTests()
+	{
+		try
+		{
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product",
+					"../product")
+					+ "etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse("product",
+					"../product");
+			// Set the juddi properties file in System so juddi will pick it up
+			// later and use the test values.
+			String juddiPropertiesFile = "/org/jboss/soa/esb/services/registry/juddi-qatest.properties";
+			System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
+			// Read this properties file to get the db connection string
+			Properties props = new Properties();
+			InputStream inStream = Class.class
+					.getResourceAsStream(juddiPropertiesFile);
+			props.load(inStream);
+			mDbDriver = props.getProperty("juddi.jdbcDriver");
+			mDbUrl = props.getProperty("juddi.jdbcUrl");
+			mDbUsername = props.getProperty("juddi.jdbcUsername");
+			mDbPassword = props.getProperty("juddi.jdbcPassword");
+
+			String database = "not tested yet";
+			if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+			{
+				database = "hsqldb";
+				// Bring up hsql on default port 9001
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir(
+						"product", "../product")
+						+ "build/hsqltestdb", "juddi");
+			}
+			else if ("com.mysql.jdbc.Driver".equals(mDbDriver))
+			{
+				database = "mysql";
+			} // add and test your own database..
+
+			// Get the registry-schema create scripts
+			String sqlDir = TestEnvironmentUtil.getUserDir("product",
+					"../product")
+					+ "install/jUDDI-registry/sql/" + database + "/";
+			// Drop what is there now, if exists. We want to start fresh.
+			String sqlDropCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "drop_database.sql"));
+			String sqlCreateCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "create_database.sql"));
+			String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "insert_publishers.sql"));
+
+			try
+			{
+				Class.forName(mDbDriver);
+			}
+			catch (Exception e)
+			{
+				System.out.println("ERROR: failed to load " + database
+						+ " JDBC driver.");
+				e.printStackTrace();
+				return;
+			}
+			java.sql.Connection con = DriverManager.getConnection(mDbUrl,
+					mDbUsername, mDbPassword);
+			Statement stmnt = con.createStatement();
+			System.out.println("Dropping the schema if exist");
+			stmnt.execute(sqlDropCmd);
+			System.out.println("Creating the juddi-schema");
+			stmnt.execute(sqlCreateCmd);
+			System.out.println("Adding the jbossesb publisher");
+			stmnt.execute(sqlInsertPubCmd);
+
+			// Now we can bring up the ContentBasedRouter
+			String deploymentConfigFile = TestEnvironmentUtil.getUserDir("qa")
+					+ "junit/src/org/jboss/soa/esb/actions/AggregatorTest.xml";
+			String validationFileName = TestEnvironmentUtil.getUserDir(
+					"product", "../product")
+					+ "etc/schemas/xml/jbossesb-1.0.xsd";
+			// Make sure this file exists
+			File validationFile = new File(validationFileName);
+			if (!validationFile.exists())
+			{
+				System.err.println("Validation file "
+						+ validationFile.getAbsolutePath() + " does not exist");
+				assertTrue(false);
+			}
+			_boot = new StandAloneBootStrapper(deploymentConfigFile,
+					validationFileName);
+
+			logger
+					.info("Testing to see if we can instantiate and start ListenerManager");
+		}
+		catch (Throwable e)
+		{
+			e.printStackTrace();
+			System.out
+					.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+
+	}
+
+	/**
+	 * Shutdown the database
+	 * 
+	 * @throws Exception
+	 */
+	@AfterClass
+	public static void runAfterAllTests() throws Exception
+	{
+        Thread.sleep(1000);
+		// Increase Sleep for debugging
+		_boot.requestEnd();
+		// Give the esb time to finish
+		Thread.sleep(2000);
+		// Cleaning up the generated files
+		String listenerConfigFile = TestEnvironmentUtil.getUserDir("qa")
+				+ "junit/src/org/jboss/soa/esb/actions/jbossesb-listener.xml";
+		File listenerFile = new File(listenerConfigFile);
+		if (listenerFile.exists())
+			listenerFile.delete();
+		String gatewayConfigFile = TestEnvironmentUtil.getUserDir("qa")
+				+ "junit/src/org/jboss/soa/esb/actions/jbossesb-gateway.xml";
+		File gatewayFile = new File(gatewayConfigFile);
+		if (gatewayFile.exists())
+			gatewayFile.delete();
+
+		if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+		{
+			HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/AggregatorTest.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/AggregatorTest.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/AggregatorTest.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,83 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+parameterReloadSecs="10">
+
+    <!-- for activemq use:
+        jndi-context-factory="org.apache.activemq.jndi.ActiveMQInitialContextFactory"
+        jndi-URL="tcp://localhost:61616" -->
+    
+    <!--  for mq series use: 
+        jndi-context-factory="com.ibm.mq.jms.context.WMQInitialContextFactory"
+        jndi-URL="dev37:1414/SYSTEM.DEF.SVRCONN" -->
+    
+    <!--  for jbossmq use:
+        jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+        jndi-URL="localhost" -->
+    
+
+	<providers>
+          <jms-provider name="localhost" 
+                      connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="QueueA">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/A"
+                   />
+              </jms-bus>
+              <jms-bus busid="QueueB">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+          </jms-provider>
+      </providers>
+      <services>
+          <service 
+              category="Aggregation" 
+              name="Aggregrator" 
+              description="Aggregates messages">
+              <listeners>
+                  <jms-listener name="AggregatorListenQueue" busidref="QueueA"
+                      maxThreads="1">
+                  </jms-listener>
+              </listeners>
+              <actions>
+                  <action class="org.jboss.soa.esb.actions.Aggregator" name="Aggregator">
+                      <property name="timeoutInMillies" value="60000"/>
+                  </action>
+                  <action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+                      <property name="message" value="An aggregated message was created" />
+                  </action>
+                  <!-- add transformation action to aggregate the attachments into 1 message -->
+              </actions> 
+          </service>
+          <service 
+        	category="MessageRouting" 
+        	name="SplitterService" 
+        	description="Sends messages to 2 destinations">
+        	<listeners>        
+                  <jms-listener name="SplitterListenQueue"
+                              busidref="QueueB"
+                              maxThreads="1">          
+	             </jms-listener>
+             </listeners>
+            <actions>
+                <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+                    <property name="message" value="Hello Static Router" />
+                </action>
+                <action process="split" class="org.jboss.soa.esb.actions.StaticRouter" name="StaticRouter">
+                    <property name="destinations">
+                        <!-- send 2 copies straight to the aggregator, in reality you would route
+                        them through maybe a transformer and another service first -->
+                        <route-to service-category="Aggregation" service-name="Aggregrator" />
+                        <route-to service-category="Aggregation" service-name="Aggregrator" />
+                    </property> 
+                </action>
+            </actions> 
+        </service>
+   </services>
+</jbossesb>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,276 @@
+/*
+ * 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;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.InputStream;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Properties;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.MalformedEPRException;
+import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierFactory;
+import org.jboss.soa.esb.listeners.StandAloneBootStrapper;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.registry.RegistryFactory;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.testutils.HsqldbUtil;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Testing the Content Based Router.
+ * 
+ * @author <a href="mailto:kurt.stam at redhat.com">Kurt Stam</a>
+ * @author <a href="mailto:schifest at heuristica.com.ar">Esteban</a>
+ * @since Version 4.0
+ * 
+ */
+public class ContentBasedRouterTest
+{
+	private static Logger logger = Logger.getLogger(ContentBasedRouterTest.class);
+
+	private static StandAloneBootStrapper _boot = null;
+
+	private static String mDbDriver;
+
+	private static String mDbUrl;
+
+	private static String mDbUsername;
+
+	private static String mDbPassword;
+
+	private static final String SERVICE_CATEGORY_NAME = "MessageRouting";
+
+	private static final String SERVICE_NAME = "ContentBasedRouterService";
+
+	/**
+	 * Testing the Content Based Router.
+	 */
+	@Test
+	public void sendMessages()
+	{
+		try
+		{
+			sendMessage("First Message");
+			// The second time the rulesEngine should be primed.
+			sendMessage("Second Message");
+		}
+		catch (RegistryException re)
+		{
+			re.printStackTrace();
+			assertTrue(false);
+		}
+		catch (CourierException ce)
+		{
+			ce.printStackTrace();
+			assertTrue(false);
+		}
+		catch (MalformedEPRException me)
+		{
+			me.printStackTrace();
+			assertTrue(false);
+		}
+	}
+
+	/**
+	 * Sends a message to the CbrJmsQueueListener.
+	 * 
+	 * @param body -
+	 *            a String containing the body of the message.
+	 * @throws RegistryException
+	 * @throws CourierException
+	 * @throws MalformedEPRException
+	 */
+	
+	private static void sendMessage(String body) throws RegistryException, CourierException, MalformedEPRException
+	{
+		Message msg = MessageFactory.getInstance().getMessage();
+		msg.getBody().setContents(body.getBytes());
+		
+		Registry registry = RegistryFactory.getRegistry();
+		Collection<EPR> eprs = registry.findEPRs(SERVICE_CATEGORY_NAME,
+				SERVICE_NAME);
+		for (Iterator<EPR> eprIterator = eprs.iterator(); eprIterator.hasNext();)
+		{
+			// Just use the first EPR in the list.
+			EPR epr = eprIterator.next();
+			Courier courier = CourierFactory.getCourier(epr);
+			courier.deliver(msg);
+			break;
+		}
+	}
+
+	public static junit.framework.Test suite()
+	{
+		return new JUnit4TestAdapter(ContentBasedRouterTest.class);
+	}
+
+	@BeforeClass
+	public static void runBeforeAllTests()
+	{
+		try
+		{
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product",
+					"../product")
+					+ "etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse("product",
+					"../product");
+			// Set the juddi properties file in System so juddi will pick it up
+			// later and use the test values.
+			String juddiPropertiesFile = "/org/jboss/soa/esb/services/registry/juddi-qatest.properties";
+			System.setProperty("juddi.propertiesFile", juddiPropertiesFile);
+			// Read this properties file to get the db connection string
+			Properties props = new Properties();
+			InputStream inStream = Class.class
+					.getResourceAsStream(juddiPropertiesFile);
+			props.load(inStream);
+			mDbDriver = props.getProperty("juddi.jdbcDriver");
+			mDbUrl = props.getProperty("juddi.jdbcUrl");
+			mDbUsername = props.getProperty("juddi.jdbcUsername");
+			mDbPassword = props.getProperty("juddi.jdbcPassword");
+
+			String database = "not tested yet";
+			if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+			{
+				database = "hsqldb";
+				// Bring up hsql on default port 9001
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir(
+						"product", "../product")
+						+ "build/hsqltestdb", "juddi");
+			}
+			else if ("com.mysql.jdbc.Driver".equals(mDbDriver))
+			{
+				database = "mysql";
+			} // add and test your own database..
+
+			// Get the registry-schema create scripts
+			String sqlDir = TestEnvironmentUtil.getUserDir("product",
+					"../product")
+					+ "install/jUDDI-registry/sql/" + database + "/";
+			// Drop what is there now, if exists. We want to start fresh.
+			String sqlDropCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "drop_database.sql"));
+			String sqlCreateCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "create_database.sql"));
+			String sqlInsertPubCmd = FileUtil.readTextFile(new File(sqlDir
+					+ "insert_publishers.sql"));
+
+			try
+			{
+				Class.forName(mDbDriver);
+			}
+			catch (Exception e)
+			{
+				System.out.println("ERROR: failed to load " + database
+						+ " JDBC driver.");
+				e.printStackTrace();
+				return;
+			}
+			java.sql.Connection con = DriverManager.getConnection(mDbUrl,
+					mDbUsername, mDbPassword);
+			Statement stmnt = con.createStatement();
+			System.out.println("Dropping the schema if exist");
+			stmnt.execute(sqlDropCmd);
+			System.out.println("Creating the juddi-schema");
+			stmnt.execute(sqlCreateCmd);
+			System.out.println("Adding the jbossesb publisher");
+			stmnt.execute(sqlInsertPubCmd);
+
+			// Now we can bring up the ContentBasedRouter
+			String deploymentConfigFile = TestEnvironmentUtil.getUserDir("qa")
+					+ "junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.xml";
+			String validationFileName = TestEnvironmentUtil.getUserDir(
+					"product", "../product")
+					+ "etc/schemas/xml/jbossesb-1.0.xsd";
+			// Make sure this file exists
+			File validationFile = new File(validationFileName);
+			if (!validationFile.exists())
+			{
+				System.err.println("Validation file "
+						+ validationFile.getAbsolutePath() + " does not exist");
+				assertTrue(false);
+			}
+			_boot = new StandAloneBootStrapper(deploymentConfigFile,
+					validationFileName);
+
+			logger
+					.info("Testing to see if we can instantiate and start ListenerManager");
+		}
+		catch (Throwable e)
+		{
+			e.printStackTrace();
+			System.out
+					.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+
+	}
+
+	/**
+	 * Shutdown the database
+	 * 
+	 * @throws Exception
+	 */
+	@AfterClass
+	public static void runAfterAllTests() throws Exception
+	{
+		// Increase Sleep for debugging
+		_boot.requestEnd();
+		// Give the esb time to finish
+		Thread.sleep(2000);
+		// Cleaning up the generated files
+		String listenerConfigFile = TestEnvironmentUtil.getUserDir("qa")
+				+ "junit/src/org/jboss/soa/esb/actions/jbossesb-listener.xml";
+		File listenerFile = new File(listenerConfigFile);
+		if (listenerFile.exists())
+			listenerFile.delete();
+		String gatewayConfigFile = TestEnvironmentUtil.getUserDir("qa")
+				+ "junit/src/org/jboss/soa/esb/actions/jbossesb-gateway.xml";
+		File gatewayFile = new File(gatewayConfigFile);
+		if (gatewayFile.exists())
+			gatewayFile.delete();
+
+		if ("org.hsqldb.jdbcDriver".equals(mDbDriver))
+		{
+			HsqldbUtil.stopHsqldb(mDbUrl, mDbUsername, mDbPassword);
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/ContentBasedRouterTest.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,59 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd"
+parameterReloadSecs="10">
+
+    <!-- for activemq use:
+        jndi-context-factory="org.apache.activemq.jndi.ActiveMQInitialContextFactory"
+        jndi-URL="tcp://localhost:61616" -->
+    
+    <!--  for mq series use: 
+        jndi-context-factory="com.ibm.mq.jms.context.WMQInitialContextFactory"
+        jndi-URL="dev37:1414/SYSTEM.DEF.SVRCONN" -->
+    
+    <!--  for jbossmq use:
+        jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+        jndi-URL="localhost" -->
+    
+
+	<providers>
+          <jms-provider name="localhost" 
+                      connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="QueueA">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/A"
+                      selector="service='CBRouting-SerializableOrXml'"
+                   />
+              </jms-bus>
+          </jms-provider>
+      </providers>
+      <services>
+        <service 
+        	category="MessageRouting" 
+        	name="ContentBasedRoutingService" 
+        	description="CBR Listener">
+        	<listeners>        
+                  <jms-listener name="XPathContentBasedRouter"
+                              busidref="QueueA"
+                              maxThreads="1">          
+	             </jms-listener>
+             </listeners>
+            <actions>
+                <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+                    <property name="message" value="Hello Content Based Router" />
+                </action>
+                <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter">
+                    <property name="ruleSet" value="JBossESBRules.drl"/>
+                    <property name="ruleReload" value="true"/>
+                    <property name="destinations">
+                        <route-to destination-name="xml-destination-nodelivery" service-category="category01" service-name="jbossesbtest1" /> 
+                        <route-to destination-name="serialized-destination-nodelivery" service-category="category02" service-name="jbossesbtest2" /> 
+                    </property> 
+                </action>
+            </actions> 
+        </service>
+   </services>
+</jbossesb>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/MessageBox.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/MessageBox.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/MessageBox.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,93 @@
+/*
+ * 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;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Vector;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class MessageBox implements ActionProcessor {
+
+    private static Logger logger = Logger.getLogger(MessageBox.class);
+    public static List<Object> messages = new Vector<Object>(); 
+    
+    public MessageBox(ConfigTree config){
+    	
+    }
+    
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+     */
+    public Message process(Message message) throws ActionProcessingException {
+    	Object oCurr = ActionUtils.getTaskObject(message);
+    	if (null==oCurr)
+    		oCurr="<null>";
+        logger.info("MessageBox received message: " + message);
+        messages.add(oCurr);
+        return message;
+    }
+
+    public static void assertMessageCount(int count, long maxWait) {
+        long endTime = System.currentTimeMillis() + maxWait;
+        
+        while(System.currentTimeMillis() < endTime) {
+            if(messages.size() == count) {
+                return;
+            }
+            try {
+                Thread.sleep(100);
+            } catch (InterruptedException e) {
+                logger.error("Thread interupt...", e);
+            }
+        }
+        String errorMsg = "MessageBox failed to receive " + count + " messages.  Message count = " + messages.size() + ".  Waited for " + maxWait + "ms.";
+        logger.error(errorMsg);
+        TestCase.fail(errorMsg);
+    }
+    
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+     */
+    public Serializable getOkNotification(Message message) {
+        return "OK" + ActionUtils.getTaskObject(message);
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+     */
+    public Serializable getErrorNotification(Message message) {
+        return "Error" + ActionUtils.getTaskObject(message);
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/SmooksTransformerConfig.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/SmooksTransformerConfig.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/SmooksTransformerConfig.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,32 @@
+<!-- 
+/*
+ * 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.
+ */ 
+ -->
+
+<SmooksTransformerTest>
+	<action class="org.jboss.soa.esb.actions.converters.SmooksTransformer" 
+		from-type="Acme-Order-XML"
+		from="Acme"
+		to-type="Partner2-Order-XML"
+		to="AcmePartner2"
+		/>
+</SmooksTransformerTest>	

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/SmooksTransformerTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/SmooksTransformerTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/SmooksTransformerTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,95 @@
+/*
+ * 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.actions;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.converters.SmooksTransformer;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.message.ActionProcessingPipeline;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.xml.sax.SAXException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksTransformerTest extends TestCase {
+	
+	@Override
+	protected void setUp() throws Exception {
+		ModulePropertyManager.getPropertyManager(SmooksTransformer.CONFIGURATION_SECTION).setProperty("configuration.list.file.uri", "classpath:/org/jboss/soa/esb/actions/smooks-cdr.lst");
+	}
+
+	public void test_SmooksTransformer() throws SAXException, IOException, ConfigurationException, URISyntaxException {
+		Message message = createEmptyMessage();
+
+		// Set the message payload for processing - don't set the message typing
+		// or routing info on the message...
+        ActionUtils.setTaskObject(message, "<a><ddd>value</ddd></a>");
+        // Process the message...
+		process(message);
+		// Check make sure it did it OK ("ddd" converted to "c")...
+		assertEquals("<x><c>value</c></x>", (String)ActionUtils.getTaskObject(message));
+		
+		// Set the message type and routing info on the message - should override the 
+		// configured typing and routing parameters...
+		message.getProperties().setProperty(SmooksTransformer.FROM, "Acme");
+		message.getProperties().setProperty(SmooksTransformer.FROM_TYPE, "Acme-Order-XML");
+		message.getProperties().setProperty(SmooksTransformer.TO, "AcmePartner1");
+		message.getProperties().setProperty(SmooksTransformer.TO_TYPE, "Partner1-Order-XML");
+		// Set the message payload for processing...
+        ActionUtils.setTaskObject(message, "<a><ddd>value</ddd></a>");
+        // Process the message...
+		process(message);
+		// Check make sure it did it OK ("ddd" converted to "b")...
+		assertEquals("<x><b>value</b></x>", (String)ActionUtils.getTaskObject(message));
+	}
+	
+    private void process(Message message) throws SAXException, IOException, ConfigurationException {
+		ConfigTree config = ConfigTree.fromInputStream(getClass().getResourceAsStream("SmooksTransformerConfig.xml"));
+
+        ActionProcessingPipeline chain = new ActionProcessingPipeline(message, config); 
+		new Thread(chain).start();
+		
+		// Wait for the pipeline to finish processing the message...
+		while(!chain.isProcessingComplete()) {
+			try {
+				Thread.sleep(100);
+			} catch (InterruptedException e) {
+				e.printStackTrace();
+			}
+		}
+    }
+
+	private Message createEmptyMessage() {
+		Message message = MessageFactory.getInstance().getMessage();
+
+		
+		return message;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+classpath:/org/jboss/soa/esb/actions/smooks-test.cdrl

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/smooks-test.cdrl
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/smooks-test.cdrl	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/actions/smooks-test.cdrl	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,28 @@
+<?xml version='1.0'?>
+<!DOCTYPE smooks-resource-list PUBLIC '-//MILYN//DTD SMOOKS 1.0//EN' 'http://milyn.org/dtd/smooksres-list-1.0.dtd'>
+
+<smooks-resource-list>
+
+	<!-- 
+		"Acme-Order-XML" messages going from "Acme" to "AcmePartner1" 
+	-->
+	<smooks-resource useragent="from-type:Acme-Order-XML AND from:Acme AND to-type:Partner1-Order-XML AND to:AcmePartner1" selector="ddd" path="org.milyn.cdres.trans.RenameElementTU">
+		<param name="replacementElement">b</param>
+	</smooks-resource>
+
+	<!-- 
+		"Acme-Order-XML" messages going from "Acme" to "AcmePartner2" 
+	-->
+	<smooks-resource useragent="from-type:Acme-Order-XML AND from:Acme AND to-type:Partner2-Order-XML AND to:AcmePartner2" selector="ddd" path="org.milyn.cdres.trans.RenameElementTU">
+		<param name="replacementElement">c</param>
+	</smooks-resource>
+
+	<!-- 
+		"Acme-Order-XML" messages going from "Acme" to anywhere
+	-->
+	<smooks-resource useragent="from-type:Acme-Order-XML AND from:Acme" selector="a" path="org.milyn.cdres.trans.RenameElementTU">
+		<param name="replacementElement">x</param>
+	</smooks-resource>
+
+</smooks-resource-list>
+

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/MessageBox.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/MessageBox.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/MessageBox.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,96 @@
+/*
+ * 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.message;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Vector;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @since Version 4.0
+ */
+public class MessageBox implements ActionProcessor {
+
+    private static Logger logger = Logger.getLogger(MessageBox.class);
+    public static List<Object> messages = new Vector<Object>(); 
+    
+    public MessageBox(ConfigTree configTree){
+    	
+    }
+    
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#process(java.lang.Object)
+     */
+    public Message process(Message message) throws ActionProcessingException {
+    	Object oCurr = ActionUtils.getTaskObject(message);
+    	if (null==oCurr)
+    		oCurr="<null>";
+        logger.info("MessageBox received message: " + message);
+        messages.add(oCurr);
+        return message;
+    }
+
+    public static void assertMessageCount(int count, long maxWait) {
+        long endTime = System.currentTimeMillis() + maxWait;
+        
+        while(System.currentTimeMillis() < endTime) {
+            if(messages.size() == count) {
+                return;
+            }
+            try {
+                Thread.sleep(100);
+            } catch (InterruptedException e) {
+                logger.error("Thread interupt...", e);
+            }
+        }
+        String errorMsg = "MessageBox failed to receive " + count + " messages.  Message count = " + messages.size() + ".  Waited for " + maxWait + "ms.";
+        logger.error(errorMsg);
+        TestCase.fail(errorMsg);
+    }
+    
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(java.lang.Object)
+     */
+    public Serializable getOkNotification(Message message) {
+        return "OK" + ActionUtils.getTaskObject(message);
+    }
+
+    /* (non-Javadoc)
+     * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(java.lang.Object)
+     */
+    public Serializable getErrorNotification(Message message) {
+        return "Error" + ActionUtils.getTaskObject(message);
+    }
+
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/HsqldbUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/HsqldbUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/HsqldbUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,88 @@
+/*
+ * 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.messagestore;
+
+import java.sql.DriverManager;
+import java.sql.Statement;
+
+import org.hsqldb.Server;
+/**
+ * Utility to start and stop a hsql Database.
+ * 
+ * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
+ *
+ */
+public class HsqldbUtil 
+{
+	final private static String THREAD_NAME = "hypersonic-unittest";
+	/**
+	 * Starts the hsql database in it's own thread. 
+	 * Don't forget to shut it down when you're done.
+	 * 
+	 * @param databaseFile - i.e. build/hsqltestdb
+	 * @param databaseName - i.e. jbossesb
+	 * @throws Exception
+	 */
+	public static void startHsqldb(final String databaseFile,
+			final String databaseName) throws Exception 
+	{
+		// Start DB in new thread, or else it will block us
+		Thread serverThread = new Thread(THREAD_NAME) {
+			public void run() {
+				try {
+					// Create startup arguments
+					final String[] args = {
+						"-database.0", databaseFile,
+						"-dbname.0", databaseName,
+						"-no_system_exit", "true"
+					} ;
+					
+					System.out.println("creating db from this script: " + databaseFile);
+
+					// Start server
+					Server.main(args);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+//				log.error("Failed to start database", e);
+			}
+		};
+		serverThread.run();
+	}
+	/**
+	 * 
+	 * @param url
+	 * @param username
+	 * @param password
+	 * @throws Exception
+	 */
+	public static void stopHsqldb(String url, String username, String password) throws Exception {
+		java.sql.Connection connection = DriverManager.getConnection(
+				url, username, password);
+		Statement statement = connection.createStatement();
+		String shutdownCommand = "SHUTDOWN COMPACT";
+		statement.executeQuery(shutdownCommand);
+	}
+
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreClient.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreClient.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreClient.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,109 @@
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+package org.jboss.soa.esb.messagestore;
+
+import java.net.URI;
+import java.util.Random;
+import java.util.Vector;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
+import org.jboss.soa.esb.services.persistence.MessageStoreType;
+
+/**
+ * @author dbrum
+ * 
+ */
+public class MessageStoreClient implements Runnable
+{
+
+	private static Logger logger = Logger.getLogger(MessageStoreTest.class);
+
+	public void run ()
+	{
+		long startTime = System.currentTimeMillis();
+
+		int requestors = 1000; // number of persist calls to make
+		Vector<URI> writeList = new Vector<URI>();
+
+		// get the database store
+		MessageStore store = MessageStoreFactory.getInstance().getMessageStore(
+				MessageStoreType.DATABASE);
+
+		// messages to persist
+		Message msg[] = { MessageFactory.getInstance().getMessage(
+				MessageType.JBOSS_XML), MessageFactory.getInstance()
+				.getMessage(MessageType.JAVA_SERIALIZED) };
+
+		// set some content inside the Messages
+		for (int x = 0; x < msg.length; x++)
+		{
+			msg[x].getBody().setContents("TEST BODY".getBytes());
+			msg[x].getProperties().setProperty("prop" + x, "val" + x);
+			msg[x].getAttachment().addItem(new String("TEST ATTACHMENT"));
+		}
+
+		// loop through adding the messages
+
+		Random rndMsg = new Random();
+		for (int x = 0; x <= requestors; x++)
+		{
+			try
+			{
+				URI uid = store.addMessage(msg[rndMsg.nextInt(2)]);
+				if (uid != null) writeList.add(uid);
+				else
+					System.err
+							.println("null was found... not adding uid to list...");
+			}
+			catch (Exception ex)
+			{
+				logger.error("Adding message failed.", ex);
+			}
+		}
+
+		logger
+				.info("total messages persisted to db: " + (writeList.size() - 1));
+
+		// loop back reading the messages from the db
+		Vector<Message> readList = new Vector<Message>();
+		for (int x = 0; x < writeList.size(); x++)
+		{
+			try
+			{
+				readList.add(store.getMessage(writeList.get(x)));
+			}
+			catch (Exception e)
+			{
+				logger.error(e);
+			}
+		}
+		logger.info("total messages read from db: " + (readList.size() - 1));
+		logger.info("time to finish write/read for this client: " + (System
+				.currentTimeMillis() - startTime) + " milliseconds.");
+
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/messagestore/MessageStoreTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,155 @@
+/*
+ * 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 daniel.brum at jboss.com
+ */
+
+package org.jboss.soa.esb.messagestore;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.net.URI;
+import java.sql.Connection;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManager;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.services.persistence.MessageStore;
+import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
+import org.jboss.soa.esb.services.persistence.MessageStoreType;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author dbrum
+ *
+ */
+public class MessageStoreTest  {
+	private static Logger logger = Logger.getLogger(MessageStoreTest.class);
+	
+	@Test
+	public void testMultiClientLoad() throws Exception {
+		int clients = 5;
+		Thread[] xx = new Thread[clients];
+		for (int i=0; i<clients; i++) {
+			xx[i] = new Thread(new MessageStoreClient());
+		}
+		for (int i=0; i<clients; i++) {
+			xx[i].start();
+		}
+		//clean up the threads
+		for (int i=0; i<clients; i++) {
+			xx[i] = null;
+		}
+	}
+	
+	@Test
+	public void testSingleLoad() throws Exception {
+		long startTime=System.currentTimeMillis();
+		int requestors = 1000;	//number of persist calls to make
+		List<URI> uriList = new ArrayList<URI>();
+		//get the database store
+		MessageStore store = MessageStoreFactory.getInstance().getMessageStore(MessageStoreType.DATABASE);
+		//messages to persist
+		Message msg[] = { MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML), 
+						 MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED)};		
+		//set some content inside the Messages
+		for (int x=0; x<msg.length; x++) {
+			msg[x].getBody().setContents("TEST BODY".getBytes());
+			msg[x].getProperties().setProperty("prop"+x, "val"+x);
+			msg[x].getAttachment().addItem(new String("TEST ATTACHMENT"));						
+		}
+		//loop through adding the messages
+		Random rndMsg = new Random();
+		for (int x=0; x<=requestors; x++) {
+			URI uid = store.addMessage(msg[rndMsg.nextInt(2)]);	
+			if (uid == null) 
+				System.out.println("null returned from addMessage() call to uid");
+			else
+				uriList.add(uid);
+		}
+		logger.info("total messages persisted to db: " + (uriList.size()-1));
+		//loop back reading the messages from the db
+		List<Message> messages = new ArrayList<Message>();
+		for (int x=0; x<uriList.size(); x++) {
+			messages.add(store.getMessage(uriList.get(x)));
+		}
+		logger.info("total messages read from db: " + (uriList.size()));
+		logger.info("time to finish write/read for this client: " + (System.currentTimeMillis() - startTime) + " milliseconds.");
+	}
+	
+	@BeforeClass
+	public static void runBeforeAllTests()
+	{
+		try {
+			DOMConfigurator.configure(TestEnvironmentUtil.getUserDir("product","../product") + "etc/test/resources/log4j.xml");
+			TestEnvironmentUtil.setESBPropertiesFileToUse("product","../product");						
+			if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
+				HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir("product") + "build/hsqltestdb", "jbossesb");
+				//Get the registry-schema create scripts
+				String database = "hsqldb";
+				logger.info("TestUtil.getPrefixForQA() returns: " + TestEnvironmentUtil.getUserDir("product"));
+				String sqlDir = TestEnvironmentUtil.getUserDir("product","../product") + "install/message-store/sql/" + database + "/";
+				//Drop what is there now, if exists. We want to start fresh.				
+				String sqlCreateCmd    = TestEnvironmentUtil.readTextFile(new File(sqlDir + "create_database.sql"));
+				String sqlDropCmd      = TestEnvironmentUtil.readTextFile(new File(sqlDir + "drop_database.sql"));
+				
+				DBConnectionManager mgr = DBConnectionManager.getInstance();
+				Connection con = mgr.getConnection();
+				Statement stmnt = con.createStatement();
+				System.out.println("Dropping the schema if exist");
+				stmnt.execute(sqlDropCmd);
+				System.out.println("Creating the message store schema");
+				stmnt.execute(sqlCreateCmd);
+			}
+		} catch (Throwable e) {
+			e.printStackTrace();
+			System.out.println("We should stop testing, since we don't have a db.");
+			assertTrue(false);
+		}
+		
+	}
+	
+	@AfterClass
+	public static void runAfterAllTests() throws Exception{
+		Thread.sleep(2000);
+		if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
+			HsqldbUtil.stopHsqldb(Configuration.getStoreUrl(),
+					Configuration.getStoreUser(),Configuration.getStorePwd() );
+		}
+	}
+	
+	public static junit.framework.Test suite() {
+		return new JUnit4TestAdapter(MessageStoreTest.class);
+	}
+	
+	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/DrainQueuesAndTopics.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/DrainQueuesAndTopics.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/DrainQueuesAndTopics.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,124 @@
+/*
+ * 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.objpersist;
+
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueReceiver;
+import javax.jms.QueueSession;
+import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
+import javax.jms.TopicSession;
+import javax.jms.TopicSubscriber;
+import javax.naming.Context;
+
+import org.jboss.soa.esb.helpers.NamingContext;
+
+public class DrainQueuesAndTopics
+{
+  private static final int	  MAX_TIMES_NOMSG = 10;
+  private static final String JNDI_URL	= "localhost";
+  private static final String JNDI_CONNECTION_FACTORY  
+  						= NamingContext.JBOSS_INITIAL_CONTEXT_FACTORY;
+ 
+  private Context m_oCtx;
+  
+  public DrainQueuesAndTopics() throws Exception
+  {
+	  purgeQueueTopic("queue/A");
+	  purgeQueueTopic("queue/B");
+	  purgeQueueTopic("topic/testTopic");
+  } //__________________________________
+  
+  public int purgeQueueTopic(String p_sName) throws Exception
+  { 
+	int iRet = 0;
+	m_oCtx = NamingContext.getServerContext(JNDI_URL, JNDI_CONNECTION_FACTORY, null);
+	
+	System.out.println(p_sName);
+	MessageConsumer oCns = null;
+	switch(p_sName.toLowerCase().charAt(0))
+	{	case 't' : oCns = getTopic(p_sName);	break;
+		case 'q' : oCns = getQueue(p_sName);	break;
+	}
+	if (null==oCns)
+		return 0;
+	
+	for (int iNoRcv=0; iNoRcv < MAX_TIMES_NOMSG; )
+	{	Message oMsg = oCns.receive(200);
+		if (null==oMsg)
+		{	iNoRcv++;
+			System.out.print(".");
+			continue;
+		}
+		iRet++;
+		dumpMessage(oMsg);
+		iNoRcv = 0;
+	}
+	System.out.println();
+	return iRet;
+  } //__________________________________
+  
+  void dumpMessage(Message pM)
+  {
+	  System.out.println(pM);
+  } //__________________________________
+  
+  QueueReceiver getQueue(String p_sJndi) throws Exception
+  {
+	QueueConnection oQconn = null;
+	QueueSession 	oQsess = null;
+	QueueConnectionFactory qcf = (QueueConnectionFactory) m_oCtx
+		.lookup("ConnectionFactory");
+
+	oQconn = qcf.createQueueConnection();
+	oQsess = oQconn.createQueueSession(false
+			,QueueSession.AUTO_ACKNOWLEDGE);
+    javax.jms.Queue oQueue 
+    	= (javax.jms.Queue) m_oCtx.lookup(p_sJndi);
+
+    QueueReceiver oRcv = oQsess.createReceiver(oQueue);
+    oQconn.start();
+    return oRcv;
+  } //__________________________________
+
+  TopicSubscriber getTopic(String p_sJndi) throws Exception
+  {
+	TopicConnection oTconn = null;
+	TopicSession 	oTsess = null;
+	TopicConnectionFactory qcf = (TopicConnectionFactory) m_oCtx
+		.lookup("ConnectionFactory");
+
+	oTconn = qcf.createTopicConnection();
+	oTsess = oTconn.createTopicSession(false
+			,QueueSession.AUTO_ACKNOWLEDGE);
+    Topic oT = (Topic) m_oCtx.lookup(p_sJndi);
+
+    TopicSubscriber oRcv = oTsess.createSubscriber(oT);
+    oTconn.start();
+    return oRcv;
+  } //__________________________________ 
+} //____________________________________________________________________________

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/MessageAttachmentSerializeTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/MessageAttachmentSerializeTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/MessageAttachmentSerializeTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,116 @@
+/*
+ * 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.rosetta;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.message.Attachment;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * QA tests for the Message interface and implementations.
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ */
+public class MessageAttachmentSerializeTest extends TestCase 
+{
+
+	protected void setUp() throws Exception 
+	{
+	}
+
+	public void runTest() throws Exception 
+	{
+		testJavaSerializable();
+		testXml();
+	}
+
+	private static final File TESTFILE = new File("msgAttachment.test");
+	protected void tearDown() throws Exception 
+	{
+		TESTFILE.delete();
+	}
+	
+	public void testJavaSerializable() throws Exception
+	{
+		org.jboss.internal.soa.esb.message.format.serialized.AttachmentImpl
+		old = new  org.jboss.internal.soa.esb.message.format.serialized.AttachmentImpl();
+		populateAttachment(old);
+		ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(TESTFILE));
+		out.writeObject(old);
+		out.close();
+
+		ObjectInputStream inp = new ObjectInputStream(new FileInputStream(TESTFILE));
+		org.jboss.internal.soa.esb.message.format.serialized.AttachmentImpl
+		oNew = (org.jboss.internal.soa.esb.message.format.serialized.AttachmentImpl)
+			inp.readObject();
+		inp.close();
+
+		assertEquals(old,oNew);
+	}
+
+	public void testXml() throws Exception
+	{
+		DocumentBuilder oDB = DocumentBuilderFactory.newInstance().newDocumentBuilder();	
+		Document oDoc = oDB.newDocument();
+		Element  oRoot = oDoc.createElement("root");
+		oDoc.appendChild(oRoot);
+		
+		org.jboss.internal.soa.esb.message.format.xml.AttachmentImpl
+		old = new  org.jboss.internal.soa.esb.message.format.xml.AttachmentImpl();
+		populateAttachment(old);
+		old.toXML(oRoot);
+		
+		org.jboss.internal.soa.esb.message.format.xml.AttachmentImpl
+		oNew = new org.jboss.internal.soa.esb.message.format.xml.AttachmentImpl();		
+		oNew.fromXML(oRoot);
+
+		assertEquals(old,oNew);
+		
+		Document oD2 = oDB.newDocument();
+		Element  oR2 = oD2.createElement("root");
+		oD2.appendChild(oR2);
+		oNew.toXML(oR2);
+
+		String s1 = Util.toString(oRoot);
+		String s2 = Util.toString(oR2);
+		assertEquals(s1,s2);
+	}
+	
+	private void populateAttachment(Attachment att)
+	{
+		att.addItem("unnamed att 1");
+		att.put("name 2","N2N2N2N2N2N2N2N2");
+		att.addItem("unn 2");
+		att.put("name 1","named att 111111111111111");
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/MessagePropertiesSerializeTest.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/MessagePropertiesSerializeTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/MessagePropertiesSerializeTest.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,113 @@
+/*
+ * 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.rosetta;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * QA tests for the Message interface and implementations.
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ */
+public class MessagePropertiesSerializeTest extends TestCase 
+{
+
+	protected void setUp() throws Exception 
+	{
+	}
+
+	public void runTest() throws Exception 
+	{
+		testJavaSerializable();
+		testXml();
+	}
+
+	private static final File TESTFILE = new File("msgProperties.test");
+	protected void tearDown() throws Exception 
+	{
+		TESTFILE.delete();
+	}
+	
+	public void testJavaSerializable() throws Exception
+	{
+		org.jboss.internal.soa.esb.message.format.serialized.PropertiesImpl
+		old = new  org.jboss.internal.soa.esb.message.format.serialized.PropertiesImpl();
+		populateProperties(old);
+		ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(TESTFILE));
+		out.writeObject(old);
+		out.close();
+
+		ObjectInputStream inp = new ObjectInputStream(new FileInputStream(TESTFILE));
+		org.jboss.internal.soa.esb.message.format.serialized.PropertiesImpl
+		oNew = (org.jboss.internal.soa.esb.message.format.serialized.PropertiesImpl)
+			inp.readObject();
+		inp.close();
+
+		assertEquals(old,oNew);
+	}
+
+	public void testXml() throws Exception
+	{
+		DocumentBuilder oDB = DocumentBuilderFactory.newInstance().newDocumentBuilder();	
+		Document oDoc = oDB.newDocument();
+		Element  oRoot = oDoc.createElement("root");
+		oDoc.appendChild(oRoot);
+		
+		org.jboss.internal.soa.esb.message.format.xml.PropertiesImpl
+		old = new  org.jboss.internal.soa.esb.message.format.xml.PropertiesImpl();
+		populateProperties(old);
+		old.toXML(oRoot);
+		
+		org.jboss.internal.soa.esb.message.format.xml.PropertiesImpl
+		oNew = new org.jboss.internal.soa.esb.message.format.xml.PropertiesImpl();		
+		oNew.fromXML(oRoot);
+
+		assertEquals(old,oNew);
+		
+		Document oD2 = oDB.newDocument();
+		Element  oR2 = oD2.createElement("root");
+		oD2.appendChild(oR2);
+		oNew.toXML(oR2);
+
+		String s1 = Util.toString(oRoot);
+		String s2 = Util.toString(oR2);
+		assertEquals(s1,s2);
+	}
+	
+	private void populateProperties(org.jboss.soa.esb.message.Properties props)
+	{
+		props.setProperty("p1","VALUE OF PROP 1");
+		props.setProperty("p2","VALUE 222");
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/Util.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/Util.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/rosetta/Util.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,50 @@
+/*
+ * 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.rosetta;
+
+import java.io.ByteArrayOutputStream;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.Element;
+
+public class Util 
+{
+	public static String toString(Element elem) throws Exception
+	{
+		DOMSource src = new DOMSource(elem.getOwnerDocument());
+
+		ByteArrayOutputStream oStrm = new ByteArrayOutputStream(5000);
+		StreamResult res = new StreamResult(oStrm);
+
+		Transformer TT = TransformerFactory.newInstance().newTransformer();
+		TT.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+		TT.setOutputProperty(OutputKeys.INDENT, "no");
+		TT.transform(src, res);
+		return (oStrm.toString());
+	} // __________________________________
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/services/registry/juddi-qatest.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/services/registry/juddi-qatest.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/services/registry/juddi-qatest.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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=org.hsqldb.jdbcDriver
+juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost/juddi
+juddi.jdbcUsername=sa
+juddi.jdbcPassword=
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/ClassUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/ClassUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/ClassUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,41 @@
+/*
+ * 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.util;
+
+/**
+ * Class utilities.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class ClassUtils {
+
+	/**
+	 * Get the resource path representation of the specified packageObj.
+	 * @param packageObj Java class Package.
+	 * @return Class Package resource path.
+	 */
+	public static final String toResourcePath(Package packageObj) {
+		if(packageObj == null) {
+			throw new IllegalArgumentException("null 'packageObj' arg.");
+		}
+		return "/" + packageObj.getName().replace('.', '/');
+	}	
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/DbUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/DbUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/DbUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,330 @@
+/*
+ * 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.util;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Properties;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.common.Configuration;
+
+/**
+ * Database Utilitise.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class DbUtils
+{
+
+	private static Logger logger = Logger.getLogger(DbUtils.class);
+
+	public static String dbDriver = Configuration.getDbDriver();
+
+	public static String dbUrl = Configuration.getDbUrl();
+
+	public static String dbUser = Configuration.getDbUser();
+
+	public static String dbPassword = Configuration.getDbPassword();
+
+	private static Properties properties = new Properties();
+
+//	static
+//	{
+//		properties.put(ConnectionProperties.DRIVER_CLASSNAME, dbDriver);
+//		properties.put(ConnectionProperties.CONNECTION_URL, dbUrl);
+//		properties.put(ConnectionProperties.USERNAME, dbUser);
+//		properties.put(ConnectionProperties.PASSWORD, dbPassword);
+//	}
+
+	/**
+	 * Execute an SQL statement. <p/> Calls
+	 * {@link Statement#execute(java.lang.String)}. Manages getting and
+	 * cleaning up of all DB resources needed to execute the SQL.
+	 * 
+	 * @param sql
+	 *            SQL to Execute.
+	 * @return The return value from {@link Statement#execute(java.lang.String)}.
+	 */
+	public static boolean execute(String sql)
+	{
+		DbResources dbResources = null;
+
+		try
+		{
+			dbResources = new DbResources();
+			return dbResources.stat.execute(sql);
+		} catch (SQLException e)
+		{
+			TestCaseUtils.logAndFail("SQL execution failed: " + sql, logger, e);
+		} finally
+		{
+			dbResources.close();
+		}
+
+		return false;
+	}
+
+	/**
+	 * Execute an SQL statement. <p/> Calls
+	 * {@link Statement#executeQuery(java.lang.String)}. Manages getting and
+	 * cleaning up of all DB resources needed to execute the SQL.
+	 * 
+	 * @param query
+	 *            SQL to Execute.
+	 * @return Returns a Proxied {@link ResultSet} object which manages closing
+	 *         of all associated DB resources on the call to
+	 *         {@link ResultSet#close()} to the returned {@link ResultSet}
+	 *         object.
+	 */
+	public static ResultSet executeQuery(String query)
+	{
+		DbResources dbResources = null;
+		ResultSet resultSet = null;
+
+		try
+		{
+			dbResources = new DbResources();
+			resultSet = dbResources.stat.executeQuery(query);
+
+			// Proxy the calls to the ResultSet object so we can close the
+			// DbResources
+			// when the call to close the resultset is made.
+			return (ResultSet) Proxy.newProxyInstance(ResultSet.class
+					.getClassLoader(), new Class[]
+			{ ResultSet.class }, new ResultSetInvocationHandler(resultSet,
+					dbResources));
+		} catch (SQLException e)
+		{
+			// Close the ResultSet and DbResources objects...
+			closeResultSet(resultSet);
+			dbResources.close();
+			TestCaseUtils.logAndFail("SQL execution failed: " + query, logger,
+					e);
+		}
+
+		return null;
+	}
+
+	/**
+	 * Execute an SQL statement. <p/> Calls
+	 * {@link Statement#executeUpdate(java.lang.String)}. Manages getting and
+	 * cleaning up of all DB resources needed to execute the SQL.
+	 * 
+	 * @param sql
+	 *            SQL to Execute.
+	 * @return The return value from
+	 *         {@link Statement#executeUpdate(java.lang.String)}.
+	 */
+	public static int executeUpdate(String sql)
+	{
+		DbResources dbResources = null;
+
+		try
+		{
+			dbResources = new DbResources();
+			return dbResources.stat.executeUpdate(sql);
+		} catch (SQLException e)
+		{
+			// Close the DbResources objects...
+			dbResources.close();
+			TestCaseUtils.logAndFail("SQL execution failed: " + sql, logger, e);
+		}
+
+		return 0;
+	}
+
+	/**
+	 * Convienience method for closing a DB ResultSet. <p/> Handles Exceptions
+	 * etc.
+	 * 
+	 * @param resultSet
+	 *            The ResultSet to close.
+	 */
+	public static void closeResultSet(ResultSet resultSet)
+	{
+		if (resultSet != null)
+		{
+			try
+			{
+				resultSet.close();
+			} catch (SQLException e)
+			{
+				TestCaseUtils.logAndFail("Failed to close resultset.", logger,
+						e);
+			}
+		}
+	}
+
+	/**
+	 * Assert that the specified query does not return an empty resultset.
+	 * 
+	 * @param query
+	 *            The query to execute.
+	 * @param maxWait
+	 *            The maximum length of time (ms) to wait for the query to
+	 *            return a non-empty resultset.
+	 */
+	public static void assertNonEmptyResultSet(String query, int maxWait)
+	{
+		long endTime = System.currentTimeMillis() + maxWait;
+
+		while (System.currentTimeMillis() < endTime)
+		{
+			ResultSet resSet = executeQuery(query);
+
+			try
+			{
+				if (resSet.next())
+				{
+					// There were rows in the resultset...
+					return;
+				}
+				Thread.sleep(500);
+			} catch (Exception e)
+			{
+				TestCaseUtils.logAndFail("Error while executing SQL query ["
+						+ query + "].", logger, e);
+			} finally
+			{
+				closeResultSet(resSet);
+			}
+		}
+		TestCaseUtils.logAndFail("SQL query [" + query
+				+ "] failed to return a non-empty resultset.  Waited for "
+				+ maxWait + "ms.", logger, null);
+	}
+
+	/**
+	 * ResultSet Proxying InvocationHandler. <p/> This class is used simply to
+	 * "catch" the close method call on the ResultSet so we can also close the
+	 * underlying DbResources.
+	 * 
+	 * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+	 */
+	private static class ResultSetInvocationHandler implements
+			InvocationHandler
+	{
+		private ResultSet resultSet;
+
+		private DbResources dbResources;
+
+		private ResultSetInvocationHandler(ResultSet resultSet,
+				DbResources dbResources)
+		{
+			this.resultSet = resultSet;
+			this.dbResources = dbResources;
+		}
+
+		public Object invoke(Object proxy, Method method, Object[] args)
+				throws Throwable
+		{
+			if (method.getName().equals("close"))
+			{
+				try
+				{
+					// Caught the call to close the resultset - close the
+					// associated DbResources too!
+					return method.invoke(resultSet, args);
+				} catch (Exception e)
+				{
+					TestCaseUtils.logAndFail(
+							"Failed to close database Resultset.  Connection Properties: "
+									+ properties, logger, e);
+				} finally
+				{
+					dbResources.close();
+				}
+			}
+
+			// Call to something other than the "close" method.
+			return method.invoke(resultSet, args);
+		}
+	}
+
+	/**
+	 * Container Object for a "standard" set of DB resources. <p/> Provides
+	 * convienience methods closing the resources etc.
+	 * 
+	 * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+	 */
+	private static class DbResources
+	{
+		private Connection con = null;
+
+		private Statement stat = null;
+
+		private DbResources()
+		{
+			try
+			{
+				// Register the driver..
+				Class.forName(dbDriver).newInstance();
+				// Create the connection...
+				con = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
+				// Create a regular statement for execution...
+				stat = con.createStatement();
+			} catch (Exception e)
+			{
+				TestCaseUtils.logAndFail(
+						"Failed to connect to database.  Connection Properties: "
+								+ properties, logger, e);
+			}
+		}
+
+		private void close()
+		{
+			try
+			{
+				if (stat != null)
+				{
+					stat.close();
+				}
+			} catch (SQLException e)
+			{
+				TestCaseUtils.logAndFail(
+						"Failed to close database Statement.  Connection Properties: "
+								+ properties, logger, e);
+			} finally
+			{
+				if (con != null)
+				{
+					try
+					{
+						con.close();
+					} catch (SQLException e)
+					{
+						TestCaseUtils.logAndFail(
+								"Failed to close database Connection.  Connection Properties: "
+										+ properties, logger, e);
+					}
+				}
+			}
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/FileUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/FileUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/FileUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,238 @@
+/*
+ * 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.util;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.regex.Pattern;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+
+/**
+ * File utilities.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class FileUtils {
+	
+	private static Logger logger = Logger.getLogger(FileUtils.class);
+
+	/**
+	 * Get the QA environment "build" directory file.
+	 * @return QA "build" dir file.
+	 */
+	public static File getEnvBuildDir() {
+		return new File("./build");
+	}
+	
+	/**
+	 * Creates a directory inside the build dir.
+	 * <p/>
+	 * If the directory already exists, it gets recreated.
+	 * @param name Directory name.
+	 * @return The newly created/recreated directory.
+	 */
+	public static File createTestDir(String name) {
+		File dir = new File(getEnvBuildDir(), name);
+		
+		if(dir.exists()) {
+			dir.delete();
+		}
+		dir.mkdirs();
+		
+		return dir;
+	}
+	
+	/**
+	 * Write the supplied data to the specified file.
+	 * @param file File to write to.
+	 * @param data Data to be written.
+	 */
+	public static void writeDataToFile(File file, byte[] data) {
+		FileOutputStream fileStream = null;
+		
+		try {
+			fileStream = new FileOutputStream(file);
+			fileStream.write(data);
+		} catch (IOException e) {
+			String errorMsg = "Error writing to file: " + file.getAbsolutePath();
+			logger.error(errorMsg, e);
+			TestCase.fail(errorMsg);
+		} finally {
+			if(fileStream != null) {
+				try {
+					fileStream.flush();
+					fileStream.close();
+				} catch (IOException e) {
+					TestCaseUtils.logAndFail("Error flushing/closing file: " + file.getAbsolutePath(), logger, new Exception());
+				}
+			}
+		}		
+	}
+	
+	/**
+	 * Assert that the specified file exists.
+	 * @param file The file in question.
+	 * @param maxWait The maximum length of time (ms) to wait for for the file to appear.
+	 */
+	public static void assertFileExists(File file, long maxWait) {
+		long endTime = System.currentTimeMillis() + maxWait;
+		
+		while(System.currentTimeMillis() < endTime) {
+			if(file.exists()) {
+				return;
+			}
+			try {
+				Thread.sleep(100);
+			} catch (InterruptedException e) {
+				logger.error("Thread interupt...", e);
+			}
+		}
+		TestCaseUtils.logAndFail("File [" + file.getAbsolutePath() + "] doesn't exist.  Waited for " + maxWait + "ms.", logger, new Exception());
+	}
+
+	/**
+	 * Assert that files matching the specified pattern appear in the specified directory.
+	 * @param dir Directory to check.
+	 * @param pattern Regexp pattern used to perform the matching.
+	 * @param maxWait The maximum length of time (ms) to wait for for the files to appear.
+	 */
+	public static void asserFilesExist(final File dir, final String pattern, int maxWait) {
+		if(!dir.isDirectory()) {
+			throw new IllegalArgumentException(dir.getAbsolutePath() + " is not a directory.");
+		}
+		
+		long endTime = System.currentTimeMillis() + maxWait;
+		
+		while(System.currentTimeMillis() < endTime) {
+			if(hasFiles(dir, pattern)) {
+				return;
+			}
+			try {
+				Thread.sleep(100);
+			} catch (InterruptedException e) {
+				logger.error("Thread interupt...", e);
+			}
+		}
+		TestCaseUtils.logAndFail("Files matching the pattern [" + pattern + "] not found in directory [" 
+				+ dir.getAbsolutePath() + "].  Waited for " + maxWait + "ms.", logger, new Exception());
+	}
+	
+	/**
+	 * Check for files matching the specified pattern appear in the specified directory.
+	 * @param dir Directory to check.
+	 * @param pattern Regexp pattern used to perform the matching.
+	 * @return True if files matching that pattern exist, otherwise false.
+	 */
+	public static boolean hasFiles(final File dir, final String pattern) {
+		FileFilter fileFilter = new FileFilter() {
+			public boolean accept(File file) {
+				if(!file.getParentFile().equals(dir)) {
+					return false;
+				}
+				return Pattern.matches(pattern, file.getName());
+			}
+		};
+		
+		return dir.listFiles(fileFilter).length > 0;
+	}
+
+	/**
+	 * Assert that the specified file doesn't exists.
+	 * @param file The file in question.
+	 * @param maxWait The maximum length of time (ms) to wait for for the file to disappear.
+	 */
+	public static void assertFileDoesntExists(File file, long maxWait) {
+		long endTime = System.currentTimeMillis() + maxWait;
+		
+		while(System.currentTimeMillis() < endTime) {
+			if(!file.exists()) {
+				return;
+			}
+			try {
+				Thread.sleep(100);
+			} catch (InterruptedException e) {
+				logger.error("Thread interupt...", e);
+			}
+		}
+		TestCaseUtils.logAndFail("File [" + file.getAbsolutePath() + "] exists.  Waited for " + maxWait + "ms.", logger, new Exception());
+	}
+
+	/**
+	 * Assert that the file/dir can be deleted.
+	 * <p/>
+	 * Just deletes the file and makes sure the delete worked.  This ensures that nothing has an open
+	 * handle on the file i.e. that code didn't "forget" to close it.  This method will fail the assertion
+	 * if the target file is a non-empty directory.
+	 * 
+	 * @param file The file to be deleted.
+	 * @param maxWait The maximum length of time (ms) to wait for for the file to disappear after calling the delete method.
+	 */
+	public static void assertCanDelete(File file, long maxWait) {
+		if(!file.exists()) {
+			TestCaseUtils.logAndFail("File [" + file.getAbsolutePath() + "] can't be deleted - it doesn't exists.", logger, null);
+		}
+		file.delete();
+		long endTime = System.currentTimeMillis() + maxWait;
+		
+		if(file.isDirectory() && hasFiles(file, ".*")) {
+			TestCaseUtils.logAndFail("File [" + file.getAbsolutePath() + "] can't be deleted - it's a directory and isn't empty.", logger, null);
+		}
+		
+		while(System.currentTimeMillis() < endTime) {
+			file.delete();
+			if(!file.exists()) {
+				return;
+			}
+			try {
+				Thread.sleep(100);
+			} catch (InterruptedException e) {
+				logger.error("Thread interupt...", e);
+			}
+		}
+		TestCaseUtils.logAndFail("File [" + file.getAbsolutePath() + "] can't be deleted - a handle on it (or one of its children) may be open.  Waited " + maxWait + "ms", logger, new Exception());
+	}
+	
+	/**
+     * Read the file into a String.
+     * @param file - the file to be read
+     * @return String with the content of the file
+     * @throws IOException - when we can't read the file
+     */
+    public static String readTextFile(File file) throws IOException 
+    {
+        StringBuffer sb = new StringBuffer(1024);
+        BufferedReader reader = new BufferedReader(new FileReader(file.getPath()));
+        char[] chars = new char[1];
+        while( (reader.read(chars)) > -1){
+            sb.append(String.valueOf(chars)); 
+            chars = new char[1];
+        }
+        reader.close();
+        return sb.toString();
+    }
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/JMSClientUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/JMSClientUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/JMSClientUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,149 @@
+/*
+ * 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.util;
+
+import java.io.Serializable;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.QueueSession;
+import javax.jms.TextMessage;
+import javax.naming.Context;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.helpers.NamingContext;
+
+/**
+ * JMS Client utilities.
+ * @author Esteban
+ */
+public class JMSClientUtil {
+	
+	private static Logger logger = Logger.getLogger(JMSClientUtil.class); 
+	
+	/**
+	 * Test queues - correspond to the default queue set e.g. "queue/A", "queue/B" etc.
+	 */
+	public enum QUEUE {
+		A, B, C, D, ex
+	};
+
+	/**
+	 * Send a message to the specified queue.
+	 * @param message The message to be sent (String or other Object).
+	 * @param queue The {@link QUEUE} to send the message to.
+	 * @param properties The String properties to be set on the message.
+	 * @throws Exception
+	 */
+	public static void sendMessageToQueue(Serializable message, QUEUE queue, KeyValuePair[] properties) {
+		JMSSendQueueSetup queueSetup = null;
+		
+		if(message == null || queue == null) {
+			TestCase.fail("Invalid call to sendMessageToQueue: neither 'message' or 'queue' params can be null.");
+		}
+		
+		try {
+			queueSetup = new JMSSendQueueSetup(queue);
+			logger.info("Queue Setup for sending: " + queueSetup.queueName);
+	
+			// Send a Text message to the queue...
+			if (message instanceof String) {
+				TextMessage oMsg = queueSetup.jmsSession.createTextMessage();
+	
+				logger.info("Sending Text message: [" + message + "]");
+				oMsg.setText((String)message);
+				setStringProperties(oMsg, properties);
+				queueSetup.jmsProducer.send(oMsg);
+			} else {
+				ObjectMessage oMsg = queueSetup.jmsSession.createObjectMessage();
+				
+				logger.info("Sending Object message: [" + message + "]");
+				oMsg.setObject(message);
+				setStringProperties(oMsg, properties);
+				queueSetup.jmsProducer.send(oMsg);
+			}
+			logger.info("Message sent: [" + message + "]");
+		} catch(Exception e) {
+			String errorMessage = "Exception while sending message [" + message + "] to queue [" + queue + "].";
+			logger.error(errorMessage, e);
+			TestCase.fail(errorMessage + ": " + e.getMessage());
+		} finally {
+			if(queueSetup != null) {
+				logger.info("Closing Queue Setup: " + queueSetup.queueName);
+				queueSetup.close();
+			}
+		}
+	}
+
+	private static void setStringProperties(Message msg, KeyValuePair[] properties) throws JMSException {
+		if(properties == null) {
+			return;
+		}
+		
+		for(KeyValuePair property : properties) {
+			msg.setStringProperty(property.getKey(), property.getValue());
+		}
+	}
+
+	
+	private static class JMSSendQueueSetup {
+		QueueSession jmsSession;
+		Queue jmsQueue;
+		MessageProducer jmsProducer;
+		String queueName;
+
+		private JMSSendQueueSetup(QUEUE queue) throws Exception {
+			Context m_oCtx = NamingContext.getServerContext(
+					Configuration.getJndiServerURL(),
+					Configuration.getJndiServerContextFactory(), 
+					Configuration.getJndiServerPkgPrefix());
+			QueueConnectionFactory qcf = (QueueConnectionFactory) m_oCtx.lookup("ConnectionFactory");
+			QueueConnection oQconn = qcf.createQueueConnection();
+
+			queueName = "queue/" + queue.name();
+			
+			jmsSession = oQconn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+			jmsQueue = (Queue) m_oCtx.lookup(queueName);
+			jmsProducer = jmsSession.createSender(jmsQueue);			
+		}
+		
+		private void close() {
+			try {
+				jmsProducer.close();
+				jmsSession.close();
+			} catch (Exception e) {
+				logger.error("Unable to close JMS Queue Setup.", e);
+				TestCase.fail("Unable to close JMS Queue Setup: " + e.getMessage());
+			}
+		}
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/TestCaseUtils.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/TestCaseUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/junit/src/org/jboss/soa/esb/util/TestCaseUtils.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -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.soa.esb.util;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+
+/**
+ * TestCase utility methods.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class TestCaseUtils {
+
+
+	/**
+	 * Log a message and fail the test with the same message.
+	 * @param message The message.
+	 * @param logger The Logger instance to use.
+	 * @param cause The cause. can be null.
+	 */
+	public static void logAndFail(String message, Logger logger, Throwable cause) {
+		logger.error(message, cause);
+		TestCase.fail(message);
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/Licenses.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/Licenses.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/Licenses.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,25 @@
+The jars in this directory are covered by a range of licences, as described
+below.
+
+JBoss jars:
+
+/*
+ *
+ * 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,
+ */
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/README.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/README.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/README.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,2 @@
+These jars are from JBossAS:
+	jboss-aspect-library-jdk50.jar, jboss-aop-jdk50-client.jar, jboss-ejb3.jar
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/edtftpj-pro.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/edtftpj-pro.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-aop-jdk50-client.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-aop-jdk50-client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-aspect-library-jdk50.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-aspect-library-jdk50.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-ejb3.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-ejb3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-remoting.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/jboss-remoting.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/junit-4.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/junit-4.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/license.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/license.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-coyote.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-coyote.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-http.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-http.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-util.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/lib/ext/tomcat-util.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/build.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/build.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+<project name="Transformation load test" default="run" basedir=".">
+  
+  <property file="test.properties" />
+	
+  <property name="build.dir" value="${basedir}/build"/>
+  <property name="src.dir" value="${basedir}/src"/>
+	
+  <property name="esb-config" value="esb-config.xml"/>
+  <property name="esb-config-gateway" value="esb-config-gateway.xml"/>
+
+	<path id="classpath">
+	    <fileset dir="${basedir}/lib" includes="*.jar"/>    
+		<pathelement location="./" />
+		<pathelement location="./transform" />
+		<pathelement location="../../../product" /> <!-- The root dir - access to the install dir etc. -->
+		<pathelement location="${build.dir}"/>
+		<fileset dir="${product.lib.dir}" includes="*jar"/>
+		<fileset dir="${product.lib.dir}/ext" includes="*jar"/>
+		<fileset dir="${jbosshome.dir}/client" includes="*jar"/>
+		<fileset dir="${jbosshome.dir}/server/default/lib">
+				<include name="jboss-j2ee.jar"/> <!-- added this for the JMS client -->
+		</fileset>		
+  
+  </path>
+ 
+  <property name="cp" refid="classpath"/>
+  
+  <target name="echoCP">    
+  	<echo message="Classpath is ${cp}"/>
+  </target>
+  
+  <target name="prepare">
+	<mkdir dir="${build.dir}" />
+  </target>
+
+  <target name="clean">
+	<delete dir="${build.dir}" />
+  </target>
+
+  <target name="compile" depends="prepare">
+	<javac srcdir="${src.dir}" destdir="${build.dir}" debug="true">
+	  <classpath refid="classpath"/>
+ 	</javac>
+  </target>
+
+  <target name="run" depends="compile">
+     <echo>Basic JMS Gateway and Listener</echo>
+     <java fork="yes" classname="loadtest.Launcher" failonerror="true">
+     	<arg value="0"/>
+     	<arg value="${esb-config}"/>
+     	<arg value="${esb-config-gateway}"/>
+		<classpath refid="classpath"/>
+     </java>     
+  </target>	
+
+  <target name="runtest">
+     <echo>Runs Test JMS Sender</echo>
+     <java fork="yes" classname="quickstart.test.SendJMSMessage" failonerror="true">
+     	<arg value="Hello World"/>
+		<classpath refid="classpath"/>
+     </java>
+  </target>  
+</project>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/esb-config-gateway.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/esb-config-gateway.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/esb-config-gateway.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,15 @@
+<esb-config-gateway parameterReloadSecs="180">
+   <esb-jms-gateway
+    target-service-category="Trans"
+  	target-service-name="Gateway"
+   	gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener"
+	connection-factory="ConnectionFactory"
+   	destination-type="queue"
+   	destination-name="queue/A"
+	jndi-type="jboss"
+    jndi-URL="localhost"
+   >
+   <!-- no action needed as the inbound message is automatically converted
+     and sent to the queue for the target service -->  
+   </esb-jms-gateway>   
+</esb-config-gateway>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/esb-config.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/esb-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/esb-config.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,83 @@
+<esb-config parameterReloadSecs="180">
+
+   <esb-listener
+    service-category="Trans"
+  	service-name="InQueue"
+    service-description="Queue for splitting the messages across the 3 Transformations"
+	epr-description="None"
+   	listenerClass="org.jboss.soa.esb.listeners.message.JmsQueueListener"
+	connection-factory="ConnectionFactory"
+	destination-type="queue"
+   	destination-name="queue/B"
+    jndi-type="jboss"
+    jndi-URL="localhost"   
+   >
+   	   <!-- There are 3 listeners pulling from "queue/C", all performing different transformations. -->
+	   <action class="org.jboss.soa.esb.actions.routing.JMSRouter" jndiName="queue/C" unwrap="false" />	   
+   </esb-listener>   
+
+   <esb-listener
+    service-category="Trans"
+  	service-name="TransService_01"
+    service-description="Simply Transformation load test service"
+	epr-description="None"
+   	listenerClass="org.jboss.soa.esb.listeners.message.JmsQueueListener"
+	connection-factory="ConnectionFactory"
+	destination-type="queue"
+   	destination-name="queue/C"
+    jndi-type="jboss"
+    jndi-URL="localhost"   
+   >
+	   <action class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+	   <action class="org.jboss.soa.esb.actions.converters.SmooksTransformer"
+			from="Trans:Gateway"
+			from-type="text/csv:inmessage"
+			to="Trans:TransService_01"
+			to-type="text/csv:inmessage" />	   
+	   <action class="loadtest.Assertion" message-name="Routing Test" expected="expected/TransService_01.expected"/>	  
+   </esb-listener>
+
+   <esb-listener
+    service-category="Trans"
+  	service-name="TransService_02"
+    service-description="Simply Transformation load test service"
+	epr-description="None"
+   	listenerClass="org.jboss.soa.esb.listeners.message.JmsQueueListener"
+	connection-factory="ConnectionFactory"
+	destination-type="queue"
+   	destination-name="queue/C"
+    jndi-type="jboss"
+    jndi-URL="localhost"   
+   >
+	   <action class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+	   <action class="org.jboss.soa.esb.actions.converters.SmooksTransformer"
+			from="Trans:Gateway"
+			from-type="text/csv:inmessage"
+			to="Trans:TransService_02"
+			to-type="text/csv:inmessage" />	   
+	   <action class="loadtest.Assertion" message-name="Routing Test" expected="expected/TransService_02.expected"/>	  
+   </esb-listener>   
+
+
+   <esb-listener
+    service-category="Trans"
+  	service-name="TransService_03"
+    service-description="Simply Transformation load test service"
+	epr-description="None"
+   	listenerClass="org.jboss.soa.esb.listeners.message.JmsQueueListener"
+	connection-factory="ConnectionFactory"
+	destination-type="queue"
+   	destination-name="queue/C"
+    jndi-type="jboss"
+    jndi-URL="localhost"   
+   >
+	   <action class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+	   <action class="org.jboss.soa.esb.actions.converters.SmooksTransformer"
+			from="Trans:Gateway"
+			from-type="text/csv:inmessage"
+			to="Trans:TransService_03"
+			to-type="text/csv:inmessage" />	   
+	   <action class="loadtest.Assertion" message-name="Routing Test" expected="expected/TransService_03.expected"/>	  
+   </esb-listener>
+
+</esb-config>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_01.expected
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_01.expected	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_01.expected	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<customer-list><trans01_cust><cust_name>Joe Bloggs</cust_name><cust_address>1 Skeagh Bridge</cust_address></trans01_cust><trans01_cust><cust_name>Matt Farrell</cust_name><cust_address>Mountmellick</cust_address></trans01_cust></customer-list>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_02.expected
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_02.expected	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_02.expected	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<customers><customer><customer-name>Joe Bloggs</customer-name><customer-address>1 Skeagh Bridge</customer-address><customer-age>21</customer-age></customer><customer><customer-name>Matt Farrell</customer-name><customer-address>Mountmellick</customer-address><customer-age>25</customer-age></customer></customers>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_03.expected
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_03.expected	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/expected/TransService_03.expected	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1 @@
+<customer-list><customer-details><name>Joe Bloggs</name><address>1 Skeagh Bridge</address><age>21</age><phone>987123654</phone></customer-details><customer-details><name>Matt Farrell</name><address>Mountmellick</address><age>25</age><phone>7654321</phone></customer-details></customer-list>
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jbossesb-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jbossesb-properties.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, JBoss Inc., and others contributors as indicated 
+  by the @authors tag. All rights reserved. 
+  See the copyright.txt in the distribution for a
+  full listing of individual contributors. 
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU Lesser General Public License, v. 2.1.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+  You should have received a copy of the GNU Lesser General Public License,
+  v.2.1 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+  These options are described in the JBossESB manual.
+  Defaults are provided here for convenience only.
+ 
+  Please read through this file prior to using the system, and consider
+  updating the specified entries.
+-->
+<esb
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+    <properties name="core">
+		<property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+    </properties>
+    <properties name="registry">
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#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.LocalTransport"/>
+    </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/jbossesb"/>
+		<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"/> 
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jmeter-script.jmx
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jmeter-script.jmx	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jmeter-script.jmx	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,60 @@
+<jmeterTestPlan version="1.2" properties="1.8">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="JBoss ESB - Simple Transformation Load Test" enabled="true">
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <stringProp name="TestPlan.comments"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
+        <longProp name="ThreadGroup.start_time">1165488522000</longProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <stringProp name="ThreadGroup.duration"></stringProp>
+        <stringProp name="ThreadGroup.num_threads">3</stringProp>
+        <boolProp name="ThreadGroup.scheduler">false</boolProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <intProp name="LoopController.loops">-1</intProp>
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+        </elementProp>
+        <longProp name="ThreadGroup.end_time">1165488522000</longProp>
+        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">10</stringProp>
+      </ThreadGroup>
+      <hashTree>
+        <JMSSampler guiclass="JMSConfigGui" testclass="JMSSampler" testname="JMS Point-to-Point" enabled="true">
+          <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <elementProp name="JMSSampler.jndiProperties" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="java.naming.factory.url.pkgs" elementType="Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">org.jboss.naming</stringProp>
+                <stringProp name="Argument.name">java.naming.factory.url.pkgs</stringProp>
+              </elementProp>
+            </collectionProp>
+          </elementProp>
+          <boolProp name="JMSSampler.isFireAndForget">true</boolProp>
+          <stringProp name="JMSSampler.ReceiveQueue"></stringProp>
+          <stringProp name="JMSSampler.timeout">2000</stringProp>
+          <stringProp name="JMSSampler.SendQueue">queue/A</stringProp>
+          <stringProp name="JMSSampler.contextProviderUrl">jnp://localhost:1099</stringProp>
+          <stringProp name="JMSSampler.queueconnectionfactory">ConnectionFactory</stringProp>
+          <stringProp name="JMSSampler.initialContextFactory">org.jnp.interfaces.NamingContextFactory</stringProp>
+          <stringProp name="HTTPSamper.xml_data">Joe Bloggs,1 Skeagh Bridge,21,987123654
+Matt Farrell,Mountmellick,25,7654321</stringProp>
+        </JMSSampler>
+        <hashTree/>
+        <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Gaussian Random Timer" enabled="true">
+          <stringProp name="RandomTimer.range">200.0</stringProp>
+          <stringProp name="ConstantTimer.delay">1000</stringProp>
+        </GaussianRandomTimer>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jndi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/jndi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/juddi.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/juddi.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,70 @@
+# 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=org.hsqldb.jdbcDriver
+#juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost/jbossesb
+juddi.jdbcUrl=jdbc:hsqldb:hsql://localhost:9001/jbossesb
+juddi.jdbcUsername=sa
+juddi.jdbcPassword=
+# jUDDI DataSource to use
+juddi.dataSource=java:comp/env/jdbc/juddiDB
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/milyn-smooks-csv-0.1.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/milyn-smooks-csv-0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/opencsv-1.6.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/opencsv-1.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/test-util.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/lib/test-util.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A size based file rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="./listener.log"/>
+     <param name="Append" value="false"/>
+     <param name="MaxFileSize" value="500KB"/>
+
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+     </layout>	    
+   </appender>
+
+   <!-- A size based file rolling appender -->
+   <appender name="Assertions" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="./assertions.log"/>
+     <param name="Append" value="false"/>
+     <param name="MaxFileSize" value="1000KB"/>
+     <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="INFO"/>
+   </category>
+   <category name="loadtest.Assertion">
+      <priority value="ERROR"/>
+      <appender-ref ref="Assertions"/>
+   </category>
+   <category name="org.jboss.soa.esb.actions.routing">
+      <priority value="INFO"/>
+   </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="INFO"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/readme.txt
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/readme.txt	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,16 @@
+Load test for the ESB and transformation.
+
+1. Run "ant".
+2. Using JMeter, load the "jmeter-script.jmx" file found in this folder.
+3. Start the test run - "Run->Start".
+
+You should see the tests running.  However, there's an issue (JESB-270) with the JMSQueueListener whic prevents these
+tests from being run in a meaningful way.
+
+KURT: I thought JBESB-270 was resolved?
+
+Check the "assertions.log" file for errors!!
+
+So, using JMeter, we pump CVS records into queue/A.  These are picked up by the JMSGatewayListener, packaged and forwarded to
+queue/B.  From here the JMSRouter routs all the messages to queue/C.  There are 3 JMSQueueListeners feeding off queue/C
+and performing 3 different transformations.

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/Assertion.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/Assertion.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/Assertion.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,115 @@
+/*
+ * 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 loadtest;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.Serializable;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.ActionProcessor;
+import org.jboss.soa.esb.actions.ActionUtils;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.testutils.FileUtil;
+
+/**
+ * Assertion processor.
+ * <p/>
+ * Used for checking the message payload contents when testing.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Assertion implements ActionProcessor {
+
+	private static Logger logger = Logger.getLogger(Assertion.class);
+	private ConfigTree config;
+	
+	public Assertion(ConfigTree config) {
+		this.config = config;
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#process(org.jboss.soa.esb.message.Message)
+	 */
+	public Message process(Message message) throws ActionProcessingException {
+		String messageName = config.getAttribute("message-name");
+		String expectedFilePath = config.getAttribute("expected");
+		File expectedFile;
+		String expected;
+		Object payloadObj;
+		String payload;
+		
+		if(expectedFilePath == null) {
+			throw new ActionProcessingException("action property 'expected' is not specified on the action configuration. Message name [" + messageName + "].");
+		}
+		expectedFile = new File(expectedFilePath);
+		if(!expectedFile.exists()) {
+			throw new ActionProcessingException("action property 'expected' specifies a non-existent file [" + expectedFile.getAbsolutePath() + "]. Message name [" + messageName + "].");
+		}
+		payloadObj = ActionUtils.getTaskObject(message);;
+		if(payloadObj == null) {
+			throw new ActionProcessingException("null payload on message. Message name [" + messageName + "].");
+		}
+		try {
+			payload = (String)payloadObj;
+		} catch(ClassCastException e) {
+			throw new ActionProcessingException("Message payload must be of type java.lang.String. Is " + payloadObj.getClass().getName() + ". Message name [" + messageName + "].");
+		}
+		
+		// Read the expected payload from the file...
+		try {
+			expected = new String(StreamUtils.readStream(new FileInputStream(expectedFile)));
+		} catch (IOException e) {
+			throw new ActionProcessingException("Failed to read 'expected' file [" + expectedFile.getAbsolutePath() + "].", e);
+		}
+		
+		// Compare them...
+		if(!expected.equals(payload)) {
+			logger.error("Message payload check assertion failure.  Message name [" + messageName + "]....");
+			logger.error("Expected [" + expectedFile.getAbsolutePath() + "]...");
+			logger.error("[" + expected + "]");
+			logger.error("Actual...");
+			logger.error("[" + payload + "]");
+		} else {
+			logger.info("Message payload check assertion passed.  Message name [" + messageName + "].");
+		}
+			
+		return message;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getOkNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getOkNotification(Message message) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.jboss.soa.esb.actions.ActionProcessor#getErrorNotification(org.jboss.soa.esb.message.Message)
+	 */
+	public Serializable getErrorNotification(Message message) {
+		return null;
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/HsqldbUtil.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/HsqldbUtil.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/HsqldbUtil.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,105 @@
+package loadtest;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+
+import org.apache.log4j.Logger;
+import org.hsqldb.Server;
+import org.jboss.internal.soa.esb.persistence.format.db.DBConnectionManager;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.testutils.FileUtil;
+
+/**
+ * Utility to start and stop a hsql Database.
+ * 
+ * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
+ *
+ */
+public class HsqldbUtil 
+{
+	final private static String THREAD_NAME = "hypersonic-unittest";
+	
+	private static Logger _logger = Logger.getLogger(HsqldbUtil.class);
+	/**
+	 * Starts the hsql database in it's own thread. 
+	 * Don't forget to shut it down when you're done.
+	 * 
+	 * @param databaseFile - i.e. build/hsqltestdb
+	 * @param databaseName - i.e. jbossesb
+	 * @throws Exception
+	 */
+	public static void startHsqldb() throws Exception 
+	{
+		// Start DB in new thread, or else it will block us
+		Thread serverThread = new Thread(THREAD_NAME) {
+			public void run() {
+				try {
+					// Create startup arguments
+					String[] args = new String[4];
+					args[0] = "-database.0";
+					args[1] = "build/hsqldb";
+					args[2] = "-dbname.0";
+					args[3] = "jbossesb";
+					
+					_logger.info("creating db from this script: " + args[1]);
+
+					// Start server
+					Server.main(args);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+//				log.error("Failed to start database", e);
+			}
+		};
+		serverThread.run();
+		
+		createDatabase();
+	}
+	/**
+	 * 
+	 * @param url
+	 * @param username
+	 * @param password
+	 * @throws Exception
+	 */
+	public static void stopHsqldb() throws Exception {
+		String url = Configuration.getStoreUrl();
+		String username = Configuration.getStoreUser();
+		String password = Configuration.getStorePwd();
+		
+		java.sql.Connection connection = DriverManager.getConnection(
+				url, username, password);
+		Statement statement = connection.createStatement();
+		String shutdownCommand = "SHUTDOWN COMPACT";
+		statement.executeQuery(shutdownCommand);
+	}
+
+	private static void createDatabase() throws Exception{	
+		//message store db
+		String sqlCreateCmd    = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/message-store/sql/hsqldb/create_database.sql"));
+		String sqlDropCmd      = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/message-store/sql/hsqldb/drop_database.sql"));		
+		
+		DBConnectionManager mgr = DBConnectionManager.getInstance();
+		Connection con = mgr.getConnection();
+		
+		Statement stmnt = con.createStatement();
+		System.out.println("Dropping the message store schema if exists...");
+		stmnt.execute(sqlDropCmd);
+		System.out.println("Creating the message store schema...");
+		stmnt.execute(sqlCreateCmd);
+		
+		//registry DB
+		System.out.println("Dropping the registry schema if exists...");
+		sqlDropCmd      = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/jUDDI-registry/sql/hsqldb/drop_database.sql"));
+		stmnt.execute(sqlDropCmd);
+		System.out.println("creating the registry schema...");
+		sqlCreateCmd    = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/jUDDI-registry/sql/hsqldb/create_database.sql"));
+		stmnt.execute(sqlCreateCmd);
+		System.out.println("inserting registry publishers...");
+		String sqlInsertPubCmd = FileUtil.readStream(HsqldbUtil.class.getResourceAsStream("/install/jUDDI-registry/sql/hsqldb/insert_publishers.sql"));
+		stmnt.execute(sqlInsertPubCmd);
+		stmnt.close();
+		con.close();
+	}
+}

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/Launcher.java
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/Launcher.java	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/src/loadtest/Launcher.java	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,73 @@
+package loadtest;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.listeners.gateway.GatewayListenerController;
+import org.jboss.soa.esb.listeners.message.EsbListenerController;
+import org.jboss.soa.esb.listeners.message.EsbListenerControllerFactory;
+
+
+public class Launcher {	
+	private static Log log = LogFactory.getLog(Launcher.class);
+	
+	private EsbListenerController	_esbListController;
+	private GatewayListenerController _gatewayController;
+	
+	private Logger _logger = Logger.getLogger(Launcher.class);
+	
+	public static void main (String args[]) throws Exception {
+		
+		log.info("args passed into Launcher: " + args.length);
+		for (int x=0; x<args.length; x++)
+			log.info("arg[" + x + "]=" + args[x]);
+		
+		
+		Launcher launcher = new Launcher();
+		
+		if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
+			HsqldbUtil.startHsqldb();
+		}
+		
+		try {
+			launcher.triggerListener(Long.valueOf(args[0]).longValue(), args[1], args[2]);
+    		while(true) {
+    			Thread.sleep(1000);
+    		}
+		} finally {
+			if (Configuration.getStoreDriver().equals("org.hsqldb.jdbcDriver")) {
+				HsqldbUtil.stopHsqldb();
+			}
+		}
+	}
+	
+	private void triggerListener(long runTime, String messageAwareConfigFile, 
+		String gatewayConfigFile) throws Exception{
+		try 
+        {
+								
+    		if (null != messageAwareConfigFile) {
+    			_logger.info("starting message aware listener with config file - " + 
+    					messageAwareConfigFile);
+    			_esbListController = EsbListenerControllerFactory.getInstance(messageAwareConfigFile);
+    		}
+    		if (null != gatewayConfigFile) {
+    			_logger.info("starting gateway listener with config file - " + 
+    					gatewayConfigFile);
+    			_gatewayController = new GatewayListenerController(gatewayConfigFile);
+    			new Thread(_gatewayController).start();
+    		}
+    		
+    		System.out.println("**Listeners Ready**");
+        }
+        catch (Exception e) { 
+        	_logger.error(e);
+        	throw(e);
+        }
+        
+	
+	}		
+	
+
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/test.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/test.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/test.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,8 @@
+##############################################################################################
+# Environment specific properties for executing the quickstarts.
+##############################################################################################
+product.lib.dir=../../../product/build/jbossesb/lib
+
+# Location of your JBoss Application Server installation.
+# NB: Avoid using back slashes '\' in the path - '/' works on all platforms.
+jbosshome.dir=/jboss-4.0.5.GA

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/smooks-cdr.lst
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/smooks-cdr.lst	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/smooks-cdr.lst	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,10 @@
+####################################################
+# Uncomment out to load config from database
+####################################################
+# http://localhost:8080/jboss-esb-console/transform/smooks-config.jsf
+
+####################################################
+# Uncomment out to load config from local XML file
+####################################################
+/smooks-trans.xml
+/org/milyn/templating/templating-cdu-creators-0.1.cdrl

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/smooks-trans.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/smooks-trans.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/load_tests/transform_load/transform/smooks-trans.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!DOCTYPE smooks-resource-list PUBLIC "-//MILYN//DTD SMOOKS 1.0//EN" "http://www.milyn.org/dtd/smooksres-list-1.0.dtd" >
+<smooks-resource-list>
+	<smooks-resource selector="cdu-creator" useragent="*" path="org.milyn.templating.xslt.XslContentDeliveryUnitCreator" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[* XSLT Content Delivery Unit Creator (This resource is targeted at all Message Exchanges and is required for interpreting "xsl" resource types)]]></param>
+		<param name="restype"><![CDATA[xsl]]></param>
+	</smooks-resource>
+	<smooks-resource selector="cdu-creator" useragent="*" path="org.milyn.templating.stringtemplate.StringTemplateContentDeliveryUnitCreator" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[* StringTemplate Content Delivery Unit Creator (This resource is targeted at all Message Exchanges and is required for interpreting "st" resource types)]]></param>
+		<param name="restype"><![CDATA[st]]></param>
+
+	</smooks-resource>
+	<smooks-resource selector="org.xml.sax.driver" useragent="from-type:text/csv:inmessage and from:trans:gateway" path="org.milyn.csv.CSVParser" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[CSV Message Parser]]></param>
+		<param name="fields" type="string-list"><![CDATA[name,address,age,phone]]></param>
+	</smooks-resource>
+	<smooks-resource selector="csv-record" useragent="from-type:text/csv:inmessage and from:trans:gateway and to-type:text/csv:inmessage and to:trans:transservice_01" path="See 'resdata' parameter value" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[XSLT (Templatelet)]]></param>
+		<param name="encoding"><![CDATA[UTF-8]]></param>
+		<param name="visitBefore"><![CDATA[false]]></param>
+
+		<param name="is-xslt-templatelet"><![CDATA[true]]></param>
+		<param name="restype"><![CDATA[xsl]]></param>
+		<param name="action"><![CDATA[replace]]></param>
+		<param name="resdata"><![CDATA[<trans01_cust>
+    <cust_name><xsl:value-of select="name"/></cust_name>
+    <cust_address><xsl:value-of select="address"/></cust_address>
+</trans01_cust>]]></param>
+	</smooks-resource>
+	<smooks-resource selector="csv-set" useragent="from-type:text/csv:inmessage and from:trans:gateway and to-type:text/csv:inmessage and to:trans:transservice_01" path="org.milyn.cdres.trans.RenameElementTU" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[Rename Element]]></param>
+		<param name="replacementElement"><![CDATA[customer-list]]></param>
+	</smooks-resource>
+
+	<smooks-resource selector="csv-set" useragent="from-type:text/csv:inmessage and from:trans:gateway and to-type:text/csv:inmessage and to:trans:transservice_02" path="org.milyn.cdres.trans.RenameElementTU" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[Rename Element]]></param>
+		<param name="replacementElement"><![CDATA[customers]]></param>
+	</smooks-resource>
+	<smooks-resource selector="csv-record" useragent="from-type:text/csv:inmessage and from:trans:gateway and to-type:text/csv:inmessage and to:trans:transservice_03" path="org.milyn.cdres.trans.RenameElementTU" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[Rename Element]]></param>
+		<param name="replacementElement"><![CDATA[customer-details]]></param>
+	</smooks-resource>
+	<smooks-resource selector="csv-set" useragent="from-type:text/csv:inmessage and from:trans:gateway and to-type:text/csv:inmessage and to:trans:transservice_03" path="org.milyn.cdres.trans.RenameElementTU" >
+
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[Rename Element]]></param>
+		<param name="replacementElement"><![CDATA[customer-list]]></param>
+	</smooks-resource>
+	<smooks-resource selector="csv-record" useragent="from-type:text/csv:inmessage AND from:Trans:Gateway AND to-type:text/csv:inmessage AND to:Trans:TransService_02" path="See 'resdata' parameter value" >
+		<param name="RESERVED:RESOURCE_NAME_PARAM"><![CDATA[XSLT (Templatelet)]]></param>
+		<param name="encoding"><![CDATA[UTF-8]]></param>
+		<param name="visitBefore"><![CDATA[false]]></param>
+		<param name="is-xslt-templatelet"><![CDATA[true]]></param>
+		<param name="restype"><![CDATA[xsl]]></param>
+
+		<param name="resdata"><![CDATA[<customer>
+    <customer-name><xsl:value-of select="name"/></customer-name>
+    <customer-address><xsl:value-of select="address"/></customer-address>
+    <customer-age><xsl:value-of select="age"/></customer-age>
+</customer>]]></param>
+		<param name="action"><![CDATA[replace]]></param>
+	</smooks-resource>
+
+</smooks-resource-list>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/log4j.xml
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/log4j.xml	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A size based file rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="build/logs/qatests.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.soa.esb">
+      <priority value="DEBUG"/>
+   </category>
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <priority value="WARN"/>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/dmarchant/trunk/qa/test.properties
===================================================================
--- labs/jbossesb/workspace/dmarchant/trunk/qa/test.properties	                        (rev 0)
+++ labs/jbossesb/workspace/dmarchant/trunk/qa/test.properties	2007-03-01 16:49:28 UTC (rev 9877)
@@ -0,0 +1,8 @@
+###################################################################################################
+#
+# Env specific test properties.
+#
+###################################################################################################
+
+org.jboss.soa.esb.jndi.server.type=jboss
+org.jboss.soa.esb.jndi.server.url=localhost
\ No newline at end of file




More information about the jboss-svn-commits mailing list