ingo@105: <?xml version="1.0" encoding="UTF-8"?>
ingo@105: <artifact name="winfo">
ingo@105:     <states>
ingo@105: 
ingo@127:         <state id="state.winfo.river" description="state.winfo.river" state="de.intevation.flys.artifacts.states.RiverSelect">
ingo@113:             <data name="river" type="String" />
ingo@105:         </state>
ingo@105: 
ingo@106:         <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
ingo@127:             <from state="state.winfo.river"/>
ingo@127:             <to state="state.winfo.calculation_mode"/>
ingo@105:         </transition>
ingo@105: 
ingo@127:         <state id="state.winfo.calculation_mode" description="state.winfo.calculation_mode" state="de.intevation.flys.artifacts.states.CalculationSelect">
ingo@127:             <data name="calculation_mode"  type="String" />
ingo@105:         </state>
ingo@105: 
ingo@383:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@138:             <from state="state.winfo.calculation_mode"/>
ingo@138:             <to state="state.winfo.location_distance"/>
ingo@383:             <condition data="calculation_mode" value="calc.surface.curve" operator="equal"/>
ingo@138:         </transition>
ingo@138: 
ingo@383:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@383:             <from state="state.winfo.calculation_mode"/>
ingo@383:             <to state="state.winfo.location"/>
ingo@392:             <condition data="calculation_mode" value="calc.discharge.curve" operator="equal"/>
ingo@392:         </transition>
ingo@392: 
ingo@392:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@392:             <from state="state.winfo.calculation_mode"/>
ingo@392:             <to state="state.winfo.location"/>
ingo@383:             <condition data="calculation_mode" value="calc.duration.curve" operator="equal"/>
ingo@383:         </transition>
ingo@383: 
ingo@399:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@399:             <from state="state.winfo.calculation_mode"/>
ingo@399:             <to state="state.winfo.location_distance"/>
ingo@399:             <condition data="calculation_mode" value="calc.discharge.longitudinal.section" operator="equal"/>
ingo@399:         </transition>
ingo@399: 
ingo@383:         <state id="state.winfo.location" description="state.winfo.location" state="de.intevation.flys.artifacts.states.LocationSelect">
ingo@383:             <data name="ld_locations" type="Double[]" />
ingo@383: 
ingo@383:             <outputmodes>
ingo@383:                 <outputmode name="discharge_curve" description="output.discharge_curve" mime-type="image/png">
ingo@383:                     <facets>
sascha@722:                         <facet name="discharge_curve.curve" description="facet.discharge_curve.curve"/>
ingo@383:                     </facets>
ingo@383:                 </outputmode>
sascha@725:                 <!-- TODO: Do we want an error report? -->
ingo@383:             </outputmodes>
ingo@383:         </state>
ingo@383: 
ingo@138:         <state id="state.winfo.location_distance" description="state.winfo.location_distance" state="de.intevation.flys.artifacts.states.LocationDistanceSelect">
ingo@628:             <data name="ld_mode" type="String" />
ingo@628:             <data name="ld_locations" type="Double[]" />
ingo@138:             <data name="ld_from" type="Double" />
ingo@138:             <data name="ld_to" type="Double" />
ingo@138:             <data name="ld_step" type="Double" />
ingo@143: 
ingo@143:             <outputmodes>
ingo@292:                 <outputmode name="discharge_curve" description="output.discharge_curve" mime-type="image/png">
ingo@292:                     <facets>
ingo@292:                         <facet name="discharge_curve.curve" description="facet.discharge_curve.curve"/>
ingo@292:                     </facets>
ingo@292:                 </outputmode>
sascha@725:                 <!-- TODO: Do we want an error report? -->
ingo@143:             </outputmodes>
ingo@138:         </state>
ingo@138: 
ingo@399:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@138:             <from state="state.winfo.location_distance"/>
ingo@138:             <to state="state.winfo.wq"/>
ingo@399:             <condition data="calculation_mode" value="calc.surface.curve" operator="equal"/>
ingo@399:         </transition>
ingo@399: 
ingo@399:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@399:             <from state="state.winfo.location_distance"/>
ingo@399:             <to state="state.winfo.wq_adapted"/>
ingo@399:             <condition data="calculation_mode" value="calc.discharge.longitudinal.section" operator="equal"/>
ingo@138:         </transition>
ingo@138: 
ingo@392:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@383:             <from state="state.winfo.location"/>
ingo@383:             <to state="state.winfo.durationcurve"/>
ingo@392:             <condition data="calculation_mode" value="calc.duration.curve" operator="equal"/>
ingo@392:         </transition>
ingo@392: 
ingo@392:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@392:             <from state="state.winfo.location"/>
ingo@392:             <to state="state.winfo.computeddischargecurve"/>
ingo@392:             <condition data="calculation_mode" value="calc.discharge.curve" operator="equal"/>
ingo@383:         </transition>
ingo@383: 
ingo@138:         <state id="state.winfo.wq" description="state.winfo.wq" state="de.intevation.flys.artifacts.states.WQSelect">
ingo@138:             <data name="wq_mode" type="String" />
ingo@685:             <data name="wq_free" type="Boolean" />
ingo@379:             <data name="wq_selection" type="String" />
ingo@138:             <data name="wq_from" type="Double" />
ingo@138:             <data name="wq_to" type="Double" />
ingo@138:             <data name="wq_step" type="Double" />
ingo@379:             <data name="wq_single" type="Double[]" />
ingo@138:         </state>
ingo@138: 
ingo@399:         <state id="state.winfo.wq_adapted" description="state.winfo.wq_adapted" state="de.intevation.flys.artifacts.states.WQAdapted">
ingo@399:             <!-- TODO Add data objects -->
ingo@399:             <data name="wq_mode" type="String" />
ingo@399:             <data name="wq_values" type="WQTriple" />
ingo@399:         </state>
ingo@399: 
ingo@383:         <state id="state.winfo.durationcurve" description="state.winfo.durationcurve" state="de.intevation.flys.artifacts.states.DurationCurveState">
ingo@383:             <outputmodes>
ingo@383:                 <outputmode name="duration_curve" description="output.duration_curve" mime-type="image/png">
ingo@383:                     <facets>
ingo@383:                         <facet name="duration_curve.w" description="facet.duration_curve.w"/>
ingo@383:                         <facet name="duration_curve.q" description="facet.duration_curve.q"/>
ingo@383:                     </facets>
ingo@383:                 </outputmode>
sascha@712:                 <outputmode name="durationcurve_export" description="output.durationcurve_export" mime-type="text/plain">
ingo@391:                     <facets>
ingo@391:                         <facet name="csv" description="facet.durationcurve_export.csv" />
ingo@391:                     </facets>
ingo@391:                 </outputmode>
sascha@712:                 <outputmode name="durationcurve_report" description="output.durationcurve_report" mime-type="text/xml">
sascha@712:                     <facets>
sascha@712:                         <facet name="report" description="facet.durationcurve_export.report" />
sascha@712:                     </facets>
sascha@712:                 </outputmode>
ingo@383:             </outputmodes>
ingo@383:         </state>
ingo@383: 
ingo@392:         <state id="state.winfo.computeddischargecurve" description="state.winfo.computeddischargecurve" state="de.intevation.flys.artifacts.states.ComputedDischargeCurveState">
ingo@392:             <outputmodes>
ingo@392:                 <outputmode name="computed_discharge_curve" description="output.computed_discharge_curve" mime-type="image/png">
ingo@392:                     <facets>
ingo@392:                         <facet name="computed_discharge_curve.q" description="facet.computed_discharge_curve.q"/>
ingo@392:                     </facets>
ingo@392:                 </outputmode>
ingo@392:                 <outputmode name="computed_dischargecurve_export" description="output.computed_dischargecurve_export" mime-type="text/plain">
ingo@392:                     <facets>
ingo@392:                         <facet name="csv" description="facet.computed_dischargecurve_export.csv" />
ingo@392:                     </facets>
ingo@392:                 </outputmode>
sascha@712:                 <outputmode name="computed_dischargecurve_report" description="output.computed_dischargecurve_report" mime-type="text/xml">
sascha@712:                     <facets>
sascha@712:                         <facet name="report" description="facet.computed_dischargecurve_export.report"/>
sascha@712:                     </facets>
sascha@712:                 </outputmode>
sascha@731:                 <outputmode name="computed_dischargecurve_at_export" description="output.computed_dischargecurve_at_export" mime-type="text/plain">
sascha@731:                     <facets>
sascha@731:                         <facet name="at" description="facet.computed_dischargecurve_export.at"/>
sascha@731:                     </facets>
sascha@731:                 </outputmode>
ingo@392:             </outputmodes>
ingo@392:         </state>
ingo@392: 
ingo@357:         <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition">
ingo@138:             <from state="state.winfo.wq"/>
ingo@357:             <to state="state.winfo.waterlevel"/>
ingo@357:             <condition data="calculation_mode" value="calc.surface.curve" operator="equal"/>
ingo@138:         </transition>
ingo@138: 
ingo@399:         <transition transition="de.intevation.flys.artifacts.transitions.DefaultTransition">
ingo@399:             <from state="state.winfo.wq_adapted"/>
ingo@399:             <to state="state.winfo.discharge_longitudinal_section"/>
ingo@399:         </transition>
ingo@399: 
ingo@357:         <state id="state.winfo.waterlevel" description="state.winfo.waterlevel" state="de.intevation.flys.artifacts.states.WaterlevelState">
ingo@357:             <outputmodes>
ingo@357:                 <outputmode name="longitudinal_section" description="output.longitudinal_section" mime-type="image/png">
ingo@357:                     <facets>
ingo@357:                         <facet name="longitudinal_section.w" description="facet.longitudinal_section.w"/>
ingo@357:                         <facet name="longitudinal_section.q" description="facet.longitudinal_section.q"/>
ingo@357:                     </facets>
ingo@357:                 </outputmode>
ingo@389:                 <outputmode name="waterlevel_export" description="output.waterlevel_export" mime-type="text/plain">
ingo@389:                     <facets>
ingo@391:                         <facet name="csv" description="facet.waterlevel_export.csv" />
ingo@446:                         <facet name="wst" description="facet.waterlevel_export.wst" />
ingo@389:                     </facets>
ingo@389:                 </outputmode>
sascha@712:                 <outputmode name="waterlevel_report" description="output.waterlevel_report" mime-type="text/xml">
sascha@712:                     <facets>
sascha@712:                         <facet name="report" description="facet.waterlevel_export.report"/>
sascha@712:                     </facets>
sascha@712:                 </outputmode>
ingo@357:             </outputmodes>
ingo@138:         </state>
ingo@138: 
ingo@399:         <state id="state.winfo.discharge_longitudinal_section" description="state.winfo.discharge_longitudinal_section" state="de.intevation.flys.artifacts.states.DischargeLongitudinalSection">
ingo@399:             <outputmodes>
ingo@399:                 <outputmode name="discharge_longitudinal_section" description="output.discharge_longitudinal_section" mime-type="image/png">
ingo@399:                     <facets>
ingo@399:                         <facet name="discharge_longitudinal_section.w"/>
ingo@402:                         <facet name="discharge_longitudinal_section.q"/>
ingo@692:                         <facet name="discharge_longitudinal_section.c"/>
ingo@399:                     </facets>
ingo@399:                 </outputmode>
ingo@407:                 <outputmode name="discharge_longitudinal_section_export" description="output.discharge_longitudinal_section_export" mime-type="text/plain">
ingo@407:                     <facets>
ingo@407:                         <facet name="csv" description="facet.discharge_longitudinal_section_export.csv" />
sascha@703:                         <facet name="wst" description="facet.discharge_longitudinal_section_export.wst" />
ingo@407:                     </facets>
ingo@407:                 </outputmode>
sascha@712:                 <outputmode name="discharge_longitudinal_section_report" description="output.discharge_longitudinal_section_report" mime-type="text/xml">
sascha@712:                     <facets>
sascha@712:                         <facet name="report" description="facet.discharge_longitudinal_section_export.report"/>
sascha@712:                     </facets>
sascha@712:                 </outputmode>
ingo@399:             </outputmodes>
ingo@399:         </state>
ingo@399: 
ingo@105:     </states>
ingo@105: </artifact>