REPS_FILENET.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  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. 2009, 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" subsequentQueries="getOutputContent">
  26. <queryText>SELECT G.cmis:objectId FROM OUTPUT AS O LEFT OUTER JOIN ${outputFileClass} AS G ON O.outputStoreId=G.outputStoreId WHERE (O.cmis:objectId = '${outputObjectID}' and G.cmis:name='${outputFileName}' AND ${connectionTenantID})</queryText>
  27. <parameters>
  28. <parameter name="outputFileClass" repositoryType="STRING"/>
  29. <parameter name="outputFileName" repositoryType="STRING"/>
  30. <parameter name="outputObjectID" 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. <!-- Clauses 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>(TENANT_ID IS NULL OR TENANT_ID = '')</clauseText>
  39. </clause>
  40. <clause name= "TENANT_CLAUSE-useTenantID">
  41. <clauseText>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 O.REPORTSTOREID FROM OUTPUT AS O LEFT OUTER JOIN ${outputFileClass} AS G ON O.outputStoreId=G.outputStoreId WHERE (O.cmis:objectId = '${outputObjectID}' and G.cmis:name='${outputFileName}' AND ${connectionTenantID})</queryText>
  53. <parameters>
  54. <parameter name="outputFileClass" repositoryType="STRING"/>
  55. <parameter name="outputObjectID" 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. <!-- Clauses 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>(TENANT_ID IS NULL OR TENANT_ID = '')</clauseText>
  65. </clause>
  66. <clause name= "TENANT_CLAUSE-useTenantID">
  67. <clauseText>TENANT_ID = '${connectionTenantID}'</clauseText>
  68. <parameters>
  69. <parameter name="connectionTenantID" repositoryType="STRING"/>
  70. </parameters>
  71. </clause>
  72. </optionalClauses>
  73. <properties>
  74. <property repositoryName="REPORTSTOREID" repositoryType="STRING" metadataPropertyName="reportStoreID"/>
  75. </properties>
  76. </query>
  77. <query name="getOutputReport">
  78. <queryText>SELECT 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. <!-- Clauses 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>(TENANT_ID IS NULL OR TENANT_ID = '')</clauseText>
  89. </clause>
  90. <clause name= "TENANT_CLAUSE-useTenantID">
  91. <clauseText>TENANT_ID = '${connectionTenantID}'</clauseText>
  92. <parameters>
  93. <parameter name="connectionTenantID" repositoryType="STRING"/>
  94. </parameters>
  95. </clause>
  96. </optionalClauses>
  97. <properties>
  98. <property repositoryName="REPORTSTOREID" repositoryType="STRING" metadataPropertyName="reportStoreID"/>
  99. </properties>
  100. </query>
  101. <query name="getReportVersionsBetweenTime">
  102. <queryText>SELECT REPORTVERSIONCREATIONTIME, cmis:objectId FROM REPORTVERSION where (REPORTVERSIONCREATIONTIME &gt;= TIMESTAMP '${afterCreationTime}' and REPORTVERSIONCREATIONTIME &lt;= TIMESTAMP '${beforeCreationTime}' and REPORTSTOREID = '${reportStoreID}' AND ${connectionTenantID}) ${sorting}</queryText>
  103. <parameters>
  104. <parameter name="afterCreationTime" repositoryType="DATETIME"/>
  105. <parameter name="beforeCreationTime" repositoryType="DATETIME"/>
  106. <parameter name="reportStoreID" repositoryType="STRING"/>
  107. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  108. <parameter name="skipItems" repositoryType="INTEGER"/>
  109. <parameter name="maxCount" repositoryType="INTEGER"/>
  110. </parameters>
  111. <optionalClauses>
  112. <clause name= "sorting" >
  113. <clauseText>order by REPORTVERSIONCREATIONTIME ${sortingOrder}</clauseText>
  114. <parameters>
  115. <parameter name="sortingOrder" repositoryType="STRING"/>
  116. </parameters>
  117. </clause>
  118. <!-- Clauses with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  119. <clause name= "TENANT_CLAUSE-noTenantID">
  120. <clauseText>(TENANT_ID IS NULL OR TENANT_ID = '')</clauseText>
  121. </clause>
  122. <clause name= "TENANT_CLAUSE-useTenantID">
  123. <clauseText>TENANT_ID = '${connectionTenantID}'</clauseText>
  124. <parameters>
  125. <parameter name="connectionTenantID" repositoryType="STRING"/>
  126. </parameters>
  127. </clause>
  128. </optionalClauses>
  129. <properties>
  130. <property repositoryName="REPORTVERSIONCREATIONTIME" repositoryType="DATETIME" metadataPropertyName="creationTime"/>
  131. <property repositoryName="cmis:objectId" repositoryType="STRING" metadataPropertyName="repositoryObjectId"/>
  132. </properties>
  133. </query>
  134. <query name="getVersionOutputs" prerequisiteQueries="isNotAdmin,getBurstOptions,useIdentity,getIdentities" >
  135. <queryText>SELECT REPORTOUTPUTFORMAT,OUTPUTLOCALE,OUTPUTCREATIONTIME,OUTPUTOWNER,HASRECIPIENTS,OUTPUTBURSTKEY,cmis:objectId,cmis:contentStreamMimeType FROM OUTPUT WHERE (IN_FOLDER ('${versionObjectID}') AND ${connectionTenantID} ${checkForRecipientsFilter} ${localeFilter} ${recipientsFilter} ${formatFilter}) ${sorting}</queryText>
  136. <parameters>
  137. <parameter name="versionObjectID" repositoryType="STRING"/>
  138. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  139. <parameter name="skipItems" repositoryType="INTEGER"/>
  140. <parameter name="maxCount" repositoryType="INTEGER"/>
  141. </parameters>
  142. <optionalClauses>
  143. <!-- Clauses 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>(TENANT_ID IS NULL OR TENANT_ID = '')</clauseText>
  146. </clause>
  147. <clause name= "TENANT_CLAUSE-useTenantID">
  148. <clauseText>TENANT_ID = '${connectionTenantID}'</clauseText>
  149. <parameters>
  150. <parameter name="connectionTenantID" repositoryType="STRING"/>
  151. </parameters>
  152. </clause>
  153. <clause name= "checkForRecipientsFilter" >
  154. <clauseText>AND HASRECIPIENTS=${checkForRecipients}</clauseText>
  155. <parameters>
  156. <parameter name="checkForRecipients" repositoryType="BOOLEAN"/>
  157. </parameters>
  158. </clause>
  159. <clause name= "localeFilter" >
  160. <clauseText>AND OUTPUTLOCALE IN (${localeList})</clauseText>
  161. <parameters>
  162. <parameter name="localeList" repositoryType="STRINGLIST"/>
  163. </parameters>
  164. </clause>
  165. <clause name= "recipientsFilter" >
  166. <clauseText>AND ANY RECIPIENTSLIST IN (${identityList})</clauseText>
  167. <parameters>
  168. <parameter name="identityList" repositoryType="STRINGLIST"/>
  169. </parameters>
  170. </clause>
  171. <clause name= "formatFilter" >
  172. <clauseText>AND REPORTOUTPUTFORMAT IN (${formatList})</clauseText>
  173. <parameters>
  174. <parameter name="formatList" repositoryType="STRINGLIST"/>
  175. </parameters>
  176. </clause>
  177. <clause name= "sorting" >
  178. <clauseText>order by OUTPUTLOCALE ${sortingOrder}</clauseText>
  179. <parameters>
  180. <parameter name="sortingOrder" repositoryType="STRING"/>
  181. </parameters>
  182. </clause>
  183. </optionalClauses>
  184. <properties>
  185. <property repositoryName="REPORTOUTPUTFORMAT" repositoryType="STRING" metadataPropertyName="format"/>
  186. <property repositoryName="OUTPUTLOCALE" repositoryType="STRING" metadataPropertyName="locale"/>
  187. <property repositoryName="OUTPUTOWNER" repositoryType="STRING" metadataPropertyName="owner"/>
  188. <property repositoryName="OUTPUTCREATIONTIME" repositoryType="DATETIME" metadataPropertyName="creationTime"/>
  189. <property repositoryName="HASRECIPIENTS" repositoryType="BOOLEAN" metadataPropertyName="hasRecipients"/>
  190. <property repositoryName="OUTPUTBURSTKEY" repositoryType="STRING" metadataPropertyName="burstKey"/>
  191. <property repositoryType="STRING" metadataPropertyName="outputRepositoryURL"/>
  192. <property repositoryName="cmis:objectId" repositoryType="STRING" metadataPropertyName="repositoryObjectId"/>
  193. <property repositoryName="cmis:contentStreamMimeType" repositoryType="STRING" metadataPropertyName="contentType"/>
  194. </properties>
  195. </query>
  196. <query name="isNotAdmin">
  197. <parameters>
  198. <parameter name="identity" repositoryType="STRING"/>
  199. </parameters>
  200. <properties>
  201. <property repositoryName="isNotAdmin" repositoryType="BOOLEAN" metadataPropertyName="isNotAdmin"/>
  202. </properties>
  203. </query>
  204. <query name="useIdentity" conditionParameter="isNotAdmin">
  205. <parameters>
  206. <parameter name="hasRecipients" repositoryType="BOOLEAN"/>
  207. <parameter name="owner" repositoryType="STRING"/>
  208. </parameters>
  209. <properties>
  210. <property repositoryName="useIdentity" repositoryType="BOOLEAN" metadataPropertyName="useIdentity"/>
  211. </properties>
  212. </query>
  213. <query name="getIdentities" conditionParameter="useIdentity">
  214. <parameters>
  215. <parameter name="identity" repositoryType="STRING"/>
  216. </parameters>
  217. <properties>
  218. <property repositoryName="identityList" repositoryType="STRINGLIST" metadataPropertyName="identityList" />
  219. </properties>
  220. </query>
  221. <query name="getBurstOptions" conditionParameter="isNotAdmin">
  222. <queryText>SELECT OUTPUTOWNER,HASRECIPIENTS FROM OUTPUT WHERE (IN_FOLDER ('${versionObjectID}') AND ${connectionTenantID})</queryText>
  223. <parameters>
  224. <parameter name="versionObjectID" repositoryType="STRING"/>
  225. <parameter name="connectionTenantID" repositoryType="TENANT_CLAUSE"/>
  226. <parameter name="skipItems" repositoryType="INTEGER"/>
  227. <parameter name="maxCount" repositoryType="INTEGER"/>
  228. </parameters>
  229. <optionalClauses>
  230. <!-- Clauses with TENANT_CLAUSE in the name are dynamically added to the query after processing the connectionTenantID query parameter of type TENANT_CLAUSE -->
  231. <clause name= "TENANT_CLAUSE-noTenantID">
  232. <clauseText>(TENANT_ID IS NULL OR TENANT_ID = '')</clauseText>
  233. </clause>
  234. <clause name= "TENANT_CLAUSE-useTenantID">
  235. <clauseText>TENANT_ID = '${connectionTenantID}'</clauseText>
  236. <parameters>
  237. <parameter name="connectionTenantID" repositoryType="STRING"/>
  238. </parameters>
  239. </clause>
  240. </optionalClauses>
  241. <properties>
  242. <property repositoryName="OUTPUTOWNER" repositoryType="STRING" metadataPropertyName="owner"/>
  243. <property repositoryName="HASRECIPIENTS" repositoryType="BOOLEAN" metadataPropertyName="hasRecipients" />
  244. </properties>
  245. </query>
  246. </queries>
  247. </queryConfiguration>
  248. </connectionConfiguration>