add_to_servergroup.xts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: cogadmin
  5. (C) Copyright IBM Corp. 2012, 2013
  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/" resolverBase="cogadmin" messageBase="/messages/cogadminuimsgs.xml">
  9. <xts:block id="getData" type="exec" nodelist="env,header" mode="interpret" processor="XSLT">
  10. <xts:logicsheet path="/cogadmin/logicsheets/buslogic.xslt"/>
  11. <xsl:stylesheet version="1.0"
  12. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  13. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  14. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  15. xmlns:nemo="http://developer.cognos.com/nemo"
  16. xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2"
  17. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  18. xmlns:resourceId="xalan://com.cognos.admin.xts.ResourceId"
  19. exclude-result-prefixes="xsl xts send resourceId">
  20. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  21. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  22. <xsl:template match="/">
  23. <xts:sequence>
  24. <xts:append select="/root">
  25. <response>
  26. <send:request provider="cm">
  27. <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  28. <requests xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:queryRequest[]">
  29. <item xsi:type="cm:queryRequest">
  30. <search xsi:type="xsd:string">//queryService/parent::dispatcher</search>
  31. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
  32. <item xsi:type="cm:propEnum">defaultName</item>
  33. <item xsi:type="cm:propEnum">serverGroup</item>
  34. </properties>
  35. </item>
  36. <xsl:variable name="actionResourceId" select="key('env-param','actionResourceID')"/>
  37. <xsl:if test="$actionResourceId">
  38. <item xsi:type="cm:queryRequest">
  39. <xsl:variable name="resourceId" select="string($actionResourceId)"/>
  40. <xsl:variable name="storeId" select="resourceId:getId($resourceId)"/>
  41. <search xsi:type="xsd:string">storeID('<xsl:value-of select="$storeId"/>')</search>
  42. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
  43. <item xsi:type="cm:propEnum">defaultName</item>
  44. </properties>
  45. </item>
  46. </xsl:if>
  47. </requests>
  48. </cm:query>
  49. </send:request>
  50. </response>
  51. </xts:append>
  52. </xts:sequence>
  53. </xsl:template>
  54. </xsl:stylesheet>
  55. </xts:block>
  56. <xts:block id="buildFragment" dependency="getData" type="exec" nodelist="env,messages,user,response" processor="XSLT" condition=".[not(/root/env/param[@name='execute']='true')]">
  57. <xts:logicsheet path="/cogadmin/logicsheets/presentation/common.xslt"/>
  58. <xts:logicsheet path="/cogadmin/logicsheets/admin.xslt"/>
  59. <xsl:stylesheet version="1.0"
  60. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  61. xmlns:xos="http://developer.cognos.com/schemas/xts/output/"
  62. xmlns:ui="http://developer.cognos.com/schemas/ui/presentation/markup/"
  63. xmlns:uic="http://developer.cognos.com/schemas/uic/presentation/markup/"
  64. xmlns:adm-prop="http://developer.cognos.com/admin/properties"
  65. xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2"
  66. xmlns:admui="http://developer.cognos.com/schemas/xts/admui"
  67. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  68. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  69. xmlns:cm="http://developer.cognos.com/schemas/bibus/3/"
  70. xmlns:resourceId="xalan://com.cognos.admin.xts.ResourceId"
  71. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  72. exclude-result-prefixes="xsl xts xos uic adm-prop wsrf-rp admui xtsext dp resourceId">
  73. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  74. <admui:variables/>
  75. <xsl:template match="/">
  76. <xts:sequence>
  77. <xts:append select="/root">
  78. <fragment>
  79. <uic:fragment>
  80. <uic:header>
  81. <uic:description><xts:string id="IDS_RDS_ADD_SERVERGROUP_DLG_DESCRIPTION"/></uic:description>
  82. </uic:header>
  83. <uic:input>
  84. <uic:label for="_THIS_serverGroup"><xts:string id="IDS_RDS_ADD_SERVERGROUP_DLG_LIST_LABEL"/></uic:label>
  85. <uic:control>
  86. <select class="filterSelectText" name="_THIS_serverGroup" id="_THIS_serverGroup">
  87. <xsl:variable name="defaultServerGroup">
  88. <serverGroup>
  89. <value>DefaultServerGroup</value>
  90. </serverGroup>
  91. </xsl:variable>
  92. <xsl:variable name="responseItemSearchpath" select="/root/response/cm:queryResponse/returns/item[1]/queryResult/item"/>
  93. <xsl:variable name="serverGroups" select="$responseItemSearchpath[not(serverGroup/value=following::serverGroup/value) and (serverGroup/value)] | $defaultServerGroup[count($responseItemSearchpath/serverGroup/value) &lt; count($responseItemSearchpath)]"/>
  94. <xsl:if test="count($serverGroups) &gt; 1">
  95. <option value="All"><xts:string id="IDS_RDS_ALL_SERVER_GROUPS"/></option>
  96. </xsl:if>
  97. <xsl:for-each select="$serverGroups">
  98. <xsl:sort select="." order="ascending" />
  99. <xsl:variable name="serverGroup" select="serverGroup/value"/>
  100. <option value="{$serverGroup}"><xsl:value-of select="$serverGroup"/></option>
  101. </xsl:for-each>
  102. </select>
  103. </uic:control>
  104. </uic:input>
  105. <script>
  106. <!-- display the popup -->
  107. <xsl:variable name="resourceId" select="key('env-param','actionResourceID')"/>
  108. <xsl:variable name="resourceLabel">
  109. <xsl:variable name="defaultName" select="/root/response/cm:queryResponse/returns/item[2]/queryResult/item/defaultName/value"/>
  110. <xsl:choose>
  111. <xsl:when test="$defaultName">
  112. <xsl:value-of select="concat('&quot;',$defaultName,'&quot;')"/>
  113. </xsl:when>
  114. <xsl:otherwise>
  115. <xsl:text>ADM.RLP.IDS_PROP_SELECTED_ITEMS</xsl:text>
  116. </xsl:otherwise>
  117. </xsl:choose>
  118. </xsl:variable>
  119. <xsl:variable name="sgResId">
  120. <xsl:if test="$resourceId != ''">
  121. <xsl:value-of select="resourceId:getResourceId($resourceId,'serverGroup')"/>
  122. </xsl:if>
  123. </xsl:variable>
  124. _THIS_.doAction = function(serverGroup, isSgTarget) {
  125. var isDelete = <xsl:value-of select="key('env-param','action')='RemoveDataStoreFromServerGroup'"/>;
  126. if (isDelete &amp;&amp; !confirm(ADM.RLP.IDS_PROP_CONFIRM_DELETE_SERVERGROUP_CUBE_CONFIGURATION)) {
  127. return;
  128. }
  129. var selectedResourceId = '<xsl:value-of select="xtsext:javascriptencode($resourceId)"/>';
  130. var actionObj = relationshipsObj.previousActionObj;
  131. var serverGroupResId = isSgTarget ? '' : ('/ds:serverGroup:id:'+serverGroup);
  132. if (actionObj.isGroupAction) {
  133. for (var i=0;i &lt; actionObj.checkboxArray.length;i++) {
  134. actionObj.checkboxArray[i][2]+=serverGroupResId;
  135. if (isSgTarget) {
  136. actionObj.checkboxArray[i][2]+=('/'+actionObj.checkboxArray[i][2]);
  137. }
  138. }
  139. } else {
  140. relationshipsObj.currentResourceID+=serverGroupResId;
  141. }
  142. actionObj.dispatchAction = 'performDefaultAction'; //trigger default action to fire
  143. _THIS_.parent.relationshipsObj.doAction(actionObj);
  144. }
  145. var relationshipsObj = _THIS_.parent.relationshipsObj;
  146. <xsl:choose>
  147. <xsl:when test ="$sgResId !=''">
  148. var selectedServerGroup = '<xsl:value-of select="xtsext:javascriptencode(resourceId:getId($sgResId))"/>';
  149. _THIS_.doAction(selectedServerGroup);
  150. </xsl:when>
  151. <xsl:otherwise>
  152. var actionObj = relationshipsObj.previousActionObj;
  153. var isSgTarget = false;
  154. if (actionObj.isGroupAction &amp;&amp; actionObj.checkboxArray.length &gt; 0) {
  155. var tokens = decodeURIComponent(actionObj.checkboxArray[0][2]).split(/[:_]+/);
  156. isSgTarget = dojo.indexOf(tokens,'serverGroup') != -1;
  157. }
  158. if (isSgTarget) {
  159. var selectedServerGroup = '';
  160. _THIS_.doAction(selectedServerGroup, true);
  161. } else {
  162. var title='<xsl:value-of select="xtsext:javascriptencode(key('env-param','actionLabel'))"/> - ' + <xsl:value-of select="$resourceLabel"/>;
  163. var uiDialog = showModalDialog(ui_dialog.style.BTN_OKCANCEL,_THIS_.div, title, null, 300);
  164. uiDialog.processCommand = function (btnType){
  165. if (btnType == ui_dialog.button.OK) {
  166. var selectedServerGroup = document.getElementById('_THIS_serverGroup').value;
  167. _THIS_.doAction(encodeURIComponent(selectedServerGroup), isSgTarget);
  168. } else {
  169. uiDialog.destroy();
  170. }
  171. raiseReloadEvent(_THIS_);
  172. return true;
  173. };
  174. }
  175. </xsl:otherwise>
  176. </xsl:choose>
  177. </script>
  178. <div/>
  179. </uic:fragment>
  180. </fragment>
  181. </xts:append>
  182. </xts:sequence>
  183. </xsl:template>
  184. </xsl:stylesheet>
  185. </xts:block>
  186. <xts:block id="renderMarkup"
  187. type="exec" processor="XML"
  188. nodelist="fragment" dependency="buildFragment"
  189. xmlns:xos="http://developer.cognos.com/schemas/xts/output/">
  190. <xts:sequence>
  191. <xts:append select="/root/output">
  192. <xos:part>
  193. <xos:entityHeader>
  194. <xos:param name="Content-Type">text/xml; charset=utf-8</xos:param>
  195. </xos:entityHeader>
  196. <xos:entityBody>
  197. <markup>
  198. <mimeType>text/html</mimeType>
  199. <markupXml>
  200. <xts:transform src="/cogadmin/transforms/presentation/renderFragment.xslt" processor="XSLT">
  201. <xts:param name="messageBase">/messages/cogadminuimsgs.xml</xts:param>
  202. <xts:param name="logicsheet">/cogadmin/logicsheets/admin.xslt</xts:param>
  203. <root>
  204. <xts:queryNode select="/root/fragment/* | /root/system | /root/session | /root/user"/>
  205. </root>
  206. </xts:transform>
  207. </markupXml>
  208. </markup>
  209. </xos:entityBody>
  210. </xos:part>
  211. </xts:append>
  212. </xts:sequence>
  213. </xts:block>
  214. <xts:block id="faultHandler" type="fault" processor="XSLT">
  215. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  216. <xsl:output method="xml"/>
  217. <xsl:template match="/root/fault">
  218. <actionFault>
  219. <xsl:copy-of select="."/>
  220. </actionFault>
  221. </xsl:template>
  222. <xsl:template match="text()"/>
  223. </xsl:stylesheet>
  224. </xts:block>
  225. </xts:morphlet>