Mercurial > dive4elements > river
diff flys-artifacts/doc/conf/meta-data.xml @ 2424:092e519ff461
merged flys-artifacts/2.6.1
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:26 +0200 |
parents | 867ebe191799 |
children | 700f28bfd7ef |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/meta-data.xml Fri Sep 28 12:14:26 2012 +0200 @@ -0,0 +1,973 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<dc:template xmlns:dc="http://www.intevation.org/2011/Datacage"> +<datacage> + <dc:macro name="load-system"> + <dc:context connection="system"> + <dc:statement> + SELECT id AS river_id, name as river_name FROM rivers + WHERE lower(name) LIKE lower(${river}) + </dc:statement> + <dc:elements> + <dc:comment> + Base-data macros (mostly data imported from wst-files) + </dc:comment> + <dc:macro name="basedata_0"> + <dc:comment comment=" BASEDATA ---------------------------"/> + <basedata> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 0 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <basedata> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="base_data-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + </column> + </dc:elements> + </dc:context> + </basedata> + </dc:elements> + </dc:context> + </basedata> + </dc:macro> + <dc:macro name="basedata_0_wq"> + <dc:comment comment=" BASEDATA ---------------------------"/> + <basedata> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 0 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <basedata> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="base_data-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="wqinterpol"/> + </column> + </dc:elements> + </dc:context> + </basedata> + </dc:elements> + </dc:context> + </basedata> + </dc:macro> + + <dc:macro name="basedata_1_additionals"> + <dc:comment comment=".ZUS -------------------------------"/> + <additionals> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 1 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <additional> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="additionals-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + </column> + </dc:elements> + </dc:context> + </additional> + </dc:elements> + </dc:context> + </additionals> + </dc:macro> + + <dc:macro name="basedata_2_fixations_wst"> + <fixations> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 2 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <fixation> + <dc:attribute name="name" value="${prot_description}"/> + <dc:attribute name="ids" value="fixations-wstv-A-${prot_id}"/> + <dc:attribute name="factory" value="wqinterpol"/> + </fixation> + </dc:elements> + </dc:context> + </fixations> + </dc:macro> + + <dc:macro name="basedata_2_fixations_wqkms"> + <fixations> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 2 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <fixation> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="wqinterpol"/> + </column> + </dc:elements> + </dc:context> + </fixation> + </dc:elements> + </dc:context> + </fixations> + </dc:macro> + + <dc:macro name="basedata_2_fixations"> + <fixations> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 2 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <fixation> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="fixations-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + </column> + </dc:elements> + </dc:context> + </fixation> + </dc:elements> + </dc:context> + </fixations> + </dc:macro> + + <dc:macro name="basedata_4_heightmarks-points"> + <heightmarks> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 4 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <heightmark> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="heightmarks_points-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + </column> + </dc:elements> + </dc:context> + </heightmark> + </dc:elements> + </dc:context> + </heightmarks> + </dc:macro> + + <dc:macro name="basedata_4_heightmarks-wq"> + <heightmarks> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 4 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <heightmark> + <dc:attribute name="name" value="${prot_description}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="heightmarks_annotations-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="wqinterpol"/> + </column> + </dc:elements> + </dc:context> + </heightmark> + </dc:elements> + </dc:context> + </heightmarks> + </dc:macro> + + <dc:macro name="basedata_5_flood-protections"> + <flood_protections> + <dc:attribute name="id" value="flood-protections-${river_id}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM wsts WHERE kind = 5 AND river_id = ${river_id} + </dc:statement> + <dc:elements> + <flood_protection> + <dc:attribute name="name" value="${prot_description}"/> + <dc:attribute name="db-id" value="${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + <columns> + <dc:context> + <dc:statement> + SELECT id AS prot_column_id, + name AS prot_column_name, + position AS prot_rel_pos + FROM wst_columns WHERE wst_id = ${prot_id} + ORDER by position + </dc:statement> + <dc:elements> + <column> + <dc:attribute name="name" value="${prot_column_name}"/> + <dc:attribute name="ids" value="flood_protection-wstv-${prot_rel_pos}-${prot_id}"/> + <dc:attribute name="factory" value="staticwkms"/> + </column> + </dc:elements> + </dc:context> + </columns> + </flood_protection> + </dc:elements> + </dc:context> + </flood_protections> + </dc:macro> + + <dc:macro name="mainvalues"> + <mainvalue> + <dc:attribute name="factory" value="mainvalue"/> + <dc:attribute name="ids" value="${river_id}"/> + </mainvalue> + </dc:macro> + + <dc:macro name="annotations"> + <annotation> + <dc:attribute name="factory" value="annotations"/> + <dc:attribute name="ids" value="${river_id}"/> + </annotation> + </dc:macro> + + <dc:macro name="cross_sections"> + <cross_sections> + <dc:attribute name="id" value="flood-protections-${river_id}"/> + <dc:context> + <dc:statement> + SELECT id AS prot_id, + description AS prot_description + FROM cross_sections WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <cross_section> + <dc:attribute name="name" value="${prot_description}"/> + <dc:attribute name="ids" value="${prot_id}"/> + <dc:attribute name="factory" value="crosssections"/> + </cross_section> + </dc:elements> + </dc:context> + </cross_sections> + </dc:macro> + + <dc:macro name="hyks"> + <hyks> + <dc:attribute name="id" value="hyk-${river_id}"/> + <dc:context> + <dc:statement> + SELECT id AS hyk_id, + description AS hyk_description + FROM hyks WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <hyk> + <dc:attribute name="name" value="${hyk_description}"/> + <dc:attribute name="ids" value="${hyk_id}"/> + <dc:attribute name="factory" value="hyk"/> + </hyk> + </dc:elements> + </dc:context> + </hyks> + </dc:macro> + + <dc:comment> + + + River-Node + + </dc:comment> + + <river> + <dc:attribute name="name" value="${river_name}"/> + + <dc:choose> + <dc:when test="dc:contains($parameters, 'recommended')"> + <dc:comment> + Recommendations (client shall load immediately). + </dc:comment> + <dc:if test="dc:contains($artifact-outs, 'w_differences') or (dc:contains($artifact-outs, 'discharge_longitudinal_section'))"> + <dc:call-macro name="annotations"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'cross_section')"> + <dc:call-macro name="cross_sections"/> + <dc:call-macro name="hyks"/> + </dc:if> + </dc:when> + <dc:otherwise> + <dc:comment> + Non - Recommendations. + </dc:comment> + <dc:if test="dc:contains($artifact-outs, 'cross_section')"> + <dc:call-macro name="basedata_0"/> + <dc:call-macro name="basedata_1_additionals"/> + <dc:call-macro name="cross_sections"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'discharge_longitudinal_section')"> + <dc:call-macro name="basedata_0"/> + <dc:call-macro name="basedata_4_heightmarks-points"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')"> + <dc:call-macro name="basedata_0_wq"/> + <dc:call-macro name="basedata_4_heightmarks-wq"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'w_differences'))"> + <dc:call-macro name="basedata_0"/> + <dc:call-macro name="basedata_1_additionals"/> + <dc:comment comment=" FIXATIONS ---------------------------"/> + <dc:call-macro name="basedata_2_fixations"/> + <dc:comment comment=" HOEHENMARKEN ---------------------------"/> + <dc:call-macro name="basedata_4_heightmarks-points"/> + <dc:call-macro name="annotations"/> + </dc:if> + <dc:comment comment="--- non-recommendations---"/> + </dc:otherwise> + </dc:choose> + + + <dc:if test="dc:contains($artifact-outs, 'waterlevels')"> + + <!-- base data --> + <dc:call-macro name="basedata_0"/> + + <!-- extra-longitudinal-sections --> + <dc:call-macro name="basedata_1_additionals"/> + + <!-- fixations --> + <dc:call-macro name="basedata_2_fixations"/> + + <!-- flood water marks--> + <dc:call-macro name="basedata_4_heightmarks-points"/> + + <!-- flood protection --> + <dc:call-macro name="basedata_5_flood-protections"/> + + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve') and (dc:contains($parameters, 'recommended'))"> + <!--dc:call-macro name="basedata_2_fixations_wst"/--> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve') and not (dc:contains($parameters, 'recommended'))"> + <discharge_table_nn> + <discharge_table_gauge> + <dc:context> + <dc:statement> + SELECT id AS gauge_id, + name AS gauge_name + FROM gauges WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <gauge> + <dc:attribute name="name" value="${gauge_name}"/> + <dc:attribute name="db-id" value="${gauge_id}"/> + <dc:context> + <dc:statement> + SELECT description AS gauge_desc, + d.id AS discharge_id, + ti.start_time AS g_start, + ti.stop_time AS g_stop + FROM discharge_tables d JOIN time_intervals ti + ON d.time_interval_id = ti.id + WHERE d.gauge_id = ${gauge_id} AND d.kind = 1 + </dc:statement> + <dc:elements> + <historical> + <dc:attribute name="name" value="${gauge_desc}"/> + <dc:attribute name="from" value="${g_start}"/> + <dc:attribute name="to" value="${g_stop}"/> + <dc:attribute name="db-id" value="${discharge_id}"/></historical> + </dc:elements> + </dc:context> + </gauge> + </dc:elements> + </dc:context> + </discharge_table_gauge> + + </discharge_table_nn> + + <dc:call-macro name="basedata_2_fixations_wst"/> + + <dc:call-macro name="basedata_5_flood-protections"/> + + <!-- former waterlevels --> + <dc:call-macro name="basedata_0"/> + + <dc:call-macro name="basedata_1_additionals"/> + + <!-- former flood-water-marks --> + <dc:call-macro name="basedata_4_heightmarks-points"/> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')"><!-- or (dc:contains($artifact-outs, 'discharge_curve'))"--> + <!-- && parameter contains recommended/ation --> + <computed_discharge_curve> + <dc:call-macro name="mainvalues"/> + </computed_discharge_curve> + <dc:call-macro name="basedata_2_fixations_wst"/> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'duration_curve')"> + <dc:call-macro name="mainvalues"/> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'longitudinal_section')"> + <longitudinal_section> + <dc:call-macro name="annotations"/> + </longitudinal_section> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'map')"> + <map> + <dc:choose> + <dc:when test="dc:contains($parameters, 'recommended')"> + </dc:when> + <dc:otherwise> + <dc:call-macro name="flood-map-complete"/> + </dc:otherwise> + </dc:choose> + </map> + </dc:if> + <dc:if test="dc:contains($artifact-outs, 'floodmap')"> + <floodmap> + <dc:choose> + <dc:when test="dc:contains($parameters, 'recommended')"> + <dc:call-macro name="flood-map-recommended"/> + </dc:when> + <dc:when test="dc:contains($parameters, 'dem')"> + <dc:call-macro name="flood-map-dem"/> + </dc:when> + <dc:otherwise> + <dc:call-macro name="flood-map-complete"/> + </dc:otherwise> + </dc:choose> + </floodmap> + <dc:macro name="flood-map-recommended"> + <dc:comment> + FIXME: Following two macros look identical to me. + </dc:comment> + <kilometrage> + <riveraxis> + <dc:attribute name="factory" value="riveraxis"/> + <dc:attribute name="ids" value="${river_id}"/> + </riveraxis> + </kilometrage> + <rastermap> + <background> + <dc:attribute name="factory" value="wmsbackground"/> + <dc:attribute name="ids" value="${river_id}"/> + </background> + </rastermap> + </dc:macro> + <dc:macro name="flood-map-dem"> + <dems> + <dc:context> + <dc:statement> + SELECT id AS dem_id, + lower AS dem_lower, + upper AS dem_upper + FROM dem WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dem> + <dc:attribute name="factory" value="demfactory"/> + <dc:attribute name="ids" value="${dem_id}"/> + <dc:attribute name="description" value="${dem_lower}-${dem_upper}"/> + </dem> + </dc:elements> + </dc:context> + </dems> + </dc:macro> + <dc:macro name="flood-map-km"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM river_axes_km WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <km> + <dc:attribute name="factory" value="wmskmfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </km> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-qps"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM cross_section_tracks WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <qps> + <dc:attribute name="factory" value="wmsqpsfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </qps> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-hws"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM hws WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <hws> + <dc:attribute name="factory" value="wmshwsfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </hws> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-catchments"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM catchment WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <catchments> + <dc:attribute name="factory" value="wmscatchmentfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </catchments> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-floodplain"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM floodplain WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <floodplain> + <dc:attribute name="factory" value="wmsfloodplainfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </floodplain> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-lines"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM lines WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <lines> + <dc:attribute name="factory" value="wmslinefactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </lines> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-buildings"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM buildings WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <buildings> + <dc:attribute name="factory" value="wmsbuildingsfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </buildings> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-fixpoints"> + <dc:context> + <dc:statement> + SELECT count(*) as km_exists + FROM fixpoints WHERE river_id = ${river_id} + </dc:statement> + <dc:elements> + <dc:if test="$km_exists>0"> + <fixpoints> + <dc:attribute name="factory" value="wmsfixpointsfactory"/> + <dc:attribute name="ids" value="${river_id}"/> + </fixpoints> + </dc:if> + </dc:elements> + </dc:context> + </dc:macro> + <dc:macro name="flood-map-complete"> + <kilometrage> + <riveraxis> + <dc:attribute name="factory" value="riveraxis"/> + <dc:attribute name="ids" value="${river_id}"/> + </riveraxis> + <dc:call-macro name="flood-map-km"/> + <dc:call-macro name="flood-map-qps"/> + <dc:call-macro name="flood-map-hws"/> + <dc:call-macro name="flood-map-catchments"/> + <dc:call-macro name="flood-map-floodplain"/> + <dc:call-macro name="flood-map-lines"/> + <dc:call-macro name="flood-map-buildings"/> + <dc:call-macro name="flood-map-fixpoints"/> + </kilometrage> + <rastermap> + <background> + <dc:attribute name="factory" value="wmsbackground"/> + <dc:attribute name="ids" value="${river_id}"/> + </background> + </rastermap> + </dc:macro> + </dc:if> + </river> + </dc:elements> + </dc:context> + </dc:macro> + + <dc:choose> + <dc:comment> + User specific part + ------------------ + </dc:comment> + <dc:when test="dc:contains($parameters, 'user-id')"> + + + <old_calculations> + <dc:context connection="user"> + <dc:comment> + Get the user and collection-id. + </dc:comment> + <dc:statement> + SELECT u.id AS user_id, c.id AS collection_id, c.name as collection_name + FROM collections c JOIN users u ON c.user_id = u.id + WHERE u.gid = CAST(${user-id} AS uuid) + ORDER BY c.creation DESC + </dc:statement> + + + <dc:comment> + SHOW W-DIFFERENCES + </dc:comment> + + <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'w_differences') or (dc:contains($artifact-outs, 'discharge_longitudinal_section')))"> + <differences> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description + FROM outs as o, facets as f, artifacts as a + WHERE f.name = 'w_differences' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id} + </dc:statement> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${aid}"/> + <dc:attribute name="ids" value="${aid}"/> + <dc:attribute name="out" value="w_differences"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </differences> + </dc:if> + + <dc:if test="dc:contains($artifact-outs, 'computed_discharge_curve')"> + <computed_discharge_curves> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description + FROM outs as o, facets as f, artifacts as a + WHERE f.name = 'computed_discharge_curve.q' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id} + </dc:statement> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${aid}"/> + <dc:attribute name="ids" value="${aid}"/> + <dc:attribute name="out" value="computed_discharge_curve"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </computed_discharge_curves> + </dc:if> + + + <dc:if test="dc:contains($artifact-outs, 'longitudinal_section') or (dc:contains($artifact-outs, 'discharge_longitudinal_section') or (dc:contains($artifact-outs, 'w_differences')))"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'longitudinal_section' + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} + ORDER BY num ASC, name DESC + </dc:statement> + <longitudinal_section_columns> + <dc:attribute name="description" value="${river} ${a_creation}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="longitudinal_section"/> + </dc:element> + </dc:elements> + </longitudinal_section_columns> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + <dc:comment> + WATERLEVELS - ONLY SHOW Ws + </dc:comment> + + <dc:if test="dc:contains($artifact-outs, 'waterlevels')"> + <waterlevels> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + + <dc:context> + <dc:statement> + SELECT id AS out_id + FROM outs + WHERE artifact_id = ${a_id} AND name = 'longitudinal_section' + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT name AS facet_name, num as facet_num, description AS facet_description + FROM facets + WHERE out_id = ${out_id} and name = 'longitudinal_section.w' + ORDER BY num ASC, name DESC + </dc:statement> + <waterlevels> + <dc:attribute name="description" value="${river} ${a_creation} ${collection_name}"/> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="ids" value="${facet_num}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${a_gid}"/> + <dc:attribute name="out" value="longitudinal_section"/> + </dc:element> + </dc:elements> + </waterlevels> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </waterlevels> + </dc:if> + + <dc:comment> + SHOW FLOODMAPS + </dc:comment> + + <dc:if test="dc:contains($artifact-outs, 'floodmap') or dc:contains($artifact-outs, 'map')"> + <floodmap> + <dc:elements> + <dc:context> + <dc:statement> + SELECT m.id AS a_id, m.state AS a_state, m.gid AS a_gid, m.creation AS a_creation + FROM master_artifacts m + WHERE m.collection_id = ${collection_id} AND m.gid <> CAST(${artifact-id} AS uuid) + AND EXISTS ( + SELECT id FROM artifact_data ad WHERE ad.artifact_id = m.id AND k = 'river' AND v = ${river}) + </dc:statement> + <dc:elements> + <dc:context> + <dc:statement> + SELECT a.gid as aid, f.id AS fid, f.name AS facet_name, f.num AS facet_num, f.description as facet_description + FROM outs as o, facets as f, artifacts as a + WHERE f.name = 'floodmap.wsplgen' and f.out_id = o.id and o.artifact_id = ${a_id} and a.id = ${a_id} + </dc:statement> + <dc:elements> + <dc:element name="${facet_name}"> + <dc:attribute name="description" value="${facet_description}"/> + <dc:attribute name="factory" value="winfo"/> + <dc:attribute name="artifact-id" value="${aid}"/> + <dc:attribute name="ids" value="${aid}"/> + <dc:attribute name="out" value="floodmap"/> + </dc:element> + </dc:elements> + </dc:context> + </dc:elements> + </dc:context> + </dc:elements> + </floodmap> + </dc:if> + + </dc:context> + </old_calculations> + + + <dc:comment> + Include System specific part when 'load-system' is in parameters. + ----------------------------------------------------------------- + </dc:comment> + <dc:choose> + <dc:when test="dc:contains($parameters,'load-system')"> + <dc:call-macro name="load-system"/> + </dc:when> + </dc:choose> + </dc:when> + + + <dc:comment> + Include System specific part only if no user ID is given. + --------------------------------------------------------- + </dc:comment> + <dc:otherwise> + <dc:call-macro name="load-system"/> + </dc:otherwise> + </dc:choose> +</datacage> +</dc:template>