source: cows_wps/trunk/cows_wps/templates/wps_execute_response.xml @ 6923

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/cows_wps/trunk/cows_wps/templates/wps_execute_response.xml@6923
Revision 6923, 3.2 KB checked in by astephen, 10 years ago (diff)

fixing

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--!
3        @param status: tuple (status_string, info, percent)
4        @param status_url: URL pointing to retrieve stored status
5        @param version: WPS Version
6        @param identifier: process identifier
7        @param lineage: boolean determining whether to serialise inputs and output definitions
8        @param conf: ddp configuration dictionary
9        @param output_xml: A Genshi stream of any complex value output or None
10        @param input_dict: Unvalidated inputs
11-->
12<ExecuteResponse statusLocation="$status_url" version="$version"
13        xmlns="http://www.opengeospatial.net/wps" xmlns:ows="http://www.opengeospatial.net/ows"
14        xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
15        xmlns:py="http://genshi.edgewall.org/"
16        xsi:schemaLocation="http://www.opengeospatial.net/wps ../wpsExecute.xsd">
17        <ows:Identifier>$identifier</ows:Identifier>
18
19        <Status>
20                <?python status_str, info, percent = status ?>
21                <py:if test="str(status_str) == 'ACCEPTED'">
22                        <ProcessAccepted/>
23                </py:if>
24                <py:if test="str(status_str) == 'FAILED'">
25                        <ProcessFailed>
26                                <ows:ExceptionReport version="1.0">
27                                        <!--!TODO: where does code come from?  It used to be magically extracted from info but that's too obscure.
28                                                It could come from a COWS OWSException. -->                                             
29                                        <ows:Exception exceptionCode="">
30                                                <ows:ExceptionText>$info</ows:ExceptionText>
31                                        </ows:Exception>
32                                </ows:ExceptionReport>
33                        </ProcessFailed>
34                </py:if>
35                <py:if test="str(status_str) == 'COMPLETED'">
36                        <ProcessSucceeded>$info</ProcessSucceeded>
37                </py:if>
38                <py:if test="str(status_str) == 'STARTED'">
39                        <ProcessStarted percentCompleted="$percent">$info</ProcessStarted>
40                </py:if>
41        </Status>
42        <py:if test="str(status_str) != 'FAILED'">
43                <?python
44                    argkeys = input_dict.keys()
45                    argkeys.sort()
46                ?>
47                <DataInputs py:if="lineage">
48                        <Input py:for="arg in argkeys">
49                                <?python
50                                    value = input_dict[arg]
51                                    if type(value) not in (unicode, str):
52                                        try:
53                                            value = ','.join([str(i) for i in value])
54                                        except:
55                                            value = str(value)
56                                ?>
57                                <ows:Identifier>$arg</ows:Identifier>
58                                <ows:Title>$arg</ows:Title>
59                                <LiteralValue>$value</LiteralValue>
60                        </Input>
61                </DataInputs>
62                <OutputDefinitions py:if="lineage">
63                        <Output>
64                                <ows:Identifier>$identifier</ows:Identifier>
65                                <ows:Title py:with="title = caps_config_dict[identifier]['globals']['Title']">$title</ows:Title>
66                                <ows:Abstract py:with="abs = caps_config_dict[identifier]['globals']['Abstract']"
67                                >$abs</ows:Abstract>
68                        </Output>
69                </OutputDefinitions>
70                <ProcessOutputs>
71                        <Output>
72                                <ows:Identifier>$identifier</ows:Identifier>
73                                <ows:Title py:with="title = caps_config_dict[identifier]['globals']['Title']">$title</ows:Title>
74                                <ows:Abstract py:with="abs = caps_config_dict[identifier]['globals']['Abstract']">$abs</ows:Abstract>
75                                <py:if test="output_xml != None"> ${output_xml.generate()} </py:if>
76
77                        </Output>
78                </ProcessOutputs>
79        </py:if>
80</ExecuteResponse>
Note: See TracBrowser for help on using the repository browser.