Changeset 3490


Ignore:
Timestamp:
08/29/13 15:52:03 (11 years ago)
Author:
andmor
Message:

Set up endpoint to get user information.
Sorting out URI scheme.

Location:
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.interface.rest
Files:
2 added
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.interface.rest/module.xml

    r3485 r3490  
    3333                  <mapper>
    3434                     <config>
    35                         <!-- TODO: all these .../rest/user/<user> endpoints should return some user info, the workspace would be returned from .../rest/user/<user>/workspace -->
    36                         <!-- TODO: where do we allow an optional trailing slash? .../rest/user(/)? but also .../rest/user/<user>(/)? ... look around a bit, what is common practice? -->
    37                         <endpoint>
    38                            <!-- the user isn't specified in the endpoint URL, take it from the scratch pad -->
    39                            <!-- the endpoint is .../rest/user (without(!) ending slash) -->
    40                            <meta>
    41                               <rest>
    42                                  <method>GET</method>
    43                                  <simple>user</simple>
    44                                  <compress/>
    45                                  <Etag>MD5</Etag>
    46                                  <preTarget>findUser</preTarget>
    47                                  <produces>text/plain</produces>
    48                               </rest>
    49                            </meta>
    50                            <grammar>
    51                               <active>
    52                                  <identifier>active:org.schemacat.unk.user.workspace</identifier>
    53                               </active>
    54                            </grammar>
    55                            <request>
    56                               <identifier>active:sloot.dpml</identifier>
    57                               <argument name="operator">res:/interface/workspace.dpml</argument>
    58                               <argument method="value" name="user">scratch:user</argument>
    59                            </request>
    60                            <header name="mime">text/plain</header>
    61                         </endpoint>
    62                         <endpoint>
    63                            <!-- the user isn't specified in the endpoint URL, take it from the scratch pad -->
    64                            <!-- the endpoint is .../rest/user/ (with ending slash) -->
    65                            <meta>
    66                               <rest>
    67                                  <method>GET</method>
    68                                  <simple>user/</simple>
    69                                  <compress/>
    70                                  <Etag>MD5</Etag>
    71                                  <preTarget>findUser</preTarget>
    72                                  <produces>text/plain</produces>
    73                               </rest>
    74                            </meta>
    75                            <grammar>
    76                               <active>
    77                                  <identifier>active:org.schemacat.unk2.user.workspace</identifier>
    78                               </active>
    79                            </grammar>
    80                            <request>
    81                               <identifier>active:sloot.dpml</identifier>
    82                               <argument name="operator">res:/interface/workspace.dpml</argument>
    83                               <argument method="value" name="user">scratch:user</argument>
    84                            </request>
    85                            <header name="mime">text/plain</header>
    86                         </endpoint>
    87                         <endpoint>
    88                            <meta>
    89                               <rest>
    90                                  <method>GET</method>
    91                                  <simple>users/{userID}/schemas</simple>
     35                        <!-- TODO: all these .../rest/users/<user> endpoints should return some user info, the schemas would be returned from .../rest/users/<userID>/schemas -->
     36                        <!-- TODO: where do we allow an optional trailing slash? .../rest/users(/)? but also .../rest/users/<user>(/)? ... look around a bit, what is common practice? -->
     37                        <endpoint>
     38                           <meta>
     39                              <rest>
     40                                 <method>GET</method>
     41                                 <simple>users/{userID:([^/]+)}{slash:(/|)}</simple>
    9242                                 <compress/>
    9343                                 <Etag>MD5</Etag>
     
    9848                           <grammar>
    9949                              <active>
    100                                  <identifier>active:org.schemacat.user.schemas.json</identifier>
    101                                  <argument name="userID" min="1" max="1"/>
     50                                 <identifier>active:org.schemacat.user.json</identifier>
     51                                 <argument name="userID" min="1" max="1"/>
     52                                 <argument name="slash"/>
    10253                              </active>
    10354                           </grammar>
     
    10758                                 <request>
    10859                                    <identifier>active:sloot.dpml</identifier>
    109                                     <argument name="operator">res:/interface/schemas.dpml</argument>
    110                                     <argument method="as-string" name="userID">arg:userID</argument>
    111                                     <argument name="accessor">active:org.isocat.schemacat.access.data.schemas</argument>
     60                                    <argument name="operator">res:/interface/user.dpml</argument>
     61                                    <argument name="userID" method="as-string">arg:userID</argument>
    11262                                 </request>
    11363                              </argument>
     
    11868                              <rest>
    11969                                 <method>GET</method>
     70                                 <simple>users/{userID:([^/]+)}{slash:(/|)}</simple>
     71                                 <compress/>
     72                                 <Etag>MD5</Etag>
     73                                 <preTarget>findUser</preTarget>
     74                                 <produces>application/xml</produces>
     75                              </rest>
     76                           </meta>
     77                           <grammar>
     78                              <active>
     79                                 <identifier>active:org.schemacat.user.xml</identifier>
     80                                 <argument name="userID" min="1" max="1"/>
     81                                 <argument name="slash"/>
     82                              </active>
     83                           </grammar>
     84                           <request>
     85                              <identifier>active:sloot.dpml</identifier>
     86                              <argument name="operator">res:/interface/user.dpml</argument>
     87                              <argument name="userID" method="as-string">arg:userID</argument>
     88                           </request>
     89                        </endpoint>
     90                        <!-- 
     91                         <endpoint>
     92                           <!-/- the user isn't specified in the endpoint URL and it has a trailling slash /, use the requester ID from the scratch pad -/->
     93                           <meta>
     94                              <rest>
     95                                 <method>GET</method>
     96                                 <simple>users/</simple>
     97                                 <compress/>
     98                                 <Etag>MD5</Etag>
     99                                 <preTarget>findUser</preTarget>
     100                                 <produces>application/xml</produces>
     101                              </rest>
     102                           </meta>
     103                           <grammar>
     104                              <active>
     105                                 <identifier>active:org.schemacat.user.xml</identifier>
     106                                 <argument name="userID" min="1" max="1"/>
     107                              </active>
     108                           </grammar>
     109                           <request>
     110                              <identifier>active:sloot.dpml</identifier>
     111                              <argument name="operator">res:/interface/userSchemas.dpml</argument>
     112                              <argument name="userID">
     113                                 <request>
     114                                    <identifier>active:sloot.xpath2</identifier>
     115                                    <argument name="operand">scratch:user</argument>
     116                                    <argument name="operator">
     117                                       <literal type="string">string(/sc:user/@xml:id)</literal>
     118                                    </argument>
     119                                 </request>
     120                              </argument>
     121                           </request>
     122                        </endpoint>
     123                           <endpoint>
     124                           <!-/- no trailling slash /, resource refers to all the users -/->
     125                           <meta>
     126                              <rest>
     127                                 <method>GET</method>
     128                                 <simple>users</simple>
     129                                 <compress/>
     130                                 <Etag>MD5</Etag>
     131                                 <preTarget>findUser</preTarget>
     132                                 <produces>application/xml</produces>
     133                              </rest>
     134                           </meta>
     135                           <grammar>
     136                              <active>
     137                                 <identifier>active:org.schemacat.user.xml</identifier>
     138                              </active>
     139                           </grammar>
     140                           <request>
     141                              <identifier>active:sloot.dpml</identifier>
     142                              <argument name="operator">res:/interface/users.dpml</argument>
     143                              <argument name="userID">
     144                                 <request>
     145                                    <identifier>active:sloot.xpath2</identifier>
     146                                    <argument name="operand">scratch:user</argument>
     147                                    <argument name="operator">
     148                                       <literal type="string">string(/sc:user/@xml:id)</literal>
     149                                    </argument>
     150                                 </request>
     151                              </argument>
     152                           </request>
     153                           </endpoint>-->
     154                        <endpoint>
     155                           <meta>
     156                              <rest>
     157                                 <method>GET</method>
    120158                                 <simple>users/{userID}/schemas</simple>
    121159                                 <compress/>
    122160                                 <Etag>MD5</Etag>
    123161                                 <preTarget>findUser</preTarget>
     162                                 <produces>application/json</produces>
     163                              </rest>
     164                           </meta>
     165                           <grammar>
     166                              <active>
     167                                 <identifier>active:org.schemacat.user.schemas.json</identifier>
     168                                 <argument name="userID" min="1" max="1"/>
     169                              </active>
     170                           </grammar>
     171                           <request>
     172                              <identifier>active:JSONFromXML</identifier>
     173                              <argument name="operand">
     174                                 <request>
     175                                    <identifier>active:sloot.dpml</identifier>
     176                                    <argument name="operator">res:/interface/userSchemas.dpml</argument>
     177                                    <argument method="as-string" name="userID">arg:userID</argument>
     178                                 </request>
     179                              </argument>
     180                           </request>
     181                        </endpoint>
     182                        <endpoint>
     183                           <meta>
     184                              <rest>
     185                                 <method>GET</method>
     186                                 <simple>users/{userID}/schemas</simple>
     187                                 <compress/>
     188                                 <Etag>MD5</Etag>
     189                                 <preTarget>findUser</preTarget>
    124190                                 <produces>application/xml</produces>
    125191                              </rest>
     
    133199                           <request>
    134200                              <identifier>active:sloot.dpml</identifier>
    135                               <argument name="operator">res:/interface/schemas.dpml</argument>
     201                              <argument name="operator">res:/interface/userSchemas.dpml</argument>
    136202                              <argument method="as-string" name="userID">arg:userID</argument>
    137203                           </request>
     
    160226                           <meta>
    161227                              <rest>
    162                                  <simple>{file}</simple>
     228                                 <simple>site/{file}</simple>
    163229                                 <compress/>
    164230                                 <Etag>MD5</Etag>
     
    167233                           <grammar>res:/schemacat/<group name="file"><regex type="anything"/></group></grammar>
    168234                           <request>
    169                               <identifier>res:/schemacat/[[arg:file]]</identifier>
     235                              <identifier>res:/schemacat/site/[[arg:file]]</identifier>
    170236                           </request>
    171237                        </endpoint>
Note: See TracChangeset for help on using the changeset viewer.