Changeset 4101 for cats


Ignore:
Timestamp:
11/28/13 09:31:58 (11 years ago)
Author:
andmor
Message:

Fixed logging when scratch:user is not present and user accessor is caller using 'principal' instead of 'id'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data/access/user.dpml

    r3967 r4101  
    180180                                        <identifier>active:cutGoldenThread</identifier>
    181181                                        <argument name="id">usersCache</argument>
    182                                 </request>
     182                                </request>                     
     183                                <if>
     184                                        <cond>
     185                                                <request>
     186                                                        <identifier>arg:id</identifier>
     187                                                        <verb>EXISTS</verb>
     188                                                </request>
     189                                        </cond>
     190                                        <then>
     191                                                <sequence>
     192                                                        <request assignment="user-identifier-value">
     193                                                                <identifier>arg:id</identifier>
     194                                                        </request>
     195                                                        <literal assignment="user-identifier-field" type="string">id</literal>
     196                                                </sequence>
     197                                        </then>
     198                                        <else>
     199                                                <sequence>
     200                                                        <request assignment="user-identifier-value">
     201                                                                <identifier>arg:principal</identifier>
     202                                                        </request>
     203                                                        <literal assignment="user-identifier-field" type="string">principal</literal>
     204                                                </sequence>
     205                                        </else>
     206                                </if>
    183207                                <log>
    184208                                        <level>INFO</level>
    185209                                        <message>
    186                                                 <literal type="string">[access.data] Updated user account for id: [%1]</literal>
     210                                                <literal type="string">[access.data] Updated user account for %1: [%2]</literal>
    187211                                        </message>
    188                                         <param>arg:id</param>
     212                                        <param>this:user-identifier-field</param>
     213                                        <param>this:user-identifier-value</param>
    189214                                </log>
    190215                        </sequence>
     
    227252                        <!-- get the user information -->
    228253                        <sequence>
     254                                <exception assignment="requester-user-id">
     255                                        <try>
     256                                                <sequence>
     257                                                        <request>
     258                                                                <!-- requesting scratch:user in here seems expire this response -->
     259                                                                <header name="exclude-dependencies">
     260                                                                        <literal type="boolean">true</literal>
     261                                                                </header>
     262                                                                <identifier>scratch:user</identifier>
     263                                                        </request>
     264                                                        <request assignment="response">
     265                                                                <identifier>active:xpath2</identifier>
     266                                                                <argument name="operand">
     267                                                                        <request>
     268                                                                                <header name="exclude-dependencies">
     269                                                                                        <literal type="boolean">true</literal>
     270                                                                                </header>
     271                                                                                <identifier>this:requester-user</identifier>
     272                                                                        </request>
     273                                                                </argument>
     274                                                                <argument name="operator">
     275                                                                        <literal type="string">string(/sc:user/@xml:id)</literal>
     276                                                                </argument>
     277                                                        </request>
     278                                                </sequence>
     279                                        </try>
     280                                        <catch>
     281                                                <literal type="string">unknown</literal>
     282                                        </catch>
     283                                </exception>
    229284                                <if>
    230285                                        <cond>
    231286                                                <request>
    232                                                         <!-- requesting scratch:user in here seems expire this response -->
    233287                                                        <header name="exclude-dependencies">
    234288                                                                <literal type="boolean">true</literal>
    235289                                                        </header>
    236290                                                        <verb>EXISTS</verb>
    237                                                         <identifier>scratch:user</identifier>
     291                                                        <identifier>arg:id</identifier>
    238292                                                </request>
    239293                                        </cond>
     
    244298                                                                <literal type="string">[access.data] [%1] requested user resource for id: [%2]</literal>
    245299                                                        </message>
    246                                                         <param>
    247                                                                 <request>
    248                                                                         <identifier>active:xpath2</identifier>
    249                                                                         <argument name="operand">
    250                                                                                 <request>
    251                                                                                         <!-- requesting scratch:user in here seems expire this response -->
    252                                                                                         <header name="exclude-dependencies">
    253                                                                                                 <literal type="boolean">true</literal>
    254                                                                                         </header>
    255                                                                                         <identifier>scratch:user</identifier>
    256                                                                                 </request>
    257                                                                         </argument>
    258                                                                         <argument name="operator">
    259                                                                                 <literal type="string">string(/sc:user/@xml:id)</literal>
    260                                                                         </argument>
    261                                                                 </request>
    262                                                         </param>
     300                                                        <param>this:requester-user-id</param>
    263301                                                        <param>arg:id</param>
    264302                                                </log>
    265303                                        </then>
     304                                        <sloot-debug>
     305                                                <else>
     306                                                        <log>
     307                                                                <level>INFO</level>
     308                                                                <message>
     309                                                                        <literal type="string">[access.data] [%1] requested user resource for principal: [%2]</literal>
     310                                                                </message>
     311                                                                <param>this:requester-user-id</param>
     312                                                                <param>arg:principal</param>
     313                                                        </log>
     314                                                </else>
     315                                        </sloot-debug>
    266316                                </if>
    267317                                <request assignment="response">
     
    276326                                                                        let $user := exactly-one((//sc:user[@xml:id=$args//id],//sc:user[sc:principal=$args//principal]))
    277327                                                                        return ($user/@*,$user/*)
    278                                                                 }</sc:user>
     328                                                                        }</sc:user>
    279329                                                        </query>
    280330                                                </literal>
Note: See TracChangeset for help on using the changeset viewer.