REPS_CM8.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. BI and PM: CM
  5. (C) Copyright IBM Corp. 2011, 2012
  6. US Government Users Restricted Rights - Use, duplication or disclosure
  7. restricted by GSA ADP Schedule Contract with IBM Corp.
  8. -->
  9. <connectionConfiguration>
  10. <writeConfiguration>
  11. </writeConfiguration>
  12. <queryConfiguration>
  13. <queries>
  14. <query name="getOutputContent">
  15. <parameters>
  16. <parameter name="outputObjectID" repositoryType="STRING"/>
  17. <parameter name="byteRange" repositoryType="STRING"/> <!-- according to the HTTP spec for Range request header value, for instance, bytes=0-499 -->
  18. <parameter name="connectionTenantID" repositoryType="STRING"/>
  19. </parameters>
  20. <properties>
  21. <property repositoryType="STRING" metadataPropertyName="headers"/>
  22. <property repositoryType="CONTENTSTREAM" metadataPropertyName="contentStream"/>
  23. </properties>
  24. </query>
  25. <query name="getOutputFileContent" prerequisiteQueries="getMetadata" subsequentQueries="getOutputContent">
  26. <queryText>SELECT cmis:objectId FROM ${outputFileClass} WHERE (cgnOutput-outputStoreID = '${reportOutputStoreID}' and cmis:name='${outputFileName}' AND ${connectionTenantID})</queryText>
  27. <parameters>
  28. <parameter name="outputFileClass" repositoryType="STRING"/>
  29. <parameter name="outputFileName" repositoryType="STRING"/>
  30. <parameter name="reportOutputStoreID" repositoryType="STRING"/>
  31. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  32. <parameter name="skipItems" repositoryType="INTEGER"/>
  33. <parameter name="maxCount" repositoryType="INTEGER"/>
  34. </parameters>
  35. <optionalClauses>
  36. <!-- Cluases with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  37. <clause name= "TENANT_CLAUSE-noTenantID">
  38. <clauseText>(cgnTenancy-TENANT_ID IS NULL OR cgnTenancy-TENANT_ID = '')</clauseText>
  39. </clause>
  40. <clause name= "TENANT_CLAUSE-useTenantID">
  41. <clauseText>cgnTenancy-TENANT_ID = '${connectionTenantID}'</clauseText>
  42. <parameters>
  43. <parameter name="connectionTenantID" repositoryType="STRING"/>
  44. </parameters>
  45. </clause>
  46. </optionalClauses>
  47. <properties>
  48. <property repositoryName="cmis:objectId" repositoryType="STRING" metadataPropertyName="outputObjectID"/>
  49. </properties>
  50. </query>
  51. <query name="getOutputFileReport">
  52. <queryText>SELECT cgnReport-REPORTSTOREID FROM ${outputFileClass} WHERE (cgnOutput-outputStoreID='${outputStoreID}' and cmis:name='${outputFileName}' AND ${connectionTenantID})</queryText>
  53. <parameters>
  54. <parameter name="outputFileClass" repositoryType="STRING"/>
  55. <parameter name="outputStoreID" repositoryType="STRING"/>
  56. <parameter name="outputFileName" repositoryType="STRING"/>
  57. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  58. <parameter name="skipItems" repositoryType="INTEGER"/>
  59. <parameter name="maxCount" repositoryType="INTEGER"/>
  60. </parameters>
  61. <optionalClauses>
  62. <!-- Cluases with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  63. <clause name= "TENANT_CLAUSE-noTenantID">
  64. <clauseText>(cgnTenancy-TENANT_ID IS NULL OR cgnTenancy-TENANT_ID = '')</clauseText>
  65. </clause>
  66. <clause name= "TENANT_CLAUSE-useTenantID">
  67. <clauseText>cgnTenancy-TENANT_ID = '${connectionTenantID}'</clauseText>
  68. <parameters>
  69. <parameter name="connectionTenantID" repositoryType="STRING"/>
  70. </parameters>
  71. </clause>
  72. </optionalClauses>
  73. <properties>
  74. <property repositoryName="cgnReport-REPORTSTOREID" repositoryType="STRING" metadataPropertyName="reportStoreID"/>
  75. </properties>
  76. </query>
  77. <query name="getOutputReport">
  78. <queryText>SELECT cgnReport-REPORTSTOREID FROM OUTPUT WHERE (cmis:objectId='${outputObjectID}' AND ${connectionTenantID})</queryText>
  79. <parameters>
  80. <parameter name="outputObjectID" repositoryType="STRING"/>
  81. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  82. <parameter name="skipItems" repositoryType="INTEGER"/>
  83. <parameter name="maxCount" repositoryType="INTEGER"/>
  84. </parameters>
  85. <optionalClauses>
  86. <!-- Cluases with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  87. <clause name= "TENANT_CLAUSE-noTenantID">
  88. <clauseText>(cgnTenancy-TENANT_ID IS NULL OR cgnTenancy-TENANT_ID = '')</clauseText>
  89. </clause>
  90. <clause name= "TENANT_CLAUSE-useTenantID">
  91. <clauseText>cgnTenancy-TENANT_ID = '${connectionTenantID}'</clauseText>
  92. <parameters>
  93. <parameter name="connectionTenantID" repositoryType="STRING"/>
  94. </parameters>
  95. </clause>
  96. </optionalClauses>
  97. <properties>
  98. <property repositoryName="cgnReport-REPORTSTOREID" repositoryType="STRING" metadataPropertyName="reportStoreID"/>
  99. </properties>
  100. </query>
  101. <query name="getMetadata">
  102. <queryText>SELECT cgnOutput-outputStoreID, cgnOutputMeta-OUTPUTOWNER FROM OUTPUT WHERE (cmis:objectId = '${outputObjectID}' AND ${connectionTenantID})</queryText>
  103. <parameters>
  104. <parameter name="outputObjectID" repositoryType="STRING"/>
  105. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  106. <parameter name="skipItems" repositoryType="INTEGER"/>
  107. <parameter name="maxCount" repositoryType="INTEGER"/>
  108. </parameters>
  109. <optionalClauses>
  110. <!-- Cluases with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  111. <clause name= "TENANT_CLAUSE-noTenantID">
  112. <clauseText>(cgnTenancy-TENANT_ID IS NULL OR cgnTenancy-TENANT_ID = '')</clauseText>
  113. </clause>
  114. <clause name= "TENANT_CLAUSE-useTenantID">
  115. <clauseText>cgnTenancy-TENANT_ID = '${connectionTenantID}'</clauseText>
  116. <parameters>
  117. <parameter name="connectionTenantID" repositoryType="STRING"/>
  118. </parameters>
  119. </clause>
  120. </optionalClauses>
  121. <properties>
  122. <property repositoryName="cgnOutputMeta-OUTPUTOWNER" repositoryType="STRING" metadataPropertyName="owner"/>
  123. <property repositoryName="cgnOutput-outputStoreID" repositoryType="STRING" metadataPropertyName="reportOutputStoreID"/>
  124. </properties>
  125. </query>
  126. <query name="getReportVersionsBetweenTime">
  127. <queryText>SELECT cgnVersionMeta-REPORTVERSIONCREATIONTIME, cmis:objectId FROM REPORTVERSION where (cgnVersionMeta-REPORTVERSIONCREATIONTIME &gt;= TIMESTAMP '${afterCreationTime}' and cgnVersionMeta-REPORTVERSIONCREATIONTIME &lt;= TIMESTAMP '${beforeCreationTime}' and cgnReport-REPORTSTOREID = '${reportStoreID}' AND ${connectionTenantID}) ${sorting}</queryText>
  128. <parameters>
  129. <parameter name="afterCreationTime" repositoryType="DATETIME"/>
  130. <parameter name="beforeCreationTime" repositoryType="DATETIME"/>
  131. <parameter name="reportStoreID" repositoryType="STRING"/>
  132. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  133. <parameter name="skipItems" repositoryType="INTEGER"/>
  134. <parameter name="maxCount" repositoryType="INTEGER"/>
  135. </parameters>
  136. <optionalClauses>
  137. <clause name= "sorting" >
  138. <clauseText>order by cgnVersionMeta-REPORTVERSIONCREATIONTIME ${sortingOrder}</clauseText>
  139. <parameters>
  140. <parameter name="sortingOrder" repositoryType="STRING"/>
  141. </parameters>
  142. </clause>
  143. <!-- Cluases with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  144. <clause name= "TENANT_CLAUSE-noTenantID">
  145. <clauseText>(cgnTenancy-TENANT_ID IS NULL OR cgnTenancy-TENANT_ID = '')</clauseText>
  146. </clause>
  147. <clause name= "TENANT_CLAUSE-useTenantID">
  148. <clauseText>cgnTenancy-TENANT_ID = '${connectionTenantID}'</clauseText>
  149. <parameters>
  150. <parameter name="connectionTenantID" repositoryType="STRING"/>
  151. </parameters>
  152. </clause>
  153. </optionalClauses>
  154. <properties>
  155. <property repositoryName="cgnVersionMeta-REPORTVERSIONCREATIONTIME" repositoryType="DATETIME" metadataPropertyName="creationTime"/>
  156. <property repositoryName="cmis:objectId" repositoryType="STRING" metadataPropertyName="repositoryObjectId"/>
  157. </properties>
  158. </query>
  159. <query name="getVersionOutputs" prerequisiteQueries="isNotAdmin,getBurstOptions,useIdentity,getIdentities,getIdentityOutputs">
  160. <queryText>SELECT cgnOutputMeta-REPORTOUTPUTFORMAT,cgnOutputMeta-OUTPUTLOCALE,cgnOutputMeta-OUTPUTCREATIONTIME,cgnOutputMeta-OUTPUTOWNER,cgnOutputMeta-HASRECIPIENTS, cgnOutputMeta-OUTPUTBURSTKEY,cmis:objectId,cmis:contentStreamMimeType FROM OUTPUT WHERE (IN_FOLDER ('${versionObjectID}') AND ${connectionTenantID} ${checkForRecipientsFilter} ${identityOutputsFilter} ${localeFilter} ${formatFilter}) ${sorting}</queryText>
  161. <parameters>
  162. <parameter name="versionObjectID" repositoryType="STRING"/>
  163. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  164. <parameter name="skipItems" repositoryType="INTEGER"/>
  165. <parameter name="maxCount" repositoryType="INTEGER"/>
  166. </parameters>
  167. <optionalClauses>
  168. <clause name= "checkForRecipientsFilter" >
  169. <clauseText>AND HASRECIPIENTS=${checkForRecipients}</clauseText>
  170. <parameters>
  171. <parameter name="checkForRecipients" repositoryType="BOOLEAN"/>
  172. </parameters>
  173. </clause>
  174. <clause name= "localeFilter" >
  175. <clauseText>AND cgnOutputMeta-OUTPUTLOCALE IN (${localeList})</clauseText>
  176. <parameters>
  177. <parameter name="localeList" repositoryType="STRINGLIST"/>
  178. </parameters>
  179. </clause>
  180. <clause name= "formatFilter" >
  181. <clauseText>AND cgnOutputMeta-REPORTOUTPUTFORMAT IN (${formatList})</clauseText>
  182. <parameters>
  183. <parameter name="formatList" repositoryType="STRINGLIST"/>
  184. </parameters>
  185. </clause>
  186. <clause name= "identityOutputsFilter" >
  187. <clauseText>AND cgnOutput-outputStoreID IN (${identityOutputs})</clauseText>
  188. <parameters>
  189. <parameter name="identityOutputs" repositoryType="STRINGLIST"/>
  190. </parameters>
  191. </clause>
  192. <clause name= "sorting" >
  193. <clauseText>order by cgnOutputMeta-OUTPUTLOCALE ${sortingOrder}</clauseText>
  194. <parameters>
  195. <parameter name="sortingOrder" repositoryType="STRING"/>
  196. </parameters>
  197. </clause>
  198. <!-- Cluases with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  199. <clause name= "TENANT_CLAUSE-noTenantID">
  200. <clauseText>(cgnTenancy-TENANT_ID IS NULL OR cgnTenancy-TENANT_ID = '')</clauseText>
  201. </clause>
  202. <clause name= "TENANT_CLAUSE-useTenantID">
  203. <clauseText>cgnTenancy-TENANT_ID = '${connectionTenantID}'</clauseText>
  204. <parameters>
  205. <parameter name="connectionTenantID" repositoryType="STRING"/>
  206. </parameters>
  207. </clause>
  208. </optionalClauses>
  209. <properties>
  210. <property repositoryName="cgnOutputMeta-REPORTOUTPUTFORMAT" repositoryType="STRING" metadataPropertyName="format"/>
  211. <property repositoryName="cgnOutputMeta-OUTPUTLOCALE" repositoryType="STRING" metadataPropertyName="locale"/>
  212. <property repositoryName="cgnOutputMeta-OUTPUTOWNER" repositoryType="STRING" metadataPropertyName="owner"/>
  213. <property repositoryName="cgnOutputMeta-OUTPUTCREATIONTIME" repositoryType="DATETIME" metadataPropertyName="creationTime"/>
  214. <property repositoryName="cgnOutputMeta-HASRECIPIENTS" repositoryType="INTEGER" metadataPropertyName="hasRecipients" valueHandler="com.ibm.cognos.cm.ecm.cm8.IntegerToBooleanValueHandler"/>
  215. <property repositoryName="cgnOutputMeta-OUTPUTBURSTKEY" repositoryType="STRING" metadataPropertyName="burstKey"/>
  216. <property repositoryName="cmis:objectId" repositoryType="STRING" metadataPropertyName="repositoryObjectId"/>
  217. <property repositoryName="cmis:contentStreamMimeType" repositoryType="STRING" metadataPropertyName="contentType"/>
  218. </properties>
  219. </query>
  220. <query name="isNotAdmin">
  221. <parameters>
  222. <parameter name="identity" repositoryType="STRING"/>
  223. </parameters>
  224. <properties>
  225. <property repositoryName="isNotAdmin" repositoryType="BOOLEAN" metadataPropertyName="isNotAdmin"/>
  226. </properties>
  227. </query>
  228. <query name="useIdentity" conditionParameter="isNotAdmin">
  229. <parameters>
  230. <parameter name="hasRecipients" repositoryType="BOOLEAN"/>
  231. <parameter name="owner" repositoryType="STRING"/>
  232. </parameters>
  233. <properties>
  234. <property repositoryName="useIdentity" repositoryType="BOOLEAN" metadataPropertyName="useIdentity"/>
  235. </properties>
  236. </query>
  237. <query name="getIdentities" conditionParameter="useIdentity">
  238. <parameters>
  239. <parameter name="identity" repositoryType="STRING"/>
  240. </parameters>
  241. <properties>
  242. <property repositoryName="identityList" repositoryType="STRINGLIST" metadataPropertyName="identityList" valueHandler="com.ibm.cognos.cm.ecm.cm8.EscapeSpecialCharacterValueHandler"/>
  243. </properties>
  244. </query>
  245. <query name="getIdentityOutputs" conditionParameter="useIdentity" resultProcessor="com.ibm.cognos.cm.ecm.cmis.query.ObjectsToListPorcessor">
  246. <queryText>SELECT cgnOutput-outputStoreID FROM OUTPUTRECIPIENT WHERE (IN_FOLDER ('${versionObjectID}') AND cgnBurst-RECIPIENT IN (${identityList}))</queryText>
  247. <parameters>
  248. <parameter name="versionObjectID" repositoryType="STRING"/>
  249. <parameter name="identityList" repositoryType="STRINGLIST"/>
  250. <parameter name="skipItems" repositoryType="INTEGER"/>
  251. <parameter name="maxCount" repositoryType="INTEGER"/>
  252. </parameters>
  253. <properties>
  254. <property repositoryName="cgnOutput-outputStoreID" repositoryType="STRINGLIST" metadataPropertyName="identityOutputs"/>
  255. </properties>
  256. </query>
  257. <query name="getBurstOptions" conditionParameter="isNotAdmin">
  258. <queryText>SELECT cgnOutputMeta-OUTPUTOWNER,cgnOutputMeta-HASRECIPIENTS FROM OUTPUT WHERE (IN_FOLDER ('${versionObjectID}') AND ${connectionTenantID})</queryText>
  259. <parameters>
  260. <parameter name="versionObjectID" repositoryType="STRING"/>
  261. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  262. <parameter name="skipItems" repositoryType="INTEGER"/>
  263. <parameter name="maxCount" repositoryType="INTEGER"/>
  264. </parameters>
  265. <optionalClauses>
  266. <!-- Cluases with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  267. <clause name= "TENANT_CLAUSE-noTenantID">
  268. <clauseText>(cgnTenancy-TENANT_ID IS NULL OR cgnTenancy-TENANT_ID = '')</clauseText>
  269. </clause>
  270. <clause name= "TENANT_CLAUSE-useTenantID">
  271. <clauseText>cgnTenancy-TENANT_ID = '${connectionTenantID}'</clauseText>
  272. <parameters>
  273. <parameter name="connectionTenantID" repositoryType="STRING"/>
  274. </parameters>
  275. </clause>
  276. </optionalClauses>
  277. <properties>
  278. <property repositoryName="cgnOutputMeta-OUTPUTOWNER" repositoryType="STRING" metadataPropertyName="owner"/>
  279. <property repositoryName="cgnOutputMeta-HASRECIPIENTS" repositoryType="INTEGER" metadataPropertyName="hasRecipients" valueHandler="com.ibm.cognos.cm.ecm.cm8.IntegerToBooleanValueHandler"/>
  280. </properties>
  281. </query>
  282. </queries>
  283. </queryConfiguration>
  284. </connectionConfiguration>