Changeset 4366
- Timestamp:
- 01/28/14 17:11:54 (10 years ago)
- Location:
- cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data/access/pagedSchemas.dpml
r3873 r4366 62 62 <argument name="pageSize">arg:pageSize</argument> 63 63 </request> 64 <request> 65 <identifier>active:attachGoldenThread</identifier> 66 <argument name="id">pagedSchemasList</argument> 67 </request> 64 68 <sloot-debug> 65 69 <request> -
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data/access/schemaAuthorizedIDs.dpml
r3938 r4366 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 <sequence debug="false"> 3 <request assignment="response"> 4 <header name="exclude-dependencies"> 5 <literal type="boolean">true</literal> 6 </header> 7 <identifier>active:org.basex.query</identifier> 8 <argument name="operator"> 9 <literal type="xml"> 10 <query xmlns:sc="http://www.isocat.org/ns/schemacat"> 11 <ids>{ 12 for $userID in //sc:schema[@xml:id = $schemaID]/sc:access/sc:user/@ref 13 return if (contains(//sc:schema[@xml:id = $schemaID]/sc:access/sc:all/@actions ,'r')) 14 then <id>ALL</id> 15 else <id>{$userID}</id> 16 } 17 </ids> 18 </query> 19 </literal> 20 </argument> 21 <argument name="schemaID">arg:schemaID</argument> 2 <sequence debug="true"> 3 <switch assignment="response"> 4 <cond> 5 <request> 6 <identifier>active:sloot.xpath2</identifier> 7 <argument name="operand">arg:verb</argument> 8 <argument name="operator"> 9 <literal type="string">boolean(.='SOURCE')</literal> 10 </argument> 11 </request> 12 </cond> 13 <then> 14 <sequence> 15 <request assignment="response"> 16 <header name="exclude-dependencies"> 17 <literal type="boolean">true</literal> 18 </header> 19 <identifier>active:org.basex.query</identifier> 20 <argument name="operator"> 21 <literal type="xml"> 22 <query xmlns:sc="http://www.isocat.org/ns/schemacat"> 23 <ids>{ 24 for $user in //sc:schema[@xml:id = $schemaID]/sc:access/* 25 return if (name($user) eq 'sc:all' and contains($user/@actions ,'r')) 26 then <id actions="{data($user/@actions)}">ALL</id> 27 else <id actions="{data($user/@actions)}" 28 role="{data($user/@role)}">{string($user/@ref)}</id> 29 } 30 </ids> 31 </query> 32 </literal> 33 </argument> 34 <argument name="schemaID">arg:schemaID</argument> 35 </request> 36 <sloot-debug> 37 <log> 38 <level>INFO</level> 39 <message> 40 <literal type="string">[access.data] [%1] requested users authorized to access schema with ID: [%2].
[
%3
]</literal> 41 </message> 42 <param> 43 <request> 44 <identifier>active:xpath2</identifier> 45 <argument name="operand">scratch:user</argument> 46 <argument name="operator"> 47 <literal type="string">string(/sc:user/@xml:id)</literal> 48 </argument> 49 </request> 50 </param> 51 <param>arg:schemaID</param> 52 <param> 53 <request> 54 <identifier>response-string</identifier> 55 <verb>TRANSREPT</verb> 56 <representation>java.lang.String</representation> 57 <argument name="primary">this:response</argument> 58 </request> 59 </param> 60 </log> 61 <request> 62 <verb>SINK</verb> 63 <identifier>res:/debug/org.isocat.schemacat.access.data.schema.authorizedIDs.source.response.xml</identifier> 64 <argument name="primary">this:response</argument> 65 </request> 66 </sloot-debug> 67 </sequence> 68 </then> 69 <cond> 70 <request> 71 <identifier>active:sloot.xpath2</identifier> 72 <argument name="operand">arg:verb</argument> 73 <argument name="operator"> 74 <literal type="string">boolean(.='SINK')</literal> 75 </argument> 76 </request> 77 </cond> 78 <then> 79 <if> 80 <cond> 81 <request> 82 <identifier>arg:authorizedUsers</identifier> 83 <verb>EXISTS</verb> 84 </request> 85 </cond> 86 <then> 87 <sequence> 88 <request assignment="response"> 89 <header name="exclude-dependencies"> 90 <literal type="boolean">true</literal> 91 </header> 92 <identifier>active:org.basex.query</identifier> 93 <argument name="operator"> 94 <literal type="xml"> 95 <query xmlns:sc="http://www.isocat.org/ns/schemacat"> 96 let $newAccessRules := 97 <sc:access> 98 { 99 for $userID in $authorizedUsers/id 100 return 101 if ($userID/text() eq 'ALL') 102 then 103 <sc:all actions="r"/> 104 else 105 element sc:user { 106 attribute role { 107 if(exists($userID/@role)) 108 then $userID/@role 109 else 'user'}, 110 attribute ref { 111 if(exists($userID/text())) 112 then $userID/text() 113 else error(xs:QName('sc:accessUserIdNotSupplied'),'ERROR updating schema access: user ID not supplied!')}, 114 attribute actions { 115 if(exists($userID/@actions)) 116 then $userID/@actions 117 else 'r'} 118 } 119 } 120 </sc:access> 121 return 122 if (not(exists($schemaID)) or $schemaID eq '') 123 then 124 error(xs:QName('sc:accessSchemaIdNotSupplied'),'ERROR updating schema access: user ID not supplied!') 125 else 126 (db:output(element sc:response {attribute success {'true'}, element sc:written-data {$newAccessRules} }), replace node /sc:schema[@xml:id = $schemaID]/sc:access with $newAccessRules) 127 </query> 128 </literal> 129 </argument> 130 <argument name="schemaID">arg:schemaID</argument> 131 <argument name="authorizedUsers">arg:authorizedUsers</argument> 132 </request> 133 <request> 134 <identifier>active:cutGoldenThread</identifier> 135 <argument name="id">schemaAuthorizedIdsCache</argument> 136 </request> 137 <request> 138 <identifier>active:cutGoldenThread</identifier> 139 <argument name="id">schemaMetadataCache</argument> 140 </request> 141 <request> 142 <identifier>active:cutGoldenThread</identifier> 143 <argument name="id">pagedSchemasList</argument> 144 </request> 145 <sloot-debug> 146 <log> 147 <level>INFO</level> 148 <message> 149 <literal type="string">[access.data] [%1] modified users authorized to access schema with ID: [%2].
[
%3
]</literal> 150 </message> 151 <param> 152 <request> 153 <identifier>active:xpath2</identifier> 154 <argument name="operand">scratch:user</argument> 155 <argument name="operator"> 156 <literal type="string">string(/sc:user/@xml:id)</literal> 157 </argument> 158 </request> 159 </param> 160 <param>arg:schemaID</param> 161 <param> 162 <request> 163 <identifier>response-string</identifier> 164 <verb>TRANSREPT</verb> 165 <representation>java.lang.String</representation> 166 <argument name="primary">this:response</argument> 167 </request> 168 </param> 169 </log> 170 <request> 171 <verb>SINK</verb> 172 <identifier>res:/debug/org.isocat.schemacat.access.data.schema.authorizedIDs.sink.response.xml</identifier> 173 <argument name="primary">this:response</argument> 174 </request> 175 </sloot-debug> 176 </sequence> 177 </then> 178 <else> 179 <throw> 180 <id> 181 <literal type="string">NK_INPUT_ARGS_NOT_COMPLETE</literal> 182 </id> 183 <message> 184 <literal type="string">org.isocat.schemacat.access.data.schema.authorizedIDs.sink: 'authorizedUsers' not supplied!</literal> 185 </message> 186 </throw> 187 </else> 188 </if> 189 </then> 190 </switch> 191 <request> 192 <identifier>active:attachGoldenThread</identifier> 193 <argument name="id">schemaAuthorizedIdsCache</argument> 22 194 </request> 23 <sloot-debug>24 <log>25 <level>INFO</level>26 <message>27 <literal type="string">[access.data] [%1] requested users authorized to access schema with ID: [%2].
[
%3]</literal>28 </message>29 <param>30 <request>31 <identifier>active:xpath2</identifier>32 <argument name="operand">scratch:user</argument>33 <argument name="operator">34 <literal type="string">string(/sc:user/@xml:id)</literal>35 </argument>36 </request>37 </param>38 <param>arg:schemaID</param>39 <param>40 <request>41 <identifier>response-string</identifier>42 <verb>TRANSREPT</verb>43 <representation>java.lang.String</representation>44 <argument name="primary">this:response</argument>45 </request>46 </param>47 </log>48 <request>49 <verb>SINK</verb>50 <identifier>res:/debug/org.isocat.schemacat.access.data.schema.authorizedIDs.response.xml</identifier>51 <argument name="primary">this:response</argument>52 </request>53 </sloot-debug>54 195 </sequence> 55 196 -
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data/access/schemaMetadata.dpml
r4206 r4366 118 118 </then> 119 119 </switch> 120 <request> 121 <identifier>active:attachGoldenThread</identifier> 122 <argument name="id">schemaMetadataCache</argument> 123 </request> 120 124 <sloot-debug> 121 125 <log> -
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data/access/user.dpml
r4101 r4366 91 91 return 92 92 if (empty($old-user)) then 93 (db:output(element sc:response {attribute success {'true'} }), insert node $new-user into /sc:users)93 (db:output(element sc:response {attribute success {'true'}, element sc:written-data {$new-user}}), insert node $new-user into /sc:users) 94 94 else 95 95 (error(xs:QName('sc:uniqueUser'),'There exists already an user with this id or principal!')) … … 112 112 <level>INFO</level> 113 113 <message> 114 <literal type="string">[access.data] Created user : [%1], for principal: [%2]</literal>114 <literal type="string">[access.data] Created user account with id: [%1] and principal: [%2] New user data: [ %3: ]</literal> 115 115 </message> 116 116 <param>this:new-user-id</param> 117 117 <param>arg:principal</param> 118 <param> 119 <request> 120 <identifier>response-string</identifier> 121 <verb>TRANSREPT</verb> 122 <representation>java.lang.String</representation> 123 <argument name="primary">this:response</argument> 124 </request> 125 </param> 118 126 </log> 119 127 </sequence> … … 166 174 (error(xs:QName('sc:nonExistingUser'),'User matching specified id or principal not found!')) 167 175 else 168 (db:output(element sc:response {attribute success {'true'} }), replace node /sc:users/sc:user[(@xml:id eq $args/id) or (sc:principal eq $args/principal)] with $newUser)176 (db:output(element sc:response {attribute success {'true'}, element sc:written-data {$newUser}}), replace node /sc:users/sc:user[(@xml:id eq $args/id) or (sc:principal eq $args/principal)] with $newUser) 169 177 </query> 170 178 </literal> … … 208 216 <level>INFO</level> 209 217 <message> 210 <literal type="string">[access.data] Updated user account for %1: [%2]</literal>218 <literal type="string">[access.data] Updated user account with %1: [%2] Updated data: [ %3 ]</literal> 211 219 </message> 212 220 <param>this:user-identifier-field</param> 213 221 <param>this:user-identifier-value</param> 222 <param> 223 <request> 224 <identifier>response-string</identifier> 225 <verb>TRANSREPT</verb> 226 <representation>java.lang.String</representation> 227 <argument name="primary">this:response</argument> 228 </request> 229 </param> 214 230 </log> 215 231 </sequence> … … 296 312 <level>INFO</level> 297 313 <message> 298 <literal type="string">[access.data] [%1] requested user resource forid: [%2]</literal>314 <literal type="string">[access.data] [%1] requested user resource with id: [%2]</literal> 299 315 </message> 300 316 <param>this:requester-user-id</param> … … 307 323 <level>INFO</level> 308 324 <message> 309 <literal type="string">[access.data] [%1] requested user resource forprincipal: [%2]</literal>325 <literal type="string">[access.data] [%1] requested user resource with principal: [%2]</literal> 310 326 </message> 311 327 <param>this:requester-user-id</param> … … 340 356 </id> 341 357 <message> 342 <literal type="string">org.isocat.schemacat. data.user: unsupported verb!</literal>358 <literal type="string">org.isocat.schemacat.access.data.user: unsupported verb!</literal> 343 359 </message> 344 360 </throw> -
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data/module.xml
r4073 r4366 156 156 <active> 157 157 <identifier>active:org.isocat.schemacat.access.data.schema.authorizedIDs</identifier> 158 <argument name="schemaID" min="1" max="1"/> 159 </active> 160 </grammar> 158 <argument name="schemaID" min="1" max="1"/> 159 <argument name="authorizedUsers" min="0" max="1"/> 160 </active> 161 </grammar> 162 <verbs>SOURCE,SINK</verbs> 161 163 <request> 162 164 <identifier>active:sloot.dpml</identifier> 163 165 <argument name="operator">res:/access/schemaAuthorizedIDs.dpml</argument> 164 166 <argument name="schemaID">arg:schemaID</argument> 167 <argument name="authorizedUsers">arg:authorizedUsers</argument> 165 168 </request> 166 169 </endpoint>
Note: See TracChangeset
for help on using the changeset viewer.