changeset 1073:902bcd837995

Configured transitions for vector data verticalprofiles. gnv-artifacts/trunk@1170 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 07 Jun 2010 17:15:04 +0000
parents 6f35dcd81418
children 649f564a5184
files gnv-artifacts/ChangeLog gnv-artifacts/doc/conf/products/verticalprofile/conf_mesh.xml gnv-artifacts/doc/conf/products/verticalprofile/conf_timeseriespoint.xml
diffstat 3 files changed, 296 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/gnv-artifacts/ChangeLog	Mon Jun 07 17:11:48 2010 +0000
+++ b/gnv-artifacts/ChangeLog	Mon Jun 07 17:15:04 2010 +0000
@@ -1,3 +1,9 @@
+2010-06-07  Ingo Weinzierl <ingo.weinzierl@intevation.de>
+
+	* doc/conf/products/verticalprofile/conf_mesh.xml,
+	  doc/conf/products/verticalprofile/conf_timeseriespoint.xml: Added
+	  transitions for working with vertical profiles that contain vector data.
+
 2010-06-07  Ingo Weinzierl <ingo.weinzierl@intevation.de>
 
 	* src/main/java/de/intevation/gnv/state/profile/vertical/VerticalProfileMeshVectorOutputState.java:
--- a/gnv-artifacts/doc/conf/products/verticalprofile/conf_mesh.xml	Mon Jun 07 17:11:48 2010 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalprofile/conf_mesh.xml	Mon Jun 07 17:15:04 2010 +0000
@@ -211,12 +211,37 @@
                 <inputvalue name="maxdepthid" type="Double" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </state>
-        
+
         <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="verticalprofile_mesh_maxdepth"/>
-           <to state="verticalprofile_meshpoint_parameter"/>
+           <to state="verticalprofile_meshpoint_vector_scalar"/>
         </transition>
-        
+
+        <state id="verticalprofile_meshpoint_vector_scalar" description="verticalprofile_meshpoint_vector_scalar" state="de.intevation.gnv.state.SwitchModeState">
+           <dataname>vectorscalar</dataname>
+           <data-multiselect>false</data-multiselect>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="mindepthid" type="Double" multiselect="false" usedinquery="0"/>
+                <inputvalue name="maxdepthid" type="Double" multiselect="false" usedinquery="0"/>
+                <inputvalue name="vectorscalar" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </state>
+
+       <transition transition="de.intevation.gnv.transition.ValueCompareTransition">
+            <from state="verticalprofile_meshpoint_vector_scalar"/>
+            <to state="verticalprofile_meshpoint_parameter"/>
+            <condition inputvalue="vectorscalar" value="scalar" operator="equal"/>
+         </transition>
+
+        <transition transition="de.intevation.gnv.transition.ValueCompareTransition">
+            <from state="verticalprofile_meshpoint_vector_scalar"/>
+            <to state="verticalprofile_meshpoint_parameter_vector"/>
+            <condition inputvalue="vectorscalar" value="vector" operator="equal"/>
+         </transition>
+
         <state id="verticalprofile_meshpoint_parameter" description="verticalprofile_meshpoint_parameter" state="de.intevation.gnv.state.DefaultState">
            <queryID>verticalprofile_mesh_parameter</queryID>
            <dataname>parameterid</dataname>
@@ -232,11 +257,31 @@
            </inputvalues>
        </state>
 
+       <state id="verticalprofile_meshpoint_parameter_vector" description="verticalprofile_meshpoint_parameter" state="de.intevation.gnv.state.DefaultState">
+           <queryID>verticalprofile_mesh_parameter_vector</queryID>
+           <dataname>parameterid</dataname>
+           <presettings-name>parameter</presettings-name>
+           <data-multiselect>true</data-multiselect>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="mindepthid" type="Double" multiselect="false" usedinquery="0"/>
+                <inputvalue name="maxdepthid" type="Double" multiselect="false" usedinquery="0"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="0" />
+           </inputvalues>
+       </state>
+
        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="verticalprofile_meshpoint_parameter"/>
            <to state="verticalprofile_mesh_year"/>
         </transition>
-       
+
+        <transition transition="de.intevation.gnv.transition.DefaultTransition">
+           <from state="verticalprofile_meshpoint_parameter_vector"/>
+           <to state="verticalprofile_mesh_year_vector"/>
+        </transition>
+
        <state id="verticalprofile_mesh_year" description="verticalprofile_mesh_year" state="de.intevation.gnv.state.DefaultState">
            <queryID>verticalprofile_mesh_year</queryID>
            <dataname>yearid</dataname>
@@ -251,12 +296,32 @@
                <inputvalue name="yearid" type="String" multiselect="true" usedinquery="0"/>
            </inputvalues>
        </state>
+
+       <state id="verticalprofile_mesh_year_vector" description="verticalprofile_mesh_year" state="de.intevation.gnv.state.DefaultState">
+           <queryID>verticalprofile_mesh_year_vector</queryID>
+           <dataname>yearid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <inputvalues>
+               <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+               <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
+               <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1" />
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="mindepthid" type="Double" multiselect="false" usedinquery="0"/>
+               <inputvalue name="maxdepthid" type="Double" multiselect="false" usedinquery="0"/>
+               <inputvalue name="yearid" type="String" multiselect="true" usedinquery="0"/>
+           </inputvalues>
+       </state>
        
        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="verticalprofile_mesh_year"/>
            <to state="verticalprofile_mesh_date"/>
         </transition>
-       
+
+        <transition transition="de.intevation.gnv.transition.DefaultTransition">
+           <from state="verticalprofile_mesh_year_vector"/>
+           <to state="verticalprofile_mesh_date_vector"/>
+        </transition>
+
        <state id="verticalprofile_mesh_date" description="verticalprofile_mesh_date" state="de.intevation.gnv.state.DefaultState">
            <queryID>verticalprofile_mesh_date</queryID>
            <dataname>dateid</dataname>
@@ -272,12 +337,33 @@
                <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="0"/>
            </inputvalues>
        </state>
-       
+
+       <state id="verticalprofile_mesh_date_vector" description="verticalprofile_mesh_date" state="de.intevation.gnv.state.DefaultState">
+           <queryID>verticalprofile_mesh_date_vector</queryID>
+           <dataname>dateid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <inputvalues>
+               <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+               <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
+               <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1" />
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="mindepthid" type="Double" multiselect="false" usedinquery="0"/>
+               <inputvalue name="maxdepthid" type="Double" multiselect="false" usedinquery="0"/>
+               <inputvalue name="yearid" type="String" multiselect="true" usedinquery="1"/>
+               <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="0"/>
+           </inputvalues>
+       </state>
+
        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="verticalprofile_mesh_date"/>
            <to state="verticalprofile_mesh_calculate_results"/>
         </transition>
-       
+
+        <transition transition="de.intevation.gnv.transition.DefaultTransition">
+           <from state="verticalprofile_mesh_date_vector"/>
+           <to state="verticalprofile_mesh_calculate_results_vector"/>
+        </transition>
+
        <state id="verticalprofile_mesh_calculate_results" description="verticalprofile_mesh_calculate_results" state="de.intevation.gnv.state.profile.vertical.VerticalProfileOutputState">
            <queryID>verticalprofile_mesh_chart_data</queryID>
            <queryID-odv>verticalprofile_mesh_odv_data</queryID-odv>
@@ -326,5 +412,54 @@
                <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
            </outputsModes>
        </state>
+
+       <state id="verticalprofile_mesh_calculate_results_vector" description="verticalprofile_mesh_calculate_results" state="de.intevation.gnv.state.profile.vertical.VerticalProfileMeshVectorOutputState">
+           <queryID>verticalprofile_mesh_chart_data_vector</queryID>
+           <queryID-odv>verticalprofile_mesh_odv_data_vector</queryID-odv>
+           <inputvalues>
+               <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+               <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
+               <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="2"/>
+               <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="2"/> 
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="mindepthid" type="Double" multiselect="false" usedinquery="1"/>
+               <inputvalue name="maxdepthid" type="Double" multiselect="false" usedinquery="1"/>
+           </inputvalues>
+           <value-names>
+               <value-name name="feature" value="mesh_point"></value-name>
+               <value-name name="parameter" value="parameterid"></value-name>
+               <value-name name="measurement" value="dateid"></value-name>
+           </value-names>
+           <outputsModes>
+               <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                   <parameters>
+                       <inputvalue name="width" type="Integer" value="600"/>
+                       <inputvalue name="height" type="Integer" value="400"/>
+                       <inputvalue name="points" type="Boolean" value="false"/>
+                   </parameters>
+                   <exportModes>
+                       <export name="img" description="IMG-Export der Daten" mime-type="image/png" />
+                       <export name="pdf" description="PDF-Export der Daten" mime-type="application/pdf" />
+                       <export name="svg" description="SVG-Export der Daten" mime-type="image/svg+xml" />
+                   </exportModes>
+               </outputsMode>
+               <outputsMode name="histogram" description="Histogram of the Values" mime-type="image/png">
+                    <parameters>
+                        <inputvalue name="width" type="Integer" value="600"/>
+                        <inputvalue name="height" type="Integer" value="400"/>
+                        <inputvalue name="bincount" type="Integer" value="7"/>
+                        <inputvalue name="binwidth" type="Double" value="7"/>
+                    </parameters>
+                    <exportModes>
+                        <export name="img" description="IMG-Export der Daten" mime-type="image/png" />
+                        <export name="pdf" description="PDF-Export der Daten" mime-type="application/pdf" />
+                        <export name="svg" description="SVG-Export der Daten" mime-type="image/svg+xml" />
+                    </exportModes>
+                </outputsMode>
+               <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+               <outputsMode name="odv" description="ODV-Export der Daten" mime-type="text/plain"/>
+               <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+           </outputsModes>
+       </state>
    </states>
 </artifact>
--- a/gnv-artifacts/doc/conf/products/verticalprofile/conf_timeseriespoint.xml	Mon Jun 07 17:11:48 2010 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalprofile/conf_timeseriespoint.xml	Mon Jun 07 17:15:04 2010 +0000
@@ -37,7 +37,7 @@
         
         <transition transition="de.intevation.gnv.transition.DefaultTransition">
             <from state="verticalprofile_with_wkt"/>
-            <to state="verticalprofile_parameter"/>
+            <to state="verticalprofile_vector_scalar"/>
         </transition>
         
         <state id="verticalprofile_area" description="verticalprofile_area_one" state="de.intevation.gnv.state.DefaultState">
@@ -93,7 +93,7 @@
         
         <transition transition="de.intevation.gnv.transition.DefaultTransition">
             <from state="verticalprofile_without_geom"/>
-            <to state="verticalprofile_parameter"/>
+            <to state="verticalprofile_vector_scalar"/>
         </transition>
         
         <state id="verticalprofile_timeseriespoint" description="timeseries_timeseriespoint" state="de.intevation.gnv.state.DefaultState">
@@ -110,9 +110,31 @@
         
         <transition transition="de.intevation.gnv.transition.DefaultTransition">
             <from state="verticalprofile_timeseriespoint"/>
+            <to state="verticalprofile_vector_scalar"/>
+        </transition>
+
+        <state id="verticalprofile_vector_scalar" description="timeseries_vector_scalar" state="de.intevation.gnv.state.SwitchModeState">
+            <dataname>vectorscalar</dataname>
+            <data-multiselect>false</data-multiselect>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"  usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="vectorscalar" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </state>
+
+        <transition transition="de.intevation.gnv.transition.ValueCompareTransition">
+            <from state="verticalprofile_vector_scalar"/>
             <to state="verticalprofile_parameter"/>
-        </transition>
-        
+            <condition inputvalue="vectorscalar" value="scalar" operator="equal"/>
+         </transition>
+
+        <transition transition="de.intevation.gnv.transition.ValueCompareTransition">
+            <from state="verticalprofile_vector_scalar"/>
+            <to state="verticalprofile_parameter_vector"/>
+            <condition inputvalue="vectorscalar" value="vector" operator="equal"/>
+         </transition>
+
         <state id="verticalprofile_parameter" description="timeseries_parameter" state="de.intevation.gnv.state.DefaultState">
             <queryID>verticalprofile_parameter</queryID>
             <dataname>parameterid</dataname>
@@ -124,12 +146,29 @@
                 <inputvalue name="parameterid" type="Integer" multiselect="true"  usedinquery="0"/>
             </inputvalues>
         </state>
+
+        <state id="verticalprofile_parameter_vector" description="timeseries_parameter" state="de.intevation.gnv.state.DefaultState">
+            <queryID>verticalprofile_parameter_vector</queryID>
+            <dataname>parameterid</dataname>
+            <presettings-name>parameter</presettings-name>
+            <data-multiselect>true</data-multiselect>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"  usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true"  usedinquery="0"/>
+            </inputvalues>
+        </state>
         
         <transition transition="de.intevation.gnv.transition.DefaultTransition">
             <from state="verticalprofile_parameter"/>
             <to state="verticalprofile_year"/>
         </transition>
         
+        <transition transition="de.intevation.gnv.transition.DefaultTransition">
+            <from state="verticalprofile_parameter_vector"/>
+            <to state="verticalprofile_year_vector"/>
+        </transition>
+        
          <state id="verticalprofile_year" description="verticalprofile_year" state="de.intevation.gnv.state.DefaultState">
             <queryID>verticalprofile_year</queryID>
             <dataname>yearid</dataname>
@@ -141,11 +180,28 @@
                 <inputvalue name="yearid" type="String" multiselect="true" usedinquery="0"/>
             </inputvalues>
         </state>
+
+        <state id="verticalprofile_year_vector" description="verticalprofile_year" state="de.intevation.gnv.state.DefaultState">
+            <queryID>verticalprofile_year_vector</queryID>
+            <dataname>yearid</dataname>
+            <data-multiselect>true</data-multiselect>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"  usedinquery="1"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="yearid" type="String" multiselect="true" usedinquery="0"/>
+            </inputvalues>
+        </state>
         
         <transition transition="de.intevation.gnv.transition.DefaultTransition">
             <from state="verticalprofile_year"/>
             <to state="verticalprofile_date"/>
         </transition>
+
+        <transition transition="de.intevation.gnv.transition.DefaultTransition">
+            <from state="verticalprofile_year_vector"/>
+            <to state="verticalprofile_date_vector"/>
+        </transition>
         
         <state id="verticalprofile_date" description="verticalprofile_date" state="de.intevation.gnv.state.DefaultState">
             <queryID>verticalprofile_date</queryID>
@@ -159,12 +215,30 @@
                 <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="0"/>
             </inputvalues>
         </state>
+
+        <state id="verticalprofile_date_vector" description="verticalprofile_date" state="de.intevation.gnv.state.DefaultState">
+            <queryID>verticalprofile_date_vector</queryID>
+            <dataname>dateid</dataname>
+            <data-multiselect>true</data-multiselect>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"  usedinquery="1"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+                 <inputvalue name="yearid" type="String" multiselect="true" usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="0"/>
+            </inputvalues>
+        </state>
         
         <transition transition="de.intevation.gnv.transition.DefaultTransition">
             <from state="verticalprofile_date"/>
             <to state="verticalprofile_minmaxdepth"/>
         </transition>
-        
+
+        <transition transition="de.intevation.gnv.transition.DefaultTransition">
+            <from state="verticalprofile_date_vector"/>
+            <to state="verticalprofile_minmaxdepth_vector"/>
+        </transition>
+
         <state id="verticalprofile_minmaxdepth" description="verticalprofile_minmaxdepth" state="de.intevation.gnv.state.MinMaxState">
             <queryID>verticalprofile_minmaxdepth</queryID>
             <dataname>depthrange</dataname>
@@ -178,12 +252,31 @@
                 <inputvalue name="maxvalue" type="Double" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </state>
-        
+
+        <state id="verticalprofile_minmaxdepth_vector" description="verticalprofile_minmaxdepth" state="de.intevation.gnv.state.MinMaxState">
+            <queryID>verticalprofile_minmaxdepth_vector</queryID>
+            <dataname>depthrange</dataname>
+            <data-multiselect>true</data-multiselect>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
+                <inputvalue name="minvalue" type="Double" multiselect="false" usedinquery="0"/>
+                <inputvalue name="maxvalue" type="Double" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </state>
+
         <transition transition="de.intevation.gnv.transition.DefaultTransition">
             <from state="verticalprofile_minmaxdepth"/>
             <to state="verticalprofile_calculate_results"/>
         </transition>
-        
+
+        <transition transition="de.intevation.gnv.transition.DefaultTransition">
+            <from state="verticalprofile_minmaxdepth_vector"/>
+            <to state="verticalprofile_calculate_results_vector"/>
+        </transition>
+
         <state id="verticalprofile_calculate_results" description="verticalprofile_calculate_results" state="de.intevation.gnv.state.profile.vertical.VerticalProfileOutputState">
             <queryID>verticalprofile_chart_data</queryID>
             <queryID-odv>verticalprofile_odv_data</queryID-odv>
@@ -231,5 +324,53 @@
                 <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
             </outputsModes>
         </state>
+
+        <state id="verticalprofile_calculate_results_vector" description="verticalprofile_calculate_results" state="de.intevation.gnv.state.profile.vertical.VerticalProfileVectorOutputState">
+            <queryID>verticalprofile_chart_data_vector</queryID>
+            <queryID-odv>verticalprofile_odv_data_vector</queryID-odv>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+                <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="minvalue" type="Double" multiselect="false" usedinquery="1"/>
+                <inputvalue name="maxvalue" type="Double" multiselect="false" usedinquery="1"/>
+            </inputvalues>
+            <value-names>
+                <value-name name="feature" value="featureid"></value-name>
+                <value-name name="parameter" value="parameterid"></value-name>
+                <value-name name="measurement" value="dateid"></value-name>
+            </value-names>
+            <outputsModes>
+                <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                    <parameters>
+                        <inputvalue name="width" type="Integer" value="600"/>
+                        <inputvalue name="height" type="Integer" value="400"/>
+                        <inputvalue name="points" type="Boolean" value="false"/>
+                    </parameters>
+                    <exportModes>
+                       <export name="img" description="IMG-Export der Daten" mime-type="image/png" />
+                       <export name="pdf" description="PDF-Export der Daten" mime-type="application/pdf" />
+                       <export name="svg" description="SVG-Export der Daten" mime-type="image/svg+xml" />
+                    </exportModes>
+                </outputsMode>
+                <outputsMode name="histogram" description="Histogram of the Values" mime-type="image/png">
+                    <parameters>
+                        <inputvalue name="width" type="Integer" value="600"/>
+                        <inputvalue name="height" type="Integer" value="400"/>
+                        <inputvalue name="bincount" type="Integer" value="7"/>
+                        <inputvalue name="binwidth" type="Double" value="7"/>
+                    </parameters>
+                    <exportModes>
+                       <export name="img" description="IMG-Export der Daten" mime-type="image/png" />
+                       <export name="pdf" description="PDF-Export der Daten" mime-type="application/pdf" />
+                       <export name="svg" description="SVG-Export der Daten" mime-type="image/svg+xml" />
+                    </exportModes>
+                </outputsMode>
+                <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+                <outputsMode name="odv" description="ODV-Export der Daten" mime-type="text/plain"/>
+                <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+            </outputsModes>
+        </state>
     </states>
 </artifact>

http://dive4elements.wald.intevation.org