changeset 204:734ac082c8d1

Split the Configuration File in several small Documents to speed up the Artifactinstantiation and also make the administration of the Artifactdatabase easier. issue40 and issue59 gnv-artifacts/trunk@259 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Thu, 22 Oct 2009 08:50:21 +0000
parents 226091ed3cbd
children 6e7952fd1744
files gnv-artifacts/ChangeLog gnv-artifacts/doc/conf/conf.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/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/TransitionBase.java gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionFactory.java
diffstat 15 files changed, 878 insertions(+), 835 deletions(-) [+]
line wrap: on
line diff
--- a/gnv-artifacts/ChangeLog	Wed Oct 21 11:10:28 2009 +0000
+++ b/gnv-artifacts/ChangeLog	Thu Oct 22 08:50:21 2009 +0000
@@ -1,3 +1,23 @@
+2009-10-22  Tim Englich  <tim.englich@intevation.de>
+
+	* doc/conf/conf.xml,
+	  doc/conf/products/**/conf_*.xml:
+	  Split the Configuration of the ArtifactDatabase in several Configurationfiles.
+	  For Each Product-Artifact one single File to make it easier to administer the System.  
+	* src/main/java/de/intevation/gnv/transition/TransitionFactory.java (createTransition),
+	  src/main/java/de/intevation/gnv/transition/TransitionBase.java (setup),
+	  src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java (setup),
+	  src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java (setup): 
+	  Lookup of XML-Attributes was changed from XPath-lookup to direct 
+      Access on the fetched Element to speed up the Artifactinstantiation issue40
+	* src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java (getConfigurationFragment): 
+	  Read Configurationinformations for the Productartifact from a separat folder if an xlink:href
+	  Attribute exists in tne Configurationnode of the Artifact.
+	  This was inserted to speed up the Artifactinstantiation and to split the Configuration
+	  in several Configurationfiles that where smallaer issue40
+	  Also the lookup of XML-Attributes was changed from XPath-lookup to direct 
+	  Access on the fetched Element
+
 2009-10-21  Tim Englich  <tim.englich@intevation.de>
 
 	* doc/conf/conf.xml: 
--- a/gnv-artifacts/doc/conf/conf.xml	Wed Oct 21 11:10:28 2009 +0000
+++ b/gnv-artifacts/doc/conf/conf.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -250,800 +250,19 @@
                 </product>
             </products>
         </artifact>
-        <artifact name="timeSeriesMesh">
-            <transitions>
-                
-                <transition id="timeseries_mesh" description="timeseries_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>timeseries_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>
-                
-                <transition id="timeseries_mesh_coordinate" description="timeseries_mesh_coordinate" transition="de.intevation.gnv.transition.SingleInputTransition">
-                    <dataname>mesh_coordinate</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>timeseries_meshpoint</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="timeseries_meshpoint" description="timeseries_meshpoint" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
-                    <queryID>timeseries_meshpoint</queryID>
-                    <dataname>mesh_point</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>timeseries_meshpoint_depth</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <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"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="timeseries_meshpoint_depth" description="timeseries_meshpoint_depth" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>timeseries_meshpoint_depth</queryID>
-                    <dataname>depthid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                        <transition>timeseries_meshpoint_parameter</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <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"/>
-                    </inputvalues>
-                </transition>
-
-                <transition id="timeseries_meshpoint_parameter" description="timeseries_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>timeseries_mesh_parameter</queryID>
-                    <dataname>parameterid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                        <transition>timeseries_meshpoint_interval</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                         <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"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="timeseries_meshpoint_interval" description="timeseries_interval" transition="de.intevation.gnv.transition.MinMaxTransition">
-                    <queryID>timeseries_mesh_interval</queryID>
-                    <dataname>timeinterval</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>timeseries_meshpoint_calculate_results</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                         <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                         <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"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="timeseries_meshpoint_calculate_results" description="timeseries_interval" transition="de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition">
-                    <queryID>timeseries_mesh_chart_data</queryID>
-                    <inputvalues>
-                        <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                         <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="1"/>
-                         <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
-                         <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="1"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                         <inputvalue name="minvalue" type="Date" multiselect="false" usedinquery="1"/>
-                         <inputvalue name="maxvalue" type="Date" multiselect="false" usedinquery="1"/>
-                         
-                    </inputvalues>
-                      <value-names>
-                        <value-name name="feature" value="mesh_point"></value-name>
-                        <value-name name="parameter" value="parameterid"></value-name>
-                        <value-name name="measurement" value="depthid"></value-name>
-                    </value-names>
-                    <outputsModes>
-                        <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
-                            <parameters>
-                                <inputvalue name="width" type="Integer" value="600"/>
-                                <inputvalue name="height" type="Integer" value="400"/>
-                            </parameters>
-                        </outputsMode>
-                        <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
-                        <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
-                    </outputsModes>
-                </transition>
-                
-            </transitions>
-        </artifact>
         
         
-        <artifact name="timeSeries">
-            <transitions>
-                <transition id="timeseries_timeseriespoint" description="timeseries_timeseriespoint" 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"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="timeseries_parameter" description="timeseries_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>timeseries_parameter</queryID>
-                    <dataname>parameterid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                        <transition>timeseries_depth_height</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="featureid" type="Integer" multiselect="false"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>           
-                
-                 <transition id="timeseries_depth_height" description="timeseries_depth_height" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>timeseries_depth_height</queryID>
-                    <dataname>measurementid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                         <transition>timeseries_interval</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="featureid" type="Integer" multiselect="false"/>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="timeseries_interval" description="timeseries_interval" transition="de.intevation.gnv.transition.MinMaxTransition">
-                    <queryID>timeseries_interval</queryID>
-                    <dataname>timeinterval</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>timeseries_calculate_results</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true"/>
-                        <inputvalue name="measurementid" type="Integer" multiselect="true"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="timeseries_calculate_results" description="timeseries_interval" transition="de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition">
-                    <queryID>timeseries_chart_data</queryID>
-                    <inputvalues>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true"/>
-                        <inputvalue name="measurementid" type="Integer" multiselect="true"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                        <inputvalue name="minvalue" type="Date" multiselect="false"/>
-                        <inputvalue name="maxvalue" type="Date" multiselect="false"/>
-                    </inputvalues>
-                    <outputsModes>
-                        <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
-                            <parameters>
-                                <inputvalue name="width" type="Integer" value="600"/>
-                                <inputvalue name="height" type="Integer" value="400"/>
-                            </parameters>
-                        </outputsMode>
-                        <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
-                        <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
-                    </outputsModes>
-                </transition>
-                
-            </transitions>
-        </artifact>
-        
-        <artifact name="verticalProfile">
-            <transitions>
-                <transition id="verticalprofile_timeseriespoint" description="timeseries_timeseriespoint" 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"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalprofile_parameter" description="timeseries_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_parameter</queryID>
-                    <dataname>parameterid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalprofile_date</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="featureid" type="Integer" multiselect="false"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalprofile_date" description="verticalprofile_date" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_date</queryID>
-                    <dataname>dateid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                         <transition>verticalprofile_calculate_results</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="featureid" type="Integer" multiselect="false"/>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalprofile_calculate_results" description="verticalprofile_calculate_results" transition="de.intevation.gnv.transition.profile.vertical.VerticalProfileOutputTransition">
-                    <queryID>verticalprofile_chart_data</queryID>
-                    <inputvalues>
-                        <inputvalue name="featureid" type="Integer" multiselect="false"/>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true"/>
-                        <inputvalue name="dateid" type="Date" multiselect="true" />
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                    <value-names>
-                        <value-name name="feature" value="featureid"></value-name>
-                        <value-name name="parameter" value="parameterid"></value-name>
-                        <value-name name="measurement" value="dateid"></value-name>
-                    </value-names>
-                    <outputsModes>
-                        <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
-                            <parameters>
-                                <inputvalue name="width" type="Integer" value="600"/>
-                                <inputvalue name="height" type="Integer" value="400"/>
-                            </parameters>
-                        </outputsMode>
-                        <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
-                        <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
-                    </outputsModes>
-                </transition>
-            </transitions>
-        </artifact>
+        <artifact name="timeSeries" xlink:href="${artifacts.config.dir}/products/timeseries/conf_timeseriespoint.xml" />
+        <artifact name="timeSeriesMesh" xlink:href="${artifacts.config.dir}/products/timeseries/conf_mesh.xml" />
         
-         <artifact name="verticalProfileMesh">
-            <transitions>
-             <transition id="verticalprofile_mesh" description="verticalprofile_mesh" 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>
-                
-                <transition id="verticalprofile_mesh_coordinate" description="verticalprofile_mesh_coordinate" transition="de.intevation.gnv.transition.SingleInputTransition">
-                    <dataname>mesh_coordinate</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>verticalprofile_mesh_point</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalprofile_mesh_point" description="verticalprofile_mesh_point" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
-                    <queryID>verticalprofile_mesh_point</queryID>
-                    <dataname>mesh_point</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalprofile_meshpoint_parameter</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalprofile_meshpoint_parameter" description="verticalprofile_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_mesh_parameter</queryID>
-                    <dataname>parameterid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalprofile_mesh_date</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                         <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalprofile_mesh_date" description="verticalprofile_mesh_date" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_mesh_date</queryID>
-                    <dataname>dateid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                         <transition>verticalprofile_mesh_calculate_results</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                        <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1" />
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalprofile_mesh_calculate_results" description="verticalprofile_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.vertical.VerticalProfileOutputTransition">
-                    <queryID>verticalprofile_mesh_chart_data</queryID>
-                    <inputvalues>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
-                        <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
-                        <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="2"/>
-                        <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="2"/> 
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                    <value-names>
-                        <value-name name="feature" value="mesh_point"></value-name>
-                        <value-name name="parameter" value="parameterid"></value-name>
-                        <value-name name="measurement" value="dateid"></value-name>
-                    </value-names>
-                    <outputsModes>
-                        <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
-                            <parameters>
-                                <inputvalue name="width" type="Integer" value="600"/>
-                                <inputvalue name="height" type="Integer" value="400"/>
-                            </parameters>
-                        </outputsMode>
-                        <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
-                        <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
-                    </outputsModes>
-                </transition>
-            </transitions>
-         </artifact>
-         
-          <artifact name="verticalProfileInstantaneousPoint">
-            <transitions>
-                <transition id="verticalprofile_instantaneouspoint_series" description="verticalprofile_instantaneouspoint_series" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_instantaneouspoint_series</queryID>
-                    <dataname>seriesid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalprofile_instantaneouspoint_point</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="sourceid" type="Integer" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                <transition id="verticalprofile_instantaneouspoint_point" description="verticalprofile_instantaneouspoint_point" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_instantaneouspoint_point</queryID>
-                    <dataname>instantaneouspoint_point</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalprofile_instantaneouspoint_parameter</transition>v
-                    </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"/>
-                    </inputvalues>
-                </transition>
-                 <transition id="verticalprofile_instantaneouspoint_parameter" description="verticalprofile_instantaneouspoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_instantaneouspoint_parameter</queryID>
-                    <dataname>parameterid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalprofile_instantaneouspoint_calculate_results</transition>
-                    </reachableTransitions>
-                    <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"/>
-                    </inputvalues>
-                </transition>
-                <transition id="verticalprofile_instantaneouspoint_calculate_results" description="verticalprofile_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.vertical.VerticalProfileOutputTransition">
-                    <queryID>verticalprofile_instantaneouspoint_chart_data</queryID>
-                    <inputvalues>
-                        <inputvalue name="seriesid" type="Integer" multiselect="false" usedinquery="0" />
-                        <inputvalue name="instantaneouspoint_point" type="Integer" multiselect="false" usedinquery="1"/>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                    <value-names>
-                        <value-name name="feature" value="instantaneouspoint_point"></value-name>
-                        <value-name name="parameter" value="parameterid"></value-name>
-                        <value-name name="measurement" value="dateid"></value-name>
-                    </value-names>
-                    <outputsModes>
-                        <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
-                            <parameters>
-                                <inputvalue name="width" type="Integer" value="600"/>
-                                <inputvalue name="height" type="Integer" value="400"/>
-                            </parameters>
-                        </outputsMode>
-                        <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
-                        <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
-                    </outputsModes>
-                </transition>
-            </transitions>
-           </artifact>
-           
-           <artifact name="horizontalProfileInstantaneousPoint">
-            <transitions>
-                <transition id="horizontalprofile_instantaneouspoint_vehicle" description="horizontalprofile_instantaneouspoint_vehicle" 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>
-                <transition id="horizontalprofile_instantaneouspoint_cruise" description="horizontalprofile_instantaneouspoint_cruise" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>horizontalprofile_instantaneouspoint_cruise</queryID>
-                    <dataname>cruiseid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>horizontalprofile_instantaneouspoint_track</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="vehicleid" type="Integer" multiselect="false"/>
-                        <inputvalue name="sourceid" type="Integer" multiselect="false"/>
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                <transition id="horizontalprofile_instantaneouspoint_track" description="horizontalprofile_instantaneouspoint_track" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>horizontalprofile_instantaneouspoint_track</queryID>
-                    <dataname>trackid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>horizontalprofile_instantaneouspoint_surveyinfo</transition>
-                    </reachableTransitions>Eisklimatologie
-                    <inputvalues>
-                        <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="1" />
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                <transition id="horizontalprofile_instantaneouspoint_surveyinfo" description="horizontalprofile_instantaneouspoint_surveyinfo" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>horizontalprofile_instantaneouspoint_surveyinfo</queryID>
-                    <dataname>surveyid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>horizontalprofile_instantaneouspoint_parameter</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <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"/>
-                    </inputvalues>
-                </transition>
-                <transition id="horizontalprofile_instantaneouspoint_parameter" description="horizontalprofile_instantaneouspoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>horizontalprofile_instantaneouspoint_parameter</queryID>
-                    <dataname>parameterid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                           <transition>horizontalprofile_instantaneouspoint_depth</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
-                        <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"/>
-                    </inputvalues>
-                </transition>
-                <transition id="horizontalprofile_instantaneouspoint_depth" description="horizontalprofile_instantaneouspoint_depth" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>horizontalprofile_instantaneouspoint_depth</queryID>
-                    <dataname>measurementid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                           <transition>horizontalprofile_instantaneouspoint_calculate_results</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
-                        <inputvalue name="trackid" type="Integer" multiselect="false" usedinquery="0" />
-                        <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"/>
-                    </inputvalues>
-                </transition>
-                <transition id="horizontalprofile_instantaneouspoint_calculate_results" description="horizontalprofile_instantaneouspoint_calculate_results" transition="de.intevation.gnv.transition.profile.horizontal.HorizontalProfileOutputTransition">
-                    <queryID>horizontalprofile_instantaneouspoint_chart_data</queryID>
-                    <inputvalues>
-                        <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
-                        <inputvalue name="trackid" type="Integer" multiselect="false" usedinquery="0" />
-                        <inputvalue name="surveyid" type="Integer" multiselect="false" usedinquery="1" />
-                        <inputvalue name="measurementid" type="Double" multiselect="true" usedinquery="1" />
-                        <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1" />
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                    <value-names>
-                        <value-name name="feature" value="trackid"></value-name>
-                        <value-name name="parameter" value="parameterid"></value-name>
-                        <value-name name="measurement" value="measurementid"></value-name>
-                    </value-names>
-                    <outputsModes>
-                        <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
-                            <parameters>
-                                <inputvalue name="width" type="Integer" value="600"/>
-                                <inputvalue name="height" type="Integer" value="400"/>
-                            </parameters>
-                        </outputsMode>
-                        <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
-                        <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
-                    </outputsModes>
-                </transition>
-            </transitions>
-           </artifact>
-           
-           <artifact name="horizontalProfileMesh">
-            <transitions>
-             <transition id="horizontalprofile_mesh" description="horizontalprofile_mesh" 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>
-                
-                <transition id="horizontalprofile_mesh_coordinate" description="horizontalprofile_mesh_coordinate" transition="de.intevation.gnv.transition.SingleInputTransition">
-                    <dataname>mesh_coordinate</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>horizontalprofile_mesh_point</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="horizontalprofile_mesh_point" description="horizontalprofile_mesh_point" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
-                    <queryID>verticalprofile_mesh_point</queryID>
-                    <dataname>mesh_point</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>horizontalprofile_mesh_axis</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                 <transition id="horizontalprofile_mesh_axis" description="horizontalprofile_mesh_point" transition="de.intevation.gnv.transition.profile.horizontal.NorthSouthEastWestTransition">
-                   <dataname>axisid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>horizontalprofile_meshpoint_parameter</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="mesh_point" type="Integer" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                <transition id="horizontalprofile_meshpoint_parameter" description="horizontalprofile_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_mesh_parameter</queryID>
-                    <dataname>parameterid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                        <transition>horizontalprofile_meshpoint_depth</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                         <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"/>
-                    </inputvalues>
-                </transition>
-                
-                
-                 <transition id="horizontalprofile_meshpoint_depth" description="horizontalprofile_meshpoint_depth" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>horizontalprofile_meshpoint_depth</queryID>
-                    <dataname>depthid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                        <transition>horizontalprofile_mesh_date</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                         <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="2"/>
-                         <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"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="horizontalprofile_mesh_date" description="horizontalprofile_mesh_date" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_mesh_date</queryID>
-                    <dataname>dateid</dataname>
-                    <data-multiselect>true</data-multiselect>
-                    <reachableTransitions>
-                         <transition>horizontalprofile_mesh_calculate_results</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                        <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
-                        <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="0"/>
-                        <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"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="horizontalprofile_mesh_calculate_results" description="horizontalprofile_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.horizontal.HorizontalProfileOutputTransition">
-                    <queryID>horizontalprofile_mesh_chart_data</queryID>
-                    <inputvalues>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
-                        <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
-                        <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="2"/>
-                        <inputvalue name="depthid" type="Integer" multiselect="true"  usedinquery="1"/>
-                        <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="2"/>
-                        <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="1"/> 
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                    <value-names>
-                        <value-name name="feature" value="mesh_point"></value-name>
-                        <value-name name="parameter" value="parameterid"></value-name>
-                        <value-name name="measurement" value="depthid"></value-name>
-                    </value-names>
-                    <outputsModes>
-                        <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
-                            <parameters>
-                                <inputvalue name="width" type="Integer" value="600"/>
-                                <inputvalue name="height" type="Integer" value="400"/>
-                            </parameters>
-                        </outputsMode>
-                        <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
-                        <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
-                    </outputsModes>
-                </transition>
-             </transitions>
-          </artifact>
-          <artifact name="verticalCrossSectionMesh">
-            <transitions>
-                <transition id="verticalcrosssection_mesh" 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>
-                
-                <transition id="verticalcrosssection_mesh_coordinate" description="verticalcrosssection_mesh_coordinate" transition="de.intevation.gnv.transition.SingleInputTransition">
-                    <dataname>mesh_coordinate</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                           <transition>verticalcrosssection_mesh_point</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalcrosssection_mesh_point" description="verticalcrosssection_mesh__point" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
-                    <queryID>verticalprofile_mesh_point</queryID>
-                    <dataname>mesh_point</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalcrosssection_mesh_axis</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                 <transition id="verticalcrosssection_mesh_axis" description="verticalcrosssection_mesh_axis" transition="de.intevation.gnv.transition.profile.horizontal.NorthSouthEastWestTransition">
-                   <dataname>axisid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalcrosssection_mesh_parameter</transition>v
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false"/>
-                         <inputvalue name="mesh_point" type="Integer" multiselect="false"/>
-                         <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                </transition>
-                <transition id="verticalcrosssection_mesh_parameter" description="verticalcrosssection_mesh_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalprofile_mesh_parameter</queryID>
-                    <dataname>parameterid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                        <transition>verticalcrosssection_mesh_date</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                         <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                         <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"/>
-                    </inputvalues>
-                </transition>
-                
-                
-                <transition id="verticalcrosssection_mesh_date" description="verticalcrosssection_mesh_date" transition="de.intevation.gnv.transition.DefaultTransition">
-                    <queryID>verticalcrosssection_mesh_date</queryID>
-                    <dataname>dateid</dataname>
-                    <data-multiselect>false</data-multiselect>
-                    <reachableTransitions>
-                         <transition>verticalcrosssection_mesh_calculate_results</transition>
-                    </reachableTransitions>
-                    <inputvalues>
-                        <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
-                        <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
-                        <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"/>
-                    </inputvalues>
-                </transition>
-                
-                <transition id="verticalcrosssection_mesh_calculate_results" description="verticalcrosssection_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.verticalcrosssection.VerticalCrossSectionOutputTransition">
-                    <queryID>verticalcrosssection_mesh_chart_data</queryID>
-                    <inputvalues>
-                        <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
-                        <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
-                        <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="2"/>
-                        <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="2"/>
-                        <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="1"/> 
-                        <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
-                    </inputvalues>
-                    <value-names>
-                        <value-name name="feature" value="mesh_point"></value-name>
-                        <value-name name="parameter" value="parameterid"></value-name>
-                        <value-name name="measurement" value="depthid"></value-name>
-                    </value-names>
-                    <outputsModes>
-                        <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
-                            <parameters>
-                                <inputvalue name="width" type="Integer" value="600"/>
-                                <inputvalue name="height" type="Integer" value="400"/>
-                            </parameters>
-                        </outputsMode>
-                        <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
-                        <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
-                    </outputsModes>
-                </transition>
-                
-                
-                
-            </transitions>
-         </artifact>
-           
-           
-           
-           
-           
+        <artifact name="verticalProfile" xlink:href="${artifacts.config.dir}/products/verticalprofile/conf_timeseriespoint.xml" />
+        <artifact name="verticalProfileMesh" xlink:href="${artifacts.config.dir}/products/verticalprofile/conf_mesh.xml" />
+        <artifact name="verticalProfileInstantaneousPoint" xlink:href="${artifacts.config.dir}/products/verticalprofile/conf_instantaneouspoint.xml" />
+        
+        <artifact name="horizontalProfileMesh" xlink:href="${artifacts.config.dir}/products/horizontalprofile/conf_mesh.xml" />
+        <artifact name="horizontalProfileInstantaneousPoint" xlink:href="${artifacts.config.dir}/products/horizontalprofile/conf_instantaneouspoint.xml" />
+        
+        <artifact name="verticalCrossSectionMesh" xlink:href="${artifacts.config.dir}/products/verticalcrosssection/conf_mesh.xml" />
     </artifacts>
     <ehcache>
         <configuration>${artifacts.config.dir}/ehcache.xml</configuration>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/horizontalprofile/conf_instantaneouspoint.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="horizontalProfileInstantaneousPoint">
+   <transitions>
+       <transition id="horizontalprofile_instantaneouspoint_vehicle" description="horizontalprofile_instantaneouspoint_vehicle" 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>
+       <transition id="horizontalprofile_instantaneouspoint_cruise" description="horizontalprofile_instantaneouspoint_cruise" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>horizontalprofile_instantaneouspoint_cruise</queryID>
+           <dataname>cruiseid</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+                  <transition>horizontalprofile_instantaneouspoint_track</transition>
+           </reachableTransitions>
+           <inputvalues>
+               <inputvalue name="vehicleid" type="Integer" multiselect="false"/>
+               <inputvalue name="sourceid" type="Integer" multiselect="false"/>
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       <transition id="horizontalprofile_instantaneouspoint_track" description="horizontalprofile_instantaneouspoint_track" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>horizontalprofile_instantaneouspoint_track</queryID>
+           <dataname>trackid</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+                  <transition>horizontalprofile_instantaneouspoint_surveyinfo</transition>
+           </reachableTransitions>Eisklimatologie
+           <inputvalues>
+               <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="1" />
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       <transition id="horizontalprofile_instantaneouspoint_surveyinfo" description="horizontalprofile_instantaneouspoint_surveyinfo" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>horizontalprofile_instantaneouspoint_surveyinfo</queryID>
+           <dataname>surveyid</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+                  <transition>horizontalprofile_instantaneouspoint_parameter</transition>
+           </reachableTransitions>
+           <inputvalues>
+               <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"/>
+           </inputvalues>
+       </transition>
+       <transition id="horizontalprofile_instantaneouspoint_parameter" description="horizontalprofile_instantaneouspoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>horizontalprofile_instantaneouspoint_parameter</queryID>
+           <dataname>parameterid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <reachableTransitions>
+                  <transition>horizontalprofile_instantaneouspoint_depth</transition>
+           </reachableTransitions>
+           <inputvalues>
+               <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
+               <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"/>
+           </inputvalues>
+       </transition>
+       <transition id="horizontalprofile_instantaneouspoint_depth" description="horizontalprofile_instantaneouspoint_depth" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>horizontalprofile_instantaneouspoint_depth</queryID>
+           <dataname>measurementid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <reachableTransitions>
+                  <transition>horizontalprofile_instantaneouspoint_calculate_results</transition>
+           </reachableTransitions>
+           <inputvalues>
+               <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
+               <inputvalue name="trackid" type="Integer" multiselect="false" usedinquery="0" />
+               <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"/>
+           </inputvalues>
+       </transition>
+       <transition id="horizontalprofile_instantaneouspoint_calculate_results" description="horizontalprofile_instantaneouspoint_calculate_results" transition="de.intevation.gnv.transition.profile.horizontal.HorizontalProfileOutputTransition">
+           <queryID>horizontalprofile_instantaneouspoint_chart_data</queryID>
+           <inputvalues>
+               <inputvalue name="cruiseid" type="Integer" multiselect="false" usedinquery="0" />
+               <inputvalue name="trackid" type="Integer" multiselect="false" usedinquery="0" />
+               <inputvalue name="surveyid" type="Integer" multiselect="false" usedinquery="1" />
+               <inputvalue name="measurementid" type="Double" multiselect="true" usedinquery="1" />
+               <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1" />
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+           <value-names>
+               <value-name name="feature" value="trackid"></value-name>
+               <value-name name="parameter" value="parameterid"></value-name>
+               <value-name name="measurement" value="measurementid"></value-name>
+           </value-names>
+           <outputsModes>
+               <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                   <parameters>
+                       <inputvalue name="width" type="Integer" value="600"/>
+                       <inputvalue name="height" type="Integer" value="400"/>
+                   </parameters>
+               </outputsMode>
+               <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+               <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+           </outputsModes>
+       </transition>
+   </transitions>
+</artifact>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/horizontalprofile/conf_mesh.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="horizontalProfileMesh">
+  <transitions>
+    <transition id="horizontalprofile_mesh" description="horizontalprofile_mesh" 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>
+       
+       <transition id="horizontalprofile_mesh_coordinate" description="horizontalprofile_mesh_coordinate" transition="de.intevation.gnv.transition.SingleInputTransition">
+           <dataname>mesh_coordinate</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+                  <transition>horizontalprofile_mesh_point</transition>v
+           </reachableTransitions>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       
+       <transition id="horizontalprofile_mesh_point" description="horizontalprofile_mesh_point" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
+           <queryID>verticalprofile_mesh_point</queryID>
+           <dataname>mesh_point</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+               <transition>horizontalprofile_mesh_axis</transition>v
+           </reachableTransitions>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+        <transition id="horizontalprofile_mesh_axis" description="horizontalprofile_mesh_point" transition="de.intevation.gnv.transition.profile.horizontal.NorthSouthEastWestTransition">
+          <dataname>axisid</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+               <transition>horizontalprofile_meshpoint_parameter</transition>v
+           </reachableTransitions>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                <inputvalue name="mesh_point" type="Integer" multiselect="false"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       <transition id="horizontalprofile_meshpoint_parameter" description="horizontalprofile_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>verticalprofile_mesh_parameter</queryID>
+           <dataname>parameterid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <reachableTransitions>
+               <transition>horizontalprofile_meshpoint_depth</transition>
+           </reachableTransitions>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                <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"/>
+           </inputvalues>
+       </transition>
+       
+       
+        <transition id="horizontalprofile_meshpoint_depth" description="horizontalprofile_meshpoint_depth" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>horizontalprofile_meshpoint_depth</queryID>
+           <dataname>depthid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <reachableTransitions>
+               <transition>horizontalprofile_mesh_date</transition>v
+           </reachableTransitions>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="2"/>
+                <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"/>
+           </inputvalues>
+       </transition>
+       
+       <transition id="horizontalprofile_mesh_date" description="horizontalprofile_mesh_date" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>verticalprofile_mesh_date</queryID>
+           <dataname>dateid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <reachableTransitions>
+                <transition>horizontalprofile_mesh_calculate_results</transition>
+           </reachableTransitions>
+           <inputvalues>
+               <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+               <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
+               <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="0"/>
+               <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"/>
+           </inputvalues>
+       </transition>
+       
+       <transition id="horizontalprofile_mesh_calculate_results" description="horizontalprofile_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.horizontal.HorizontalProfileOutputTransition">
+           <queryID>horizontalprofile_mesh_chart_data</queryID>
+           <inputvalues>
+               <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+               <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
+               <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="2"/>
+               <inputvalue name="depthid" type="Integer" multiselect="true"  usedinquery="1"/>
+               <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="2"/>
+               <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="1"/> 
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+           <value-names>
+               <value-name name="feature" value="mesh_point"></value-name>
+               <value-name name="parameter" value="parameterid"></value-name>
+               <value-name name="measurement" value="depthid"></value-name>
+           </value-names>
+           <outputsModes>
+               <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                   <parameters>
+                       <inputvalue name="width" type="Integer" value="600"/>
+                       <inputvalue name="height" type="Integer" value="400"/>
+                   </parameters>
+               </outputsMode>
+               <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+               <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+           </outputsModes>
+       </transition>
+    </transitions>
+</artifact>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/timeseries/conf_mesh.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="timeSeriesMesh">
+    <transitions>
+        <transition id="timeseries_mesh" description="timeseries_mesh" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>timeseries_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>
+        
+        <transition id="timeseries_mesh_coordinate" description="timeseries_mesh_coordinate" transition="de.intevation.gnv.transition.SingleInputTransition">
+            <dataname>mesh_coordinate</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                   <transition>timeseries_meshpoint</transition>v
+            </reachableTransitions>
+            <inputvalues>
+                 <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="timeseries_meshpoint" description="timeseries_meshpoint" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
+            <queryID>timeseries_meshpoint</queryID>
+            <dataname>mesh_point</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                <transition>timeseries_meshpoint_depth</transition>v
+            </reachableTransitions>
+            <inputvalues>
+                 <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"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="timeseries_meshpoint_depth" description="timeseries_meshpoint_depth" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>timeseries_meshpoint_depth</queryID>
+            <dataname>depthid</dataname>
+            <data-multiselect>true</data-multiselect>
+            <reachableTransitions>
+                <transition>timeseries_meshpoint_parameter</transition>v
+            </reachableTransitions>
+            <inputvalues>
+                 <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"/>
+            </inputvalues>
+        </transition>
+
+        <transition id="timeseries_meshpoint_parameter" description="timeseries_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>timeseries_mesh_parameter</queryID>
+            <dataname>parameterid</dataname>
+            <data-multiselect>true</data-multiselect>
+            <reachableTransitions>
+                <transition>timeseries_meshpoint_interval</transition>
+            </reachableTransitions>
+            <inputvalues>
+                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                 <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"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="timeseries_meshpoint_interval" description="timeseries_interval" transition="de.intevation.gnv.transition.MinMaxTransition">
+            <queryID>timeseries_mesh_interval</queryID>
+            <dataname>timeinterval</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                <transition>timeseries_meshpoint_calculate_results</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                 <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"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="timeseries_meshpoint_calculate_results" description="timeseries_interval" transition="de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition">
+            <queryID>timeseries_mesh_chart_data</queryID>
+            <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                 <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="1"/>
+                 <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+                 <inputvalue name="depthid" type="Integer" multiselect="false" usedinquery="1"/>
+                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                 <inputvalue name="minvalue" type="Date" multiselect="false" usedinquery="1"/>
+                 <inputvalue name="maxvalue" type="Date" multiselect="false" usedinquery="1"/>
+            </inputvalues>
+            <value-names>
+                <value-name name="feature" value="mesh_point"></value-name>
+                <value-name name="parameter" value="parameterid"></value-name>
+                <value-name name="measurement" value="depthid"></value-name>
+            </value-names>
+            <outputsModes>
+                <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                    <parameters>
+                        <inputvalue name="width" type="Integer" value="600"/>
+                        <inputvalue name="height" type="Integer" value="400"/>
+                    </parameters>
+                </outputsMode>
+                <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+                <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+            </outputsModes>
+        </transition>
+        
+    </transitions>
+</artifact>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/timeseries/conf_timeseriespoint.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="timeSeries">
+    <transitions>
+        <transition id="timeseries_timeseriespoint" description="timeseries_timeseriespoint" 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"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="timeseries_parameter" description="timeseries_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>timeseries_parameter</queryID>
+            <dataname>parameterid</dataname>
+            <data-multiselect>true</data-multiselect>
+            <reachableTransitions>
+                <transition>timeseries_depth_height</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>           
+        
+         <transition id="timeseries_depth_height" description="timeseries_depth_height" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>timeseries_depth_height</queryID>
+            <dataname>measurementid</dataname>
+            <data-multiselect>true</data-multiselect>
+            <reachableTransitions>
+                 <transition>timeseries_interval</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="timeseries_interval" description="timeseries_interval" transition="de.intevation.gnv.transition.MinMaxTransition">
+            <queryID>timeseries_interval</queryID>
+            <dataname>timeinterval</dataname>
+            <data-multiselect>false</data-multiselect>
+            <reachableTransitions>
+                <transition>timeseries_calculate_results</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
+                <inputvalue name="measurementid" type="Integer" multiselect="true"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="timeseries_calculate_results" description="timeseries_interval" transition="de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition">
+            <queryID>timeseries_chart_data</queryID>
+            <inputvalues>
+                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
+                <inputvalue name="measurementid" type="Integer" multiselect="true"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+                <inputvalue name="minvalue" type="Date" multiselect="false"/>
+                <inputvalue name="maxvalue" type="Date" multiselect="false"/>
+            </inputvalues>
+            <outputsModes>
+                <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                    <parameters>
+                        <inputvalue name="width" type="Integer" value="600"/>
+                        <inputvalue name="height" type="Integer" value="400"/>
+                    </parameters>
+                </outputsMode>
+                <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+                <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+            </outputsModes>
+        </transition>
+        
+    </transitions>
+</artifact>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalcrosssection/conf_mesh.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="verticalCrossSectionMesh">
+     <transitions>
+         <transition id="verticalcrosssection_mesh" 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>
+         
+         <transition id="verticalcrosssection_mesh_coordinate" description="verticalcrosssection_mesh_coordinate" transition="de.intevation.gnv.transition.SingleInputTransition">
+             <dataname>mesh_coordinate</dataname>
+             <data-multiselect>false</data-multiselect>
+             <reachableTransitions>
+                    <transition>verticalcrosssection_mesh_point</transition>v
+             </reachableTransitions>
+             <inputvalues>
+                  <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+             </inputvalues>
+         </transition>
+         
+         <transition id="verticalcrosssection_mesh_point" description="verticalcrosssection_mesh__point" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
+             <queryID>verticalprofile_mesh_point</queryID>
+             <dataname>mesh_point</dataname>
+             <data-multiselect>false</data-multiselect>
+             <reachableTransitions>
+                 <transition>verticalcrosssection_mesh_axis</transition>v
+             </reachableTransitions>
+             <inputvalues>
+                  <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                  <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
+                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+             </inputvalues>
+         </transition>
+          <transition id="verticalcrosssection_mesh_axis" description="verticalcrosssection_mesh_axis" transition="de.intevation.gnv.transition.profile.horizontal.NorthSouthEastWestTransition">
+            <dataname>axisid</dataname>
+             <data-multiselect>false</data-multiselect>
+             <reachableTransitions>
+                 <transition>verticalcrosssection_mesh_parameter</transition>v
+             </reachableTransitions>
+             <inputvalues>
+                  <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                  <inputvalue name="mesh_point" type="Integer" multiselect="false"/>
+                  <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+             </inputvalues>
+         </transition>
+         <transition id="verticalcrosssection_mesh_parameter" description="verticalcrosssection_mesh_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+             <queryID>verticalprofile_mesh_parameter</queryID>
+             <dataname>parameterid</dataname>
+             <data-multiselect>false</data-multiselect>
+             <reachableTransitions>
+                 <transition>verticalcrosssection_mesh_date</transition>
+             </reachableTransitions>
+             <inputvalues>
+                  <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                  <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"/>
+             </inputvalues>
+         </transition>
+         
+         
+         <transition id="verticalcrosssection_mesh_date" description="verticalcrosssection_mesh_date" transition="de.intevation.gnv.transition.DefaultTransition">
+             <queryID>verticalcrosssection_mesh_date</queryID>
+             <dataname>dateid</dataname>
+             <data-multiselect>false</data-multiselect>
+             <reachableTransitions>
+                  <transition>verticalcrosssection_mesh_calculate_results</transition>
+             </reachableTransitions>
+             <inputvalues>
+                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                 <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
+                 <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"/>
+             </inputvalues>
+         </transition>
+         
+         <transition id="verticalcrosssection_mesh_calculate_results" description="verticalcrosssection_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.verticalcrosssection.VerticalCrossSectionOutputTransition">
+             <queryID>verticalcrosssection_mesh_chart_data</queryID>
+             <inputvalues>
+                 <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+                 <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
+                 <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="2"/>
+                 <inputvalue name="axisid" type="AttributeName" multiselect="false" usedinquery="2"/>
+                 <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="1"/> 
+                 <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+             </inputvalues>
+             <value-names>
+                 <value-name name="feature" value="mesh_point"></value-name>
+                 <value-name name="parameter" value="parameterid"></value-name>
+                 <value-name name="measurement" value="depthid"></value-name>
+             </value-names>
+             <outputsModes>
+                 <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                     <parameters>
+                         <inputvalue name="width" type="Integer" value="600"/>
+                         <inputvalue name="height" type="Integer" value="400"/>
+                     </parameters>
+                 </outputsMode>
+                 <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+                 <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+             </outputsModes>
+         </transition>
+     </transitions>
+</artifact>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalprofile/conf_instantaneouspoint.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="verticalProfileInstantaneousPoint">
+   <transitions>
+     <transition id="verticalprofile_instantaneouspoint_series" description="verticalprofile_instantaneouspoint_series" transition="de.intevation.gnv.transition.DefaultTransition">
+         <queryID>verticalprofile_instantaneouspoint_series</queryID>
+         <dataname>seriesid</dataname>
+         <data-multiselect>false</data-multiselect>
+         <reachableTransitions>
+             <transition>verticalprofile_instantaneouspoint_point</transition>
+         </reachableTransitions>
+         <inputvalues>
+             <inputvalue name="sourceid" type="Integer" multiselect="false"/>
+              <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+         </inputvalues>
+     </transition>
+     <transition id="verticalprofile_instantaneouspoint_point" description="verticalprofile_instantaneouspoint_point" transition="de.intevation.gnv.transition.DefaultTransition">
+         <queryID>verticalprofile_instantaneouspoint_point</queryID>
+         <dataname>instantaneouspoint_point</dataname>
+         <data-multiselect>false</data-multiselect>
+         <reachableTransitions>
+             <transition>verticalprofile_instantaneouspoint_parameter</transition>v
+         </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"/>
+         </inputvalues>
+     </transition>
+      <transition id="verticalprofile_instantaneouspoint_parameter" description="verticalprofile_instantaneouspoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+         <queryID>verticalprofile_instantaneouspoint_parameter</queryID>
+         <dataname>parameterid</dataname>
+         <data-multiselect>true</data-multiselect>
+         <reachableTransitions>
+             <transition>verticalprofile_instantaneouspoint_calculate_results</transition>
+         </reachableTransitions>
+         <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"/>
+         </inputvalues>
+     </transition>
+     <transition id="verticalprofile_instantaneouspoint_calculate_results" description="verticalprofile_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.vertical.VerticalProfileOutputTransition">
+         <queryID>verticalprofile_instantaneouspoint_chart_data</queryID>
+         <inputvalues>
+             <inputvalue name="seriesid" type="Integer" multiselect="false" usedinquery="0" />
+             <inputvalue name="instantaneouspoint_point" type="Integer" multiselect="false" usedinquery="1"/>
+             <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+             <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+         </inputvalues>
+         <value-names>
+             <value-name name="feature" value="instantaneouspoint_point"></value-name>
+             <value-name name="parameter" value="parameterid"></value-name>
+             <value-name name="measurement" value="dateid"></value-name>
+         </value-names>
+         <outputsModes>
+             <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                 <parameters>
+                     <inputvalue name="width" type="Integer" value="600"/>
+                     <inputvalue name="height" type="Integer" value="400"/>
+                 </parameters>
+             </outputsMode>
+             <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+             <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+         </outputsModes>
+     </transition>
+  </transitions>
+</artifact>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalprofile/conf_mesh.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="verticalProfileMesh">
+   <transitions>
+       <transition id="verticalprofile_mesh" description="verticalprofile_mesh" 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>
+       
+       <transition id="verticalprofile_mesh_coordinate" description="verticalprofile_mesh_coordinate" transition="de.intevation.gnv.transition.SingleInputTransition">
+           <dataname>mesh_coordinate</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+                  <transition>verticalprofile_mesh_point</transition>v
+           </reachableTransitions>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       
+       <transition id="verticalprofile_mesh_point" description="verticalprofile_mesh_point" transition="de.intevation.gnv.transition.CoordinateSelectionTransition">
+           <queryID>verticalprofile_mesh_point</queryID>
+           <dataname>mesh_point</dataname>
+           <data-multiselect>false</data-multiselect>
+           <reachableTransitions>
+               <transition>verticalprofile_meshpoint_parameter</transition>v
+           </reachableTransitions>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false"/>
+                <inputvalue name="mesh_coordinate" type="Coordinate" multiselect="false"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       
+       <transition id="verticalprofile_meshpoint_parameter" description="verticalprofile_meshpoint_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>verticalprofile_mesh_parameter</queryID>
+           <dataname>parameterid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <reachableTransitions>
+               <transition>verticalprofile_mesh_date</transition>
+           </reachableTransitions>
+           <inputvalues>
+                <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+                <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       
+       <transition id="verticalprofile_mesh_date" description="verticalprofile_mesh_date" transition="de.intevation.gnv.transition.DefaultTransition">
+           <queryID>verticalprofile_mesh_date</queryID>
+           <dataname>dateid</dataname>
+           <data-multiselect>true</data-multiselect>
+           <reachableTransitions>
+                <transition>verticalprofile_mesh_calculate_results</transition>
+           </reachableTransitions>
+           <inputvalues>
+               <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="1"/>
+               <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="0"/>
+               <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1" />
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+       </transition>
+       
+       <transition id="verticalprofile_mesh_calculate_results" description="verticalprofile_mesh_calculate_results" transition="de.intevation.gnv.transition.profile.vertical.VerticalProfileOutputTransition">
+           <queryID>verticalprofile_mesh_chart_data</queryID>
+           <inputvalues>
+               <inputvalue name="parameterid" type="Integer" multiselect="true" usedinquery="1"/>
+               <inputvalue name="dateid" type="Date" multiselect="true" usedinquery="1"/>
+               <inputvalue name="meshid" type="Integer" multiselect="false" usedinquery="2"/>
+               <inputvalue name="mesh_point" type="Integer" multiselect="false" usedinquery="2"/> 
+               <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+           </inputvalues>
+           <value-names>
+               <value-name name="feature" value="mesh_point"></value-name>
+               <value-name name="parameter" value="parameterid"></value-name>
+               <value-name name="measurement" value="dateid"></value-name>
+           </value-names>
+           <outputsModes>
+               <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                   <parameters>
+                       <inputvalue name="width" type="Integer" value="600"/>
+                       <inputvalue name="height" type="Integer" value="400"/>
+                   </parameters>
+               </outputsMode>
+               <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+               <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+           </outputsModes>
+       </transition>
+   </transitions>
+</artifact>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/doc/conf/products/verticalprofile/conf_timeseriespoint.xml	Thu Oct 22 08:50:21 2009 +0000
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="verticalProfile">
+    <transitions>
+        <transition id="verticalprofile_timeseriespoint" description="timeseries_timeseriespoint" 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"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="verticalprofile_parameter" description="timeseries_parameter" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>verticalprofile_parameter</queryID>
+            <dataname>parameterid</dataname>
+            <data-multiselect>true</data-multiselect>
+            <reachableTransitions>
+                <transition>verticalprofile_date</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="verticalprofile_date" description="verticalprofile_date" transition="de.intevation.gnv.transition.DefaultTransition">
+            <queryID>verticalprofile_date</queryID>
+            <dataname>dateid</dataname>
+            <data-multiselect>true</data-multiselect>
+            <reachableTransitions>
+                 <transition>verticalprofile_calculate_results</transition>
+            </reachableTransitions>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+        </transition>
+        
+        <transition id="verticalprofile_calculate_results" description="verticalprofile_calculate_results" transition="de.intevation.gnv.transition.profile.vertical.VerticalProfileOutputTransition">
+            <queryID>verticalprofile_chart_data</queryID>
+            <inputvalues>
+                <inputvalue name="featureid" type="Integer" multiselect="false"/>
+                <inputvalue name="parameterid" type="Integer" multiselect="true"/>
+                <inputvalue name="dateid" type="Date" multiselect="true" />
+                <inputvalue name="fisname" type="String" multiselect="false" usedinquery="0"/>
+            </inputvalues>
+            <value-names>
+                <value-name name="feature" value="featureid"></value-name>
+                <value-name name="parameter" value="parameterid"></value-name>
+                <value-name name="measurement" value="dateid"></value-name>
+            </value-names>
+            <outputsModes>
+                <outputsMode name="chart" description="Chartrepresentation of the Values" mime-type="image/png">
+                    <parameters>
+                        <inputvalue name="width" type="Integer" value="600"/>
+                        <inputvalue name="height" type="Integer" value="400"/>
+                    </parameters>
+                </outputsMode>
+                <outputsMode name="csv" description="CSV-Export der Daten" mime-type="text/plain"/>
+                <outputsMode name="statistics" description="Statistik zu den Daten" mime-type="text/xml"/>
+            </outputsModes>
+        </transition>
+    </transitions>
+</artifact>
\ No newline at end of file
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Wed Oct 21 11:10:28 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Thu Oct 22 08:50:21 2009 +0000
@@ -10,6 +10,8 @@
 import java.util.Iterator;
 import java.util.Map;
 
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.xpath.XPathConstants;
 
 import org.apache.log4j.Logger;
@@ -17,6 +19,7 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
 
 import de.intevation.artifactdatabase.Config;
 import de.intevation.artifactdatabase.DefaultArtifact;
@@ -108,7 +111,7 @@
                                     .get(transitionName);
                             // 2.Ergebnisse Berechnen
                             this.current.advance(uuid, context.getMeta());
-                            // 3. Ergebnisse übergeben
+                            // 3. Ergebnisse Übergeben
                             nextStep.setDescibeData(this.current
                                     .getDescibeData());
                             nextStep.putInputData(this.current.getInputData(),
@@ -166,7 +169,34 @@
         String xpathQuery = XPATH_ARTIFACT_CONFIGURATION.replaceAll(
                 XPATH_IDENTIFIER_REPLACE, this.name);
         log.debug(xpathQuery);
-        return Config.getNodeXPath(document, xpathQuery);
+        
+        Element configurationNode = (Element)Config.getNodeXPath(document, xpathQuery);
+        
+        String link = configurationNode.getAttribute("xlink:href");
+        if (link != null ){
+            String absolutFileName = Config.replaceConfigDir(link);
+            configurationNode = (Element)this.readConfiguration(absolutFileName);
+        }
+        
+        return configurationNode;
+    }
+    
+    
+    private Node readConfiguration(String fileName){
+        try {
+            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+            factory.setValidating(false); 
+            return factory.newDocumentBuilder().parse(fileName).getChildNodes().item(0);
+        } catch (SAXException e) {
+            log.error(e,e);
+            return null;
+        } catch (IOException e) {
+            log.error(e,e);
+            return null;
+        } catch (ParserConfigurationException e) {
+            log.error(e,e);
+            return null;
+        }
     }
 
     /**
@@ -226,6 +256,7 @@
             GNVArtifactContext gnvContext = (GNVArtifactContext) localContext;
             Document doc = gnvContext.getConfig();
             Node artifactNode = this.getConfigurationFragment(doc);
+                        
             NodeList transitionList = Config.getNodeSetXPath(artifactNode,
                     "transitions/transition");
             this.transitions = new HashMap<String, Transition>(transitionList
@@ -403,9 +434,9 @@
             returnValue = new HashMap<String, InputData>(inputElemets
                     .getLength());
             for (int i = 0; i < inputElemets.getLength(); i++) {
-                Node inputDataNode = inputElemets.item(i);
-                String name = Config.getStringXPath(inputDataNode, "@name");
-                String value = Config.getStringXPath(inputDataNode, "@value");
+                Element inputDataNode = (Element)inputElemets.item(i);
+                String name = inputDataNode.getAttribute("name");
+                String value = inputDataNode.getAttribute("value");
 
                 if (returnValue.containsKey(name)) {
                     InputData inputData = returnValue.get(name);
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java	Wed Oct 21 11:10:28 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java	Thu Oct 22 08:50:21 2009 +0000
@@ -276,10 +276,10 @@
             if (products != null) {
                 this.products = new HashMap<String, Product>(products
                         .getLength());
+                
                 for (int i = 0; i < products.getLength(); i++) {
-                    Node productNode = products.item(i);
-                    String productName = Config.getStringXPath(productNode,
-                            "@name");
+                    Element productNode = (Element)products.item(i);
+                    String productName = productNode.getAttribute("name");
                     NodeList parameterNodes = Config.getNodeSetXPath(
                             productNode, "parameters/parameter");
                     Collection<InputData> parameter = null;
@@ -287,11 +287,9 @@
                         parameter = new ArrayList<InputData>(parameterNodes
                                 .getLength());
                         for (int j = 0; j < parameterNodes.getLength(); j++) {
-                            Node parameterNode = parameterNodes.item(j);
-                            String name = Config.getStringXPath(parameterNode,
-                                    "@name");
-                            String value = Config.getStringXPath(parameterNode,
-                                    "@value");
+                            Element parameterNode = (Element)parameterNodes.item(j);
+                            String name = parameterNode.getAttribute("name");
+                            String value = parameterNode.getAttribute("value");
                             parameter.add(new DefaultInputData(name, value));
                         }
                     }
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java	Wed Oct 21 11:10:28 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java	Thu Oct 22 08:50:21 2009 +0000
@@ -7,9 +7,9 @@
 import java.util.ArrayList;
 import java.util.Collection;
 
-import net.sf.ehcache.Element;
 
 import org.apache.log4j.Logger;
+import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -78,13 +78,10 @@
             this.outputModes = new ArrayList<OutputMode>(outputModeList
                     .getLength());
             for (int i = 0; i < outputModeList.getLength(); i++) {
-                Node currentNode = outputModeList.item(i);
-                String name = Config.getStringXPath(currentNode, "@name");
-                String description = Config.getStringXPath(currentNode,
-                        "@description");
-                String mimeType = Config.getStringXPath(currentNode,
-                        "@mime-type");
-
+                Element currentNode = (Element)outputModeList.item(i);
+                String name = currentNode.getAttribute("name");
+                String description =currentNode.getAttribute("description");
+                String mimeType = currentNode.getAttribute("mime-type");
                 NodeList inputValuesList = Config.getNodeSetXPath(currentNode,
                         "parameters/inputvalue");
                 Collection<InputValue> inputParameters = null;
@@ -92,13 +89,10 @@
                     inputParameters = new ArrayList<InputValue>(inputValuesList
                             .getLength());
                     for (int j = 0; j < inputValuesList.getLength(); j++) {
-                        Node currentInputValuesNode = inputValuesList.item(j);
-                        String inputValueName = Config.getStringXPath(
-                                currentInputValuesNode, "@name");
-                        String inputValueType = Config.getStringXPath(
-                                currentInputValuesNode, "@type");
-                        String defaultValue = Config.getStringXPath(
-                                currentInputValuesNode, "@value");
+                        Element currentInputValuesNode = (Element)inputValuesList.item(j);
+                        String inputValueName = currentInputValuesNode.getAttribute("name");
+                        String inputValueType = currentInputValuesNode.getAttribute("type");
+                        String defaultValue =currentInputValuesNode.getAttribute("value");
                         boolean isMultiselect = false;
                         InputValue inputValue = new DefaultInputValue(
                                 inputValueName, inputValueType, defaultValue,
@@ -144,7 +138,7 @@
         if (CacheFactory.getInstance().isInitialized()) {
             String key = uuid + super.getID();
             log.debug("Hash for Queryelements: " + key);
-            Element value = CacheFactory.getInstance().getCache().get(key);
+            net.sf.ehcache.Element value = CacheFactory.getInstance().getCache().get(key);
             if (value != null) {
                 return (Collection<Result>) (value.getObjectValue());
             }
@@ -157,7 +151,7 @@
         if (CacheFactory.getInstance().isInitialized()) {
             String key = uuid + super.getID();
             log.debug("Hash for Queryelements: " + key);
-            Element value = CacheFactory.getInstance().getCache().get(key);
+            net.sf.ehcache.Element value = CacheFactory.getInstance().getCache().get(key);
             if (value != null) {
                 CacheFactory.getInstance().getCache().remove(key);
             }
@@ -174,7 +168,7 @@
         if (CacheFactory.getInstance().isInitialized()) {
             String key = uuid + super.getID();
             log.debug("Hash for Queryelements: " + key);
-            CacheFactory.getInstance().getCache().put(new Element(key, result));
+            CacheFactory.getInstance().getCache().put(new net.sf.ehcache.Element(key, result));
         }
     }
 
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java	Wed Oct 21 11:10:28 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionBase.java	Thu Oct 22 08:50:21 2009 +0000
@@ -117,8 +117,8 @@
      */
     public void setup(Node configuration) {
         log.debug("TransitionBase.setup");
-        this.id = Config.getStringXPath(configuration, "@id");
-        this.description = Config.getStringXPath(configuration, "@description");
+        this.id = ((Element)configuration).getAttribute("id");
+        this.description = ((Element)configuration).getAttribute("description");
 
         log.info("Transition-ID = " + this.id);
         NodeList nodes = Config.getNodeSetXPath(configuration,
@@ -138,9 +138,8 @@
         this.inputValueNames = new ArrayList<String>(inputValuesNodes
                 .getLength());
         for (int i = 0; i < inputValuesNodes.getLength(); i++) {
-            Node inputValueNode = inputValuesNodes.item(i);
-            String usedinQueryValue = Config.getStringXPath(inputValueNode,
-                    "@usedinquery");
+            Element inputValueNode = (Element)inputValuesNodes.item(i);
+            String usedinQueryValue = inputValueNode.getAttribute("usedinquery");
             int usedinQuery = 1;
             if (usedinQueryValue != null) {
                 try {
@@ -150,11 +149,10 @@
                             .warn("Used in Query Value cannot be transformed into a Number");
                 }
             }
-            InputValue inputValue = new DefaultInputValue(Config
-                    .getStringXPath(inputValueNode, "@name"), Config
-                    .getStringXPath(inputValueNode, "@type"), Boolean
-                    .parseBoolean(Config.getStringXPath(inputValueNode,
-                            "@multiselect")), usedinQuery);
+            InputValue inputValue = new DefaultInputValue(inputValueNode.getAttribute("name"), 
+                                                          inputValueNode.getAttribute("type"), 
+                                                          Boolean.parseBoolean(inputValueNode.
+                                                          getAttribute("multiselect")), usedinQuery);
             log.debug(inputValue.toString());
             this.inputValues.put(inputValue.getName(), inputValue);
             this.inputValueNames.add(inputValue.getName());
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionFactory.java	Wed Oct 21 11:10:28 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/TransitionFactory.java	Thu Oct 22 08:50:21 2009 +0000
@@ -6,7 +6,6 @@
 import org.apache.log4j.Logger;
 import org.w3c.dom.Node;
 
-import de.intevation.artifactdatabase.Config;
 import de.intevation.gnv.artifacts.GNVArtifactBase;
 
 /**
@@ -40,8 +39,7 @@
         log.debug("TransitionFactory.createTransition");
         Transition transition = null;
         try {
-            String classname = Config.getStringXPath(configuration,
-                    "@transition");
+            String classname = ((org.w3c.dom.Element)configuration).getAttribute("transition");
             transition = (Transition) (Class.forName(classname).newInstance());
             transition.setup(configuration);
         } catch (InstantiationException e) {

http://dive4elements.wald.intevation.org