changeset 325:3eff9241ea1e

Refactoring of the Transitionmodel. Now each Transition is responsible to allocate the Data which is required to describe or feed it. gnv-artifacts/trunk@390 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Tue, 01 Dec 2009 15:58:02 +0000
parents e6e172a4915e
children 37847d724fc9
files gnv-artifacts/ChangeLog gnv-artifacts/doc/conf/products/horizontalcrosssection/conf_mesh.xml gnv-artifacts/doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml gnv-artifacts/doc/conf/products/horizontalprofile/conf_mesh.xml gnv-artifacts/doc/conf/products/timeseries/conf_mesh.xml gnv-artifacts/doc/conf/products/timeseries/conf_timeseriespoint.xml gnv-artifacts/doc/conf/products/verticalcrosssection/conf_mesh.xml gnv-artifacts/doc/conf/products/verticalprofile/conf_instantaneouspoint.xml gnv-artifacts/doc/conf/products/verticalprofile/conf_mesh.xml gnv-artifacts/doc/conf/products/verticalprofile/conf_timeseriespoint.xml gnv-artifacts/doc/conf/queries.properties gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java gnv-artifacts/src/main/java/de/intevation/gnv/transition/Transition.java gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java
diffstat 18 files changed, 416 insertions(+), 267 deletions(-) [+]
line wrap: on
line diff
--- a/gnv-artifacts/ChangeLog	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/ChangeLog	Tue Dec 01 15:58:02 2009 +0000
@@ -1,3 +1,45 @@
+2009-12-01  Tim Englich  <tim.englich@intevation.de>
+
+    * src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java: 
+      All Data which is required to generate the Charts is now fetched using the 
+      Method getChartResult. The Method advance and initialize now have nothing to do.
+      
+    * src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java (out): 
+      Removed the advance call because all Data which is required to generate the Charts is 
+      fetched using the Method getChartResult.
+    * src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java (initialize): 
+      Use Method instantiate instead of Advance to add the required Data for describe 
+      and feed this Transition.
+      
+    * src/main/java/de/intevation/gnv/transition/TransitionBase.java (initialize),
+      src/main/java/de/intevation/gnv/transition/Transition.java (initialize): 
+      Added new Method Initaialize which will be callcall to Initailize the current 
+      Transition. In this step all Data will be fetched which is required  to Ddescribe and 
+      feed each Transition.
+      Also the AlternativeTransition was removed  because it is not longer required.
+    
+    * src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (advance): 
+      Switched to the usage of the Method initialize instead of Advance while instantiating
+      a new Productartifact, according to the Refactoring work wich is done in the
+      TransitionModel.
+      
+    * src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (initialize): 
+      Added new Function Initialize so that it is possible to Initialize an Artifact
+      without doing this in the Constructor. That is nessessary because some Artifacts need
+      some Metadata (e.g. SourceID) befor it can be initialized.
+      
+    * doc/conf/products/verticalprofile/conf_timeseriespoint.xml, 
+      doc/conf/products/verticalprofile/conf_mesh.xml,
+      doc/conf/products/verticalprofile/conf_instantaneouspoint.xml, 
+      doc/conf/products/verticalcrosssection/conf_mesh.xml,
+      doc/conf/products/timeseries/conf_timeseriespoint.xml,
+      doc/conf/products/timeseries/conf_mesh.xml,
+      doc/conf/products/horizontalprofile/conf_mesh.xml,
+      doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml,
+      doc/conf/products/horizontalcrosssection/conf_mesh.xml:
+      Some Refactoring work done according to the Refactoring Work wich 
+      was done in the Transitionmodel. 
+      
 2009-11-30  Ingo Weinzierl <ingo.weinzierl@intevation.de>
 
 	* src/main/java/de/intevation/gnv/artifacts/ressource/RessourceFactory.java,
--- a/gnv-artifacts/doc/conf/products/horizontalcrosssection/conf_mesh.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/horizontalcrosssection/conf_mesh.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -8,12 +8,15 @@
              <data-noselect>true</data-noselect>
             <reachableTransitions>
                    <transition>horizontalcrosssection_subarea</transition>
+                   <transition>horizontalcrosssection_mesh_without_geom</transition>
             </reachableTransitions>
             <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="0"/>
             </inputvalues>
         </transition>
+        
         <transition id="horizontalcrosssection_subarea" description="horizontalcrosssection_area_one" transition="de.intevation.gnv.transition.DefaultTransition">
             <queryID>subarea_filter</queryID>
             <dataname>subareaid</dataname>
@@ -21,28 +24,15 @@
             <reachableTransitions>
                    <transition>horizontalcrosssection_mesh</transition>
             </reachableTransitions>
-            <alternativeTransition>
-                   <transition id="horizontalcrosssection_mesh" description="horizontalcrosssection_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
-                        <queryID>verticalprofile_mesh</queryID>
-                        <dataname>meshid</dataname>
-                        <data-multiselect>false</data-multiselect>
-                        <reachableTransitions>
-                               <transition>horizontalcrosssection_meshpoint_depth</transition>
-                        </reachableTransitions>
-                        <inputvalues>
-                            <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
-                            <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                        </inputvalues>
-                    </transition>
-            </alternativeTransition>
             <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>
         </transition>
         
-        <transition id="horizontalcrosssection_mesh" description="horizontalcrosssection_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
+        <transition id="horizontalcrosssection_mesh_without_geom" description="horizontalcrosssection_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
             <queryID>verticalprofile_mesh</queryID>
             <dataname>meshid</dataname>
             <data-multiselect>false</data-multiselect>
@@ -53,6 +43,22 @@
                 <inputvalue name="subareaid" type="Integer" multiselect="false" usedinquery="0"/>
                 <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="horizontalcrosssection_mesh" description="horizontalcrosssection_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>verticalprofile_mesh_with_area</queryID>
+            <dataname>meshid</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                   <transition>horizontalcrosssection_meshpoint_depth</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="subareaid" type="Integer" multiselect="false" usedinquery="0"/>
+                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </transition>
         
@@ -64,8 +70,9 @@
                 <transition>horizontalcrosssection_meshpoint_parameter</transition>
             </reachableTransitions>
             <inputvalues>
-                 <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </transition>
 
@@ -80,6 +87,7 @@
                  <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
                  <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="parameterid" type="Integer" multiselect="false" usedinquery="0" />
             </inputvalues>
         </transition>
         
@@ -95,6 +103,7 @@
                <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
                <inputvalue name="parameterid" type="Integer" multiselect="false" usedinquery="1" />
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="dateid" type="Date" multiselect="false" usedinquery="0" />
            </inputvalues>
         </transition>
         
--- a/gnv-artifacts/doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -8,12 +8,15 @@
              <data-noselect>true</data-noselect>
             <reachableTransitions>
                    <transition>horizontalprofile_instantaneouspoint_subarea</transition>
+                   <transition>horizontalprofile_instantaneouspoint_vehicle_without_geom</transition>
             </reachableTransitions>
             <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="0"/>
             </inputvalues>
         </transition>
+        
         <transition id="horizontalprofile_instantaneouspoint_subarea" description="horizontalprofile_instantaneouspoint_subarea" transition="de.intevation.gnv.transition.DefaultTransition">
             <queryID>subarea_filter</queryID>
             <dataname>subareaid</dataname>
@@ -21,24 +24,11 @@
             <reachableTransitions>
                    <transition>horizontalprofile_instantaneouspoint_vehicle</transition>
             </reachableTransitions>
-            <alternativeTransition>
-                <transition id="horizontalprofile_instantaneouspoint_vehicle_without_geom" description="horizontalprofile_instantaneouspoint_vehicle_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>horizontalprofile_instantaneouspoint_vehicle</queryID>
-                    <dataname>vehicleid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>horizontalprofile_instantaneouspoint_cruise</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="sourceid" type="Integer" multiselect="false"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-            </alternativeTransition>
             <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>
        </transition>
         
@@ -54,6 +44,7 @@
                <inputvalue name="sourceid" type="Integer" multiselect="false"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="subareaid" type="Integer" multiselect="false" usedinquery="1"/>
+               <inputvalue name="vehicleid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </transition>
        <transition id="horizontalprofile_instantaneouspoint_cruise_with_area" description="horizontalprofile_instantaneouspoint_cruise_with_area" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -68,6 +59,7 @@
                <inputvalue name="vehicleid" type="Integer" multiselect="false"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
                <inputvalue name="subareaid" type="Integer" multiselect="false" usedinquery="1"/>
+               <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
            </inputvalues>
        </transition>
        <transition id="horizontalprofile_instantaneouspoint_track_with_area" description="horizontalprofile_instantaneouspoint_track_with_area" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -81,10 +73,25 @@
                <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="1" />
                <inputvalue name="subareaid" type="Integer" multiselect="false" usedinquery="1"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="trackid" type="Integer" multiselect="false" usedinquery="0" />
            </inputvalues>
        </transition>
        <!-- Ende Sonderfall Ablaufsteuerung mit Anwendung des Gebietsfilters  -->
        
+       <transition id="horizontalprofile_instantaneouspoint_vehicle_without_geom" description="horizontalprofile_instantaneouspoint_vehicle_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>horizontalprofile_instantaneouspoint_vehicle</queryID>
+           <dataname>vehicleid</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+               <transition>horizontalprofile_instantaneouspoint_cruise</transition>
+           </reachableTransitions>
+           <inputvalues>
+               <inputvalue name="sourceid" type="Integer" multiselect="false"/>
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="vehicleid" type="Integer" multiselect="false"  usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       
        <transition id="horizontalprofile_instantaneouspoint_cruise" description="horizontalprofile_instantaneouspoint_cruise" transition="de.intevation.gnv.transition.DefaultTransition">
            <queryID>horizontalprofile_instantaneouspoint_cruise</queryID>
            <dataname>cruiseid</dataname>
@@ -96,6 +103,7 @@
                <inputvalue name="vehicleid" type="Integer" multiselect="false"/>
                <inputvalue name="sourceid" type="Integer" multiselect="false"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
            </inputvalues>
        </transition>
        <transition id="horizontalprofile_instantaneouspoint_track" description="horizontalprofile_instantaneouspoint_track" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -108,6 +116,7 @@
            <inputvalues>
                <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="1" />
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="trackid" type="Integer" multiselect="false" usedinquery="0" />
            </inputvalues>
        </transition>
        <transition id="horizontalprofile_instantaneouspoint_surveyinfo" description="horizontalprofile_instantaneouspoint_surveyinfo" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -121,6 +130,7 @@
                <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
                <inputvalue name="trackid" type="Integer" multiselect="false" usedinquery="1" />
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="surveyid" type="Integer" multiselect="false" usedinquery="0" />
            </inputvalues>
        </transition>
        <transition id="horizontalprofile_instantaneouspoint_parameter" description="horizontalprofile_instantaneouspoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -135,6 +145,7 @@
                <inputvalue name="trackid" type="Integer" multiselect="false" usedinquery="0" />
                <inputvalue name="surveyid" 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>
        </transition>
        <transition id="horizontalprofile_instantaneouspoint_depth" description="horizontalprofile_instantaneouspoint_depth" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -150,6 +161,7 @@
                <inputvalue name="surveyid" type="Integer" multiselect="false" usedinquery="1" />
                <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="0" />
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="measurementid" type="Double" multiselect="true" usedinquery="0" />
            </inputvalues>
        </transition>
        <transition id="horizontalprofile_instantaneouspoint_calculate_results" description="horizontalprofile_instantaneouspoint_calculate_results" transition="de.intevation.gnv.transition.profile.horizontal.HorizontalProfileOutputTransition">
--- a/gnv-artifacts/doc/conf/products/horizontalprofile/conf_mesh.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/horizontalprofile/conf_mesh.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -8,10 +8,12 @@
                 <data-noselect>true</data-noselect>
                <reachableTransitions>
                       <transition>horizontalprofile_mesh_subarea</transition>
+                      <transition>horizontalprofile_mesh_without_geom</transition>
                </reachableTransitions>
                <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="0"/>
                </inputvalues>
           </transition>
           <transition id="horizontalprofile_mesh_subarea" description="horizontalprofile_mesh_subaera" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -21,27 +23,29 @@
                <reachableTransitions>
                       <transition>horizontalprofile_mesh</transition>
                </reachableTransitions>
-               <alternativeTransition>
-                   <transition id="horizontalprofile_mesh_without_geom" description="horizontalprofile_mesh_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
-                       <queryID>verticalprofile_mesh</queryID>
-                       <dataname>meshid</dataname>
-                       <data-multiselect>false</data-multiselect>
-                       <reachableTransitions>
-                              <transition>horizontalprofile_mesh_coordinate</transition>
-                       </reachableTransitions>
-                       <inputvalues>
-                           <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
-                           <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                       </inputvalues>
-                   </transition>
-               </alternativeTransition>
                <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>
          </transition>
-    <transition id="horizontalprofile_mesh" description="horizontalprofile_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
+         
+         <transition id="horizontalprofile_mesh_without_geom" description="horizontalprofile_mesh_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
+              <queryID>verticalprofile_mesh</queryID>
+              <dataname>meshid</dataname>
+              <data-multiselect>false</data-multiselect>
+              <reachableTransitions>
+                     <transition>horizontalprofile_mesh_coordinate</transition>
+              </reachableTransitions>
+              <inputvalues>
+                  <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
+                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                  <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="0"/>
+              </inputvalues>
+          </transition>
+          
+        <transition id="horizontalprofile_mesh" description="horizontalprofile_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
            <queryID>verticalprofile_mesh_with_area</queryID>
            <dataname>meshid</dataname>
            <data-multiselect>false</data-multiselect>
@@ -52,6 +56,7 @@
                <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="meshid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </transition>
        
@@ -64,6 +69,7 @@
            <inputvalues>
                 <inputvalue name="meshid" type="Integer" multiselect="false"/>
                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </transition>
        
@@ -78,6 +84,7 @@
                 <inputvalue name="meshid" type="Integer" multiselect="false"/>
                 <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </transition>
         <transition id="horizontalprofile_mesh_axis" description="horizontalprofile_mesh_point" transition="de.intevation.gnv.transition.profile.horizontal.NorthSouthEastWestTransition">
@@ -90,6 +97,7 @@
                 <inputvalue name="meshid" type="Integer" multiselect="false"/>
                 <inputvalue name="mesh_point" type="Integer" multiselect="false"/>
                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </transition>
        <transition id="horizontalprofile_meshpoint_parameter" description="horizontalprofile_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -104,6 +112,7 @@
                 <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
                 <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="0"/>
                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true" useinquery="0"/>
            </inputvalues>
        </transition>
        
@@ -121,6 +130,7 @@
                 <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="0"/>
                 <inputvalue name="parameterid" type="Integer" multiselect="true" useinquery="0"/>
                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="depthid" type="Integer" multiselect="true"  usedinquery="0"/>
            </inputvalues>
        </transition>
        
@@ -138,6 +148,7 @@
                <inputvalue name="parameterid" type="Integer" multiselect="true"  usedinquery="1"/>
                <inputvalue name="depthid" type="Integer" multiselect="true"  usedinquery="0"/>
                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+               <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="0"/>
            </inputvalues>
        </transition>
        
--- a/gnv-artifacts/doc/conf/products/timeseries/conf_mesh.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/timeseries/conf_mesh.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -8,10 +8,12 @@
              <data-noselect>true</data-noselect>
             <reachableTransitions>
                    <transition>timeseries_mesh_subarea</transition>
+                   <transition>timeseries_mesh_without_geom</transition>
             </reachableTransitions>
             <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="0"/>
             </inputvalues>
         </transition>
         <transition id="timeseries_mesh_subarea" description="timeseries_mesh_subaera" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -21,26 +23,28 @@
             <reachableTransitions>
                    <transition>timeseries_mesh</transition>
             </reachableTransitions>
-            <alternativeTransition>
-                <transition id="timeseries_mesh_without_geom" description="timeseries_mesh_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_mesh</queryID>
-                    <dataname>meshid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>timeseries_mesh_coordinate</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-            </alternativeTransition>
             <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="1"/>
             </inputvalues>
         </transition>
+        
+         <transition id="timeseries_mesh_without_geom" description="timeseries_mesh_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
+             <queryID>verticalprofile_mesh</queryID>
+             <dataname>meshid</dataname>
+             <data-multiselect>false</data-multiselect>
+             <reachableTransitions>
+                    <transition>timeseries_mesh_coordinate</transition>
+             </reachableTransitions>
+             <inputvalues>
+                 <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
+                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="0"/>
+             </inputvalues>
+         </transition>
+                
         <transition id="timeseries_mesh" description="timeseries_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
             <queryID>verticalprofile_mesh_with_area</queryID>
             <dataname>meshid</dataname>
@@ -52,6 +56,7 @@
                 <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="meshid" type="Integer" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </transition>
         
@@ -62,7 +67,8 @@
                    <transition>timeseries_meshpoint</transition>
             </reachableTransitions>
             <inputvalues>
-                 <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false" usedinquery="0"/>
                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </transition>
@@ -78,6 +84,7 @@
                  <inputvalue name="meshid" type="Integer" multiselect="false"/>
                  <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false" usedinquery="1"/>
                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </transition>
         
@@ -92,6 +99,7 @@
                  <inputvalue name="meshid" type="Integer" multiselect="false"/>
                  <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="2"/>
                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </transition>
 
@@ -107,6 +115,7 @@
                  <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
                  <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="parameterid" type="Integer" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </transition>
         
@@ -123,6 +132,8 @@
                  <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="0"/>
                  <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
                  <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+                  <inputvalue name="minvalue" type="Date" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="maxvalue" type="Date" multiselect="false" usedinquery="0"/>
             </inputvalues>
         </transition>
         
--- a/gnv-artifacts/doc/conf/products/timeseries/conf_timeseriespoint.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/timeseries/conf_timeseriespoint.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -57,6 +57,7 @@
                         The User / calling program can choose which Transition 
                         he/it wants to use next  -->
                    <transition>timeseries_subarea</transition>
+                   <transition>timeseries_without_geom</transition>
             </reachableTransitions>
             
             <inputvalues>
@@ -69,6 +70,7 @@
                      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>
         </transition>
         
@@ -79,29 +81,29 @@
             <reachableTransitions>
                    <transition>timeseries_timeseriespoint</transition>
             </reachableTransitions>
-            <alternativeTransition>
-                <!-- It is possible  to configure an alternative Transition which 
-                     will be used if the feed put the Information that no Data 
-                     was selected. -->
-                <transition id="timeseries_without_geom" description="timeseries_mesh_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>timeseries_timeseriespoint</queryID>
-                    <dataname>featureid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>timeseries_parameter</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-            </alternativeTransition>
+
             <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>
         </transition>
+        
+        <transition id="timeseries_without_geom" description="timeseries_mesh_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>timeseries_timeseriespoint</queryID>
+           <dataname>featureid</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+                  <transition>timeseries_parameter</transition>
+           </reachableTransitions>
+           <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>
+       </transition>
+        
         <transition id="timeseries_timeseriespoint" description="timeseries_timeseriespoint" transition="de.intevation.gnv.transition.DefaultTransition">
             <queryID>timeseries_timeseriespoint_with_area</queryID>
             <dataname>featureid</dataname>
@@ -113,6 +115,7 @@
                 <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>
         </transition>
         
@@ -126,6 +129,7 @@
             <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>
         </transition>           
         
@@ -140,6 +144,7 @@
                 <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>
         </transition>
         
@@ -154,6 +159,8 @@
                 <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>
         </transition>
         
--- a/gnv-artifacts/doc/conf/products/verticalcrosssection/conf_mesh.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalcrosssection/conf_mesh.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -8,10 +8,12 @@
                 <data-noselect>true</data-noselect>
                <reachableTransitions>
                       <transition>verticalcrosssection_mesh_subarea</transition>
+                      <transition>verticalcrosssection_mesh_without_geom</transition>
                </reachableTransitions>
                <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="0"/>
                </inputvalues>
           </transition>
           <transition id="verticalcrosssection_mesh_subarea" description="verticalcrosssection_mesh_area_one" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -21,26 +23,28 @@
                <reachableTransitions>
                       <transition>verticalcrosssection_mesh</transition>
                </reachableTransitions>
-               <alternativeTransition>
-                      <transition id="verticalcrosssection_mesh_without_geom" description="verticalcrosssection_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
-                           <queryID>verticalprofile_mesh</queryID>
-                           <dataname>meshid</dataname>
-                           <data-multiselect>false</data-multiselect>
-                           <reachableTransitions>
-                                  <transition>verticalcrosssection_mesh_coordinate</transition>
-                           </reachableTransitions>
-                           <inputvalues>
-                               <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
-                               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                           </inputvalues>
-                       </transition>
-               </alternativeTransition>
                <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>
          </transition>
+         
+         <transition id="verticalcrosssection_mesh_without_geom" description="verticalcrosssection_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
+              <queryID>verticalprofile_mesh</queryID>
+              <dataname>meshid</dataname>
+              <data-multiselect>false</data-multiselect>
+              <reachableTransitions>
+                     <transition>verticalcrosssection_mesh_coordinate</transition>
+              </reachableTransitions>
+              <inputvalues>
+                  <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
+                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                   <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="0"/>
+              </inputvalues>
+          </transition>
+         
          <transition id="verticalcrosssection_mesh" description="verticalcrosssection_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
              <queryID>verticalprofile_mesh_with_area</queryID>
              <dataname>meshid</dataname>
@@ -52,6 +56,7 @@
                  <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="meshid" type="Integer" multiselect="false" usedinquery="0"/>
              </inputvalues>
          </transition>
          
@@ -62,8 +67,9 @@
                     <transition>verticalcrosssection_mesh_point</transition>
              </reachableTransitions>
              <inputvalues>
-                  <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                  <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
                   <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                  <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false" usedinquery="0"/>
              </inputvalues>
          </transition>
          
@@ -75,9 +81,10 @@
                  <transition>verticalcrosssection_mesh_axis</transition>
              </reachableTransitions>
              <inputvalues>
-                  <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                  <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
+                  <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                  <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false" usedinquery="1"/>
                   <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                  <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
              </inputvalues>
          </transition>
           <transition id="verticalcrosssection_mesh_axis" description="verticalcrosssection_mesh_axis" transition="de.intevation.gnv.transition.profile.horizontal.NorthSouthEastWestTransition">
@@ -87,9 +94,10 @@
                  <transition>verticalcrosssection_mesh_parameter</transition>
              </reachableTransitions>
              <inputvalues>
-                  <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                  <inputvalue name="mesh_point" type="Integer" multiselect="false"/>
+                  <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                  <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="1"/>
                   <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                  <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="0"/>
              </inputvalues>
          </transition>
          <transition id="verticalcrosssection_mesh_parameter" description="verticalcrosssection_mesh_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -104,6 +112,7 @@
                   <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
                   <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="0"/>
                   <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                  <inputvalue name="parameterid" type="Integer" multiselect="true"  usedinquery="0"/>
              </inputvalues>
          </transition>
          
@@ -121,6 +130,7 @@
                  <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="0"/>
                  <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="0"/>
              </inputvalues>
          </transition>
          
--- a/gnv-artifacts/doc/conf/products/verticalprofile/conf_instantaneouspoint.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalprofile/conf_instantaneouspoint.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -9,8 +9,9 @@
              <transition>verticalprofile_instantaneouspoint_point</transition>
          </reachableTransitions>
          <inputvalues>
-             <inputvalue name="sourceid" type="Integer" multiselect="false"/>
+             <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+              <inputvalue name="seriesid" type="Integer" multiselect="false" usedinquery="0"/>
          </inputvalues>
      </transition>
      <transition id="verticalprofile_instantaneouspoint_point" description="verticalprofile_instantaneouspoint_point" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
@@ -21,9 +22,10 @@
              <transition>verticalprofile_instantaneouspoint_parameter</transition>
          </reachableTransitions>
          <inputvalues>
-              <inputvalue name="seriesid" type="Integer" multiselect="false"/>
-               <inputvalue name="sourceid" type="Integer" multiselect="false"/>
-                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+              <inputvalue name="seriesid" type="Integer" multiselect="false" usedinquery="1"/>
+              <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
+              <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+              <inputvalue name="instantaneouspoint_point" type="Integer" multiselect="false" usedinquery="0"/>
          </inputvalues>
      </transition>
      <transition id="verticalprofile_instantaneouspoint_parameter" description="verticalprofile_instantaneouspoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -36,7 +38,8 @@
          <inputvalues>
               <inputvalue name="seriesid" type="Integer" multiselect="false" usedinquery="0" />
               <inputvalue name="instantaneouspoint_point" type="Integer" multiselect="false" usedinquery="1"/>
-               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+              <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+              <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="0"/>
          </inputvalues>
      </transition>
      <transition id="verticalprofile_instantaneouspoint_minmaxdepth" description="verticalprofile_instantaneouspoint_minmaxdepth" transition="de.intevation.gnv.transition.MinMaxTransition">
@@ -51,6 +54,8 @@
               <inputvalue name="instantaneouspoint_point" type="Integer" multiselect="false" usedinquery="1"/>
               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
               <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+              <inputvalue name="minvalue" type="Double" multiselect="false" usedinquery="0"/>
+              <inputvalue name="maxvalue" type="Double" multiselect="false" usedinquery="0"/>
          </inputvalues>
      </transition>
      <transition id="verticalprofile_instantaneouspoint_calculate_results" description="verticalprofile_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.vertical.VerticalProfileOutputTransition">
--- a/gnv-artifacts/doc/conf/products/verticalprofile/conf_mesh.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalprofile/conf_mesh.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -8,10 +8,12 @@
             <data-noselect>true</data-noselect>
            <reachableTransitions>
                   <transition>verticalprofile_mesh_subarea</transition>
+                  <transition>verticalprofile_mesh_without_geom</transition>
            </reachableTransitions>
            <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="0"/>
            </inputvalues>
        </transition>
        <transition id="verticalprofile_mesh_subarea" description="verticalprofile_mesh_subaera" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -21,26 +23,28 @@
            <reachableTransitions>
                   <transition>verticalprofile_mesh</transition>
            </reachableTransitions>
-           <alternativeTransition>
-               <transition id="verticalprofile_mesh_without_geom" description="timeseries_mesh_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
-                   <queryID>verticalprofile_mesh</queryID>
-                   <dataname>meshid</dataname>
-                   <data-multiselect>false</data-multiselect>
-                   <reachableTransitions>
-                          <transition>verticalprofile_mesh_coordinate</transition>
-                   </reachableTransitions>
-                   <inputvalues>
-                       <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
-                       <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                   </inputvalues>
-               </transition>
-           </alternativeTransition>
            <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>
        </transition>
+       
+        <transition id="verticalprofile_mesh_without_geom" description="timeseries_mesh_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>verticalprofile_mesh</queryID>
+            <dataname>meshid</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                   <transition>verticalprofile_mesh_coordinate</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+               
        <transition id="verticalprofile_mesh" description="verticalprofile_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
            <queryID>verticalprofile_mesh_with_area</queryID>
            <dataname>meshid</dataname>
@@ -52,6 +56,7 @@
                <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="meshid" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </transition>
        
@@ -62,8 +67,9 @@
                   <transition>verticalprofile_mesh_point</transition>
            </reachableTransitions>
            <inputvalues>
-                <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </transition>
        
@@ -75,9 +81,10 @@
                <transition>verticalprofile_mesh_mindepth</transition>
            </reachableTransitions>
            <inputvalues>
-                <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false" usedinquery="1"/>
                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
            </inputvalues>
        </transition>
        
@@ -92,6 +99,7 @@
                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
                 <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="0"/>
             </inputvalues>
         </transition>
         
@@ -107,6 +115,7 @@
                 <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="0"/>
             </inputvalues>
         </transition>
        <transition id="verticalprofile_meshpoint_parameter" description="verticalprofile_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
@@ -122,6 +131,7 @@
                 <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>
        </transition>
        
@@ -139,6 +149,7 @@
                <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="dateid" type="Date" multiselect="true" usedinquery="0"/>
            </inputvalues>
        </transition>
        
--- a/gnv-artifacts/doc/conf/products/verticalprofile/conf_timeseriespoint.xml	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalprofile/conf_timeseriespoint.xml	Tue Dec 01 15:58:02 2009 +0000
@@ -8,12 +8,15 @@
              <data-noselect>true</data-noselect>
             <reachableTransitions>
                    <transition>verticalprofile_subarea</transition>
+                   <transition>verticalprofile_without_geom</transition>
             </reachableTransitions>
             <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="0"/>
             </inputvalues>
         </transition>
+        
         <transition id="verticalprofile_subarea" description="verticalprofile_subaera" transition="de.intevation.gnv.transition.DefaultTransition">
             <queryID>subarea_filter</queryID>
             <dataname>subareaid</dataname>
@@ -21,26 +24,28 @@
             <reachableTransitions>
                    <transition>verticalprofile_timeseriespoint</transition>
             </reachableTransitions>
-            <alternativeTransition>
-                <transition id="verticalprofile_without_geom" description="verticalprofile_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_point</queryID>
-                    <dataname>featureid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>verticalprofile_parameter</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="sourceid" type="Integer" multiselect="false" usedinquery="1"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-            </alternativeTransition>
             <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>
         </transition>
+        
+        <transition id="verticalprofile_without_geom" description="verticalprofile_without_geom" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>verticalprofile_point</queryID>
+            <dataname>featureid</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                   <transition>verticalprofile_parameter</transition>
+            </reachableTransitions>
+            <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>
+        </transition>
+        
         <transition id="verticalprofile_timeseriespoint" description="timeseries_timeseriespoint" transition="de.intevation.gnv.transition.DefaultTransition">
             <queryID>timeseries_timeseriespoint_with_area</queryID>
             <dataname>featureid</dataname>
@@ -49,9 +54,10 @@
                 <transition>verticalprofile_parameter</transition>
             </reachableTransitions>
             <inputvalues>
-                <inputvalue name="sourceid" type="Integer" multiselect="false"/>
+                <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>
         </transition>
         
@@ -63,8 +69,9 @@
                 <transition>verticalprofile_date</transition>
             </reachableTransitions>
             <inputvalues>
-                <inputvalue name="featureid" type="Integer" multiselect="false"/>
+                <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>
         </transition>
         
@@ -76,9 +83,10 @@
                  <transition>verticalprofile_minmaxdepth</transition>
             </reachableTransitions>
             <inputvalues>
-                <inputvalue name="featureid" type="Integer" multiselect="false"/>
-                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
+                <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="0"/>
             </inputvalues>
         </transition>
         
@@ -90,10 +98,12 @@
                  <transition>verticalprofile_calculate_results</transition>
             </reachableTransitions>
             <inputvalues>
-                <inputvalue name="featureid" type="Integer" multiselect="false"/>
-                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
+                <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="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>
         </transition>
         
@@ -101,12 +111,12 @@
             <queryID>verticalprofile_chart_data</queryID>
             <queryID-odv>verticalprofile_odv_data</queryID-odv>
             <inputvalues>
-                <inputvalue name="featureid" type="Integer" multiselect="false"/>
-                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
-                <inputvalue name="dateid" type="Date" multiselect="true" />
+                <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"/>
+                <inputvalue name="maxvalue" type="Double" multiselect="false" usedinquery="1"/>
             </inputvalues>
             <value-names>
                 <value-name name="feature" value="featureid"></value-name>
--- a/gnv-artifacts/doc/conf/queries.properties	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/doc/conf/queries.properties	Tue Dec 01 15:58:02 2009 +0000
@@ -493,6 +493,24 @@
           M.SOURCEID= ? \
     ORDER BY S.DESCRIPTION
     
+verticalprofile_instantaneouspoint_series_with_area = SELECT \
+        S.SERIESID KEY, \
+        S.DESCRIPTION VALUE \
+    FROM MEDIAN.INSTANTANEOUSPOINT, \
+         MEDIAN.SERIES S, \
+         MEDIAN.MEASUREMENT M \
+    WHERE S.SERIESID = MEDIAN.INSTANTANEOUSPOINT.SERIESID AND \
+          MEDIAN.INSTANTANEOUSPOINT.POINTSPEC = 4 AND \
+          MEDIAN.INSTANTANEOUSPOINT.FEATUREID = M.FEATUREID AND \
+          M.SOURCEID= ? AND \
+          INTERSECTS(SHAPE, \
+                     (SELECT st_astext(SHAPE) \
+                      FROM MEDIAN.FEATUREAREA \
+                      WHERE (FEATURETYPE = 7 OR FEATURETYPE = 8) AND \
+                             FEATURECODE = ? )\
+                     ) \
+    ORDER BY S.DESCRIPTION
+    
 verticalprofile_instantaneouspoint_point = SELECT \
         MEDIAN.INSTANTANEOUSPOINT.FEATUREID, \
         to_char(MEDIAN.INSTANTANEOUSPOINT.TIMEVALUE,'DD.MM.YYYY HH24:MI') VALUE, \
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Tue Dec 01 15:58:02 2009 +0000
@@ -109,6 +109,10 @@
                                               super.identifier);
                         // 3. Umschalten auf neue Transistion
                         this.current = nextStep;
+                        
+                        // 4. Initialisieren des nächsten Schrittes == Laden der Daten
+                        this.current.initialize(super.identifier, context.getMeta());
+                        
                         result = new ArtifactXMLUtilities()
                                 .createSuccessReport("Advance success",
                                         XMLUtils.newDocument());
@@ -138,6 +142,22 @@
         }
         return result;
     }
+    
+    
+    public Document initialize (CallContext context) {
+        Document result = XMLUtils.newDocument();
+        try {
+            this.current.initialize(super.identifier, context.getMeta());
+            result = new ArtifactXMLUtilities()
+            .createSuccessReport("Initialize success",
+                    XMLUtils.newDocument());
+        } catch (TransitionException e) {
+            log.error(e,e);
+            result = new ArtifactXMLUtilities().createExceptionReport(e
+                    .getLocalizedMessage(), XMLUtils.newDocument());
+        }
+        return result;
+    }
 
     protected String readTransitionName(Document document) {
         String returnValue = Config.getStringXPath(document,
@@ -235,6 +255,8 @@
 
         }
     }
+    
+    
 
     protected Document createDescibeOutput(CallMeta callMeta, String uuid, boolean incudeUI) {
         log.debug("GNVArtifactBase.createDescibeOutput");
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java	Tue Dec 01 15:58:02 2009 +0000
@@ -91,33 +91,14 @@
                         "action/hash/@value");
                 this.productArtifact = this.current.getArtifactFactory()
                         .createArtifact(uuid, context);
+                
                 Document feedDocument = xmlUtilities.reInitDocument(this
                         .createFeedProductArtifactDocument(uuid, hash));
                 log.debug("Feed ==> "
                           + this.xmlUtilities
                                   .writeDocument2String(feedDocument));
-                Document descibeDocument = xmlUtilities
-                        .reInitDocument(this.
-                                        productArtifact.
-                                        describe(xmlUtilities.
-                                                 reInitDocument(this.
-                                                 createDescribeRequestBody(uuid, 
-                                                                           hash, 
-                                                                           false)),
-                                                 context));
-                log.debug("Descibe ==> "
-                          + this.xmlUtilities
-                                  .writeDocument2String(descibeDocument));
                 this.productArtifact.feed(feedDocument, context);
-                String targetName = Config.getStringXPath(descibeDocument,
-                        "result/reachable-states/state/@name");
-                Document advanceDocument = xmlUtilities.reInitDocument(this
-                        .createAdvanceProductArtifactDocument(uuid, hash,
-                                targetName));
-                log.debug("Advance ==> "
-                          + this.xmlUtilities
-                                  .writeDocument2String(advanceDocument));
-                result = this.productArtifact.advance(advanceDocument, context);
+                result = ((GNVArtifactBase)this.productArtifact).initialize(context);
             } else {
                 String msg = "Artifact is not configured properly. Call feed first.";
                 log.error(msg);
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java	Tue Dec 01 15:58:02 2009 +0000
@@ -9,6 +9,7 @@
 
 
 import org.apache.log4j.Logger;
+import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -116,10 +117,16 @@
     @Override
     public void advance(String uuid, CallMeta callMeta)
                                                        throws TransitionException {
-        log.debug("OutputTransitionBase.advance");
-        if (this.getChartResult(uuid) == null) {
-            super.advance(uuid, callMeta);
-        }
+    }
+
+    @Override
+    public void initialize(String uuid, CallMeta callMeta)
+                                                          throws TransitionException {
+    }
+
+    public void out(Document format, Collection<InputData> inputData,
+                    OutputStream outputStream, String uuid, CallMeta callMeta)
+                                                                              throws TransitionException {
     }
 
     /**
@@ -135,15 +142,22 @@
      */
     protected Collection<Result> getChartResult(String uuid) {
         log.debug("OutputTransitionBase.getChartResult");
+        Collection<Result> result = null;
         if (CacheFactory.getInstance().isInitialized()) {
             String key = uuid + super.getID();
             log.debug("Hash for Queryelements: " + key);
             net.sf.ehcache.Element value = CacheFactory.getInstance().getCache().get(key);
             if (value != null) {
-                return (Collection<Result>) (value.getObjectValue());
+                result = (Collection<Result>) (value.getObjectValue());
+            }else{
+                result = this.getData(this.queryID);
+                if (CacheFactory.getInstance().isInitialized()) {
+                    CacheFactory.getInstance().getCache().put(new net.sf.ehcache.Element(key, result));
+                }
+                
             }
         }
-        return null;
+        return result;
     }
 
     protected Object getChartFromCache(String uuid) {
@@ -165,22 +179,32 @@
         // TODO add Caching? I think it's not nessessary
         Collection<Result> returnValue = null;
         if (this.queryODVID != null){
+            returnValue = this.getData(this.queryODVID);
+        }else{
+            log.warn("No Query for ODV Data is defined.");
+        }
+        return returnValue;
+    }
+
+    /**
+     * @param returnValue
+     * @return
+     */
+    private Collection<Result> getData(String queryID) {
+        log.debug("OutputTransitionBase.getData");
+        Collection<Result> returnValue = null;
+        try {
+            String[] filterValues = this.generateFilterValuesFromInputData();
             try {
-                String[] filterValues = this.generateFilterValuesFromInputData();
-                try {
-                    QueryExecutor queryExecutor = QueryExecutorFactory
-                                                  .getInstance()
-                                                  .getQueryExecutor();
-                    returnValue  = queryExecutor.executeQuery(this.queryODVID,
-                                                              filterValues);
-                } catch (RuntimeException e) {
-                    log.error(e, e);
-                }
-            } catch (QueryException e) {
+                QueryExecutor queryExecutor = QueryExecutorFactory
+                                              .getInstance()
+                                              .getQueryExecutor();
+                returnValue  = queryExecutor.executeQuery(queryID,filterValues);
+            } catch (RuntimeException e) {
                 log.error(e, e);
             }
-        }else{
-            log.warn("No Query for ODV Data is defined.");
+        } catch (QueryException e) {
+            log.error(e, e);
         }
         return returnValue;
     }
@@ -209,21 +233,6 @@
         }
     }
 
-    /**
-     * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection,
-     *      java.lang.String)
-     */
-    @Override
-    protected void purifyResult(Collection<Result> result, String uuid) {
-        log.debug("OutputTransitionBase.purifyResult");
-        if (CacheFactory.getInstance().isInitialized()) {
-            String key = uuid + super.getID();
-            log.debug("Hash for Queryelements: " + key);
-            CacheFactory.getInstance().getCache().put(new net.sf.ehcache.Element(key, result));
-        }
-    }
-
-
     protected void purifyChart(Object chart, String uuid) {
         log.debug("Prufify chart [" + uuid + "]");
         CacheFactory cacheFactory = CacheFactory.getInstance();
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/Transition.java	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/Transition.java	Tue Dec 01 15:58:02 2009 +0000
@@ -28,7 +28,8 @@
 
     public String getDescription();
 
-    public void describe(Document document, Node rootNode, CallMeta callMeta, String uuid);
+    public void describe(Document document, Node rootNode, 
+                         CallMeta callMeta, String uuid);
 
     public void setParent(Transition transition);
 
@@ -37,12 +38,14 @@
     public Collection<InputValue> getRequiredInputValues();
 
     public void putInputData(Collection<InputData> inputData, 
-                             String uuid)
-                                         throws TransitionException;
+                             String uuid)throws TransitionException;
 
     public Collection<InputData> getInputData() throws TransitionException;
 
     public void advance(String uuid, CallMeta callMeta)
-                                                       throws TransitionException;
+                                                    throws TransitionException;
+    public void initialize(String uuid, CallMeta callMeta)
+                                                    throws TransitionException;
+    
 
 }
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java	Tue Dec 01 15:58:02 2009 +0000
@@ -46,6 +46,8 @@
  */
 public abstract class TransitionBase implements Transition {
 
+    
+
     /**
      * The UID of this Class
      */
@@ -76,8 +78,6 @@
     protected String queryID = null;
 
     private Collection<String> reachableTransitions = null;
-    
-    private Transition alternativeTransition = null;
 
     protected Collection<String> inputValueNames = null;
 
@@ -115,7 +115,14 @@
     public Collection<String> reachableTransitions() {
         
         if (this.couldAlternativeTransitionUsed()){
-            return this.alternativeTransition.reachableTransitions();
+            Iterator<String> it = this.reachableTransitions.iterator();
+            String transValue = null;
+            while (it.hasNext()){
+                transValue = it.next();
+            }
+            Collection<String> returnValue = new ArrayList<String>(1);
+            returnValue.add(transValue);
+            return returnValue;
         }else{
             return this.reachableTransitions;
         }
@@ -127,9 +134,8 @@
      */
     private boolean couldAlternativeTransitionUsed() {
      // TODO das muss hier noch etwas freier gestaltet werden.
-        Object[] inputValues = this.inputValueNames.toArray();
-        String key = (String)inputValues[inputValues.length-1];
-        boolean returnValue= this.alternativeTransition != null && 
+        String key = this.dataName;
+        boolean returnValue= /*this.alternativeTransition != null &&*/ 
                             this.inputData != null &&
                             this.inputData.containsKey(key) && 
                             this.inputData.get(key).getValue().
@@ -163,12 +169,6 @@
 
         }
         
-        Node alternativeTransitionNode = Config.getNodeXPath(configuration,
-                                                     "alternativeTransition/transition");
-        if (alternativeTransitionNode != null){
-            this.alternativeTransition = TransitionFactory.getInstance()
-                                        .createTransition(alternativeTransitionNode);
-        }
         NodeList inputValuesNodes = Config.getNodeSetXPath(configuration,
                 "inputvalues/inputvalue");
         this.inputValues = new HashMap<String, InputValue>(inputValuesNodes
@@ -396,16 +396,12 @@
     public boolean isTransitionReachable(String transitionID) {
         log.debug("TransitionBase.isTransitionReachable");
         boolean returnValue = false;
-        if (this.couldAlternativeTransitionUsed()){
-            return alternativeTransition.isTransitionReachable(transitionID);
-        }else{
-            Iterator<String> transitions = reachableTransitions.iterator();
-            while (transitions.hasNext()) {
-                if (transitions.next().equals(transitionID)) {
-                    log.debug("Transition " + transitionID + " wird unterstützt.");
-                    returnValue = true;
-                    break;
-                }
+        Iterator<String> transitions = reachableTransitions.iterator();
+        while (transitions.hasNext()) {
+            if (transitions.next().equals(transitionID)) {
+                log.debug("Transition " + transitionID + " wird unterstützt.");
+                returnValue = true;
+                break;
             }
         }
         return returnValue;
@@ -416,34 +412,30 @@
      *      de.intevation.artifacts.CallMeta)
      */
     public void advance(String uuid, CallMeta callMeta)
-                                                       throws TransitionException {
-        log.debug("TransitionBase.advance");
-        
-        if (this.couldAlternativeTransitionUsed()){
-            this.alternativeTransition.setParent(this.getParent());
-            this.alternativeTransition.putInputData(this.inputData != null ? 
-                                                    this.inputData.values() : 
-                                                    null,uuid);
-            this.alternativeTransition.advance(uuid, callMeta);
-        }else{
+                                                   throws TransitionException {
+    }
+    
+    public void initialize(String uuid, CallMeta callMeta)
+                                                   throws TransitionException {
+        log.debug("TransitionBase.initialize");
+        try {
+            String[] filterValues = this
+                    .generateFilterValuesFromInputData();
+            Collection<Result> result = null;
             try {
-                String[] filterValues = this.generateFilterValuesFromInputData();
-                Collection<Result> result = null;
-                try {
-                    if (this.queryID != null) {
-                        QueryExecutor queryExecutor = QueryExecutorFactory
-                                .getInstance().getQueryExecutor();
-                        result = queryExecutor.executeQuery(this.queryID,
-                                filterValues);
-                    }
-                    this.purifyResult(result, uuid);
-                } catch (RuntimeException e) {
-                    log.error(e, e);
+                if (this.queryID != null) {
+                    QueryExecutor queryExecutor = QueryExecutorFactory
+                            .getInstance().getQueryExecutor();
+                    result = queryExecutor.executeQuery(this.queryID,
+                            filterValues);
                 }
-            } catch (QueryException e) {
+                this.purifyResult(result, uuid);
+            } catch (RuntimeException e) {
                 log.error(e, e);
-                throw new TransitionException(e);
             }
+        } catch (QueryException e) {
+            log.error(e, e);
+            throw new TransitionException(e);
         }
     }
 
@@ -647,7 +639,7 @@
                     selectNode.appendChild(lableNode);
                     selectNode.appendChild(choiceNode);
 
-                    if (!it.hasNext()) {
+                    if (!it.hasNext() && this.dataName != null) {
                         dynamic.appendChild(selectNode);
                     } else {
                         staticNode.appendChild(selectNode);
@@ -714,7 +706,7 @@
                     groupNode.appendChild(inputMinNode);
                     groupNode.appendChild(inputMaxNode);
                     
-                    if (!it.hasNext()) {
+                    if (!it.hasNext() && this.dataName != null) {
                         dynamic.appendChild(groupNode);
                     } else {
                         staticNode.appendChild(groupNode);
@@ -750,7 +742,7 @@
                     inputNode.appendChild(inputValueNode);
 
                     groupNode.appendChild(inputNode);
-                    if (!it.hasNext()) {
+                    if (!it.hasNext() && this.dataName != null) {
                         dynamic.appendChild(groupNode);
                     } else {
                         staticNode.appendChild(groupNode);
@@ -792,10 +784,6 @@
      * @see de.intevation.gnv.transition.Transition#getInputData()
      */
     public Collection<InputData> getInputData() throws TransitionException {
-        if (this.couldAlternativeTransitionUsed()){
-            return this.alternativeTransition.getInputData();
-        }else{
-            return this.inputData != null ? this.inputData.values() : null;
-        }
+        return this.inputData != null ? this.inputData.values() : null;
     }
 }
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/horizontal/NorthSouthEastWestTransition.java	Tue Dec 01 15:58:02 2009 +0000
@@ -22,6 +22,7 @@
  */
 public class NorthSouthEastWestTransition extends TransitionBase {
 
+    
     /**
      * The UID of this Class
      */
@@ -34,12 +35,18 @@
     }
 
     /**
-     * @see de.intevation.gnv.transition.TransitionBase#advance(java.lang.String,
-     *      de.intevation.artifacts.CallMeta)
+     * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection, java.lang.String)
      */
     @Override
-    public void advance(String uuid, CallMeta callMeta)
-                                                       throws TransitionException {
+    protected void purifyResult(Collection<Result> result, String uuid) {
+    }
+    
+    /**
+     * @see de.intevation.gnv.transition.TransitionBase#initialize(java.lang.String, de.intevation.artifacts.CallMeta)
+     */
+    @Override
+    public void initialize(String uuid, CallMeta callMeta)
+                                                          throws TransitionException {
         Collection<Object> describeData = this.getDescibeData(uuid);
         if (describeData == null) {
             describeData = new ArrayList<Object>();
@@ -56,9 +63,5 @@
         describeData.add(keyValueDescibeData);
     }
 
-    @Override
-    protected void purifyResult(Collection<Result> result, String uuid) {
-
-    }
 
 }
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java	Tue Dec 01 15:58:02 2009 +0000
@@ -190,9 +190,6 @@
         );
 
         try {
-
-            this.advance(uuid, callMeta); // TODO This hsould only be done if it is nessessary
-
             if (outputMode.equalsIgnoreCase("chart")) {
                 log.debug("Chart will be generated.");
                 int chartWidth = 600;

http://dive4elements.wald.intevation.org