savePPState.xts 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: AGS
  5. (C) Copyright IBM Corp. 2005, 2008
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/AGS.xml,messages/portal.xml, messages/portalRL.xml" resolverBase="prompting" includeConfig="true" requiredCapability="canUseEventStudio">
  9. <!--
  10. ================================================================================
  11. whip out the parameters that were saved off previously
  12. ===============================================================================================
  13. -->
  14. <xts:block id="decodeExistingParameters" path="/ags/parameters/decodeExistingParameters.xslt" processor="XSLT" type="exec">
  15. <xts:logicsheet path="logicsheets/portal.xsl"/>
  16. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  17. </xts:block>
  18. <!--
  19. ===============================================================================================
  20. build m_parameter - build the m_parameter from taskParameters
  21. ===============================================================================================
  22. -->
  23. <xts:block id="buildMParameter" processor="XSLT" dependency="decodeExistingParameters" type="exec">
  24. <xts:logicsheet path="logicsheets/portal.xsl"/>
  25. <xsl:stylesheet version="1.0"
  26. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  27. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  28. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  29. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  30. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  31. exclude-result-prefixes="xsl pf xtsext xsi SOAP-ENC">
  32. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  33. <xsl:variable name="passport" select="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
  34. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  35. <xsl:template match="/">
  36. <xsl:variable name="parameterCount" select="count(/root/agent_item/parameterData/parameterValues/*)"/>
  37. <xts:sequence>
  38. <!-- get the parameters returned from powerPlayService and append to root - have to be in this format to build the parameter description-->
  39. <xts:delete select="/root/env/param[@name='m_parameter']"/>
  40. <!-- build it again -->
  41. <xts:append select="/root/env">
  42. <param name="m_parameter">
  43. <xsl:if test="$parameterCount > 0">
  44. <xts:transform name="XMLEncode">
  45. <parameters xsi:type="cm:parameterValueArrayProp" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/">
  46. <value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:parameterValue[{$parameterCount}]">
  47. <xsl:copy-of select="/root/agent_item/parameterData/parameterValues/*"/>
  48. </value>
  49. </parameters>
  50. </xts:transform>
  51. </xsl:if>
  52. </param>
  53. </xts:append>
  54. </xts:sequence>
  55. </xsl:template>
  56. </xsl:stylesheet>
  57. </xts:block>
  58. <!--
  59. ===============================================================================================
  60. save_state - saves the current state to be passed to the powerPlayService
  61. ===============================================================================================
  62. -->
  63. <xts:block id="save_state" processor="XSLT" dependency="buildMParameter" type="exec">
  64. <xts:logicsheet path="logicsheets/portal.xsl"/>
  65. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  66. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  67. <xsl:stylesheet version="1.0"
  68. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  69. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  70. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  71. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  72. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  73. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  74. xmlns:pf="http://developer.cognos.com/schemas/xts/pf" >
  75. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  76. <xsl:variable name="passport" select="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
  77. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  78. <xsl:template match="/">
  79. <xts:sequence>
  80. <!-- remove any existing saved state-->
  81. <xts:delete select="/root/env/param[@name='savedEnv']"/>
  82. <!-- encode the current state and append to the environment in savedEnv -->
  83. <xts:append select="/root/env">
  84. <xsl:variable name="markup">
  85. <xsl:call-template name="serialize-xml">
  86. <xsl:with-param name="node-set" select="/root/env/param"/>
  87. </xsl:call-template>
  88. </xsl:variable>
  89. <param name="savedEnv">
  90. <xsl:value-of select="xtsext:cafaction( concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($markup), true()))"/>
  91. </param>
  92. </xts:append>
  93. </xts:sequence>
  94. </xsl:template>
  95. <pf:serialize-xml/>
  96. </xsl:stylesheet>
  97. </xts:block>
  98. <!--
  99. ===============================================================================================
  100. genMarkup - Produce the much needed XML response
  101. ===============================================================================================
  102. -->
  103. <xts:block id="getResult" type="exec" mode="output" mimeType="application/xml; charset=utf-8" processor="XSLT" dependency="save_state">
  104. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  105. <xsl:output method="xml" encoding="utf-8" indent="no"/>
  106. <!-- declared a variable to determine if a report has been selected, used for validation purposes-->
  107. <xsl:template match="/">
  108. <savedPPStateResponse>
  109. <!-- send back all the wrapped up agentTaskBlobs -->
  110. <param name="savedEnv">
  111. <xsl:value-of select="/root/env/param[@name='savedEnv']"/>
  112. </param>
  113. <param name="m_parameter">
  114. <xsl:value-of select="/root/env/param[@name='m_parameter']"/>
  115. </param>
  116. </savedPPStateResponse>
  117. </xsl:template>
  118. </xsl:stylesheet>
  119. </xts:block>
  120. </xts:morphlet>