Changeset 4569


Ignore:
Timestamp:
02/25/14 14:48:02 (10 years ago)
Author:
andmor
Message:

Added endpoint to SINK a schema metadata field.
Added endpoint to SOURCE the available licenses.

Location:
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data
Files:
1 added
2 edited

Legend:

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

    r4366 r4569  
    2424            <verb>SINK</verb>
    2525            <identifier>res:/debug/org.isocat.schemacat.access.data.schema.metadata.resolved-arguments.xml</identifier>
    26             <argument name="primary">this:arguments</argument>
     26            <argument name="primary">
     27                <request>
     28                    <identifier>active:saxonSerialize</identifier>
     29                    <argument name="operand">this:arguments</argument>
     30                    <argument name="operator">
     31                        <literal type="xml">
     32                            <serialize>
     33                                <omit-declaration>yes</omit-declaration>
     34                                <method>text</method>
     35                                <mimeType>text/plain</mimeType>
     36                            </serialize>
     37                        </literal>
     38                    </argument>
     39                </request>
     40            </argument>
    2741        </request>
    2842        <log>
     
    7084        </cond>
    7185        <then>
    72             <sequence></sequence>
     86            <if>
     87                <cond>
     88                    <request>
     89                        <identifier>arg:schemaMetadataFragment</identifier>
     90                        <verb>EXISTS</verb>
     91                    </request>
     92                </cond>
     93                <then>
     94                    <sequence>
     95                        <request assignment="response">
     96                            <header name="exclude-dependencies">
     97                                <literal type="boolean">true</literal>
     98                            </header>
     99                            <identifier>active:org.basex.query</identifier>
     100                            <argument name="operator">
     101                                <literal type="xml">
     102                                    <query xmlns:sc="http://www.isocat.org/ns/schemacat">
     103                                        if(prefix-from-QName(node-name($schemaMetadataFragment)) eq 'sc')
     104                                        then
     105                                            for $metadataField in $schemaMetadataFragment/*
     106                                            return
     107                                                if(prefix-from-QName(node-name($metadataField)) eq 'sc')
     108                                                then
     109                                                    if (not(exists($schemaID)) or $schemaID eq '')
     110                                                    then
     111                                                        error(xs:QName('sc:metadataFieldSchemaIdNotSupplied'),'ERROR updating schema metadata field: schema ID not supplied!')
     112                                                    else
     113                                                        if(/sc:schema[@xml:id = $schemaID]/*/name() = $metadataField/name())
     114                                                        then
     115                                                            (db:output(element sc:response {attribute success {'true'}, element sc:written-data {$metadataField} }),
     116                                                                replace node /sc:schema[@xml:id = $schemaID]/*[name() eq $metadataField/name()] with $metadataField)
     117                                                        else
     118                                                            (db:output(element sc:response {attribute success {'true'}, element sc:written-data {$metadataField} }),
     119                                                                insert node $metadataField into /sc:schema[@xml:id = $schemaID])       
     120                                                                else error(xs:QName('sc:metadataFieldNamespaceError'),'ERROR updating schema metadata field: supplied namespace prefix in metadata fragment field is not "sc".')
     121                                            else error(xs:QName('sc:metadataFragmentNamespaceError'),'ERROR updating schema metadata field: supplied namespace prefix in metadata fragment is not "sc".')
     122                                    </query>
     123                                </literal>
     124                            </argument>
     125                            <argument name="schemaID">arg:id</argument>
     126                            <argument name="schemaMetadataFragment">arg:schemaMetadataFragment</argument>
     127                        </request>
     128                        <request>
     129                            <identifier>active:cutGoldenThread</identifier>
     130                            <argument name="id">schemaMetadataCache</argument>
     131                        </request>
     132                        <request>
     133                            <identifier>active:cutGoldenThread</identifier>
     134                            <argument name="id">pagedSchemasListCache</argument>
     135                        </request>
     136                        <request>
     137                            <identifier>active:cutGoldenThread</identifier>
     138                            <argument name="id">schemasCache</argument>
     139                        </request>
     140                        <sloot-debug>
     141                            <log>
     142                                <level>INFO</level>
     143                                <message>
     144                                    <literal type="string">[access.data] [%1] modified [%2] for schema with ID: [%3].&#xA;[&#xA;%4&#xA;]</literal>
     145                                </message>
     146                                <param>
     147                                    <request>
     148                                        <identifier>active:xpath2</identifier>
     149                                        <argument name="operand">scratch:user</argument>
     150                                        <argument name="operator">
     151                                            <literal type="string">string(/sc:user/@xml:id)</literal>
     152                                        </argument>
     153                                    </request>
     154                                </param>
     155                                <param>
     156                                    <request>
     157                                        <identifier>active:xpath2</identifier>
     158                                        <argument name="operand">arg:schemaMetadataFragment</argument>
     159                                        <argument name="operator">
     160                                            <literal type="string">/json/*[1]/name()</literal>
     161                                        </argument>
     162                                    </request>
     163                                </param>
     164                                <param>arg:id</param>
     165                                <param>
     166                                    <request>
     167                                        <identifier>response-string</identifier>
     168                                        <verb>TRANSREPT</verb>
     169                                        <representation>java.lang.String</representation>
     170                                        <argument name="primary">this:response</argument>
     171                                    </request>
     172                                </param>
     173                            </log>
     174                            <request>
     175                                <verb>SINK</verb>
     176                                <identifier>res:/debug/org.isocat.schemacat.access.data.schema.matadataField.sink.response.xml</identifier>
     177                                <argument name="primary">this:response</argument>
     178                            </request>
     179                        </sloot-debug>
     180                    </sequence>
     181                </then>
     182                <else>
     183                    <throw>
     184                        <id>
     185                            <literal type="string">NK_INPUT_ARGS_NOT_COMPLETE</literal>
     186                        </id>
     187                        <message>
     188                            <literal type="string">org.isocat.schemacat.access.data.schema.matadataField.sink: field not supplied!</literal>
     189                        </message>
     190                    </throw>
     191                </else>
     192            </if>
    73193        </then>
    74194        <cond method="identity">
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.access.data/module.xml

    r4366 r4569  
    8989                     <identifier>active:org.isocat.schemacat.access.data.schema.metadata</identifier>
    9090                     <argument name="id" min="0" max="1"/>
     91                     <argument name="schemaMetadataFragment" min="0" max="1"/>
    9192                  </active>
    9293               </grammar>
     
    9596                  <identifier>active:sloot.dpml</identifier>
    9697                  <argument name="operator">res:/access/schemaMetadata.dpml</argument>
    97                   <varargs/>
     98                  <argument name="id">arg:id</argument>
     99                  <argument name="schemaMetadataFragment">arg:schemaMetadataFragment</argument>
    98100               </request>
    99101            </endpoint>
     
    128130                  <argument name="schemaID">arg:schemaID</argument>
    129131                  <argument name="file-name">arg:file-name</argument>
     132               </request>
     133            </endpoint>
     134            <endpoint>
     135               <grammar>
     136                  <active>
     137                     <identifier>active:org.isocat.schemacat.access.data.licenses</identifier>
     138                  </active>
     139               </grammar>
     140               <verbs>SOURCE</verbs>
     141               <request>
     142                  <identifier>active:sloot.dpml</identifier>
     143                  <argument name="operator">res:/access/licenses.dpml</argument>
    130144               </request>
    131145            </endpoint>
Note: See TracChangeset for help on using the changeset viewer.