123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2005, 2015
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
- Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- -->
- <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/portal.xml, messages/portalRL.xml" includeConfig="true" requiredCapability="canUseAdministrationPortal">
- <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http"/>
- <!--
- ===============================================================================================
- unpackRules - unpack the web64 blob which contains all the rule information
- ===============================================================================================
- -->
- <xts:block id="unpackRules" processor="XSLT" type="exec" dependency="formlogic_init">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- exclude-result-prefixes="xsl send cm">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
-
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <xsl:if test="key('env-param','web64EncodedRoutingHints')!=''">
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','web64EncodedRoutingHints'))), true() )" disable-output-escaping="yes"/>
- </xsl:if>
- <routingRules>
- <xsl:for-each select="/root/env/param[starts-with(@name,'rule_package_')]">
- <xsl:sort select="substring-after(@name,'rule_package_')" data-type="number"/>
- <rule>
- <xsl:value-of select="substring-after(@name,'rule_package_')"/>
- </rule>
- </xsl:for-each>
- </routingRules>
- <!-- get the list of serverGroups -->
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query>
- <cm:requests>
- <cm:query>
- <cm:search>/configuration|/configuration//*[@objectClass='dispatcher' or @objectClass='configurationFolder']</cm:search>
- <cm:properties>
- <cm:property name="serverGroup"/>
- <cm:property name="defaultName"/>
- <cm:property name="iconURI"/>
- <cm:property name="hidden"/>
- </cm:properties>
- </cm:query>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- format - render the page
- ===============================================================================================
- -->
- <xts:block id="format" mode="output" processor="XSLT" type="exec" dependency="unpackRules" mimeType="text/html">
- <!-- portal specific information -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <!-- get the new theme stuff -->
- <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/formlogic.xslt"/>
- <xts:logicsheet path="logicsheets/validation.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
-
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
- xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
- xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- exclude-result-prefixes="pf lyt dp cf cp df utml xtsext cm">
-
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <!-- Global template variables -->
- <pf:variables/>
- <pf:gen-icon/>
-
- <xsl:variable name="mname" select="'view_expanded_rules.xts'"/>
-
- <!-- start the output -->
- <xsl:template match="/root">
- <xsl:variable name="browserTitle">
- <xts:string id="IDS_VER_TITLE"/>
- </xsl:variable>
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
- <dp:meta>
- <pf:meta/>
- <!-- Standard meta tags -->
- </dp:meta>
- <pf:help/>
-
- <utml:form name="pform" method="post" action="{$gateway}">
- <!-- header -->
- <dp:header>
- <dp:title>
- <xsl:value-of select="$browserTitle"/>
- </dp:title>
- <dp:description>
- <xts:string id="IDS_VER_INTRO"/>
- </dp:description>
- <dp:close>
- <utml:a utml:op="maintain" utml:formName="pform">
- <utml:target>
- <xsl:value-of select="concat($app, '/specify_routing_rules.xts')"/>
- </utml:target>
- <dp:closeMarker/>
- </utml:a>
- </dp:close>
- </dp:header>
- <!-- body -->
- <lyt:layout style="1">
- <lyt:section>
- <dp:list width="100%">
- <dp:section>
- <dp:label>
- <xts:string id="IDS_SRR_ROUTING_RULES"/>
- </dp:label>
- </dp:section>
- <dp:section>
- <cp:table name="expandedRules" iterate="/root/routingRules/rule" width="100%" align="left">
- <cp:tableHeader>
- <cp:columnHeader>
- <xts:string id="IDS_VER_TABLE_SEQUENCE"/>
- </cp:columnHeader>
- <cp:columnHeader>
- <xts:string id="IDS_VER_TABLE_LINKED_PACKAGE"/>
- </cp:columnHeader>
- <cp:columnHeader>
- <xts:string id="IDS_VER_TABLE_INITIATED_GROUP"/>
- </cp:columnHeader>
- <cp:columnHeader>
- <xts:string id="IDS_VER_TABLE_INITIATED_ROLE"/>
- </cp:columnHeader>
- <cp:columnHeader>
- <xts:string id="IDS_VER_TABLE_ROUTE_TO"/>
- </cp:columnHeader>
- <cp:columnHeader width="100%">
- <xts:string id="IDS_VER_TABLE_SERVER_GROUP"/>
- </cp:columnHeader>
- </cp:tableHeader>
- <cp:tableContent style="linedRows" forceGrid="true">
- <xsl:variable name="currentRule" select="."/>
- <!-- sequence -->
- <cp:columnContent align="center" valign="top">
- <xsl:value-of select="position()"/>
- </cp:columnContent>
- <!-- package routing set -->
- <cp:columnContent valign="top">
- <xsl:variable name="packageHint" select="key('env-param',concat('rule_package_',$currentRule))"/>
- <xsl:choose>
- <xsl:when test="$packageHint = ''">
- <xts:string id="IDS_SRR_ANY_PACKAGE"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="expandHint">
- <xsl:with-param name="header" select="$packageHint"/>
- <xsl:with-param name="xpath" select="/root/routingHints/cm:queryResponse/cm:queryReply/*[(cm:objectClass='package' or cm:objectClass='uploadedFile' or cm:objectClass='module' or cm:objectClass='dataSet') and cm:routingHints/cm:string=string($packageHint)]"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </cp:columnContent>
- <!-- group routing set -->
- <cp:columnContent valign="top">
- <xsl:variable name="groupHint" select="key('env-param',concat('rule_group_',$currentRule))"/>
- <xsl:choose>
- <xsl:when test="$groupHint = ''">
- <xts:string id="IDS_SRR_ANY_GROUP"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="expandHint">
- <xsl:with-param name="header" select="$groupHint"/>
- <xsl:with-param name="xpath" select="/root/routingHints/cm:queryResponse/cm:queryReply/*[cm:objectClass='group' and cm:routingHints/cm:string=string($groupHint)]"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </cp:columnContent>
- <!-- role routing set -->
- <cp:columnContent valign="top">
- <xsl:variable name="roleHint" select="key('env-param',concat('rule_role_',$currentRule))"/>
- <xsl:choose>
- <xsl:when test="$roleHint = ''">
- <xts:string id="IDS_SRR_ANY_ROLE"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="expandHint">
- <xsl:with-param name="header" select="$roleHint"/>
- <xsl:with-param name="xpath" select="/root/routingHints/cm:queryResponse/cm:queryReply/*[cm:objectClass='role' and cm:routingHints/cm:string=string($roleHint)]"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </cp:columnContent>
- <!-- route to -->
- <cp:columnContent valign="top">
- <img src="{$image_root}icon_route_to.gif">
- <xsl:attribute name="alt"><xts:string id="IDS_SRR_TABLE_ROUTE_TO"/></xsl:attribute>
- </img>
- </cp:columnContent>
- <!-- server group -->
- <cp:columnContent valign="top">
- <xsl:variable name="severGroup" select="key('env-param',concat('rule_server_group_',$currentRule))"/>
- <xsl:choose>
- <xsl:when test="$severGroup = ''">
- <xts:string id="IDS_SRR_SERVER_GROUP_NONE"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="expandHint">
- <xsl:with-param name="header" select="$severGroup"/>
- <xsl:with-param name="xpath" select="/root/cm:queryResponse/cm:queryReply[1]/*[cm:serverGroup = string($severGroup)]"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </cp:columnContent>
- </cp:tableContent>
- </cp:table>
- </dp:section>
- </dp:list>
- </lyt:section>
- </lyt:layout>
- <!-- footer -->
- <dp:footer>
- <df:button df:id="IDS_CLOSE" df:style="maintain">
- <df:target>
- <xsl:value-of select="$app"/>/specify_routing_rules.xts<xsl:text/>
- </df:target>
- </df:button>
- </dp:footer>
- </utml:form>
- </dp:page>
- </xsl:template>
-
- <!-- generate the UI to show the expanded hint/server group -->
- <xsl:template name="expandHint">
- <xsl:param name="header"/>
- <xsl:param name="xpath"/>
-
- <table cellpadding="0" cellspacing="0" width="100%" height="100%" role="presentation">
- <tr>
- <td width="100%" height="100%" class="detailsContainer">
- <table cellpadding="0" cellspacing="0" width="100%" height="100%" role="presentation">
- <tr>
- <td class="tabletext" colspan="2"><span class="detailsContainerHeader"><xsl:value-of select="$header"/></span></td>
- </tr>
- <xsl:for-each select="$xpath">
- <xsl:sort select="cm:defaultName" order="ascending" lang="$productLocale"/>
- <tr>
- <td style="padding-left: 10px; padding-top: 2px; padding-bottom: 2px;" nowrap="nowrap" valign="top">
- <xsl:if test="position()=last()">
- <xsl:attribute name="height">100%</xsl:attribute>
- </xsl:if>
- <xsl:call-template name="gen-icon">
- <xsl:with-param name="showAction" select="false()"/>
- <xsl:with-param name="class" select="cm:objectClass"/>
- <xsl:with-param name="hiddenObject" select="cm:hidden"/>
- </xsl:call-template>
- </td>
- <td class="tabletext" nowrap="nowrap" valign="top" align="left" width="100%">
- <xsl:if test="position()=last()">
- <xsl:attribute name="height">100%</xsl:attribute>
- </xsl:if>
- <span class="detailsContainerContent"><xsl:value-of select="cm:defaultName"/></span>
- </td>
- </tr>
- </xsl:for-each>
- <xsl:if test="not($xpath)">
- <tr>
- <td height="100%"> </td>
- </tr>
- </xsl:if>
- </table>
- </td>
- </tr>
- <tr>
- <td height="1">
- <img height="2" width="1" src="{$webcontent}/images/space.gif"/>
- </td>
- </tr>
- </table>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- debug - display debug information
- ===============================================================================================
- -->
- <xts:block id="debug" dependency="format" condition=".[/root/session/param[@name='debug']='1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
- <!-- get the debug logic sheet -->
- <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" exclude-result-prefixes="dbg">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <dbg:dumpxml select="/root"/>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|