123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: AGS
- (C) Copyright IBM Corp. 2005, 2015
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/portal.xml,messages/AGS.xml,messages/portalRL.xml" requiredCapability="canUseEventStudio">
- <!--
- ===============================================================================================
- formlogic_init - standard form logic initialization
- ===============================================================================================
- -->
- <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt"/>
- <!--
- ================================================================================
- decode the agent items from their javascript generated form fields
- ===============================================================================================
- -->
- <xts:block id="extract_agent_definition" processor="XSLT" type="exec" mode="interpret" dependency="formlogic_init">
- <!-- portal specific information -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <!-- agent dialogs stuff -->
- <xts:logicsheet path="ags/logicsheets/dialogs.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:agsdlg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/ags/dialog/" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="pf agsdlg xts xtsext">
- <pf:variables/>
- <xsl:template match="/">
- <!-- create a place holder -->
- <xts:sequence>
- <xts:append select="/root">
- <agent_definition_fragment>
- <!--xsl:message>summary event key <xsl:value-of select="$sek"/> at /root/agent_definition/param[@name='Summary_event_key']/text()
- </xsl:message-->
- <summaryEventKey>
- <xsl:choose>
- <xsl:when test="root/env/param[@name = 'AGENT_PARAM_Summary_event_key']">
- <xsl:value-of select="root/env/param[@name = 'AGENT_PARAM_Summary_event_key']/text()"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="root/env/param[@name = 'Summary_event_key']/text()"/>
- </xsl:otherwise>
- </xsl:choose>
- </summaryEventKey>
- <xsl:if test="/root/env/param[starts-with(@name, 'ACTION_') and contains(@name,'PARAM_')]">
- <suppressionSet>true</suppressionSet>
- </xsl:if>
- <items/>
- </agent_definition_fragment>
- </xts:append>
- <!-- look for the params that indicate an agent and its position create an item place holder for each -->
- <xsl:for-each select="/root/env/param[@name = 'ACTION_XX_MARKER']">
- <xsl:variable name="item_index" select="substring-after(text(), 'ACTION_')"/>
- <xts:append select="/root/agent_definition_fragment/items">
- <item item_index="{$item_index}">
- <suppression/>
- </item>
- </xts:append>
- </xsl:for-each>
- <!-- go throught the rest of the AGENT ACTION params and decode their contents -->
- <xsl:for-each select="/root/env/param[starts-with(@name, 'ACTION_')]">
- <xsl:if test="not(contains(@name, 'ACTION_XX_MARKER'))">
- <xsl:variable name="param_details" select="substring-after(@name, 'ACTION_')"/>
- <xsl:variable name="param_value" select="text()"/>
- <xsl:variable name="index" select="substring-before($param_details, '_')"/>
- <xsl:choose>
- <xsl:when test="contains($param_details,'PARAM_')">
- <xsl:variable name="action_param_name" select="substring-after($param_details, 'PARAM_')"/>
- <xts:append select="/root/agent_definition_fragment/items/item[@item_index = {$index}]/suppression">
- <xsl:element name="param">
- <xsl:attribute name="name"><xsl:value-of select="$action_param_name"/></xsl:attribute>
- <xsl:value-of select="$param_value"/>
- </xsl:element>
- </xts:append>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="action_param_name" select="substring-after($param_details, '_')"/>
- <xts:append select="/root/agent_definition_fragment/items/item[@item_index = {$index}]">
- <xsl:element name="{$action_param_name}">
- <xsl:value-of select="$param_value"/>
- </xsl:element>
- </xts:append>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:for-each>
- <!-- get rid of the form vars passed in by the js on the suppression wizard page -->
- <xts:delete select="/root/env/param[starts-with(@name,'AGENT_PARAM') or starts-with(@name,'ACTION_')]"/>
- <!-- restore the stack -->
- <agsdlg:stack-down/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ================================================================================
- encode the agent items again
- ================================================================================
- -->
- <xts:block id="decode_agent_definition" dependency="extract_agent_definition" mode="interpret" processor="XSLT" type="exec">
- <xts:logicsheet path="ags/logicsheets/agentDefinition.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:agsad="http://developer.cognos.com/schemas/xts/logicsheets/xslt/ags/agentDefinition/" exclude-result-prefixes="xsl xts xtsext agsad">
- <xsl:template match="/">
- <xts:sequence>
- <!-- get the old one out -->
- <agsad:decodeAgentDefinition clean="true"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ================================================================================
- merge the agent blobs again
- ================================================================================
- -->
- <xts:block id="merge_agent_definition" dependency="decode_agent_definition" mode="interpret" processor="XSLT" type="exec">
- <xts:logicsheet path="ags/logicsheets/agentDefinition.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:agsad="http://developer.cognos.com/schemas/xts/logicsheets/xslt/ags/agentDefinition/" exclude-result-prefixes="xsl xts xtsext agsad">
- <xsl:template match="/">
- <xts:sequence>
- <!-- merge in the suppression changes-->
- <agsad:mergeAgentDefinition over="/root/agent_definition_fragment"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ================================================================================
- encode the agent items again
- ================================================================================
- -->
- <xts:block id="encode_agent_definition" dependency="merge_agent_definition" mode="interpret" processor="XSLT" type="exec">
- <xts:logicsheet path="ags/logicsheets/agentDefinition.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:agsad="http://developer.cognos.com/schemas/xts/logicsheets/xslt/ags/agentDefinition/" exclude-result-prefixes="pf xsl xts xtsext agsad">
- <pf:serialize-xml/>
- <pf:variables/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- reencode the blob -->
- <agsad:encodeAgentDefinition/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ================================================================================
- TWEAK M
- ================================================================================
- -->
- <!--xts:block id="tweakm" dependency="encode_agent_definition" processor="XSLT" type="exec">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:delete select="/root/env/param[@name='m']"/>
- <xts:append select="/root/env">
- <param name="m">
- <xsl:text>/ags/dialogAdapter.xts</xsl:text>
- </param>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block-->
-
- <!--
- ===============================================================================================
- render-page: Proxy display and redirect to dialogAdapter
- ===============================================================================================
- -->
- <xts:block id="writeToDialogAdapter" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="encode_agent_definition">
- <!-- portal specific information -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <!-- Get the new theme logicsheets. -->
- <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
- <!-- apply the form logic -->
- <xts:logicsheet path="logicsheets/formlogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- exclude-result-prefixes="utml dp pf xtsext">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <!-- add any theme variables -->
- <pf:variables/>
- <xsl:variable name="agent_definition_blob"><xsl:value-of select="xtsext:javascriptencode(string(/root/env/param[@name='agent_definition_blob']))"/></xsl:variable>
- <xsl:template match="/">
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text><dp:page>
- <dp:script>
- <script type="text/javascript" src="../ags/layout.js">//</script>
- <script type="text/javascript" src="../ags/cmd.js">//</script>
- <script type="text/javascript" src="../ags/util.js">//</script>
- <script type="text/javascript">
- function init() {
- var msgFrame = getMessageIFrame();
- var frameElement = null;
- if (msgFrame != null) {
- var elmnt = eval(msgFrame.document.forms[0].agent_definition_blob);
- if (!elmnt) {
- elmnt = createHiddenInput(msgFrame.document, "agent_definition_blob", "");
- var pformElement = msgFrame.document.forms[0];
- pformElement.appendChild(elmnt);
- }
- elmnt.value = '<xsl:value-of select="$agent_definition_blob"/>';
- frameElement = agsFormUtils.getElementFromFrame(msgFrame.parent,msgFrame.name);
-
- hideDialogFrame();
- }
- someThingGood();
-
- }
-
- function someThingGood() {
- var msgFrame = getMessageIFrame();
- var doc = getFrameDocument(msgFrame);
- var holder = new Object();
- holder['tabSelectedID'] = doc.getElementById('tabSelectedID').value;
- holder['prevTabID'] = doc.getElementById('prevTabID').value;
- holder['itemSelected'] = doc.getElementById('itemSelected').value;
- holder['itemNewLocation'] = doc.getElementById("itemNewLocation").value;
- holder['agentItemOp'] = doc.getElementById("agentItemOp").value;
- holder['agent_definition_blob'] = '<xsl:value-of select="xtsext:javascriptencode(string(/root/env/param[@name='agent_definition_blob']))"/>';
- holder['m'] = "/ags/summaryBarUpdate.xts";
- var dispatcher = new parent.cf.XHTTPDispatcher(updateDialogAdpater, holder);
- parent.cf.applicationActionManager.httpStart();
- try{
- dispatcher.dispatch();
- }catch(ex){
- parent.cf.applicationActionManager.httpStop();
- }
- }
- function updateDialogAdpater(responseArray)
- {
- var responseXML = responseArray[0];
- var responseText = responseArray[1];
-
- parent.cf.applicationActionManager.httpStop();
- var markupNode = responseXML.getElementsByTagName("markup");
- var markup = parent.getTextNodeValue(markupNode[0]);
- if (markup && markup != '') {
- // do the HTML injection - should be interesting
- updateSummaryBarHTML(markup);
- }
- var suppressionNode = responseXML.getElementsByTagName("suppressionDetails");
- var suppressionList = parent.getTextNodeValue(suppressionNode[0]);
- if (suppressionList && suppressionList != '') {
- var messageIFrame = getMessageIFrame();
- var messageIFrame_doc = getFrameDocument(messageIFrame);
- // do the HTML injection - should be interesting
- var eventListTable = messageIFrame_doc.getElementById("eventListTable");
-
- if (eventListTable) {
- eventListTable.style.display = '';
- eventListTable.parentNode.innerHTML = suppressionList;
- }
- }
- var isFailureTaskNode = responseXML.getElementsByTagName("isCurrentFailureTask");
- var isFailureTask = parent.getTextNodeValue(isFailureTaskNode[0]);
- parent.cfgSet("isCurrentFailureTask",isFailureTask == "true");
- getConfigFrame().hideDialogFrame();
- }
- function updateSummaryBarHTML(markup)
- {
- // do the HTML injection - should be interesting
- var messageIFrame = getMessageIFrame();
- var messageIFrame_doc = getFrameDocument(messageIFrame);
- // get the insertion location - and inject the HTML
- var summaryBarDiv = messageIFrame_doc.getElementById("d1");
- summaryBarDiv.innerHTML=markup;
- messageIFrame.initSummaryMenu();
- // resize must be called to draw summarybar full width
- messageIFrame.setBarSize();
- }
- </script>
- </dp:script>
- </dp:page>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!--
- ================================================================================
- render_page
-
- Render the HTML really, just the dialog adapter page
- ===============================================================================================
- -->
- <!--xts:block id="render_page" dependency="tweakm" processor="XSLT" type="exec" mode="interpret">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xos="http://developer.cognos.com/schemas/xts/output/" exclude-result-prefixes="xsl xos">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append select="/root/output">
- <xos:part>
- <xos:entityHeader>
- <xos:param name="Content-Type">text/html; charset=utf-8</xos:param>
- </xos:entityHeader>
- <xos:entityBody>
- <xts:request name="BUS" target="bus://xts2/ags/dialogAdapter.xts" option="content" outputHeader="true">
- <env>
- <xsl:copy-of select="/root/env"/>
- <system>
- <xsl:copy-of select="/root/system"/>
- <header >
- <xsl:copy-of select="/root/header"/>
- <http >
- <xsl:copy-of select="/root/http"/>
- <session >
- <xsl:copy-of select="/root/session"/>
- <credential >
- <xsl:copy-of select="/root/credential"/>
- <cookies>
- <xsl:copy-of select="/root/cookies"/>
- <user vars >
- <xsl:copy-of select="/root/user"/>
- </xts:request>
- </xos:entityBody>
- </xos:part>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block-->
- <!--
- ================================================================================
- debug
-
- ================================================================================
- -->
- <xts:block id="debug" type="exec" mode="output" processor="XSLT" condition=".[/root/session/param[@name = 'debug'] != '1']" mandatory="false" mimeType="text/html" dependency="writeToDialogAdapter">
- <!-- 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>
|