settings_rolapcube_configurations.xts 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: ps
  5. (C) Copyright IBM Corp. 2012, 2014
  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/portal.xml, messages/portalRL.xml" requiredCapability="canUseAdministrationPortal">
  9. <xts:block id="actionController" processor="XSLT" type="exec" nodelist="env" mandatory="true">
  10. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  11. exclude-result-prefixes="xts">
  12. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  13. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  14. <xsl:template match="/">
  15. <xts:sequence>
  16. <xts:append select="/root">
  17. <xsl:choose>
  18. <xsl:when test="key('env-param', 'controller_state') ='addEntries|finished'">
  19. <actionAddEntries/>
  20. <actionShowContent/>
  21. <isDirty/>
  22. </xsl:when>
  23. <xsl:when test="key('env-param', 'controller_state') ='addEntries|canceled'">
  24. <actionAddEntries/>
  25. <actionShowContent/>
  26. </xsl:when>
  27. <xsl:when test="starts-with(key('env-param', 'controller_state'),'addEntries|')">
  28. <actionAddEntries/>
  29. </xsl:when>
  30. <xsl:when test="key('env-param', 'controller_state') ='deleteEntries'">
  31. <actionDeleteEntries/>
  32. <actionShowContent/>
  33. <isDirty/>
  34. </xsl:when>
  35. <xsl:when test="key('env-param', 'controller_state') ='editEntry'">
  36. <actionEditEntry/>
  37. <actionShowContent/>
  38. <isDirty/>
  39. </xsl:when>
  40. <xsl:when test="key('env-param', 'whole_entries')">
  41. <actionShowContent/>
  42. </xsl:when>
  43. <xsl:otherwise>
  44. <actionQueryCM/>
  45. <actionShowContent/>
  46. </xsl:otherwise>
  47. </xsl:choose>
  48. </xts:append>
  49. </xts:sequence>
  50. </xsl:template>
  51. </xsl:stylesheet>
  52. </xts:block>
  53. <!--
  54. ===============================================================================================
  55. restoreEntries - restore the whole entries from env
  56. ===============================================================================================
  57. -->
  58. <xts:block id="restoreEntries" processor="XSLT" type="exec" mode="interpret"
  59. path="transforms/portal/rolapCubeConfigurations/restoreEntries.xslt"
  60. condition=".[not(/root/actionQueryCM)]"
  61. dependency="actionController" mandatory="false"/>
  62. <!--
  63. ===============================================================================================
  64. getContent - get the initial data from Content Manager
  65. ===============================================================================================
  66. -->
  67. <xts:block id="getContent" processor="XSLT" type="exec" mode="interpret" dependency="actionController" condition=".[/root/actionQueryCM]" mandatory="false">
  68. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  69. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  70. <xsl:stylesheet version="1.0"
  71. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  72. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  73. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  74. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  75. exclude-result-prefixes="xts xsl send cml cm">
  76. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  77. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  78. <xsl:template match="/">
  79. <xts:sequence>
  80. <xts:append>
  81. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  82. <send:request provider="cm" testBlock="test">
  83. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  84. <cm:query>
  85. <cm:search>
  86. <xsl:value-of select="/root/env/param[@name='m_obj']"/>
  87. </cm:search>
  88. <cm:properties>
  89. <cm:property name="defaultName"/>
  90. <cm:property name="permissions"/>
  91. <cm:property name="parent"/>
  92. <cm:property name="qsROLAPCubeConfigurations"/>
  93. </cm:properties>
  94. <cm:options schemaInfo="true">
  95. <cm:refProps>
  96. <cm:refProp refPropName="parent">
  97. <cm:properties>
  98. <cm:property name="qsROLAPCubeConfigurations"/>
  99. </cm:properties>
  100. </cm:refProp>
  101. </cm:refProps>
  102. </cm:options>
  103. </cm:query>
  104. </xts:transform>
  105. </send:request>
  106. </xts:transform>
  107. </xts:append>
  108. </xts:sequence>
  109. </xsl:template>
  110. </xsl:stylesheet>
  111. </xts:block>
  112. <!--
  113. ===============================================================================================
  114. getDetails - get details (e.g. localed rolap cube name and icon) information from DataSource object
  115. ===============================================================================================
  116. -->
  117. <xts:block id="getDetails" processor="XSLT" type="exec" mode="interpret" dependency="getContent" condition=".[/root/actionQueryCM]" mandatory="false">
  118. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  119. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  120. <xsl:stylesheet version="1.0"
  121. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  122. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  123. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  124. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  125. exclude-result-prefixes="xts xsl send cml cm">
  126. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  127. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  128. <xsl:template match="/">
  129. <xts:sequence>
  130. <xts:delete select="/root/env/param[@name='has_write_permission']"/>
  131. <xts:append select="/root/env">
  132. <param name="has_write_permission">
  133. <xsl:choose>
  134. <xsl:when test="contains(concat(' ', /root/cm:queryResponse/*/cm:permissions, ' '), ' write ')">
  135. <xsl:value-of select="'true'"/>
  136. </xsl:when>
  137. <xsl:otherwise>
  138. <xsl:value-of select="'false'"/>
  139. </xsl:otherwise>
  140. </xsl:choose>
  141. </param>
  142. </xts:append>
  143. </xts:sequence>
  144. <xts:sequence>
  145. <xsl:variable name="qsROLAPCubeConfigurations" select="/root/cm:queryResponse/*/cm:qsROLAPCubeConfigurations"/>
  146. <xsl:if test="$qsROLAPCubeConfigurations != ''">
  147. <xts:append>
  148. <wholeEntries>
  149. <xsl:for-each select="$qsROLAPCubeConfigurations/*">
  150. <xsl:variable name="cubeConfigType">
  151. <xsl:choose>
  152. <xsl:when test="local-name()='value'">
  153. <!--Cube was derived from FMD quick publish. qsROLAPCubeConfigurations array "item" is actually "value" and is not
  154. consumed traditionally via post-process.xslt. Handle this by deriving the configType from value/@type-->
  155. <xsl:value-of select="substring-after(@*[local-name()='type'],':')"/>
  156. </xsl:when>
  157. <xsl:otherwise>
  158. <xsl:value-of select="local-name()"/>
  159. </xsl:otherwise>
  160. </xsl:choose>
  161. </xsl:variable>
  162. <xsl:element name="{$cubeConfigType}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
  163. <xsl:copy-of select="*"/>
  164. <xts:transform src="transforms/portal/rolapCubeConfigurations/buildFormatedEntries.xslt" processor="XSLT">
  165. <rolapDataSourceDetails>
  166. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  167. <send:request provider="cm" testBlock="test">
  168. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  169. <cm:query>
  170. <cm:requests>
  171. <cm:query>
  172. <cm:search>CAMID(&quot;:&quot;)/rolapDataSource[@name='<xsl:value-of select="cm:dataSourceName"/>']|CAMID(&quot;:&quot;)/rolapVirtualDataSource[@name='<xsl:value-of select="cm:dataSourceName"/>']</cm:search>
  173. <cm:properties>
  174. <cm:property name="defaultName"/>
  175. <cm:property name="hidden"/>
  176. </cm:properties>
  177. </cm:query>
  178. </cm:requests>
  179. </cm:query>
  180. </xts:transform>
  181. </send:request>
  182. </xts:transform>
  183. </rolapDataSourceDetails>
  184. </xts:transform>
  185. </xsl:element>
  186. </xsl:for-each>
  187. </wholeEntries>
  188. </xts:append>
  189. </xsl:if>
  190. </xts:sequence>
  191. </xsl:template>
  192. </xsl:stylesheet>
  193. </xts:block>
  194. <!--
  195. ===============================================================================================
  196. addEntriesDialog - Calls the addEntries morphlet
  197. ===============================================================================================
  198. -->
  199. <xts:block id="addEntriesDialog" processor="XSLT" type="exec" nodelist="env,requestParams" dependency="restoreEntries" condition=".[/root/actionAddEntries]" mandatory="false">
  200. <xts:logicsheet path="logicsheets/portal.xsl"/>
  201. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  202. <xsl:stylesheet version="1.0"
  203. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  204. xmlns:dlgctrl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/controller-templates/"
  205. xmlns:req-params="http://developer.cognos.com/schemas/request/params"
  206. exclude-result-prefixes="xsl dlgctrl req-params">
  207. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  208. <xsl:key name="request-param" match="/root/*[local-name()='requestParams']/*[local-name()='param']" use="@name"/>
  209. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  210. <xsl:template match="/">
  211. <xts:sequence>
  212. <dlgctrl:XTS2Request>
  213. <dlgctrl:target>/portal/addEntries/add_entries.xts</dlgctrl:target>
  214. <req-params:param name="defaultTarget">/portal/settings_rolapcube_configurations.xts</req-params:param>
  215. <req-params:param name="titlePostfix"><xsl:value-of select="key('env-param', 'm_name')"/></req-params:param>
  216. <req-params:param name="defaultSearchPath">CAMID(":")</req-params:param>
  217. <req-params:param name="addEntriesUI">rolapDataSources</req-params:param>
  218. <req-params:param name="allowDuplicates">false</req-params:param>
  219. </dlgctrl:XTS2Request>
  220. </xts:sequence>
  221. </xsl:template>
  222. </xsl:stylesheet>
  223. </xts:block>
  224. <!--
  225. ===============================================================================================
  226. processAddEntriesResponse - process the addEndtries morphlet response
  227. ===============================================================================================
  228. -->
  229. <xts:block id="processAddEntriesResponse"
  230. path="/portal/addEntries/logicsheets/process_added_entries.xslt"
  231. processor="XSLT" dependency="addEntriesDialog"
  232. nodelist="output,env,morphletResponse,credential,cookies" type="exec"
  233. condition=".[/root/actionAddEntries]" mandatory="false">
  234. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  235. <xts:logicsheet path="logicsheets/portal.xsl"/>
  236. </xts:block>
  237. <xts:block id="restoreAfterAddEntries" processor="XSLT" type="exec"
  238. path="transforms/portal/rolapCubeConfigurations/restoreEntries.xslt"
  239. mode="interpret" dependency="processAddEntriesResponse"
  240. condition=".[/root/actionAddEntries and /root/actionShowContent]" mandatory="false"/>
  241. <!--
  242. ===============================================================================================
  243. mergeEntries - merge the added entries with the existed ones
  244. ===============================================================================================
  245. -->
  246. <xts:block id="mergeEntries" processor="XSLT" type="exec" mode="interpret" dependency="restoreAfterAddEntries" condition=".[/root/actionAddEntries and /root/actionShowContent]" mandatory="false">
  247. <xsl:stylesheet version="1.0"
  248. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  249. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  250. exclude-result-prefixes="xts xsl cm">
  251. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  252. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  253. <xsl:template match="/">
  254. <xts:sequence>
  255. <xsl:if test="not(/root/wholeEntries)">
  256. <xts:append select="/root">
  257. <wholeEntries/>
  258. </xts:append>
  259. </xsl:if>
  260. <xsl:for-each select="/root/newEntries/*">
  261. <xsl:variable name="current" select="."/>
  262. <xsl:choose>
  263. <xsl:when test="/root/wholeEntries/*[cm:dataSourceName=$current/cm:defaultName or cm:defaultName=$current/cm:defaultName] != ''">
  264. <xsl:if test="name(/root/duplicateEntry) = ''">
  265. <xts:append select="/root">
  266. <duplicateEntry/>
  267. </xts:append>
  268. </xsl:if>
  269. </xsl:when>
  270. <xsl:otherwise>
  271. <xts:append select="/root/wholeEntries">
  272. <xsl:variable name="dataSourceType">
  273. <xsl:choose>
  274. <xsl:when test="local-name()='rolapDataSource'">
  275. <xsl:value-of select="'rolapCubeConfiguration'"/>
  276. </xsl:when>
  277. <xsl:when test="local-name()='rolapVirtualDataSource'">
  278. <xsl:value-of select="'rolapVirtualCubeConfiguration'"/>
  279. </xsl:when>
  280. </xsl:choose>
  281. </xsl:variable>
  282. <xsl:element name="{$dataSourceType}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
  283. <xsl:element name="dataSourceName" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
  284. <xsl:value-of select="*[local-name()='defaultName']"/>
  285. </xsl:element>
  286. <xsl:copy-of select="*[local-name()='hidden']"/>
  287. <xsl:copy-of select="*[local-name()='objectClass']"/>
  288. </xsl:element>
  289. </xts:append>
  290. </xsl:otherwise>
  291. </xsl:choose>
  292. </xsl:for-each>
  293. </xts:sequence>
  294. </xsl:template>
  295. </xsl:stylesheet>
  296. </xts:block>
  297. <!--
  298. ===============================================================================================
  299. deleteEntries - delete the selected entries from wholeEntries section
  300. ===============================================================================================
  301. -->
  302. <xts:block id="deleteEntries" processor="XSLT" type="exec" mode="interpret" dependency="restoreEntries" condition=".[/root/actionDeleteEntries and /root/actionShowContent]" mandatory="false">
  303. <xsl:stylesheet version="1.0"
  304. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  305. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  306. exclude-result-prefixes="xts xsl cm">
  307. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  308. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  309. <xsl:template match="/">
  310. <xts:sequence>
  311. <xsl:for-each select="/root/env/param[starts-with(@name,'rolap_properties_checkbox_')]">
  312. <xsl:variable name="current" select="."/>
  313. <xts:delete select="/root/wholeEntries/*[*[local-name()='dataSourceName']='{$current}']"/>
  314. </xsl:for-each>
  315. <!-- clean up the parameters in env -->
  316. <xts:delete select="/root/env/param[starts-with(@name,'rolap_properties_checkbox')]"/>
  317. <xts:delete select="/root/env/param[@name='controller_state']"/>
  318. </xts:sequence>
  319. </xsl:template>
  320. </xsl:stylesheet>
  321. </xts:block>
  322. <!--
  323. ===============================================================================================
  324. getConfig - retrieve the configuration UI settings
  325. ===============================================================================================
  326. -->
  327. <xts:block id="getConfig" type="exec" mode="interpret" processor="XSLT" dependency="restoreEntries"
  328. path="transforms/portal/rolapCubeConfigurations/getParameters.xslt"
  329. condition=".[/root/actionEditEntry and /root/actionShowContent]" mandatory="false"/>
  330. <!--
  331. ===============================================================================================
  332. backupParams - backup the properties in wholeEntries, so it won't be overwrited by editEntry block
  333. ===============================================================================================
  334. -->
  335. <xts:block id="backupParams" type="exec" mode="interpret" processor="XSLT" dependency="getConfig" condition=".[/root/actionEditEntry and /root/actionShowContent]" mandatory="false">
  336. <xsl:stylesheet version="1.0"
  337. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  338. exclude-result-prefixes="xsl">
  339. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  340. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  341. <xsl:template match="/">
  342. <xts:sequence>
  343. <xts:append select="/root">
  344. <temporaryParams>
  345. <xsl:for-each select="/root/wholeEntries/*[*[local-name()='dataSourceName']=/root/env/param[@name='selected_cube']]/*">
  346. <xsl:variable name="elementName" select="local-name()"/>
  347. <xsl:if test="not(/root/paramsMetadata/parameter[@name=$elementName])">
  348. <xsl:copy-of select="."/>
  349. </xsl:if>
  350. </xsl:for-each>
  351. </temporaryParams>
  352. </xts:append>
  353. </xts:sequence>
  354. </xsl:template>
  355. </xsl:stylesheet>
  356. </xts:block>
  357. <!--
  358. ===============================================================================================
  359. editEntry - save the result from edited entry from settings_rolapcube_properties_edit page
  360. ===============================================================================================
  361. -->
  362. <xts:block id="editEntry" processor="XSLT" type="exec" mode="interpret" dependency="backupParams" condition=".[/root/actionEditEntry and /root/actionShowContent]" mandatory="false">
  363. <xsl:stylesheet version="1.0"
  364. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  365. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  366. exclude-result-prefixes="xts xsl cm">
  367. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  368. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  369. <xsl:variable name="selectedCubeConfiguration" select="/root/wholeEntries/*[*[local-name()='dataSourceName']=key('env-param', 'selected_cube')]"/>
  370. <xsl:variable name="selectedCubeType" select="name($selectedCubeConfiguration)"/>
  371. <xsl:template match="/">
  372. <xts:sequence>
  373. <xts:update select="/root/wholeEntries/*[*[local-name()='dataSourceName']=/root/env/param[@name='selected_cube']]" mandatory="true">
  374. <xsl:element name="{$selectedCubeType}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
  375. <xsl:for-each select="/root/paramsMetadata/parameter[@objectDependency='baseROLAPCubeConfiguration' or @objectDependency=$selectedCubeType]">
  376. <xsl:element name="{@name}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
  377. <xsl:value-of select="key('env-param', concat('rlp_', @name))"/>
  378. </xsl:element>
  379. </xsl:for-each>
  380. <xsl:copy-of select="/root/*[local-name()='temporaryParams']/*"/>
  381. </xsl:element>
  382. </xts:update>
  383. <xts:delete select="/root/env/param[starts-with(@name, 'rlp_')]"/>
  384. </xts:sequence>
  385. </xsl:template>
  386. </xsl:stylesheet>
  387. </xts:block>
  388. <!--
  389. ===============================================================================================
  390. saveEntries - save the whole entries to env
  391. ===============================================================================================
  392. -->
  393. <xts:block id="saveEntries" processor="XSLT" type="exec" mode="interpret" dependency="editEntry deleteEntries mergeEntries getDetails" condition=".[/root/actionShowContent]" mandatory="false">
  394. <xts:logicsheet path="logicsheets/portal.xsl"/>
  395. <xsl:stylesheet version="1.0"
  396. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  397. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  398. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  399. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  400. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  401. exclude-result-prefixes="xts xsl pf xtsext cm">
  402. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  403. <pf:variables/>
  404. <xsl:template match="/">
  405. <xts:sequence>
  406. <xsl:if test="/root/env/param[@name='whole_entries']">
  407. <xts:delete select="/root/env/param[@name='whole_entries']"/>
  408. </xsl:if>
  409. <xts:append select="/root/env">
  410. <xts:transform src="portal/controls/create_web64_param.xslt" processor="XSLT">
  411. <param name="whole_entries">
  412. <passport><xsl:value-of select="$passport"/></passport>
  413. <markup>
  414. <xts:transform name="XMLEncode">
  415. <xts:queryNode select="/root/wholeEntries"/>
  416. </xts:transform>
  417. </markup>
  418. </param>
  419. </xts:transform>
  420. </xts:append>
  421. </xts:sequence>
  422. </xsl:template>
  423. </xsl:stylesheet>
  424. </xts:block>
  425. <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http" dependency="saveEntries" condition=".[/root/actionShowContent]" mandatory="false"/>
  426. <!--
  427. ===============================================================================================
  428. format - render the page
  429. ===============================================================================================
  430. -->
  431. <xts:block id="format" mode="output" processor="XSLT" type="exec" dependency="formlogic_init" mimeType="text/html" condition=".[/root/actionShowContent]" mandatory="false">
  432. <xts:logicsheet path="logicsheets/portal.xsl"/>
  433. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  434. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  435. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  436. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  437. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  438. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  439. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  440. <xts:logicsheet path="logicsheets/validation.xslt"/>
  441. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  442. <xsl:stylesheet version="1.0"
  443. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  444. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  445. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  446. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  447. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  448. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  449. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  450. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  451. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  452. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  453. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  454. exclude-result-prefixes="xsl cm pf lyt dp df cf cp utml xts xtsext">
  455. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  456. <!-- Global variables ======================== -->
  457. <pf:variables/>
  458. <xsl:variable name="browserTitle">
  459. <xts:string id="IDS_RLP_CUBE_CONFIGURATIONS_TITLE">
  460. <xts:param name="objectName">
  461. <span lang="{$contentLocale}"><xsl:value-of select="key('env-param', 'm_name')"/></span>
  462. </xts:param>
  463. </xts:string>
  464. </xsl:variable>
  465. <!-- start the output -->
  466. <xsl:template match="/root">
  467. <pf:dojo>
  468. <require>com.ibm.cognos.ps.xts.settingsRolapcubeConfigurations</require>
  469. </pf:dojo>
  470. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
  471. <dp:meta>
  472. <pf:meta/>
  473. <!-- Standard meta tags -->
  474. </dp:meta>
  475. <dp:script>
  476. <pf:help context="HID_PROPERTIES"/>
  477. <!-- Help system -->
  478. <!-- Define selectall and deselectall functions.-->
  479. <dt:selectDeselectAll/>
  480. <script language="javascript">
  481. dojo.addOnLoad(function(){
  482. new com.ibm.cognos.ps.xts.settingsRolapcubeConfigurations(document.pform, {
  483. messages: {
  484. IDS_RLP_DUPLICATE_ENTRY: '<xts:string id="IDS_RLP_DUPLICATE_ENTRY" encode="javascript"/>',
  485. IDS_PROP_CANCEL_CONFIRM: '<xts:string id="IDS_PROP_CANCEL_CONFIRM" encode="javascript"/>'
  486. },
  487. hasDuplicatedEntry: '<xsl:value-of select="name(/root/duplicateEntry)"/>',
  488. isDirty: '<xsl:value-of select="name(/root/isDirty)"/>'
  489. });
  490. });
  491. function confirmDelete() {
  492. return confirm('<xts:string id="IDS_PROP_CUBE_DELETE_WARNING"/>');
  493. }
  494. </script>
  495. </dp:script>
  496. <utml:form name="pform" method="post" action="{$gateway}">
  497. <utml:read-only>
  498. <xsl:choose>
  499. <xsl:when test="key('env-param', 'has_write_permission') = 'false'">true</xsl:when>
  500. <xsl:otherwise>false</xsl:otherwise>
  501. </xsl:choose>
  502. </utml:read-only>
  503. <utml:input type="hidden" name="ps_nav_op" value="" utml:update="false"/>
  504. <utml:input type="hidden" name="controller_state" value="" utml:update="false"/>
  505. <utml:input type="hidden" name="selected_cube" value="" utml:update="true"/>
  506. <utml:input type="hidden" name="selected_localizedCube" value="" utml:update="true"/>
  507. <!-- header -->
  508. <!-- dialog header -->
  509. <dp:header>
  510. <!-- header titles-->
  511. <dp:title showName="false">
  512. <xsl:copy-of select="$browserTitle"/>
  513. </dp:title>
  514. <dp:description>
  515. <xts:string id="IDS_RLP_CUBE_CONFIGURATIONS_INTRO"/>
  516. </dp:description>
  517. </dp:header>
  518. <lyt:layout style="1">
  519. <lyt:section>
  520. <cp:table name="ROLAPCubeConfigurations" showEmptyMsg="true" iterate="/root/wholeEntries/*" width="100%">
  521. <!-- possible actions -->
  522. <cp:action>
  523. <xsl:if test="key('env-param', 'has_write_permission') = 'true'">
  524. <utml:a utml:op="maintain">
  525. <utml:href>document.pform.m.value='<xsl:value-of select="$app"/>/settings_rolapcube_configurations.xts';
  526. document.pform.controller_state.value = 'addEntries|navigate';</utml:href>
  527. <xsl:text/><xts:string id="IDS_RLP_ADD_DATASOURCES"/><xsl:text/>
  528. </utml:a>
  529. </xsl:if>
  530. </cp:action>
  531. <cp:action>
  532. <xsl:if test="key('env-param', 'has_write_permission') = 'true'">
  533. <utml:a utml:op="maintain">
  534. <utml:href>
  535. if (!confirmDelete()) {
  536. return;
  537. }
  538. document.pform.m.value='<xsl:value-of select="$app"/>/settings_rolapcube_configurations.xts';
  539. document.pform.controller_state.value = 'deleteEntries';</utml:href>
  540. <xsl:text/><xts:string id="IDS_RLP_DELETE_DATASOURCES"/><xsl:text/>
  541. </utml:a>
  542. </xsl:if>
  543. </cp:action>
  544. <!-- table headers -->
  545. <cp:tableHeader>
  546. <!-- checkbox -->
  547. <cp:columnHeader width="16" toggleName="rolap_properties_checkbox" noLabel="true" utml="utml"/>
  548. <cp:columnHeader width="16"/>
  549. <cp:columnHeader width="30%">
  550. <xts:string id="IDS_RLP_DATASOURCE"/>
  551. </cp:columnHeader>
  552. <cp:columnHeader>
  553. <xts:string id="IDS_RLP_PROPERTIES"/>
  554. </cp:columnHeader>
  555. </cp:tableHeader>
  556. <!-- table cantents -->
  557. <cp:tableContent>
  558. <!-- checkbox -->
  559. <xsl:variable name="cubeLabel">
  560. <xsl:choose>
  561. <xsl:when test="not(cm:defaultName)">
  562. <xsl:value-of select="cm:dataSourceName"/>
  563. </xsl:when>
  564. <xsl:otherwise>
  565. <xsl:value-of select="cm:defaultName"/>
  566. </xsl:otherwise>
  567. </xsl:choose>
  568. </xsl:variable>
  569. <cp:columnContent valign="top">
  570. <xsl:if test="key('env-param', 'has_write_permission') = 'true'">
  571. <input type="checkbox" name="rolap_properties_checkbox_{position()}" value="{cm:dataSourceName}">
  572. <xsl:attribute name="aria-label"><xts:string id="IDS_SELECTION_FOR_PAGER_ITEM" encode="html"><xts:param name="pagerItemName"><xsl:value-of select="$cubeLabel"/></xts:param></xts:string></xsl:attribute>
  573. </input>
  574. </xsl:if>
  575. </cp:columnContent>
  576. <cp:columnContent>
  577. <img width="16" height="16">
  578. <xsl:attribute name="src">
  579. <xsl:choose>
  580. <xsl:when test="cm:objectClass='rolapDataSource'">
  581. <xsl:value-of select="concat($image_root, 'icon_rolapCubeConfiguration.gif')"/>
  582. </xsl:when>
  583. <xsl:when test="cm:objectClass='rolapVirtualDataSource'">
  584. <xsl:value-of select="concat($image_root, 'icon_rolapVirtualCubeConfiguration.gif')"/>
  585. </xsl:when>
  586. <xsl:otherwise>
  587. <xsl:value-of select="concat($image_root, 'icon_unknown.gif')"/>
  588. </xsl:otherwise>
  589. </xsl:choose>
  590. </xsl:attribute>
  591. <xsl:if test="cm:hidden='true'">
  592. <xsl:attribute name="class">hiddenEntryIcon</xsl:attribute>
  593. </xsl:if>
  594. <xsl:attribute name="alt">
  595. <xsl:choose>
  596. <xsl:when test="cm:objectClass='rolapDataSource'">
  597. <xsl:text/><xts:string id="IDS_OBJ_ROLAPDATASOURCE"/><xsl:text/>
  598. </xsl:when>
  599. <xsl:when test="cm:objectClass='rolapVirtualDataSource'">
  600. <xsl:text/><xts:string id="IDS_OBJ_ROLAPVIRTUALDATASOURCE"/><xsl:text/>
  601. </xsl:when>
  602. <xsl:otherwise>
  603. <xsl:text/><xts:string id="IDS_OBJ_UNKNOWN"/><xsl:text/>
  604. </xsl:otherwise>
  605. </xsl:choose>
  606. </xsl:attribute>
  607. </img>
  608. </cp:columnContent>
  609. <cp:columnContent id="rolap_datasource_{position()}">
  610. <xsl:value-of select="$cubeLabel"/>
  611. </cp:columnContent>
  612. <cp:columnContent>
  613. <xsl:choose>
  614. <xsl:when test="cm:disabled = 'true'">
  615. <xsl:text/><xts:string id="IDS_RLP_DISABLED_L"/><xsl:text/>
  616. </xsl:when>
  617. <xsl:otherwise>
  618. <xsl:text/><xts:string id="IDS_RLP_ENABLED_L"/><xsl:text/>
  619. </xsl:otherwise>
  620. </xsl:choose>
  621. <xsl:text>&#160;&#160;</xsl:text>
  622. <xsl:if test="key('env-param', 'has_write_permission') = 'true'">
  623. <utml:a utml:op="stack-up">
  624. <utml:unique-id><xsl:value-of select="position()"/></utml:unique-id>
  625. <utml:href>document.pform.m.value= '<xsl:value-of select="$app"/>/settings_rolapcube_configurations_edit.xts';
  626. document.pform.selected_cube.value= '<xsl:value-of select="xtsext:javascriptencode(cm:dataSourceName)"/>';
  627. document.pform.selected_localizedCube.value= '<xsl:value-of select="xtsext:javascriptencode(cm:defaultName)"/>';</utml:href>
  628. <img border="0" height="16" width="10">
  629. <xsl:attribute name="src"><xsl:value-of select="concat($image_root, 'action_edit_10.gif')"/></xsl:attribute>
  630. <xsl:attribute name="title"><xsl:text/><xts:string id="IDS_RLP_EDIT_CONFIGURATION"/><xsl:text/></xsl:attribute>
  631. <xsl:attribute name="alt"><xsl:text/><xts:string id="IDS_RLP_EDIT_CONFIGURATION"/><xsl:text/></xsl:attribute>
  632. <xsl:attribute name="aria-label"><xsl:text/><xts:string id="IDS_RLP_EDIT_CONFIGURATION_FOR"><xts:param name="objName"><xsl:value-of select="$cubeLabel"/></xts:param></xts:string></xsl:attribute>
  633. </img>
  634. </utml:a>
  635. </xsl:if>
  636. </cp:columnContent>
  637. </cp:tableContent>
  638. </cp:table>
  639. </lyt:section>
  640. </lyt:layout>
  641. <dp:footer>
  642. <xsl:choose>
  643. <xsl:when test="key('env-param', 'has_write_permission') = 'true'">
  644. <df:button df:id="IDS_OK" df:style="stack-down-save"/>
  645. <df:button df:id="IDS_CANCEL" utml:validate="true" df:style="stack-down"/>
  646. </xsl:when>
  647. <xsl:otherwise>
  648. <df:button df:id="IDS_CLOSE" df:style="stack-down"/>
  649. </xsl:otherwise>
  650. </xsl:choose>
  651. </dp:footer>
  652. </utml:form>
  653. </dp:page>
  654. </xsl:template>
  655. <!-- Insert common templates -->
  656. <pf:gen-icon/>
  657. </xsl:stylesheet>
  658. </xts:block>
  659. <!-- Debug -->
  660. <xts:block id="debug" type="exec" dependency="format" mode="output" condition=".[ /root/session/param[@name='debug'] = '1' ]" processor="XSLT" mandatory="false" mimeType="text/html">
  661. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  662. <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">
  663. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  664. <dbg:templates/>
  665. <xsl:template match="/">
  666. <dbg:dumpxml select="/root"/>
  667. </xsl:template>
  668. </xsl:stylesheet>
  669. </xts:block>
  670. </xts:morphlet>