view gnv-artifacts/doc/conf/products/timeseries/conf_timeseriespoint.xml @ 1084:81ac8d2f6cb7

Limited the parameterization of timeseries, horizontalprofiles and verticalprofiles so that just a single vector can be selected at the same time. gnv-artifacts/trunk@1186 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 09 Jun 2010 12:54:08 +0000
parents 70653c29fc1d
children
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8"?>
<artifact name="timeSeries">
<!--  This is the Artifact which represents the required Businesslogic to
      collect the required Data for rendering specified OutputFormats
      for TimeSeries on TimeSeriesPoint-Data.
      * Charts
      * Statistics
      * CSV
      * ODV -->
    <states>
        
        <!--  The required statesteps which must be done until rendering
              the OutputFormats. Each state is represented one required 
              Step. One Steps can consume specified InputParameters an after 
              that it can calculate new Data which will be used as possible 
              InputValues in the next state-Step from each state it 
              is only possible to move to those states which are Configured 
              in the rechablestates-Tag  -->
              
         <!-- Description of the state-Attributes:
              * id: The id of the state. This must be unique in one Artifact.
                    It is used to reference the state eg. in 
                    reachablestates.
              * description: A short description which should describe the state
              * state: The Class which must be load to handle the required logic,
                            This class will be load using reflection. -->
        
        <state id="timeseries_mapviewerswitch" description="timeseries_mesh_area_one" state="de.intevation.gnv.state.DefaultAutoResumeState">
            <!-- Empty State which will be used to integrate the switch for a 
                 standalone and an mapviewer based call. -->
            <inputvalues>
                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="0"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>
        
        <transition transition="de.intevation.gnv.transition.PresettingsValueCompareTransition">
            <from state="timeseries_mapviewerswitch"/>
            <to state="timeseries_area"/>
            <condition inputvalue="geometry" value="POLYGON" operator="notequal"/>
        </transition>
        
        <transition transition="de.intevation.gnv.transition.PresettingsValueCompareTransition">
            <from state="timeseries_mapviewerswitch"/>
            <to state="timeseries_with_wkt"/>
            <condition inputvalue="geometry" value="POLYGON" operator="equal"/>
        </transition>
        
        <state id="timeseries_with_wkt" description="timeseries_timeseriespoint" state="de.intevation.gnv.state.PreSettingsTransferState">
            <queryID>timeseries_timeseriespoint_with_wkt</queryID>
            <dataname>featureid</dataname>
            <data-multiselect>false</data-multiselect>
            <presettings-transfer presetting="geometry" inputvalue="wktid"/>
            <inputvalues>
                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="wktid" type="Geometry" multiselect="false" usedinquery="1"/>
                <inputvalue name="featureid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>
        
        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_with_wkt"/>
            <to state="timeseries_vector_scalar"/>
        </transition>
        
        <state id="timeseries_area" description="timeseries_area_one" state="de.intevation.gnv.state.DefaultState">
            
            <!-- The QueryID which identifies the Query which is configured in 
                 the Queries-Properties-File.
                 It is possible to define no Query. 
                 In this case you have to remove this Element from the 
                 Configuration.-->
            <queryID>area_filter</queryID>
            
            <!-- The ID of the Data which will be fetched using this state.
                 The Name must be unique in one Artifact.
                 The Name is used for the localization and must be set into the
                 several PropertiesFiles for the localization.  -->
            <dataname>areaid</dataname>
            
            <!-- This Flag will be used to switch between single and
                 multiselect possibility of the Data which will be fetched 
                 using this state.  -->
            <data-multiselect>false</data-multiselect>
            
            <!-- Optional Flag which can be used to set that is is possible 
                 to select no entry in the Data which will be fetched using
                 this state. -->
            <data-noselect>true</data-noselect>
            
            <inputvalues>
                <!-- At this place it is necessary to configure the Elements
                     which must be feed and can be used in this state.
                     It is possible to set if the Values should be used in 
                     the DatabaseQuery of this state and how often it
                     must be used.
                     The order of the Elements is also the Order of usage setting
                     the Values into the SQL-Query. -->
                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="0"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="areaid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>
        
        <transition transition="de.intevation.gnv.transition.ValueCompareTransition">
            <from state="timeseries_area"/>
            <to state="timeseries_subarea"/>
            <condition inputvalue="areaid" value="n/n" operator="notequal"/>
        </transition>
        <transition transition="de.intevation.gnv.transition.ValueCompareTransition">
            <from state="timeseries_area"/>
            <to state="timeseries_without_geom"/>
            <condition inputvalue="areaid" value="n/n" operator="equal"/>
        </transition>
        
        <state id="timeseries_subarea" description="timeseries_subaera" state="de.intevation.gnv.state.DefaultState">
            <queryID>subarea_filter</queryID>
            <dataname>subareaid</dataname>
            <data-multiselect>false</data-multiselect>
            <inputvalues>
                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="0"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="areaid" type="Integer" multiselect="false" usedinquery="1"/>
                <inputvalue name="subareaid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>
        
        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_subarea"/>
            <to state="timeseries_timeseriespoint"/>
        </transition>
        
        <state id="timeseries_without_geom" description="timeseries_mesh_without_geom" state="de.intevation.gnv.state.DefaultState">
           <queryID>timeseries_timeseriespoint</queryID>
           <dataname>featureid</dataname>
           <data-multiselect>false</data-multiselect>
           <inputvalues>
               <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
               <inputvalue name="featureid" type="Integer" multiselect="false" usedinquery="0"/>
           </inputvalues>
       </state>

       <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_without_geom"/>
            <to state="timeseries_vector_scalar"/>
        </transition>

        <state id="timeseries_timeseriespoint" description="timeseries_timeseriespoint" state="de.intevation.gnv.state.DefaultState">
            <queryID>timeseries_timeseriespoint_with_area</queryID>
            <dataname>featureid</dataname>
            <data-multiselect>false</data-multiselect>
            <inputvalues>
                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="subareaid" type="Integer" multiselect="false" usedinquery="1"/>
                <inputvalue name="featureid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>

        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_timeseriespoint"/>
            <to state="timeseries_vector_scalar"/>
        </transition>

        <state id="timeseries_vector_scalar" description="timeseries_vector_scalar" state="de.intevation.gnv.state.SwitchModeState">
            <dataname>vectorscalar</dataname>
            <data-multiselect>false</data-multiselect>
            <inputvalues>
                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="featureid" type="Integer" multiselect="false" usedinquery="0"/>
                <inputvalue name="vectorscalar" type="String" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>

        <transition transition="de.intevation.gnv.transition.ValueCompareTransition">
            <from state="timeseries_vector_scalar"/>
            <to state="timeseries_parameter"/>
            <condition inputvalue="vectorscalar" value="scalar" operator="equal"/>
        </transition>

        <transition transition="de.intevation.gnv.transition.ValueCompareTransition">
            <from state="timeseries_vector_scalar"/>
            <to state="timeseries_parameter_vector"/>
            <condition inputvalue="vectorscalar" value="vector" operator="equal"/>
        </transition>

        <state id="timeseries_parameter" description="timeseries_parameter" state="de.intevation.gnv.state.DefaultState">
            <queryID>timeseries_parameter</queryID>
            <dataname>parameterid</dataname>
            <presettings-name>parameter</presettings-name>
            <data-multiselect>true</data-multiselect>
            <inputvalues>
                <inputvalue name="featureid" type="Integer" multiselect="false"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="0"/>
            </inputvalues>
        </state>

        <state id="timeseries_parameter_vector" description="timeseries_parameter_vector" state="de.intevation.gnv.state.DefaultState">
            <queryID>timeseries_parameter_vector</queryID>
            <dataname>parameterid</dataname>
            <presettings-name>parameter</presettings-name>
            <data-multiselect>false</data-multiselect>
            <inputvalues>
                <inputvalue name="featureid" type="Integer" multiselect="false"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="parameterid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>

        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_parameter"/>
            <to state="timeseries_depth_height"/>
        </transition>

        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_parameter_vector"/>
            <to state="timeseries_depth_height_vector"/>
        </transition>

         <state id="timeseries_depth_height" description="timeseries_depth_height" state="de.intevation.gnv.state.MeasurementState">
            <queryID>timeseries_depth_height</queryID>
            <dataname>measurementid</dataname>
            <data-multiselect>true</data-multiselect>
            <inputvalues>
                <inputvalue name="featureid" type="Integer" multiselect="false"/>
                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="measurementid" type="Integer" multiselect="true" usedinquery="0"/>
            </inputvalues>
        </state>

        <state id="timeseries_depth_height_vector" description="timeseries_depth_height_vector" state="de.intevation.gnv.state.DefaultState">
            <queryID>timeseries_depth_height_vector</queryID>
            <dataname>measurementid</dataname>
            <data-multiselect>false</data-multiselect>
            <inputvalues>
                <inputvalue name="featureid" type="Integer" multiselect="false"/>
                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="measurementid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>

        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_depth_height"/>
            <to state="timeseries_interval"/>
        </transition>

        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_depth_height_vector"/>
            <to state="timeseries_interval_vector"/>
        </transition>
        
        <state id="timeseries_interval" description="timeseries_interval" state="de.intevation.gnv.state.MinMaxDateState">
            <queryID>timeseries_interval</queryID>
            <dataname>timeinterval</dataname>
            <data-multiselect>false</data-multiselect>
            <inputvalues>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
                <inputvalue name="measurementid" type="Integer" multiselect="true"/>
                <inputvalue name="minvalue" type="Date" multiselect="false" usedinquery="0"/>
                <inputvalue name="maxvalue" type="Date" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>

        <state id="timeseries_interval_vector" description="timeseries_interval_vector" state="de.intevation.gnv.state.MinMaxDateState">
            <queryID>timeseries_interval_vector</queryID>
            <dataname>timeinterval</dataname>
            <data-multiselect>false</data-multiselect>
            <inputvalues>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
                <inputvalue name="measurementid" type="Integer" multiselect="true"/>
                <inputvalue name="minvalue" type="Date" multiselect="false" usedinquery="0"/>
                <inputvalue name="maxvalue" type="Date" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </state>
        
        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_interval"/>
            <to state="timeseries_calculate_results"/>
        </transition>

        <transition transition="de.intevation.gnv.transition.DefaultTransition">
            <from state="timeseries_interval_vector"/>
            <to state="timeseries_calculate_results_vector"/>
        </transition>

        <!--  Last state is the Output-state. At this place the differen OutputModes are configured.
              For each OutputMode it might be necessary to configure separat Databasequery which collect the
              Data. -->
        <state id="timeseries_calculate_results" description="timeseries_interval" state="de.intevation.gnv.state.timeseries.TimeSeriesOutputState">
            <queryID>timeseries_chart_data</queryID>
            <queryID-odv>timeseries_odv_data</queryID-odv>
            <inputvalues>
                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
                <inputvalue name="measurementid" type="Integer" multiselect="true"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="minvalue" type="Date" multiselect="false"/>
                <inputvalue name="maxvalue" type="Date" multiselect="false"/>
            </inputvalues>
            <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>
            <!--  Definition of the TimeGaps which are required to render the Charts properly.
                  each Parameter in each FIS can have   -->
            <time-gap-definition xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/products/timeseries/timegap_definition.xml" />
        </state>

        <state id="timeseries_calculate_results_vector" description="timeseries_results_vector" state="de.intevation.gnv.state.timeseries.TimeSeriesVectorOutputState">
            <queryID>timeseries_chart_data_vector</queryID>
            <queryID-odv>timeseries_odv_data_vector</queryID-odv>
            <inputvalues>
                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
                <inputvalue name="measurementid" type="Integer" multiselect="true"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="minvalue" type="Date" multiselect="false"/>
                <inputvalue name="maxvalue" type="Date" multiselect="false"/>
            </inputvalues>
            <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>
            <!--  Definition of the TimeGaps which are required to render the Charts properly.
                  each Parameter in each FIS can have   -->
            <time-gap-definition xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${artifacts.config.dir}/products/timeseries/timegap_definition.xml" />
        </state>
    </states>
</artifact>

http://dive4elements.wald.intevation.org