[jboss-svn-commits] JBL Code SVN: r9590 - in labs/jbossesb/trunk/product: jboss-esb-console and 39 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 19 06:51:50 EST 2007


Author: tfennelly
Date: 2007-02-19 06:51:50 -0500 (Mon, 19 Feb 2007)
New Revision: 9590

Added:
   labs/jbossesb/trunk/product/jboss-esb-console/
   labs/jbossesb/trunk/product/jboss-esb-console/.classpath
   labs/jbossesb/trunk/product/jboss-esb-console/.exploded.launch
   labs/jbossesb/trunk/product/jboss-esb-console/.project
   labs/jbossesb/trunk/product/jboss-esb-console/build.properties
   labs/jbossesb/trunk/product/jboss-esb-console/build.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/
   labs/jbossesb/trunk/product/jboss-esb-console/distro/application.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/distro-CONSOLE-README.TXT
   labs/jbossesb/trunk/product/jboss-esb-console/distro/distro-build.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/
   labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/build.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/db.application.modules.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/jboss-esb-console-ds.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/persistence.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/
   labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/build.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/db.application.modules.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/jboss-esb-console-ds.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/persistence.xml
   labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/postgresql-8.1-407.jdbc2ee.jar
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/default.persistence.properties
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/ejb3-interceptors-aop.xml
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/embedded-jboss-beans.xml
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jboss-jms-beans.xml
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jndi.properties
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/log4j.xml
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/login-config.xml
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/security-beans.xml
   labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/readme.txt
   labs/jbossesb/trunk/product/jboss-esb-console/lib/
   labs/jbossesb/trunk/product/jboss-esb-console/lib/activation.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/ant-antlr-1.6.5.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/ant-launcher.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/ant-nodeps.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/ant.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/antlr-2.7.6.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/antlr-3.0ea8.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-beanutils-1.7.0.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-codec-1.3.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-collections-3.1.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-digester-1.6.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-el-1.0.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-jci-core-1.0-406301.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-jci-janino-2.4.3.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-lang-2.1.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/commons-logging-api-1.0.4.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/drools-compiler-3.0.5.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/drools-core-3.0.5.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/el-api.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/el-ri.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/hibernate-all.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/hsqldb.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/itext-1.4.7.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/janino-2.4.3.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/javax.servlet.jsp.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jboss-aop-jdk50.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jboss-cache-jdk50.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jboss-ejb3-all.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jboss-seam-debug.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jboss-seam-mail.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jboss-seam-pdf.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jboss-seam-ui.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jboss-seam.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jbpm-3.1.4.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jgroups.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jsf-facelets.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/jstl-1.1.0.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/mail.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/myfaces-api-1.1.4.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/myfaces-impl-1.1.4.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/portlet-api-lib.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/readme.txt
   labs/jbossesb/trunk/product/jboss-esb-console/lib/servlet-api.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/stringtemplate-2.3b6.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/testng-4.5.1-jdk15.jar
   labs/jbossesb/trunk/product/jboss-esb-console/lib/thirdparty-all.jar
   labs/jbossesb/trunk/product/jboss-esb-console/nbproject/
   labs/jbossesb/trunk/product/jboss-esb-console/nbproject/debug-jboss.properties
   labs/jbossesb/trunk/product/jboss-esb-console/nbproject/ide-file-targets.xml
   labs/jbossesb/trunk/product/jboss-esb-console/nbproject/project.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/
   labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/
   labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/application.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/ejb-jar.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/jboss-app.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/persistence.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/
   labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/components.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/faces-config.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/navigation.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/pages.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/web.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/components.properties
   labs/jbossesb/trunk/product/jboss-esb-console/resources/import.sql
   labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-ds.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-service.xml
   labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console.properties
   labs/jbossesb/trunk/product/jboss-esb-console/resources/messages_en.properties
   labs/jbossesb/trunk/product/jboss-esb-console/resources/seam.properties
   labs/jbossesb/trunk/product/jboss-esb-console/resources/security.drl
   labs/jbossesb/trunk/product/jboss-esb-console/src/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamUtils.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/Toggle.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/importexport/
   labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java
   labs/jbossesb/trunk/product/jboss-esb-console/test/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/testng.xml
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/expected-1.txt
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/flow/
   labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java
   labs/jbossesb/trunk/product/jboss-esb-console/view/
   labs/jbossesb/trunk/product/jboss-esb-console/view/about.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/contract/
   labs/jbossesb/trunk/product/jboss-esb-console/view/contract/list-message-contracts.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/contract/new-message-contract.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/contract/template.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/common.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/custom.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/global.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/headings.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/layout.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/navigation.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/pagelayout.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/print.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen_001.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen_002.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/css/tables.css
   labs/jbossesb/trunk/product/jboss-esb-console/view/error.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/features.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/flash/
   labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-01.html
   labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-01.swf
   labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-02.html
   labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-02.swf
   labs/jbossesb/trunk/product/jboss-esb-console/view/home.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg_bottom_red.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg_side_btm_red.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg_top_red.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg_topmenu_red_round.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/btn.bg.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/cnt.bg.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/crn_left_bot_blue.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/crn_left_bot_green.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/crn_left_bot_red.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/crn_left_bot_yellow.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/gradient_news_bkgd_650.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/hdr.bg.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/input.bg.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/logo.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/rh/
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/rh/points.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/rh/table_corner_tl.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/rh/table_corner_tr.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/sdb.bg.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/table_corner_tl.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/table_corner_tr.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/img/th.bg.gif
   labs/jbossesb/trunk/product/jboss-esb-console/view/index.html
   labs/jbossesb/trunk/product/jboss-esb-console/view/participant/
   labs/jbossesb/trunk/product/jboss-esb-console/view/participant/index.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/participant/manage-participants.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/participant/template.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/template.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/add-resource-parameter-spec.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/add-resource-parameter.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/import-export-resources.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/list-resource-specs.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/list-resources.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-create.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-select-spec.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-spec-create.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-target.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/select-message-exchange-finish.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/select-message-exchange-from.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/smooks-config.jsp
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/template.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/test-transformation.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/update-resource-parameter.xhtml
   labs/jbossesb/trunk/product/jboss-esb-console/view/transform/view-resource.xhtml
Removed:
   labs/jbossesb/trunk/product/console/
Modified:
   labs/jbossesb/trunk/product/build.xml
Log:
http://jira.jboss.com/jira/browse/JBESB-407

Modified: labs/jbossesb/trunk/product/build.xml
===================================================================
--- labs/jbossesb/trunk/product/build.xml	2007-02-19 11:32:34 UTC (rev 9589)
+++ labs/jbossesb/trunk/product/build.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -28,6 +28,8 @@
 	<!-- 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="jboss-esb-console"/>
+	
 	<!-- Compile with debugging? -->
 	<property name="org.jboss.esb.debug" value="yes"/>
 	<condition property="org.jboss.esb.debug" value="no">
@@ -305,8 +307,7 @@
 	<!-- Build the tools into the main dist -->
 	<target name="org.jboss.esb.tools">
 		<!-- Build the admin console webapp. -->
-		<ant dir="console" target="dist">
-			<property name="build.tools.dir" value="${org.jboss.esb.internal.dest}/tools"/>
+		<ant dir="${console.dir}" target="dist">
 			<property name="install.tools.dir" value="${org.jboss.esb.installationdirectory}/tools"/>
 		</ant>
 	</target>
@@ -317,7 +318,7 @@
 		
 		<echo message="Cleaning core"/>
 		<ant dir="core" target="clean"/>
-		<ant dir="console" target="clean"/>
+		<ant dir="${console.dir}" target="clean"/>
 		
 		<delete dir="${org.jboss.esb.internal.dest}"/>
 		<delete dir="${org.jboss.esb.internal.dest.root}"/>

Added: labs/jbossesb/trunk/product/jboss-esb-console/.classpath
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/.classpath	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/.classpath	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/.exploded.launch
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/.exploded.launch	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/.exploded.launch	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/.project
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/.project	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/.project	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/build.properties
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/build.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/build.properties	2007-02-19 11:51:50 UTC (rev 9590)
@@ -0,0 +1 @@
+jboss.home = H:/jboss-4.0.5.GA
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/build.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/build.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/build.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/build.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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" 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">
+    	<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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/build.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/application.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/application.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/application.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/application.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/distro-CONSOLE-README.TXT
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/distro-CONSOLE-README.TXT	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/distro-CONSOLE-README.TXT	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/distro/distro-build.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/distro-build.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/distro-build.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/distro-build.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/build.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/build.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/build.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/build.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/db.application.modules.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/db.application.modules.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/db.application.modules.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -0,0 +1,2 @@
+
+   <!-- Hypersonic application modules - there are none. -->


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/db.application.modules.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/jboss-esb-console-ds.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/jboss-esb-console-ds.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/jboss-esb-console-ds.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>
+


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/jboss-esb-console-ds.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/persistence.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/persistence.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/persistence.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/hsqldb/persistence.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/build.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/build.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/build.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/build.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/db.application.modules.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/db.application.modules.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/db.application.modules.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -0,0 +1,5 @@
+
+   <!-- Postgres application modules. -->
+   <module>
+      <java>postgresql-8.1-407.jdbc2ee.jar</java>
+   </module>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/db.application.modules.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/jboss-esb-console-ds.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/jboss-esb-console-ds.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/jboss-esb-console-ds.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>
+


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/jboss-esb-console-ds.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/persistence.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/persistence.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/persistence.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/distro/postgres/persistence.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/default.persistence.properties
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/default.persistence.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/default.persistence.properties	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/default.persistence.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/ejb3-interceptors-aop.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/ejb3-interceptors-aop.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/ejb3-interceptors-aop.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/ejb3-interceptors-aop.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/embedded-jboss-beans.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/embedded-jboss-beans.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/embedded-jboss-beans.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/embedded-jboss-beans.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jboss-jms-beans.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jboss-jms-beans.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jboss-jms-beans.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jboss-jms-beans.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jndi.properties
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jndi.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jndi.properties	2007-02-19 11:51:50 UTC (rev 9590)
@@ -0,0 +1,2 @@
+java.naming.factory.initial org.jnp.interfaces.LocalOnlyContextFactory
+java.naming.factory.url.pkgs org.jboss.naming:org.jnp.interfaces


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/jndi.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/log4j.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/log4j.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/log4j.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/login-config.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/login-config.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/login-config.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>
+


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/login-config.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/security-beans.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/security-beans.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/security-beans.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/conf/security-beans.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/readme.txt
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/readme.txt	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/embedded-ejb/readme.txt	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/lib/activation.jar
===================================================================
(Binary files differ)


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

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


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

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


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/lib/ant.jar
===================================================================
(Binary files differ)


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/lib/hsqldb.jar
===================================================================
(Binary files differ)


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/lib/jgroups.jar
===================================================================
(Binary files differ)


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

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


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

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


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

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


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

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


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

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


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/lib/readme.txt
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/lib/readme.txt	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/lib/readme.txt	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/lib/servlet-api.jar
===================================================================
(Binary files differ)


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

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


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

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


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/nbproject/debug-jboss.properties
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/nbproject/debug-jboss.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/nbproject/debug-jboss.properties	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/nbproject/debug-jboss.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/nbproject/ide-file-targets.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/nbproject/ide-file-targets.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/nbproject/ide-file-targets.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/nbproject/ide-file-targets.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/nbproject/project.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/nbproject/project.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/nbproject/project.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/nbproject/project.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/application.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/application.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/application.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/application.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/ejb-jar.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/ejb-jar.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/ejb-jar.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/ejb-jar.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/jboss-app.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/jboss-app.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/jboss-app.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/jboss-app.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/persistence.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/persistence.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/persistence.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/META-INF/persistence.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/components.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/components.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/components.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/components.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/faces-config.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/faces-config.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/faces-config.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/faces-config.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/navigation.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/navigation.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/navigation.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/navigation.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/pages.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/pages.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/pages.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/pages.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/web.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/WEB-INF/web.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/components.properties
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/components.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/components.properties	2007-02-19 11:51:50 UTC (rev 9590)
@@ -0,0 +1,2 @@
+embeddedEjb true
+jndiPattern #{ejbName}/local
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/components.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/import.sql
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/import.sql	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/import.sql	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/resources/jboss-esb-console-ds.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-ds.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-ds.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>
+


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-ds.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-service.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-service.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-service.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console-service.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console.properties
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console.properties	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/jboss-esb-console.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/messages_en.properties
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/messages_en.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/messages_en.properties	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/messages_en.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/seam.properties
===================================================================


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/resources/seam.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/resources/security.drl
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/resources/security.drl	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/resources/security.drl	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamUtils.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamUtils.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamUtils.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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("=======================================================================================");
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamUtils.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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();
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/SeamViewIdStack.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/Toggle.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/Toggle.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/Toggle.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/Toggle.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/UpdateNotifier.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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";
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/MessageContractDTO.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/MessageExchange.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchange.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/SelectMessageExchangeAction.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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";
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/ManageParticipants.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}	
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/exchange/participant/Participant.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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();
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResourceSpecs.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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";
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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";
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/NewResourceSpec.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>");
+	}	
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceList.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+		}
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformation.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TestTransformationView.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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);
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameterSpec.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}	
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceSpec.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/src/org/jboss/soa/esb/admin/console/transform/importexport/ResourceImportExport.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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());
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/MessageTypeTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/testng.xml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/testng.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/testng.xml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -0,0 +1,11 @@
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+
+<suite name="JBoss ESB Admin Console Booking" 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


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/testng.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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));
+	}
+	
+	
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksResourceListTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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="*"
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/expected-1.txt
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/expected-1.txt	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/expected-1.txt	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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());
+	}
+}


Property changes on: labs/jbossesb/trunk/product/jboss-esb-console/test/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/about.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/about.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/about.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/contract/list-message-contracts.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/contract/list-message-contracts.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/contract/list-message-contracts.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/contract/new-message-contract.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/contract/new-message-contract.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/contract/new-message-contract.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/contract/template.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/contract/template.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/contract/template.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/common.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/common.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/common.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/custom.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/custom.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/custom.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/global.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/global.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/global.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/headings.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/headings.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/headings.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/layout.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/layout.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/layout.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/navigation.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/navigation.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/navigation.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/pagelayout.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/pagelayout.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/pagelayout.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/print.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/print.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/print.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/screen.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/screen_001.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen_001.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen_001.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/screen_002.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen_002.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/screen_002.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/css/tables.css
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/css/tables.css	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/css/tables.css	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/error.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/error.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/error.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/features.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/features.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/features.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/flash/console-demo-01.html
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-01.html	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-01.html	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/flash/console-demo-01.swf
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-02.html
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-02.html	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/flash/console-demo-02.html	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/flash/console-demo-02.swf
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/home.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/home.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/home.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/img/bg.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg_bottom_red.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg_side_btm_red.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg_top_red.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/bg_topmenu_red_round.gif
===================================================================
(Binary files differ)


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

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


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/crn_left_bot_blue.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/crn_left_bot_green.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/crn_left_bot_red.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/crn_left_bot_yellow.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/gradient_news_bkgd_650.gif
===================================================================
(Binary files differ)


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

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


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/logo.gif
===================================================================
(Binary files differ)


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

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


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

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


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

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


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/table_corner_tl.gif
===================================================================
(Binary files differ)


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/img/table_corner_tr.gif
===================================================================
(Binary files differ)


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

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


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

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/index.html
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/index.html	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/index.html	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/participant/index.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/participant/index.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/participant/index.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/participant/manage-participants.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/participant/manage-participants.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/participant/manage-participants.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/participant/template.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/participant/template.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/participant/template.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/template.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/template.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/template.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/add-resource-parameter-spec.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/add-resource-parameter-spec.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/add-resource-parameter-spec.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/add-resource-parameter.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/add-resource-parameter.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/add-resource-parameter.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/import-export-resources.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/import-export-resources.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/import-export-resources.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/list-resource-specs.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/list-resource-specs.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/list-resource-specs.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/list-resources.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/list-resources.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/list-resources.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/new-trans-resource-create.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-create.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-create.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/new-trans-resource-select-spec.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-select-spec.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-select-spec.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/new-trans-resource-spec-create.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-spec-create.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-spec-create.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/new-trans-resource-target.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-target.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/new-trans-resource-target.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/select-message-exchange-finish.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/select-message-exchange-finish.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/select-message-exchange-finish.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/select-message-exchange-from.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/select-message-exchange-from.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/select-message-exchange-from.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/smooks-config.jsp
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/smooks-config.jsp	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/smooks-config.jsp	2007-02-19 11:51:50 UTC (rev 9590)
@@ -0,0 +1 @@
+<%=org.jboss.soa.esb.admin.console.transform.SmooksResourceList.getList()%>
\ No newline at end of file

Added: labs/jbossesb/trunk/product/jboss-esb-console/view/transform/template.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/template.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/template.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/test-transformation.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/test-transformation.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/test-transformation.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/update-resource-parameter.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/update-resource-parameter.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/update-resource-parameter.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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/trunk/product/jboss-esb-console/view/transform/view-resource.xhtml
===================================================================
--- labs/jbossesb/trunk/product/jboss-esb-console/view/transform/view-resource.xhtml	                        (rev 0)
+++ labs/jbossesb/trunk/product/jboss-esb-console/view/transform/view-resource.xhtml	2007-02-19 11:51:50 UTC (rev 9590)
@@ -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>




More information about the jboss-svn-commits mailing list