[jboss-svn-commits] JBL Code SVN: r7535 - in labs/jbossesb/trunk/product: . console console/resources console/resources/WEB-INF console/resources/WEB-INF/classes console/resources/WEB-INF/lib console/src console/src/org console/src/org/jboss console/src/org/jboss/soa console/src/org/jboss/soa/esb console/src/org/jboss/soa/esb/admin console/src/org/jboss/soa/esb/admin/console console/src/org/jboss/soa/esb/admin/console/contract console/src/org/jboss/soa/esb/admin/console/transform console/src/org/jboss/soa/esb/admin/console/transform/flow console/test console/test/src console/test/src/org console/test/src/org/jboss console/test/src/org/jboss/soa console/test/src/org/jboss/soa/esb console/test/src/org/jboss/soa/esb/admin console/test/src/org/jboss/soa/esb/admin/console console/test/src/org/jboss/soa/esb/admin/console/transform console/test/src/org/jboss/soa/esb/admin/console/transform/flow console/view console/view/contract console/view/css console/view/img console/view/img/rh console/v! iew/transform
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Nov 10 13:57:11 EST 2006
Author: tfennelly
Date: 2006-11-10 13:42:09 -0500 (Fri, 10 Nov 2006)
New Revision: 7535
Added:
labs/jbossesb/trunk/product/console/
labs/jbossesb/trunk/product/console/build.properties
labs/jbossesb/trunk/product/console/build.xml
labs/jbossesb/trunk/product/console/resources/
labs/jbossesb/trunk/product/console/resources/WEB-INF/
labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/
labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/.gpd.pageflow.jpdl.xml
labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/hibernate.cfg.xml
labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/import.sql
labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/jboss-beans.xml
labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/pageflow.jpdl.xml
labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/seam.properties
labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/xxx_persistence.xml
labs/jbossesb/trunk/product/console/resources/WEB-INF/components.xml
labs/jbossesb/trunk/product/console/resources/WEB-INF/faces-config.xml
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-beanutils-1.7.0.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-codec-1.3.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-digester-1.6.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/el-api.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/el-ri.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/hibernate-all.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-aop-jdk50.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-cache-jdk50.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-ejb3-all.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam-debug.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam-ui.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jbpm-3.1.1.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jgroups.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jsf-facelets.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jstl.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/mailstuff.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/mc-conf.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/myfaces-api-1.1.3.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/myfaces-impl-1.1.3.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/portlet-api-lib.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/postgresql-8.1-407.jdbc2ee.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/selectitems-1.1.0rc2.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/thirdparty-all.jar
labs/jbossesb/trunk/product/console/resources/WEB-INF/pages.xml
labs/jbossesb/trunk/product/console/resources/WEB-INF/web.xml
labs/jbossesb/trunk/product/console/src/
labs/jbossesb/trunk/product/console/src/org/
labs/jbossesb/trunk/product/console/src/org/jboss/
labs/jbossesb/trunk/product/console/src/org/jboss/soa/
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/EPR.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/EPRConverter.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamUtils.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceListConverter.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlow.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlowSelected.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlowSelectedInterceptor.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/SelectMessageFlow.java
labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/TransformationConfigRejoin.java
labs/jbossesb/trunk/product/console/test/
labs/jbossesb/trunk/product/console/test/src/
labs/jbossesb/trunk/product/console/test/src/org/
labs/jbossesb/trunk/product/console/test/src/org/jboss/
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/MessageTypeTest.java
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceListConverterTest.java
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/expected-1.txt
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/flow/
labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java
labs/jbossesb/trunk/product/console/view/
labs/jbossesb/trunk/product/console/view/contract/
labs/jbossesb/trunk/product/console/view/contract/list-message-contracts.xhtml
labs/jbossesb/trunk/product/console/view/contract/new-message-contract.xhtml
labs/jbossesb/trunk/product/console/view/contract/template.xhtml
labs/jbossesb/trunk/product/console/view/css/
labs/jbossesb/trunk/product/console/view/css/common.css
labs/jbossesb/trunk/product/console/view/css/custom.css
labs/jbossesb/trunk/product/console/view/css/global.css
labs/jbossesb/trunk/product/console/view/css/headings.css
labs/jbossesb/trunk/product/console/view/css/layout.css
labs/jbossesb/trunk/product/console/view/css/navigation.css
labs/jbossesb/trunk/product/console/view/css/pagelayout.css
labs/jbossesb/trunk/product/console/view/css/print.css
labs/jbossesb/trunk/product/console/view/css/screen.css
labs/jbossesb/trunk/product/console/view/css/screen_001.css
labs/jbossesb/trunk/product/console/view/css/screen_002.css
labs/jbossesb/trunk/product/console/view/css/tables.css
labs/jbossesb/trunk/product/console/view/error.xhtml
labs/jbossesb/trunk/product/console/view/home.xhtml
labs/jbossesb/trunk/product/console/view/img/
labs/jbossesb/trunk/product/console/view/img/bg.gif
labs/jbossesb/trunk/product/console/view/img/bg_bottom_red.gif
labs/jbossesb/trunk/product/console/view/img/bg_side_btm_red.gif
labs/jbossesb/trunk/product/console/view/img/bg_top_red.gif
labs/jbossesb/trunk/product/console/view/img/bg_topmenu_red_round.gif
labs/jbossesb/trunk/product/console/view/img/btn.bg.gif
labs/jbossesb/trunk/product/console/view/img/cnt.bg.gif
labs/jbossesb/trunk/product/console/view/img/crn_left_bot_blue.gif
labs/jbossesb/trunk/product/console/view/img/crn_left_bot_green.gif
labs/jbossesb/trunk/product/console/view/img/crn_left_bot_red.gif
labs/jbossesb/trunk/product/console/view/img/crn_left_bot_yellow.gif
labs/jbossesb/trunk/product/console/view/img/gradient_news_bkgd_650.gif
labs/jbossesb/trunk/product/console/view/img/hdr.bg.gif
labs/jbossesb/trunk/product/console/view/img/input.bg.gif
labs/jbossesb/trunk/product/console/view/img/logo.gif
labs/jbossesb/trunk/product/console/view/img/rh/
labs/jbossesb/trunk/product/console/view/img/rh/points.gif
labs/jbossesb/trunk/product/console/view/img/rh/table_corner_tl.gif
labs/jbossesb/trunk/product/console/view/img/rh/table_corner_tr.gif
labs/jbossesb/trunk/product/console/view/img/sdb.bg.gif
labs/jbossesb/trunk/product/console/view/img/table_corner_tl.gif
labs/jbossesb/trunk/product/console/view/img/table_corner_tr.gif
labs/jbossesb/trunk/product/console/view/img/th.bg.gif
labs/jbossesb/trunk/product/console/view/index.html
labs/jbossesb/trunk/product/console/view/template.xhtml
labs/jbossesb/trunk/product/console/view/transform/
labs/jbossesb/trunk/product/console/view/transform/add-resource-parameter.xhtml
labs/jbossesb/trunk/product/console/view/transform/list-resources-as-smooks-config.xhtml
labs/jbossesb/trunk/product/console/view/transform/list-resources.xhtml
labs/jbossesb/trunk/product/console/view/transform/new-trans-resource-create.xhtml
labs/jbossesb/trunk/product/console/view/transform/new-trans-resource-target.xhtml
labs/jbossesb/trunk/product/console/view/transform/select-message-flow-finish.xhtml
labs/jbossesb/trunk/product/console/view/transform/select-message-flow-from-epr.xhtml
labs/jbossesb/trunk/product/console/view/transform/select-message-flow-from-type.xhtml
labs/jbossesb/trunk/product/console/view/transform/select-message-flow-to-epr.xhtml
labs/jbossesb/trunk/product/console/view/transform/select-message-flow-to-type.xhtml
labs/jbossesb/trunk/product/console/view/transform/smooks.xhtml
labs/jbossesb/trunk/product/console/view/transform/template.xhtml
labs/jbossesb/trunk/product/console/view/transform/view-resource.xhtml
Log:
Added ESB Admin UI Console Application
Added: labs/jbossesb/trunk/product/console/build.properties
===================================================================
--- labs/jbossesb/trunk/product/console/build.properties 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/build.properties 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1 @@
+deploy.dir=/home/tfennelly/packages/apache-tomcat-5.5.20/webapps
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/build.xml
===================================================================
--- labs/jbossesb/trunk/product/console/build.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/build.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+
+<project name="JBoss ESB Administration Console" default="build" basedir=".">
+
+ <property file="build.properties" />
+
+ <!-- Naming -->
+ <property name="Name" value="JBoss ESB Administration Conosle"/>
+ <property name="package.name" value="jboss-esb-console"/>
+
+ <!-- Structure -->
+ <property name="src.dir" value="src"/>
+ <property name="build.dir" value="build" />
+ <property name="classes.dir" value="${build.dir}/WEB-INF/classes" />
+ <property name="test.src.dir" value="test/src"/>
+ <property name="test.classes.dir" value="${build.dir}/test/classes" />
+ <property name="test.report.dir" value="${build.dir}/test/report" />
+ <property name="resources.dir" value="resources" />
+ <property name="view.dir" value="view" />
+ <property name="product.lib.ext.dir" value="../lib/ext" />
+
+ <target name="build" description="Compile, test and package (war) the application.">
+ <!-- Compile... -->
+ <mkdir dir="${classes.dir}" />
+ <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="src.compile.classpath" debug="true" />
+ <mkdir dir="${test.classes.dir}" />
+ <javac srcdir="${test.src.dir}" destdir="${test.classes.dir}" classpathref="test.classpath" debug="true" />
+
+ <!-- Test -->
+ <mkdir dir="${test.report.dir}" />
+ <junit printsummary="yes" showoutput="true" fork="true" errorproperty="test.failed" failureproperty="test.failed">
+ <formatter type="xml"/>
+ <batchtest todir="${test.report.dir}">
+ <fileset dir="${test.src.dir}" includes="**/**Test.java" />
+ </batchtest>
+ <classpath refid="test.classpath" />
+ </junit>
+ <junitreport>
+ <fileset dir="${test.report.dir}" includes="*.xml" />
+ <report format="frames" todir="${test.report.dir}"/>
+ <report format="noframes" todir="${test.report.dir}"/>
+ </junitreport>
+
+ <!-- Assert tests passed... -->
+ <ant target="assertTestsFailed" />
+
+ <!-- Package -->
+ <delete file="${build.dir}/${package.name}.war" />
+ <copy todir="${resources.dir}/WEB-INF/lib">
+ <fileset dir="${product.lib.ext.dir}" includes="milyn*.jar" />
+ </copy>
+ <jar destfile="${build.dir}/${package.name}.war">
+ <fileset dir="${build.dir}" excludes="test/**" />
+ <fileset dir="${resources.dir}" includes="WEB-INF/**" />
+ <fileset dir="${view.dir}" />
+ </jar>
+ <delete dir="${resources.dir}/WEB-INF/lib" includes="milyn*.jar" />
+ </target>
+
+ <target name="assertTestsFailed" if="test.failed">
+ <fail message="Unit tests failed. Check reports in ${test.report.dir}" />
+ </target>
+
+ <target name="deploy" depends="build" description="Run tests on the application.">
+ <copy file="${build.dir}/${package.name}.war" todir="${deploy.dir}" />
+ </target>
+
+ <target name="clean" description="Delete the build folder..">
+ <mkdir dir="${build.dir}" />
+ <delete dir="${build.dir}" failonerror="true" />
+ <delete dir="./" includes="**/TESTS-TestSuites.xml" />
+ </target>
+
+ <target name="cleantc" description="Clean Tomcat.">
+ <delete dir="${deploy.dir}/${package.name}" />
+ <delete dir="${deploy.dir}" includes="${package.name}.war" />
+ <delete dir="${deploy.dir}/../work/Catalina" />
+ </target>
+
+ <path id="src.compile.classpath">
+ <fileset dir="${resources.dir}/WEB-INF/lib" includes="*.jar" />
+ <fileset dir="${product.lib.ext.dir}" includes="milyn*.jar" />
+ </path>
+
+ <path id="test.classpath">
+ <pathelement location="${classes.dir}" />
+ <path refid="src.compile.classpath"/>
+ <pathelement location="${test.classes.dir}" />
+ <pathelement location="${test.src.dir}" />
+ </path>
+
+</project>
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/.gpd.pageflow.jpdl.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/.gpd.pageflow.jpdl.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/.gpd.pageflow.jpdl.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<pageflow-diagram />
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/hibernate.cfg.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/hibernate.cfg.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/hibernate.cfg.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,21 @@
+<!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+ <session-factory name="java:/esbDatabase">
+ <property name="show_sql">false</property>
+ <property name="connection.datasource">java:/hibernateDatasource</property>
+ <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
+ <property name="hbm2ddl.auto">update</property>
+ <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
+ <property name="transaction.flush_before_completion">true</property>
+ <property name="connection.release_mode">after_statement</property>
+ <property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
+ <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
+
+ <mapping class="org.jboss.soa.esb.admin.console.EPR"/>
+ <mapping class="org.jboss.soa.esb.admin.console.contract.MessageContract"/>
+ <mapping class="org.jboss.soa.esb.admin.console.transform.TransformationResource"/>
+ </session-factory>
+</hibernate-configuration>
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/import.sql
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/import.sql 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/import.sql 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,5 @@
+INSERT INTO epr VALUES (1, 'file://org.acme/ITOperationsService');
+INSERT INTO epr VALUES (2, 'http://www.jboss-services.com/SupportCenter');
+
+INSERT INTO messagecontract (id, epr, usage, mime, namespace, messagedescription) VALUES (1, 'file://org.acme/ITOperationsService', 'PRODUCES', 'text/csv', 'reportProviderFault', 'http://org.acme/ITOperationsService/reportProviderFault.xsd');
+INSERT INTO messagecontract (id, epr, usage, mime, namespace, messagedescription) VALUES (2, 'http://www.jboss-services.com/SupportCenter', 'CONSUMES', 'text/xml', 'postSupportTicket', 'http://www.jboss-services.com/SupportCenter/supportTicket-post.dtd');
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/jboss-beans.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/jboss-beans.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/jboss-beans.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,42 @@
+<?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="TransactionManagerFactory" class="org.jboss.seam.microcontainer.TransactionManagerFactory"/>
+ <bean name="TransactionManager" class="java.lang.Object">
+ <constructor factoryMethod="getTransactionManager">
+ <factory bean="TransactionManagerFactory"/>
+ </constructor>
+ </bean>
+
+ <bean name="esbDatasourceFactory" class="org.jboss.seam.microcontainer.DataSourceFactory">
+ <property name="driverClass">org.postgresql.Driver</property>
+ <property name="connectionUrl">jdbc:postgresql://localhost:5432/jbossesb</property>
+ <property name="userName">postgres</property>
+ <property name="password">password</property>
+ <property name="jndiName">java:/hibernateDatasource</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>
+ </bean>
+ <bean name="esbDatasource" class="java.lang.Object">
+ <constructor factoryMethod="getDataSource">
+ <factory bean="esbDatasourceFactory"/>
+ </constructor>
+ </bean>
+
+ <bean name="esbDatabaseFactory" class="org.jboss.seam.microcontainer.HibernateFactory"/>
+ <bean name="esbDatabase" class="java.lang.Object">
+ <constructor factoryMethod="getSessionFactory">
+ <factory bean="esbDatabaseFactory"/>
+ </constructor>
+ <depends>esbDatasource</depends>
+ </bean>
+
+</deployment>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/pageflow.jpdl.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/pageflow.jpdl.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/pageflow.jpdl.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,47 @@
+<pageflow-definition name="selectMessageFlow">
+
+ <start-page name="from-epr" view-id="/transform/select-message-flow-from-epr.xhtml">
+ <redirect/>
+ <transition name="next" to="assertDisplayFromType" />
+ <transition name="cancel" to="cancelSelection" />
+ </start-page>
+
+ <decision name="assertDisplayFromType" expression="#{messageFlowSelect.fromEPRSelected}">
+ <transition name="true" to="from-type"/>
+ <transition name="false" to="to-epr"/>
+ </decision>
+
+ <page name="from-type" view-id="/transform/select-message-flow-from-type.xhtml">
+ <redirect/>
+ <transition name="next" to="to-epr" />
+ <transition name="cancel" to="cancelSelection" />
+ </page>
+
+ <page name="to-epr" view-id="/transform/select-message-flow-to-epr.xhtml">
+ <redirect/>
+ <transition name="next" to="assertDisplayToType" />
+ <transition name="cancel" to="cancelSelection" />
+ </page>
+
+ <decision name="assertDisplayToType" expression="#{messageFlowSelect.toEPRSelected}">
+ <transition name="true" to="to-type"/>
+ <transition name="false" to="finish"/>
+ </decision>
+
+ <page name="to-type" view-id="/transform/select-message-flow-to-type.xhtml">
+ <redirect/>
+ <transition name="next" to="finish" />
+ <transition name="cancel" to="cancelSelection" />
+ </page>
+
+ <page name="cancelSelection" view-id="/home.xhtml">
+ <redirect/>
+ <end-conversation />
+ </page>
+
+ <page name="finish" view-id="/transform/select-message-flow-finish.xhtml">
+ <redirect/>
+ <end-conversation />
+ </page>
+
+</pageflow-definition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/seam.properties
===================================================================
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/xxx_persistence.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/xxx_persistence.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/classes/xxx_persistence.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,24 @@
+<persistence>
+ <persistence-unit name="esbDatabase">
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <jta-data-source>java:/JBossESBDS</jta-data-source>
+
+ <class>org.jboss.soa.esb.admin.console.EPR</class>
+ <class>org.jboss.soa.esb.admin.console.contract.MessageContract</class>
+ <class>org.jboss.soa.esb.admin.console.transform.TransformationResource</class>
+
+ <properties>
+ <property name="hibernate.hbm2ddl.auto" value="update"/>
+ <property name="hibernate.show_sql" value="true"/>
+ <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
+
+ <property name="hibernate.connection.driver_class" value="org.hibernate.cache.HashtableCacheProvider"/>
+ <property name="hibernate.connection.username" value="postgres"/>
+ <property name="hibernate.connection.password" value="password"/>
+ <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/jbossesb"/>
+
+ <property name="jboss.entity.manager.factory.jndi.name" value="java:/jbossEsbEntityManagerFactory"/>
+ <property name="jboss.entity.manager.jndi.name" value="java:/jbossEsbEntityManager"/>
+ </properties>
+ </persistence-unit>
+</persistence>
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/components.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/components.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/components.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,24 @@
+<components>
+
+ <component name="org.jboss.seam.core.init">
+ <property name="myFacesLifecycleBug">false</property>
+ <property name="debug">true</property>
+ </component>
+
+ <!-- 120 second conversation timeout -->
+ <component name="org.jboss.seam.core.manager">
+ <property name="conversationTimeout">120000</property>
+ </component>
+
+ <component class="org.jboss.seam.core.Jbpm">
+ <property name="pageflowDefinitions">pageflow.jpdl.xml</property>
+ </component>
+
+ <!-- Bootstrap Hibernate -->
+ <component name="esbDatabase"
+ class="org.jboss.seam.core.ManagedHibernateSession"/>
+ <component class="org.jboss.seam.core.Hibernate"/>
+
+ <component class="org.jboss.seam.core.Microcontainer" installed="true"/>
+
+</components>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/faces-config.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/faces-config.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/faces-config.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE faces-config
+ PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+ "http://java.sun.com/dtd/web-facesconfig_1_0.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-flow</from-outcome>
+ <to-view-id>/transform/select-message-flow-from-epr.xhtml</to-view-id>
+ <redirect />
+ </navigation-case>
+
+ <navigation-case>
+ <from-outcome>select-message-flow-from-epr</from-outcome>
+ <to-view-id>/transform/select-message-flow-from-epr.xhtml</to-view-id>
+ <redirect />
+ </navigation-case>
+
+ <navigation-case>
+ <from-outcome>select-message-flow-from-type</from-outcome>
+ <to-view-id>/transform/select-message-flow-from-type.xhtml</to-view-id>
+ <redirect />
+ </navigation-case>
+
+ <navigation-case>
+ <from-outcome>select-message-flow-to-epr</from-outcome>
+ <to-view-id>/transform/select-message-flow-to-epr.xhtml</to-view-id>
+ <redirect />
+ </navigation-case>
+
+ <navigation-case>
+ <from-outcome>select-message-flow-to-type</from-outcome>
+ <to-view-id>/transform/select-message-flow-to-type.xhtml</to-view-id>
+ <redirect />
+ </navigation-case>
+
+ <navigation-case>
+ <from-outcome>select-message-flow-finish</from-outcome>
+ <to-view-id>/transform/select-message-flow-finish.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>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>list-resources-as-smooks-config</from-outcome>
+ <to-view-id>/transform/list-resources-as-smooks-config.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-rule>
+
+ <navigation-rule>
+ <from-view-id>/home.xhtml</from-view-id>
+ </navigation-rule>
+
+ <!-- Facelets support -->
+
+ <application>
+ <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+ </application>
+
+ <!-- Select one of the two standard persistence lifecycle models for the Seam application -->
+
+ <lifecycle>
+ <phase-listener>org.jboss.seam.jsf.SeamExtendedManagedPersistencePhaseListener</phase-listener>
+ </lifecycle>
+
+ <converter>
+ <converter-id>EPRConverter</converter-id>
+ <converter-class>org.jboss.soa.esb.admin.console.EPRConverter</converter-class>
+ </converter>
+
+ <converter>
+ <converter-id>SmooksResourceListConverter</converter-id>
+ <converter-class>org.jboss.soa.esb.admin.console.transform.SmooksResourceListConverter</converter-class>
+ </converter>
+
+</faces-config>
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-beanutils-1.7.0.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-beanutils-1.7.0.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-codec-1.3.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-codec-1.3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-digester-1.6.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/commons-digester-1.6.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/el-api.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/el-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/el-ri.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/el-ri.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/hibernate-all.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/hibernate-all.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-aop-jdk50.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-aop-jdk50.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-cache-jdk50.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-cache-jdk50.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-ejb3-all.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-ejb3-all.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam-debug.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam-debug.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam-ui.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam-ui.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jboss-seam.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jbpm-3.1.1.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jbpm-3.1.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jgroups.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jgroups.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jsf-facelets.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jsf-facelets.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jstl.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/jstl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/mailstuff.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/mailstuff.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/mc-conf.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/mc-conf.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/myfaces-api-1.1.3.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/myfaces-api-1.1.3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/myfaces-impl-1.1.3.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/myfaces-impl-1.1.3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/portlet-api-lib.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/portlet-api-lib.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/postgresql-8.1-407.jdbc2ee.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/postgresql-8.1-407.jdbc2ee.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/selectitems-1.1.0rc2.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/selectitems-1.1.0rc2.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/thirdparty-all.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/resources/WEB-INF/lib/thirdparty-all.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/pages.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/pages.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/pages.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,3 @@
+<pages>
+ <page view-id="/transform/select-message-flow-from-epr.xhtml" action="#{messageFlowSelect.startSelection}"/>
+</pages>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/resources/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/trunk/product/console/resources/WEB-INF/web.xml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/resources/WEB-INF/web.xml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4"
+ xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+ <!-- Seam -->
+
+ <listener>
+ <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
+ </listener>
+
+ <!-- Propagate conversations across redirects -->
+ <filter>
+ <filter-name>Seam Redirect Filter</filter-name>
+ <filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>Seam Redirect Filter</filter-name>
+ <url-pattern>*.jsf</url-pattern>
+ </filter-mapping>
+
+ <!-- Needed to ensure safe tx cleanup when using Seam-managed sessions/persistence contexts -->
+ <filter>
+ <filter-name>Seam Exception Filter</filter-name>
+ <filter-class>org.jboss.seam.servlet.SeamExceptionFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>Seam Exception Filter</filter-name>
+ <url-pattern>*.jsf</url-pattern>
+ </filter-mapping>
+
+ <!-- MyFaces -->
+
+ <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>
+
+ <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>*.jsf</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/EPR.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/EPR.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/EPR.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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;
+
+import java.io.Serializable;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+import org.hibernate.validator.NotNull;
+import org.jboss.seam.annotations.Name;
+
+/**
+ * Endpoint Reference Entity Bean.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Entity
+ at Name("epr")
+public class EPR implements Serializable {
+
+ /**
+ * Persistence ID ref.
+ */
+ private Long id;
+ /**
+ * The URI of the EPR.
+ */
+ private String uri;
+
+ /**
+ * Public default constructor.
+ */
+ public EPR() {
+ }
+
+ /**
+ * Public constructor.
+ * @param uri EPR URI.
+ */
+ public EPR(String uri) {
+ this.uri = uri;
+ }
+
+ /**
+ * Get the URI.
+ * @return Returns the uri.
+ */
+ @NotNull
+ public String getUri() {
+ // TODO: Add a regex @Pattern for URI validation.
+ return uri;
+ }
+
+ /**
+ * Set the URI.
+ * @param uri The uri to set.
+ */
+ public void setUri(String uri) {
+ this.uri = uri;
+ }
+
+ /**
+ * @return Returns the id.
+ */
+ @Id @GeneratedValue
+ public Long getId() {
+ return id;
+ }
+
+ /**
+ * @param id The id to set.
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return uri;
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/EPRConverter.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/EPRConverter.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/EPRConverter.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.ConverterException;
+
+/**
+ * Facelets converter for the EPR type.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class EPRConverter implements Converter {
+
+ /* (non-Javadoc)
+ * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
+ */
+ public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String string)
+ throws ConverterException {
+
+ return new EPR(string);
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
+ */
+ public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object object)
+ throws ConverterException {
+
+ return ((EPR)object).getUri();
+ }
+
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamUtils.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamUtils.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/SeamUtils.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console;
+
+import java.util.Arrays;
+
+import org.jboss.seam.contexts.Contexts;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class SeamUtils {
+
+ public static void printContexts() {
+ System.out.println("==================================== Seam Contexts ====================================");
+ System.out.println("Appl Ctx [" + Contexts.getApplicationContext() + "]: : " + Arrays.asList(Contexts.getApplicationContext().getNames()));
+ System.out.println("Buss Ctx [" + Contexts.getBusinessProcessContext() + "]: : " + Arrays.asList(Contexts.getBusinessProcessContext().getNames()));
+ System.out.println("Sess Ctx [" + Contexts.getSessionContext() + "]: " + Arrays.asList(Contexts.getSessionContext().getNames()));
+ System.out.println("Conv Ctx [" + Contexts.getConversationContext() + "]: : " + Arrays.asList(Contexts.getConversationContext().getNames()));
+ System.out.println("Page Ctx [" + Contexts.getPageContext() + "]: : " + Arrays.asList(Contexts.getPageContext().getNames()));
+ System.out.println("Evnt Ctx [" + Contexts.getEventContext() + "]: : " + Arrays.asList(Contexts.getEventContext().getNames()));
+ System.out.println("=======================================================================================");
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/ManageContracts.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.contract;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+import static org.jboss.seam.ScopeType.EVENT;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.hibernate.Session;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.Conversational;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.Factory;
+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.SeamUtils;
+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.jboss.soa.esb.admin.console.transform.flow.MessageFlow;
+import org.jboss.soa.esb.admin.console.transform.flow.MessageFlowSelected;
+
+/**
+ * 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)
+ at Conversational(ifNotBegunOutcome="home")
+public class ManageContracts implements Serializable {
+
+
+ @In(create=true)
+ private Session esbDatabase;
+
+ @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.
+ */
+ @Factory("contracts")
+ public void findMessageContracts() {
+ contracts = esbDatabase.createQuery("from MessageContract order by epr").list();
+ }
+
+ @Begin(join=true)
+ public String list() {
+ return "list-message-contracts";
+ }
+
+ public String deleteContract() {
+ selectedContract = contracts.get(contractIndex);
+ esbDatabase.delete(selectedContract);
+
+ findMessageContracts();
+
+ return "list-message-contracts";
+ }
+
+ @End
+ public String close() {
+ return "home";
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/MessageContract.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,216 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if 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 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 EPR
+ * that produces or consumes the message. It basically puts some typing information around the messages that flow
+ * 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 {
+
+ /**
+ * Enumeration type for how a message type is used by the service located at the associated EPR.
+ * @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 EPR that this message type is associated with.
+ */
+ private String epr;
+ /**
+ * How this message is used by the EPR.
+ */
+ 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;
+ // EPR serviceEPR;
+ // 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 epr.
+ */
+ @NotNull
+ public String getEpr() {
+ return epr;
+ }
+
+ /**
+ * @param epr The epr to set.
+ */
+ public void setEpr(String epr) {
+ this.epr = epr;
+ }
+
+ /**
+ * @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.
+ */
+ @NotNull
+ 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) {
+ stringBuf.append(':').append(namespace);
+ }
+ if(messageDescription != null) {
+ stringBuf.append(':').append(messageDescription);
+ }
+
+ return stringBuf.toString();
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/contract/NewContract.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.contract;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+
+import org.hibernate.Session;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.Conversational;
+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)
+ at Conversational(ifNotBegunOutcome="home")
+public class NewContract implements Serializable {
+
+ @In(create=true, required=false) @Out(scope=CONVERSATION)
+ private MessageContract contract;
+
+ @In(create=true)
+ private Session esbDatabase;
+
+ @Begin(join=true)
+ public String showForm() {
+ return "new-message-contract";
+ }
+
+ @Create
+ public void create() {
+ contract = new MessageContract();
+ }
+
+ @End
+ public String save() {
+ try {
+ // Persist...
+ esbDatabase.persist(contract);
+
+ return "home";
+ } catch(Throwable thrown) {
+ thrown.printStackTrace();
+ throw new RuntimeException(thrown);
+ }
+ }
+
+ @End
+ public String cancel() {
+ return "home";
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ListAllResources.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package 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 org.hibernate.Session;
+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 {
+
+ @In(create=true)
+ private Session esbDatabase;
+
+ // 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 String list() {
+ allResourceConfigs = esbDatabase.createQuery("from TransformationResource").list();
+
+ return "list-resources-as-smooks-config";
+ }
+}
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/ManageResources.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,113 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+import static org.jboss.seam.ScopeType.EVENT;
+
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.List;
+
+import org.hibernate.Session;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.Conversational;
+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.transform.flow.MessageFlow;
+import org.jboss.soa.esb.admin.console.transform.flow.MessageFlowSelected;
+
+/**
+ * Manage the <a href="http://milyn.codehaus.org/Smooks">Smooks</a> resource configurations targeted at the session selected message flow.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("manageResources")
+ at Scope(CONVERSATION)
+ at Conversational(ifNotBegunOutcome="home")
+ at MessageFlowSelected
+public class ManageResources implements Serializable {
+
+ @In(create=true)
+ private Session esbDatabase;
+
+ @In
+ private MessageFlow messageFlow;
+
+ @DataModel
+ private List<TransformationResource> messageFlowConfigs;
+ @DataModelSelectionIndex("messageFlowConfigs")
+ int messageFlowConfigIndex = 0;
+
+ @In(required=false) @Out(required=false,scope=CONVERSATION)
+ private TransformationResource selectedConfig;
+
+ @DataModel
+ private List<TransformationResourceParameter> selectedConfigParams;
+
+ @Begin(join=true)
+ public String list() {
+ initialise();
+
+ return "list-resources";
+ }
+
+ public String viewConfiguration() {
+ selectedConfig = messageFlowConfigs.get(messageFlowConfigIndex);
+ selectedConfigParams = Arrays.asList(selectedConfig.getParameters());
+
+ return "view-resource";
+ }
+
+ public String deleteConfiguration() {
+ selectedConfig = messageFlowConfigs.get(messageFlowConfigIndex);
+ esbDatabase.delete(selectedConfig);
+ initialise();
+
+ return "list-resources";
+ }
+
+ @End
+ public String close() {
+ return "home";
+ }
+
+ /**
+ * Initialise the message flow configurations list.
+ */
+ private void initialise() {
+ List<TransformationResource> allResourceConfigs;
+
+ // Read all resources configs from the DB...
+ allResourceConfigs = esbDatabase.createQuery("from TransformationResource").list();
+
+ // Filter and sort the resource configs for the selected message flow (for display)...
+ messageFlowConfigs = SmooksUtils.getMessageFlowConfigs(messageFlow, allResourceConfigs);
+
+ // Clear the selected configuration.
+ selectedConfig = null;
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/NewResource.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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.jboss.seam.ScopeType.CONVERSATION;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.hibernate.Session;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.Conversational;
+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;
+import org.jboss.soa.esb.admin.console.transform.flow.MessageFlow;
+import org.jboss.soa.esb.admin.console.transform.flow.MessageFlowSelected;
+
+/**
+ * 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)
+ at Conversational(ifNotBegunOutcome="home")
+ at MessageFlowSelected
+public class NewResource implements Serializable {
+
+ @In(create=true)
+ private Session esbDatabase;
+
+ @In
+ private MessageFlow messageFlow;
+
+ @In(create=true) @Out
+ private TransformationResource transResource;
+
+ @In(create=true) @Out
+ private TransformationResourceParameter transResourceParameter;
+
+ @DataModel
+ private List<TransformationResourceParameter> parameterList;
+
+ @Begin(join=true)
+ public String captureResourceDetailsConfiguration() {
+ // Create the new resource and set the useragent...
+ transResource = new TransformationResource();
+ transResource.setUseragent(messageFlow.getFlowUseragentString());
+
+ parameterList = null;
+ initParameterList();
+
+ return "new-trans-resource-create";
+ }
+
+ public void initParameterList() {
+ if(parameterList == null) {
+ parameterList = new ArrayList<TransformationResourceParameter>();
+ }
+ }
+
+ public String addParameter() {
+ parameterList.add(transResourceParameter);
+ transResourceParameter = new TransformationResourceParameter();
+
+ return "new-trans-resource-create";
+ }
+
+ public String cancelAddParameter() {
+ return "new-trans-resource-create";
+ }
+
+ @End
+ public String save() {
+ try {
+ TransformationResourceParameter[] paramArray = new TransformationResourceParameter[parameterList.size()];
+
+ // Set the parameter set...
+ parameterList.toArray(paramArray);
+ transResource.setParameters(paramArray);
+
+ // Persist...
+ esbDatabase.persist(transResource);
+
+ return "home";
+ } catch(Throwable thrown) {
+ SeamUtils.printContexts();
+ return "error";
+ }
+ }
+
+ @End
+ public String cancel() {
+ return "home";
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceListConverter.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceListConverter.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceListConverter.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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.transform;
+
+import java.util.List;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.ConverterException;
+
+import org.jboss.soa.esb.admin.console.SeamUtils;
+
+/**
+ * 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 class SmooksResourceListConverter implements Converter {
+
+ /* (non-Javadoc)
+ * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
+ */
+ public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String string) throws ConverterException {
+ throw new UnsupportedOperationException();
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
+ */
+ public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object object) throws ConverterException {
+ StringBuffer stringBuffer = new StringBuffer();
+
+ if(object instanceof List) {
+ List resList = (List)object;
+
+ for(int i = 0; i < resList.size(); i++) {
+ TransformationResource resource = (TransformationResource) resList.get(i);
+
+ appendResource(resource, stringBuffer);
+ }
+ } else {
+ stringBuffer.append("<!-- No configurations found. -->");
+ SeamUtils.printContexts();
+ }
+
+ 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(">");
+
+ TransformationResourceParameter[] parameters = resource.getParameters();
+ if(parameters != null && parameters.length > 0) {
+ appendParameters(parameters, stringBuffer);
+ }
+
+ stringBuffer.append("\n\t</smooks-resource>");
+ }
+
+ private static void appendParameters(TransformationResourceParameter[] parameters, StringBuffer stringBuffer) {
+ for(TransformationResourceParameter param : parameters) {
+ stringBuffer.append("\n\t\t<param name=\"").append(param.getName()).append("\">");
+ stringBuffer.append("<![CDATA[");
+ stringBuffer.append(param.getValue());
+ stringBuffer.append("]]>");
+ stringBuffer.append("</param>");
+ }
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/SmooksUtils.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,143 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if 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.transform.flow.MessageFlow;
+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 {
+
+ /**
+ * Get the ordered set of message {@link TransformationResource}s targetd at the supplied message flow.
+ * <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 messageFlow The message flow 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 flow.
+ */
+ public static List<TransformationResource> getMessageFlowConfigs(MessageFlow messageFlow, 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 messageFlowConfigsMap;
+ List<TransformationResource> messageFlowConfigsList = new ArrayList<TransformationResource>();;
+
+ // Register all the configurations on the context...
+ for(TransformationResource resourceConfig : allResourceConfigs) {
+ smooks.registerResource(DBLinkedSmooksResourceConfiguration.getInstance(resourceConfig));
+ }
+
+ // Capture the message flow properties as useragent profiles...
+ String[] profilesArray = getMessageFlowProfiles(messageFlow);
+
+ // Create and register a message useragent with the message flow profiles ...
+ smooks.registerUseragent(messageUAString, profilesArray);
+ messageUASession = smooks.getSession(messageUAString);
+
+ // Filter out the configurations for the message session...
+ messageFlowConfigsMap = messageUASession.getDeliveryConfig().getSmooksResourceConfigurations();
+ Iterator mapIterator = messageFlowConfigsMap.entrySet().iterator();
+ while(mapIterator.hasNext()) {
+ Entry mapEntry = (Entry)mapIterator.next();
+ List selectorResourceList = (List)mapEntry.getValue();
+
+ for(Object resourceConfig : selectorResourceList) {
+ if(resourceConfig instanceof DBLinkedSmooksResourceConfiguration) {
+ messageFlowConfigsList.add(((DBLinkedSmooksResourceConfiguration)resourceConfig).persistedConfigForm);
+ }
+ }
+ }
+
+
+ return messageFlowConfigsList;
+ }
+
+ /**
+ * Get the Smooks "profiles" that correspond to the supplied message flow.
+ * @param messageFlow The message flow.
+ * @return List of profiles.
+ */
+ private static String[] getMessageFlowProfiles(MessageFlow messageFlow) {
+ String[] profilesArray;
+ List<String> profiles = new ArrayList<String>();
+
+ if(messageFlow.getFromMessageType() != null) {
+ profiles.add(MessageFlow.FROM_TYPE + messageFlow.getFromMessageType());
+ }
+ if(messageFlow.getFromEPR() != null) {
+ profiles.add(MessageFlow.FROM_EPR + messageFlow.getFromEPR());
+ }
+ if(messageFlow.getToEPR() != null) {
+ profiles.add(MessageFlow.TO_EPR + messageFlow.getToEPR());
+ }
+ if(messageFlow.getToMessageType() != null) {
+ profiles.add(MessageFlow.TO_TYPE + messageFlow.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;
+
+ return instance;
+ }
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResource.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,126 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if 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.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;
+
+/**
+ * @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 useragent;
+ private String selector;
+ private String namespace;
+ private String path;
+ private 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.
+ */
+ public TransformationResourceParameter[] getParameters() {
+ return parameters;
+ }
+ /**
+ * @param parameters The parameters to set.
+ */
+ public void setParameters(TransformationResourceParameter[] properties) {
+ this.parameters = properties;
+ }
+ /**
+ * @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;
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/TransformationResourceParameter.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if 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.GeneratedValue;
+import javax.persistence.Id;
+
+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 Name("transResourceParameter")
+public class TransformationResourceParameter implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ private String name;
+ private String value;
+
+ public TransformationResourceParameter() {
+ }
+
+ public TransformationResourceParameter(String name, String value) {
+ this.name = name;
+ this.value = value;
+ }
+
+ /**
+ * @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 value.
+ */
+ @NotNull
+ public String getValue() {
+ return value;
+ }
+ /**
+ * @param value The value to set.
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlow.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlow.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlow.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,219 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform.flow;
+
+import java.io.Serializable;
+
+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.EPR;
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+
+/**
+ * Message flow.
+ * <p/>
+ * This class defines properties used to target message transformation resources at a message flow,
+ * 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 MessageFlow implements Serializable {
+
+ public static final String FROM_EPR = "from-epr:";
+ public static final String FROM_TYPE = "from-type:";
+ public static final String TO_EPR = "to-epr:";
+ public static final String TO_TYPE = "to-type:";
+
+ @In(required=false) @Out(required=false)
+ private EPR fromEPR;
+
+ @In(required=false) @Out(required=false)
+ private MessageContract fromMessageType;
+
+ @In(required=false) @Out(required=false)
+ private EPR toEPR;
+
+ @In(required=false) @Out(required=false)
+ private MessageContract toMessageType;
+
+ /**
+ * Set the message source {@link EPR}.
+ * @param fromEPR The fromEPR to set.
+ */
+ public void setFromEPR(EPR fromEPR) {
+ this.fromEPR = fromEPR;
+ }
+
+ /**
+ * Get the message source {@link EPR}.
+ * @return Returns the fromEPR.
+ */
+ public EPR getFromEPR() {
+ return fromEPR;
+ }
+
+ /**
+ * Set the message type associated with the flow.
+ * @param fromMessageType The fromMessageType to set.
+ */
+ public void setFromMessageType(MessageContract messageType) {
+ this.fromMessageType = messageType;
+ }
+
+ /**
+ * Get the message type associated with the flow.
+ * @return Returns the fromMessageType.
+ */
+ public MessageContract getFromMessageType() {
+ return fromMessageType;
+ }
+
+ /**
+ * Set the message destination {@link EPR}.
+ * @param toEPR The toEPR to set.
+ */
+ public void setToEPR(EPR toEPR) {
+ this.toEPR = toEPR;
+ }
+
+ /**
+ * Get the message destination {@link EPR}.
+ * @return Returns the toEPR.
+ */
+ public EPR getToEPR() {
+ return toEPR;
+ }
+
+ /**
+ * @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 getFlowUseragentString() {
+ if(fromMessageType == null && fromEPR == null && toMessageType == null && toEPR == null) {
+ return "*";
+ }
+
+ StringBuffer stringBuffer = new StringBuffer();
+
+ if(fromMessageType != null) {
+ stringBuffer.append(FROM_TYPE);
+ stringBuffer.append(fromMessageType != null?fromMessageType:"*");
+ stringBuffer.append(fromEPR != null || toMessageType != null || toEPR != null?" AND ":"");
+ }
+
+ if(fromEPR != null) {
+ stringBuffer.append(FROM_EPR);
+ stringBuffer.append(fromEPR != null?fromEPR:"*");
+ stringBuffer.append(toMessageType != null || toEPR != null?" AND ":"");
+ }
+
+ if(toMessageType != null) {
+ stringBuffer.append(TO_TYPE);
+ stringBuffer.append(toMessageType != null?toMessageType:"*");
+ stringBuffer.append(toEPR != null?" AND ":"");
+ }
+
+ if(toEPR != null) {
+ stringBuffer.append(TO_EPR);
+ stringBuffer.append(toEPR != null?toEPR:"*");
+ }
+
+ return stringBuffer.toString().trim();
+ }
+
+ @Out
+ public String getFlowUseragentStringAsHtml() {
+ if(fromMessageType == null && fromEPR == null && toMessageType == null && toEPR == 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_EPR).append("</b>");
+ stringBuffer.append(fromEPR != null?fromEPR:"*");
+ 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_EPR).append("</b>");
+ stringBuffer.append(toEPR != null?toEPR:"*");
+
+ return stringBuffer.toString();
+ }
+
+ @Out
+ public String getFlowAsHtml() {
+ if(fromMessageType == null && fromEPR == null && toMessageType == null && toEPR == 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_EPR).append("</b> ");
+ stringBuffer.append(fromEPR != null?fromEPR:"*");
+ stringBuffer.append("<br/>");
+
+ stringBuffer.append("<b>").append(TO_TYPE).append("</b> ");
+ stringBuffer.append(toMessageType != null?toMessageType:"*");
+ stringBuffer.append("<br/>");
+
+ stringBuffer.append("<b>").append(TO_EPR).append("</b> ");
+ stringBuffer.append(toEPR != null?toEPR:"*");
+
+ return stringBuffer.toString();
+ }
+
+ /**
+ * Reset the message flow.
+ */
+ public void reset() {
+ fromEPR = null;
+ fromMessageType = null;
+ toEPR = null;
+ toMessageType = null;
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlowSelected.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlowSelected.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlowSelected.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if 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 java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.interceptor.Interceptors;
+
+/**
+ * Meta-annotation for the {@link org.jboss.soa.esb.admin.console.transform.flow.MessageFlowSelectedInterceptor}
+ * interceptor class.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Target(TYPE)
+ at Retention(RUNTIME)
+ at Documented
+ at Interceptors(MessageFlowSelectedInterceptor.class)
+public @interface MessageFlowSelected {}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlowSelectedInterceptor.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlowSelectedInterceptor.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/MessageFlowSelectedInterceptor.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform.flow;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+import org.jboss.seam.annotations.Around;
+import org.jboss.seam.interceptors.BijectionInterceptor;
+import org.jboss.seam.interceptors.BusinessProcessInterceptor;
+import org.jboss.seam.interceptors.ConversationInterceptor;
+import org.jboss.seam.interceptors.ValidationInterceptor;
+
+/**
+ * Interceptor to enforce Message flow selection.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Around( { BijectionInterceptor.class, ValidationInterceptor.class, ConversationInterceptor.class, BusinessProcessInterceptor.class })
+public class MessageFlowSelectedInterceptor {
+
+ @AroundInvoke
+ public Object assertFlowSelected(InvocationContext invocation) throws Exception {
+ boolean isFlowSelected = SelectMessageFlow.isMessageFlowSelected();
+
+ if (isFlowSelected) {
+ return invocation.proceed();
+ } else {
+ return "select-message-flow";
+ }
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/SelectMessageFlow.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/SelectMessageFlow.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/SelectMessageFlow.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,170 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform.flow;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+import static org.jboss.seam.ScopeType.SESSION;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.ejb.Remove;
+
+import org.hibernate.Session;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.Conversational;
+import org.jboss.seam.annotations.Create;
+import org.jboss.seam.annotations.Destroy;
+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.contexts.Contexts;
+import org.jboss.soa.esb.admin.console.EPR;
+import org.jboss.soa.esb.admin.console.SeamUtils;
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+
+/**
+ * Message Flow Select Listener.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("messageFlowSelect")
+ at Scope(CONVERSATION)
+ at Conversational(ifNotBegunOutcome="select-message-flow")
+public class SelectMessageFlow implements Serializable {
+
+ @In(create=true)
+ private Session esbDatabase;
+
+ @DataModel
+ private List<MessageContract> fromMessageTypes;
+ @DataModelSelectionIndex("fromMessageTypes")
+ int fromMessageTypeIndex = 0;
+
+ @DataModel
+ private List<EPR> fromEPRs;
+ @DataModelSelectionIndex("fromEPRs")
+ int fromEPRSelectionIndex = 0;
+
+ @DataModel
+ private List<MessageContract> toMessageTypes;
+ @DataModelSelectionIndex("toMessageTypes")
+ int toMessageTypeIndex = 0;
+
+ @DataModel
+ private List<EPR> toEPRs;
+ @DataModelSelectionIndex("toEPRs")
+ int toEPRSelectionIndex = 0;
+
+ @In(required=false) @Out(scope=SESSION)
+ private MessageFlow messageFlow;
+
+ public void startSelection() {
+ }
+
+ /*
+ * Begin the select message flow pageflow conversation.
+ */
+ @Create
+ @Begin(pageflow="selectMessageFlow", nested=true)
+ public void begin() {
+ messageFlow = new MessageFlow();
+ Contexts.getSessionContext().set(MessageFlow.class.getName(), "set");
+
+ fromEPRs = esbDatabase.createQuery("from EPR order by uri").list();
+ toEPRs = esbDatabase.createQuery("from EPR order by uri").list();
+ }
+
+ /**
+ * Select the "from" {@link EPR} action listener method.
+ */
+ public void selectFromEPR() {
+ EPR fromEPR;
+
+ fromEPR = fromEPRs.get(fromEPRSelectionIndex);
+ messageFlow.setFromEPR(fromEPR);
+
+ // Select the message contracts *produced* by the selected "from" EPR...
+ fromMessageTypes = esbDatabase.createQuery("from MessageContract where epr = :epr and usage = 'PRODUCES'")
+ .setParameter("epr", fromEPR.getUri())
+ .list();
+ }
+
+ /**
+ * Select the "from" {@link MessageContract} action listener method.
+ */
+ public void selectFromMessageType() {
+ messageFlow.setFromMessageType(fromMessageTypes.get(fromMessageTypeIndex));
+ }
+
+ /**
+ * Select the "to" {@link EPR} action listener method.
+ */
+ public void selectToEPR() {
+ EPR toEPR;
+
+ toEPR = toEPRs.get(toEPRSelectionIndex);
+ messageFlow.setToEPR(toEPR);
+
+ // Select the message contracts *consumed* by the selected "from" EPR...
+ toMessageTypes = esbDatabase.createQuery("from MessageContract where epr = :epr and usage = 'CONSUMES'")
+ .setParameter("epr", toEPR.getUri())
+ .list();
+ }
+
+ /**
+ * Select the "to" {@link MessageContract} action listener method.
+ */
+ public void selectToMessageType() {
+ messageFlow.setToMessageType(toMessageTypes.get(toMessageTypeIndex));
+ }
+
+ public void next() {
+ }
+
+ @End
+ public void cancel() {
+ messageFlow = null;
+ Contexts.getSessionContext().set(MessageFlow.class.getName(), "notset");
+ }
+
+ public boolean isFromEPRSelected() {
+ return (messageFlow.getFromEPR() != null);
+ }
+
+ public boolean isToEPRSelected() {
+ return (messageFlow.getToEPR() != null);
+ }
+
+ /**
+ * Is the {@link MessageFlow} selected on the current session.
+ * @return True if the {@link MessageFlow} is selected on the current session, otherwise false.
+ */
+ public static boolean isMessageFlowSelected() {
+ String set = (String)Contexts.getSessionContext().get(MessageFlow.class.getName());
+
+ return (set != null && set.equals("set"));
+ }
+}
Added: labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/TransformationConfigRejoin.java
===================================================================
--- labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/TransformationConfigRejoin.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/src/org/jboss/soa/esb/admin/console/transform/flow/TransformationConfigRejoin.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if 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.jboss.seam.ScopeType.EVENT;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+/**
+ * Action listener for rejoining whichever Transformation Configuration conversation
+ * was interupted by the Message Flow selection process.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at Name("transConfigRejoin")
+ at Scope(EVENT)
+public class TransformationConfigRejoin {
+
+ /**
+ * Action listener method.
+ * @return The view ID to rejoin.
+ */
+ public String rejoin() {
+ // TODO: Find out how to rejoin the conversation that was interrupted in order to select the message flow.
+ return "home";
+ }
+}
Added: labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/MessageTypeTest.java
===================================================================
--- labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/MessageTypeTest.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/MessageTypeTest.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console;
+
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MessageTypeTest extends TestCase {
+
+ 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:http://org.jboss/XService/get-something.xsd", messageType.toString());
+
+ messageType.setMessageDescription(null);
+ assertEquals("text/xml:org.jboss.XService#getSomething", messageType.toString());
+
+ messageType.setNamespace(null);
+ assertEquals("text/xml", messageType.toString());
+ }
+}
Added: labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceListConverterTest.java
===================================================================
--- labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceListConverterTest.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/SmooksResourceListConverterTest.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.milyn.io.StreamUtils;
+
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksResourceListConverterTest extends TestCase {
+
+ /*
+ * Test method for 'org.jboss.soa.esb.admin.console.transform.SmooksResourceListConverter.getAsString(FacesContext, UIComponent, Object)'
+ */
+ public void test_getAsString() throws IOException {
+ SmooksResourceListConverter converter = new SmooksResourceListConverter();
+ List<TransformationResource> transList = new ArrayList<TransformationResource>();
+ TransformationResource res = new TransformationResource();
+
+ res.setNamespace("ns");
+ res.setPath("path");
+ res.setSelector("selector");
+ res.setUseragent("ua");
+ res.setParameters(new TransformationResourceParameter[] {new TransformationResourceParameter("name", "value")});
+ transList.add(res);
+ transList.add(res);
+
+ String expected = new String(StreamUtils.readStream(getClass().getResourceAsStream("expected-1.txt")));
+ assertEquals(expected, converter.getAsString(null, null, transList));
+ }
+
+
+}
Added: labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java
===================================================================
--- labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/SmooksUtilsTest.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,118 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.soa.esb.admin.console.EPR;
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+import org.jboss.soa.esb.admin.console.transform.flow.MessageFlow;
+
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SmooksUtilsTest extends TestCase {
+
+ /*
+ * Test method for 'org.jboss.soa.esb.admin.console.transform.SmooksUtils.getMessageFlowConfigs(MessageFlow, List<TransformationResource>)'
+ */
+ public void test_getMessageFlowConfigs() {
+ MessageFlow flow = new MessageFlow();
+ List<TransformationResource> allResources = new ArrayList<TransformationResource>();
+ List<TransformationResource> flowResources;
+ TransformationResource resource;
+
+ resource = new TransformationResource();
+ resource.setUseragent(MessageFlow.FROM_EPR + "A");
+ resource.setSelector("header");
+ allResources.add(resource);
+
+ resource = new TransformationResource();
+ resource.setUseragent(MessageFlow.FROM_EPR + "A AND " + MessageFlow.TO_EPR + "B");
+ resource.setSelector("header");
+ allResources.add(resource);
+
+ resource = new TransformationResource();
+ resource.setUseragent("*");
+ resource.setSelector("header");
+ allResources.add(resource);
+
+ resource = new TransformationResource();
+ resource.setUseragent(MessageFlow.FROM_EPR + "B");
+ resource.setSelector("body");
+ allResources.add(resource);
+
+ resource = new TransformationResource();
+ resource.setUseragent(MessageFlow.FROM_EPR + "B AND " + MessageFlow.TO_TYPE + "text/xml");
+ resource.setSelector("body");
+ allResources.add(resource);
+
+ resource = new TransformationResource();
+ resource.setUseragent(MessageFlow.FROM_EPR + "B AND " + "not:" + MessageFlow.FROM_TYPE + "text/xml");
+ resource.setSelector("body");
+ allResources.add(resource);
+
+ resource = new TransformationResource();
+ resource.setUseragent(MessageFlow.FROM_EPR + "C");
+ resource.setSelector("legs");
+ allResources.add(resource);
+
+ // Set the flow and run some tests...
+ flow.setFromEPR(new EPR("A"));
+ flowResources = SmooksUtils.getMessageFlowConfigs(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.setFromEPR(new EPR("A"));
+ flow.setToEPR(new EPR("B"));
+ flowResources = SmooksUtils.getMessageFlowConfigs(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.setFromEPR(new EPR("B"));
+ flow.setFromMessageType(new MessageContract("text/xml", null, null));
+ flowResources = SmooksUtils.getMessageFlowConfigs(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.setFromEPR(new EPR("B"));
+ flow.setFromMessageType(new MessageContract("text/xml", null, null));
+ flow.setToMessageType(new MessageContract("text/xml", null, null));
+ flowResources = SmooksUtils.getMessageFlowConfigs(flow, allResources);
+ assertEquals(3, flowResources.size());
+ assertEquals(allResources.get(4), flowResources.get(0)); // 5th
+ assertEquals(allResources.get(3), flowResources.get(1)); // 4th
+ assertEquals(allResources.get(2), flowResources.get(2)); // 3rd - useragent="*"
+ }
+}
Added: labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/expected-1.txt
===================================================================
--- labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/expected-1.txt 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/expected-1.txt 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,7 @@
+
+ <smooks-resource selector="selector" useragent="ua" namespace="ns" path="path" >
+ <param name="name"><![CDATA[value]]></param>
+ </smooks-resource>
+ <smooks-resource selector="selector" useragent="ua" namespace="ns" path="path" >
+ <param name="name"><![CDATA[value]]></param>
+ </smooks-resource>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java
===================================================================
--- labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/test/src/org/jboss/soa/esb/admin/console/transform/flow/MessageContractTest.java 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.admin.console.transform.flow;
+
+import org.jboss.soa.esb.admin.console.EPR;
+import org.jboss.soa.esb.admin.console.contract.MessageContract;
+
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MessageContractTest extends TestCase {
+
+ public void test_getFlowUseragentString_and_getFlowUseragentStringAsHtml_getFlowAsHtml() {
+ MessageFlow flow = new MessageFlow();
+
+ flow.setFromEPR(new EPR("jms://x.y"));
+ flow.setFromMessageType(new MessageContract("text/xml", null, null));
+ flow.setToEPR(new EPR("file://x.y"));
+ flow.setToMessageType(new MessageContract("text/xml", null, null));
+
+ assertEquals("from-type:text/xml AND from-epr:jms://x.y AND to-type:text/xml AND to-epr:file://x.y", flow.getFlowUseragentString());
+ assertEquals("<b>from-type:</b>text/xml<br/>AND<br/><b>from-epr:</b>jms://x.y<br/>AND<br/><b>to-type:</b>text/xml<br/>AND<br/><b>to-epr:</b>file://x.y", flow.getFlowUseragentStringAsHtml());
+ assertEquals("<b>from-type:</b> text/xml<br/><b>from-epr:</b> jms://x.y<br/><b>to-type:</b> text/xml<br/><b>to-epr:</b> file://x.y", flow.getFlowAsHtml());
+
+ flow.setToEPR(null);
+ assertEquals("from-type:text/xml AND from-epr:jms://x.y AND to-type:text/xml", flow.getFlowUseragentString());
+ assertEquals("<b>from-type:</b>text/xml<br/>AND<br/><b>from-epr:</b>jms://x.y<br/>AND<br/><b>to-type:</b>text/xml<br/>AND<br/><b>to-epr:</b>*", flow.getFlowUseragentStringAsHtml());
+ assertEquals("<b>from-type:</b> text/xml<br/><b>from-epr:</b> jms://x.y<br/><b>to-type:</b> text/xml<br/><b>to-epr:</b> *", flow.getFlowAsHtml());
+
+ flow.setToMessageType(null);
+ assertEquals("from-type:text/xml AND from-epr:jms://x.y", flow.getFlowUseragentString());
+ assertEquals("<b>from-type:</b>text/xml<br/>AND<br/><b>from-epr:</b>jms://x.y<br/>AND<br/><b>to-type:</b>*<br/>AND<br/><b>to-epr:</b>*", flow.getFlowUseragentStringAsHtml());
+ assertEquals("<b>from-type:</b> text/xml<br/><b>from-epr:</b> jms://x.y<br/><b>to-type:</b> *<br/><b>to-epr:</b> *", flow.getFlowAsHtml());
+
+ flow.setFromEPR(null);
+ assertEquals("from-type:text/xml", flow.getFlowUseragentString());
+ assertEquals("<b>from-type:</b>text/xml<br/>AND<br/><b>from-epr:</b>*<br/>AND<br/><b>to-type:</b>*<br/>AND<br/><b>to-epr:</b>*", flow.getFlowUseragentStringAsHtml());
+ assertEquals("<b>from-type:</b> text/xml<br/><b>from-epr:</b> *<br/><b>to-type:</b> *<br/><b>to-epr:</b> *", flow.getFlowAsHtml());
+
+ flow.setFromMessageType(null);
+ assertEquals("*", flow.getFlowUseragentString());
+ assertEquals("All Messages", flow.getFlowUseragentStringAsHtml());
+ }
+}
Added: labs/jbossesb/trunk/product/console/view/contract/list-message-contracts.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/contract/list-message-contracts.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/contract/list-message-contracts.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,61 @@
+<!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 lists all defined Message Contracts.
+ </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">EPR</f:facet>
+ #{contractSelection.epr}
+ </h:column>
+ <h:column>
+ <f:facet name="header">Namespace</f:facet>
+ #{contractSelection.namespace}
+ </h:column>
+ <h:column>
+ <f:facet name="header">Usage</f:facet>
+ #{contractSelection.usage}
+ </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>
+ <h:commandLink action="#{manageContracts.deleteContract}">Delete</h:commandLink>
+ </h:column>
+ </h:dataTable>
+ </div>
+ </h:form>
+ <h:form>
+ <div class="section">
+ <s:link action="#{manageContracts.close}" value="Done" linkStyle="button" buttonClass="button" />
+ </div>
+ </h:form>
+ </fieldset>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/contract/new-message-contract.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/contract/new-message-contract.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/contract/new-message-contract.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,91 @@
+<!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>
+ <div class="section">
+ <h2>Configure New Message Contract</h2>
+ </div>
+ <div class="section">
+ This form allows you to create a new "Message Contract". A Message Contract defines a message with respect to the
+ Endpoint Reference (EPR) that PRODUCES or CONSUMES the message, as well as the type of data contained in the
+ message payload.
+ </div>
+ <s:validateAll>
+ <div class="section">
+ <div class="entry">
+ <div class="label"><h:outputLabel for="EPR">Service EPR:</h:outputLabel></div>
+ <div class="input">
+ <h:inputText id="EPR" value="#{contract.epr}" size="50" required="true" />
+ <br/><span class="errors"><h:message for="EPR" /></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="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="Mime">Message Mime (e.g. text/xml):</h:outputLabel></div>
+ <div class="input">
+ <h:inputText id="Mime" value="#{contract.mime}" size="30" required="true" />
+ <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> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Save" action="#{newContract.save}" class="button"/>
+ </div>
+ </div>
+ </div>
+ </s:validateAll>
+ </h:form>
+ <h:form>
+ <div class="section">
+ <div class="entry">
+ <div class="label"><f:verbatim> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Cancel" action="#{newContract.cancel}" class="button"/>
+ </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 Flow.
+ <p/>
+</ui:define>
+
+</ui:composition>
Added: labs/jbossesb/trunk/product/console/view/contract/template.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/contract/template.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/contract/template.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,56 @@
+<!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="http://www.jboss.com/themes/jbosstheme/img/logo.gif" alt="JBoss - The Professional Open Source Company" border="0" /></a>
+ </div>
+
+ <div id="TopMenu">
+ <table cellpadding="0" cellspacing="0">
+ <tr>
+ <td class="menu_JBnetwork"><a href="http://network.jboss.com/">subscription</a></td>
+ <td class="menu_JBcom"><a href="http://www.jboss.com/">jboss.com</a></td>
+
+ <td class="menu_JBorg"><a href="http://labs.jboss.com">jboss.org</a></td>
+ <td class="menu_RH"><a href="http://www.redhat.com">redhat.com</a></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div id="container">
+ <div id="sidebar">
+ <b><h:outputLink value="../home.jsf"><f:verbatim>Home</f:verbatim></h:outputLink></b>
+ <p/>
+ <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/console/view/css/common.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/common.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/common.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/custom.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/custom.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/custom.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/global.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/global.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/global.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/headings.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/headings.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/headings.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/layout.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/layout.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/layout.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/navigation.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/navigation.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/navigation.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/pagelayout.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/pagelayout.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/pagelayout.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/print.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/print.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/print.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/screen.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/screen.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/screen.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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;
+}
+#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: 750px;
+ 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: 1200px;
+ 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/console/view/css/screen_001.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/screen_001.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/screen_001.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/screen_002.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/screen_002.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/screen_002.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/css/tables.css
===================================================================
--- labs/jbossesb/trunk/product/console/view/css/tables.css 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/css/tables.css 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/error.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/error.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/error.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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/console/view/home.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/home.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/home.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,39 @@
+<!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">
+ <h2>Message Contract Configurations:</h2>
+ <ul>
+ <li><s:link action="#{newContract.showForm}" value="Configure New Message Contract" /></li>
+ <li><s:link action="#{manageContracts.list}" value="Manage Message Contract Configurations" /></li>
+ </ul>
+ </div>
+
+ <div class="section">
+ <h2>Transformation Configurations:</h2>
+ <ul>
+ <li><s:link action="#{newResource.captureResourceDetailsConfiguration}" value="Configure New Transformation/Analysis Resource" /></li>
+ <li><s:link action="#{manageResources.list}" value="Manage Transformation/Analysis Configurations" /></li>
+ </ul>
+ </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/console/view/img/bg.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/bg_bottom_red.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/bg_bottom_red.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/bg_side_btm_red.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/bg_side_btm_red.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/bg_top_red.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/bg_top_red.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/bg_topmenu_red_round.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/bg_topmenu_red_round.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/btn.bg.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/btn.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/cnt.bg.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/cnt.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/crn_left_bot_blue.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/crn_left_bot_blue.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/crn_left_bot_green.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/crn_left_bot_green.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/crn_left_bot_red.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/crn_left_bot_red.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/crn_left_bot_yellow.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/crn_left_bot_yellow.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/gradient_news_bkgd_650.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/gradient_news_bkgd_650.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/hdr.bg.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/hdr.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/input.bg.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/input.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/logo.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/logo.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/rh/points.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/rh/points.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/rh/table_corner_tl.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/rh/table_corner_tl.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/rh/table_corner_tr.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/rh/table_corner_tr.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/sdb.bg.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/sdb.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/table_corner_tl.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/table_corner_tl.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/table_corner_tr.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/table_corner_tr.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/img/th.bg.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/console/view/img/th.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/trunk/product/console/view/index.html
===================================================================
--- labs/jbossesb/trunk/product/console/view/index.html 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/index.html 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,5 @@
+<html>
+<head>
+ <meta http-equiv="Refresh" content="0; URL=home.jsf">
+</head>
+</html>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/template.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/template.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/template.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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="http://www.jboss.com/themes/jbosstheme/img/logo.gif" alt="JBoss - The Professional Open Source Company" border="0" /></a>
+ </div>
+
+ <div id="TopMenu">
+ <table cellpadding="0" cellspacing="0">
+ <tr>
+ <td class="menu_JBnetwork"><a href="http://network.jboss.com/">subscription</a></td>
+ <td class="menu_JBcom"><a href="http://www.jboss.com/">jboss.com</a></td>
+
+ <td class="menu_JBorg"><a href="http://labs.jboss.com">jboss.org</a></td>
+ <td class="menu_RH"><a href="http://www.redhat.com">redhat.com</a></td>
+ </tr>
+ </table>
+ </div>
+ </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/console/view/transform/add-resource-parameter.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/add-resource-parameter.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/add-resource-parameter.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,61 @@
+<!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}" required="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="#{transResourceParameter.value}" cols="100" rows="30" 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> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Add" action="#{newResource.addParameter}" class="button"/>
+ </div>
+ </div>
+ </div>
+ </s:validateAll>
+ </h:form>
+ <h:form>
+ <div class="section">
+ <div class="entry">
+ <div class="label"><f:verbatim> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Cancel" action="#{newResource.cancelAddParameter}" class="button"/>
+ </div>
+ </div>
+ </div>
+ </h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <b><h:outputLink value="select-message-flow-from-epr.jsf"><f:verbatim>Set Message Flow</f:verbatim></h:outputLink></b>
+ <p/>
+ <h1>Create Transformation/Analysis Configuration</h1>
+ Create a message transformation/analysis configuration for the chosen Message Flow.
+ <p/>
+</ui:define>
+
+</ui:composition>
Added: labs/jbossesb/trunk/product/console/view/transform/list-resources-as-smooks-config.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/list-resources-as-smooks-config.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/list-resources-as-smooks-config.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,10 @@
+<?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 xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
+
+ <h:outputText value="#{allResourceConfigs}" escape="false">
+ <f:converter converterId="SmooksResourceListConverter"/>
+ </h:outputText>
+
+</smooks-resource-list>
Added: labs/jbossesb/trunk/product/console/view/transform/list-resources.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/list-resources.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/list-resources.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,61 @@
+<!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 current message flow.
+ </div>
+ <div class="section">
+ <div class="entry">
+ <div class="label"><h:outputLabel for="MessageFlow">Selected Message Flow:</h:outputLabel></div>
+ <div class="output">
+ <f:verbatim id="MessageFlow">#{messageFlow.flowAsHtml}</f:verbatim>
+ </div>
+ </div>
+ </div>
+ <div class="section">
+ <h:outputText value="There are no Resource Configurations targeted at the current Message Flow!" rendered="#{messageFlowConfigs != null and messageFlowConfigs.rowCount==0}"/>
+ <h:dataTable value="#{messageFlowConfigs}" var="configSelection" rendered="#{messageFlowConfigs.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.path}
+ </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:link action="#{manageResources.close}" value="Done" linkStyle="button" buttonClass="button" />
+ </div>
+ </h:form>
+ </fieldset>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <b><h:outputLink value="select-message-flow-from-epr.jsf"><f:verbatim>Set Message Flow</f:verbatim></h:outputLink></b>
+ <p/>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/transform/new-trans-resource-create.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/new-trans-resource-create.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/new-trans-resource-create.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,89 @@
+<!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 Resource</h2>
+ <div class="section">
+ Define the resource configuration by specifying the Transformation/Analysis Resource and its execution Parameter Set. 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="Resource">Resource:</h:outputLabel></div>
+ <div class="input">
+ <h:inputText id="Resource" value="#{transResource.path}" />
+ <br/><span class="errors"><h:message for="Resource" /></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 Value</f:facet>
+ <pre>#{parameterSelection.value}</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> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Add Resource Parameter..." action="/transform/add-resource-parameter.xhtml" class="button"/>
+ </div>
+ </div>
+ <div class="entry">
+ <div class="label"><f:verbatim> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Next..." action="/transform/new-trans-resource-target.xhtml" class="button"/>
+ </div>
+ </div>
+ </div>
+ </s:validateAll>
+ </h:form>
+ </fieldset>
+ </h:form>
+ <h:form>
+ <div class="section">
+ <div class="entry">
+ <div class="label"><f:verbatim> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Cancel" action="#{newResource.cancel}" class="button"/>
+ </div>
+ </div>
+ </div>
+ </h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <b><h:outputLink value="select-message-flow-from-epr.jsf"><f:verbatim>Set Message Flow</f:verbatim></h:outputLink></b>
+ <p/>
+ <h1>Create Transformation/Analysis Configuration</h1>
+ Create a message transformation/analysis configuration for the chosen Message Flow.
+ <p/>
+</ui:define>
+
+</ui:composition>
Added: labs/jbossesb/trunk/product/console/view/transform/new-trans-resource-target.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/new-trans-resource-target.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/new-trans-resource-target.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,80 @@
+<!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 Useragent" and execution "Selector" combination. The
+ Message Useragent field defines an expression that identifies the physical message at which the transformation/analysis configuration is to be targeted. This has already been
+ defined through setting of the Message Flow (but can be manually modified). Defining the execution "Selector" depends on the actual transformation/analysis resource.
+ 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="MessageUseragent">Message Targeting Useragent Expression:</h:outputLabel></div>
+ <div class="input">
+ <h:inputText id="MessageUseragent" value="#{transResource.useragent}" size="100" required="true" />
+ <br/><span class="errors"><h:message for="MessageUseragent" /></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="#{transResource.selector}" required="true" />
+ <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" />
+ <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> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Save Configuration" action="#{newResource.save}" class="button"/>
+ </div>
+ </div>
+ </div>
+ </s:validateAll>
+ </h:form>
+ </fieldset>
+ <h:form>
+ <div class="section">
+ <div class="entry">
+ <div class="label"><f:verbatim> </f:verbatim></div>
+ <div class="input">
+ <h:commandButton value="Cancel" action="#{newResource.cancel}" class="button"/>
+ </div>
+ </div>
+ </div>
+ </h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <b><h:outputLink value="select-message-flow-from-epr.jsf"><f:verbatim>Set Message Flow</f:verbatim></h:outputLink></b>
+ <p/>
+ <h1>Create Transformation/Analysis Configuration</h1>
+ Create a message transformation/analysis configuration for the chosen Message Flow.
+ <p/>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/transform/select-message-flow-finish.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/select-message-flow-finish.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/select-message-flow-finish.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,41 @@
+<!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 Flow : <i>Finished...</i></h2>
+ <div class="section">
+ Review selected message flow...
+ </div>
+
+ <div class="section">
+ <div class="entry">
+ <div class="label"><h:outputLabel for="MessageFlow">Selected Message Flow:</h:outputLabel></div>
+ <div class="output">
+ <f:verbatim id="MessageFlow">#{messageFlow.flowAsHtml}</f:verbatim>
+ </div>
+ </div>
+ </div>
+
+ <div class="section">
+ <s:link action="#{transConfigRejoin.rejoin}" value="Done" linkStyle="button" buttonClass="button" />
+ </div>
+
+ </h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <h1>Select Message Flow</h1>
+ <p>
+ Select the message flow on which you would like to perform message transformation configurations.
+ </p>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/transform/select-message-flow-from-epr.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/select-message-flow-from-epr.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/select-message-flow-from-epr.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,54 @@
+<!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 Flow : <i>From EPR...</i></h2>
+ <div class="section">
+ Select the Message Flow to be associated with all Transformation/Analysis Configurations made on the current browser session. Note that you don't
+ have to specify a complete message flow. The selected message flow can, for example, simply be the "From EPR" i.e. you may wish to define/browse
+ message transformation/analysis configurations for all messages produced by a specific Service EPR. Any combination is supported.
+ <p/>
+ If you wish to cover all message flows (i.e. browse all configurations -OR - create a configuration targeted at all message flows), simply
+ "reset" the current flow and click through the selection screens without selecting any Message Flow properties.
+ </div>
+
+ <div class="section">
+ <h:outputText value="No From EPR Definitions Found" rendered="#{fromEPRs != null and fromEPRs.rowCount==0}"/>
+ <h:dataTable value="#{fromEPRs}" var="eprFromSelection" rendered="#{fromEPRs.rowCount>0}">
+ <h:column>
+ <f:facet name="header"><f:verbatim> </f:verbatim></f:facet>
+ <h:outputText value="+" rendered="#{eprFromSelection.id==messageFlow.fromEPR.id}"/>
+ </h:column>
+ <h:column>
+ <f:facet name="header">From EPRs</f:facet>
+ <s:link action="#{messageFlowSelect.selectFromEPR}" value="#{eprFromSelection.uri}" />
+ </h:column>
+ </h:dataTable>
+ </div>
+
+ <div class="section">
+ <h:commandButton value="Continue..." action="next" class="button" />
+ </div>
+ <div class="section">
+ <h:commandButton value="Cancel" action="cancel" class="button" />
+ </div>
+
+ </h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <h1>Select Message Flow</h1>
+ <p>
+ Select the message flow on which you would like to perform message transformation configurations.
+ </p>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/transform/select-message-flow-from-type.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/select-message-flow-from-type.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/select-message-flow-from-type.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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">
+ <h:form>
+ <h2>Select Message Flow : <i>Message Contract (<b>From</b>)...</i></h2>
+
+ <div class="section">
+ <f:verbatim rendered="#{fromMessageTypes != null and fromMessageTypes.rowCount==0}">
+ Sorry, there are no <u>PRODUCES</u> Message Contracts defined for the selected "From" EPR "<b>#{messageFlow.fromEPR}</b>".
+ <p/>
+ Message Contract definitions can be created from the main menu.
+ </f:verbatim>
+
+ <h:dataTable value="#{fromMessageTypes}" var="messageTypeSelection" rendered="#{fromMessageTypes.rowCount>0}">
+ <h:column>
+ <f:facet name="header"><f:verbatim> </f:verbatim></f:facet>
+ <h:outputText value="+" rendered="#{messageTypeSelection.id==messageFlow.fromMessageType.id}"/>
+ </h:column>
+ <h:column>
+ <f:facet name="header">Messages <u>Produced</u> by EPR "<i>#{messageFlow.fromEPR}</i>"</f:facet>
+ <s:link action="#{messageFlowSelect.selectFromMessageType}" value="#{messageTypeSelection}" />
+ </h:column>
+ </h:dataTable>
+ </div>
+
+ <div class="section">
+ <h:commandButton value="Continue..." action="next" class="button" />
+ </div>
+ <div class="section">
+ <h:commandButton value="Cancel" action="cancel" class="button" />
+ </div>
+
+ </h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <h1>Select Message Flow</h1>
+ <p>
+ Select the message flow on which you would like to perform message transformation configurations.
+ </p>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/transform/select-message-flow-to-epr.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/select-message-flow-to-epr.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/select-message-flow-to-epr.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,45 @@
+<!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 Flow : <i>To EPR...</i></h2>
+
+ <div class="section">
+ <h:outputText value="No EPR Definitions Found" rendered="#{toEPRs != null and toEPRs.rowCount==0}"/>
+ <h:dataTable value="#{toEPRs}" var="eprToSelection" rendered="#{toEPRs.rowCount>0}">
+ <h:column>
+ <f:facet name="header"><f:verbatim> </f:verbatim></f:facet>
+ <h:outputText value="+" rendered="#{eprToSelection.id==messageFlow.toEPR.id}"/>
+ </h:column>
+ <h:column>
+ <f:facet name="header">To EPRs</f:facet>
+ <s:link action="#{messageFlowSelect.selectToEPR}" value="#{eprToSelection.uri}" />
+ </h:column>
+ </h:dataTable>
+ </div>
+
+ <div class="section">
+ <h:commandButton value="Continue..." action="next" class="button" />
+ </div>
+ <div class="section">
+ <h:commandButton value="Cancel" action="cancel" class="button" />
+ </div>
+ </h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <h1>Select Message Flow</h1>
+ <p>
+ Select the message flow on which you would like to perform message transformation configurations.
+ </p>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/transform/select-message-flow-to-type.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/select-message-flow-to-type.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/select-message-flow-to-type.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -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">
+ <h:form>
+ <h2>Select Message Flow : <i>Message Contract (<b>To</b>)...</i></h2>
+
+ <div class="section">
+ <f:verbatim rendered="#{toMessageTypes != null and toMessageTypes.rowCount==0}">
+ Sorry, there are no <u>CONSUMES</u> Message Contracts defined for the selected "To" EPR "<b>#{messageFlow.toEPR}</b>".
+ <p/>
+ Message Contract definitions can be created from the main menu.
+ </f:verbatim>
+
+ <h:dataTable value="#{toMessageTypes}" var="messageTypeSelection" rendered="#{toMessageTypes.rowCount>0}">
+ <h:column>
+ <f:facet name="header"><f:verbatim> </f:verbatim></f:facet>
+ <h:outputText value="+" rendered="#{messageTypeSelection.id==messageFlow.toMessageType.id}"/>
+ </h:column>
+ <h:column>
+ <f:facet name="header">Messages <u>Consumed</u> by EPR "<i>#{messageFlow.toEPR}</i></f:facet>
+ <s:link action="#{messageFlowSelect.selectToMessageType}" value="#{messageTypeSelection}" />
+ </h:column>
+ </h:dataTable>
+ </div>
+
+ <div class="section">
+ <h:commandButton value="Continue..." action="next" class="button" />
+ </div>
+ <div class="section">
+ <h:commandButton value="Cancel" action="cancel" class="button" />
+ </div>
+
+ </h:form>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <h1>Select Message Flow</h1>
+ <p>
+ Select the message flow on which you would like to perform message transformation configurations.
+ </p>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
Added: labs/jbossesb/trunk/product/console/view/transform/smooks.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/smooks.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/smooks.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,18 @@
+<!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">
+ <s:link action="#{listAllResources.list}" value="List Smooks Resources" />
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+</ui:define>
+
+</ui:composition>
Added: labs/jbossesb/trunk/product/console/view/transform/template.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/template.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/template.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,56 @@
+<!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="http://www.jboss.com/themes/jbosstheme/img/logo.gif" alt="JBoss - The Professional Open Source Company" border="0" /></a>
+ </div>
+
+ <div id="TopMenu">
+ <table cellpadding="0" cellspacing="0">
+ <tr>
+ <td class="menu_JBnetwork"><a href="http://network.jboss.com/">subscription</a></td>
+ <td class="menu_JBcom"><a href="http://www.jboss.com/">jboss.com</a></td>
+
+ <td class="menu_JBorg"><a href="http://labs.jboss.com">jboss.org</a></td>
+ <td class="menu_RH"><a href="http://www.redhat.com">redhat.com</a></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div id="container">
+ <div id="sidebar">
+ <b><h:outputLink value="../home.jsf"><f:verbatim>Home</f:verbatim></h:outputLink></b>
+ <p/>
+ <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/console/view/transform/view-resource.xhtml
===================================================================
--- labs/jbossesb/trunk/product/console/view/transform/view-resource.xhtml 2006-11-10 17:05:12 UTC (rev 7534)
+++ labs/jbossesb/trunk/product/console/view/transform/view-resource.xhtml 2006-11-10 18:42:09 UTC (rev 7535)
@@ -0,0 +1,70 @@
+<!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.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.value}</pre>
+ </h:column>
+ </h:dataTable>
+ </div>
+
+ <div class="section">
+ <div class="entry">
+ <div class="label"><f:verbatim> </f:verbatim></div>
+ <div class="input">
+ <s:link action="#{manageResources.list}" value="Back" linkStyle="button" buttonClass="button" />
+ </div>
+ </div>
+ </div>
+
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+ <b><h:outputLink value="select-message-flow-from-epr.jsf"><f:verbatim>Set Message Flow</f:verbatim></h:outputLink></b>
+ <p/>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list