view flys-artifacts/ChangeLog @ 393:befedd7629d5

Enabled the WINFO artifact to compute the data for discharge curves (computed) - ComputedDischargeCurveGenerator uses those values now to create the chart. flys-artifacts/trunk@1818 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 04 May 2011 08:24:50 +0000
parents 72177020db92
children b9175ddea49b
line wrap: on
line source
2011-05-04  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added
	  methods to compute and retrieve the data for discharge curves (computed).

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  Fetch the computed discharge curve data from WINFOArtifact and add the
	  values into the JFreeChart dataset.

2011-05-04  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added new transitions and states to enable
	  the WINFO artifact for computing discharge curves.

	* doc/conf/conf.xml: Added OutGenerators that generate computed discharge
	  curves and exports for its data.

	* src/main/java/de/intevation/flys/artifacts/states/ComputedDischargeCurveState.java:
	  New. This state is reached if the user chose the computed discharge
	  curve.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java:
	  New. This is only a stub implementation at the moment. This
	  OutGenerator should create computed discharge curves later. It extends
	  the DischargeCurveGenerator which should do the same stuff for discharge
	  curves for gauges.

	* src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java:
	  New. This is only a stub implementation at the moment. This OutGenerator
	  should create the exports of the discharge curve computation.

2011-05-03  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added a new output mode for the duration
	  curve state (CSV export).

	* doc/conf/conf.xml: Added a new OutGenerator to export duration curve
	  computations.

	* src/main/java/de/intevation/flys/exports/AbstractExporter.java: New.
	  This abstract OutGenerator represents the base class for exporting
	  computed data. Currently, the CSV export is supported.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: Moved
	  the most code to export to CSV into the AbstractExporter.

	* src/main/java/de/intevation/flys/exports/DurationCurveExporter.java:
	  New. This exporter exports the computed data of a duration computation.

2011-05-03  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Modified a wrong debug statement which would confuse the user.

2011-05-03  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added a new output mode for the waterlevel
	  state (CSV export).

	* doc/conf/conf.xml: Added a new OutGenerator to export waterlevels.

	* src/main/java/de/intevation/flys/exports/WaterlevelExporter.java: New.
	  This OutGenerator exports the data of a waterlevel computation. Note:
	  It is necessary to specify the desired facet (e.g.
	  'waterlevel_export.csv').

	* pom.xml: Added a dependency to OpenCSV.

2011-05-03  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Introduced an "export" output target. If the target is "export", a
	  facet (read from the incoming xml document) is a necessary parameter
	  that determines which facets are written to the output.

2011-05-03  Ingo Weinzierl <ingo@intevation.de>

	* src/main/resources/messages_en.properties: Bugfix: replaced german
	  string (copy & paste mistake).

2011-05-03  Ingo Weinzierl <ingo@intevation.de>

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Added new i18n strings for
	  for the location selection.

2011-05-03  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java:
	  New. An OutGenerator for creating duration curves.

	* src/main/java/de/intevation/flys/artifacts/model/WQDay.java: New. A
	  model class to store necessary data for creating W and Q facets of a
	  duration curve. This model stores W, Q and Days.

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java:
	  Added a function to retrieve tuples of (day, q) based on a given gauge -
	  these tuples are necessary for creating duration curves.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added
	  methods to compute and retrieve the data necessary for creating duration
	  curves.

	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
	  Bugfix: improved the access to the location array (avoid
	  NullPointerException).

	* doc/conf/conf.xml: Registered the new OutGenerator for duration curves.

2011-05-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/visualize-transitions.xsl: State quoting was done wrong.

2011-05-02  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Enhanced the transition model to reach the
	  final state for creating duration curves.

	* src/main/java/de/intevation/flys/artifacts/states/LocationSelect.java:
	  New. This state should be reached to just insert an array of locations.

	* src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java:
	  New. This state is reached if the duration curve calculation is
	  selected.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Adjusted
	  getDistance() so that it takes care on inserted locations - not just
	  inserted ranges.

2011-05-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java:
	  Flush/persist caches at program exists.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Commented out too eloquent debug output.

2011-05-02  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Uses the methods of FLYSArtifact to retrieve the necessary information
	  rivername and selected distance.

2011-05-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Added interpolateW method to take reference to result ws array
	  as an argument to avoid expensive array allocations in km iterating
	  loops.

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
	  Added a constructor to create backing trove datastructure
	  with the right capacity.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Move allocation of result ws out of km loop.

2011-05-02  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added two further data items in the WQ
	  selection state. Those items are necessary to store the information
	  about the selected mode (range/single selection) and  the values of the
	  single selection.

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java: If
	  there is no value for a data item, this item is not written into the
	  static DESCRIBE part.

	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java,
	  src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Renamed the method to validate upper and lower values.

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: This
	  state can now handle values inserted in the single selection. Therefore,
	  new validate methods has been added.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The
	  methods getWs() and getWs() take care on the values inserted in the
	  single insert mode of the client which enables the user to insert single
	  W and Q.

2011-05-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Repaired getQForW() by calculating indices on right dimension.

2011-05-02  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New
	  methods for retrieving selected W values (getWs()).

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The
	  method for retrieving waterlevel data takes care on selected Ws, now.
	  The selected Ws are transformed using the DischargeTables.getQForW()
	  into Q values.

2011-05-02  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Removed an unused parameter 'result' of getQForW().

2011-05-02  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Removed
	  the getDataset() method and replaced it with a addDataset() method.
	  On this way, concrete subclasses of this OutGenerator can have multiple
	  datasets (e.g. different datasets for W and Q). This abstract method is
	  called after the chart generation is finished.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Both classes implement the addDataset() method. The
	  LongitudinalSectionGenerator has already multiple datasets for W and Q.
	  Both are added to the chart - both have an own range axis.

2011-05-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Use the cache for the wst value table if configured.

	* doc/conf/cache.xml: Choose a more precise name for the 
	  wst value table cache.

2011-04-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* pom.xml: Added dependency to Ehcache. Apache 2.0 license.

	* doc/conf/conf.xml: Added configuration of ehcache.

	* doc/conf/cache.xml: New. Cache configurations.

	* src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java:
	  New. Factory to access caches.

2011-04-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Forgot to add.

	* src/main/java/de/intevation/flys/artifacts/services/meta/Builder.java:
	  New. Given a database connection and a XML template it generates
	  an output with meta data about the database.

	* src/main/java/de/intevation/flys/artifacts/services/meta/CompiledStatement.java:
	  New. Holds prepared statements optimized to be run in the stack of
	  contextes.

	* src/main/java/de/intevation/flys/artifacts/services/meta/StackFrames.java:
	  New. Model to hold a hierarchical scope of variables.

	* src/main/java/de/intevation/flys/artifacts/services/meta/ResultData.java:
	  New. Stores data set fetched from a sql select to be iterated in
	  a context.

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java,
	  src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Removed superfluous imports.

2011-04-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/conf.xml: Added meta data service.

	* src/main/java/de/intevation/flys/artifacts/services/MetaDataService.java:
	  Stub for the meta data service.

	* src/main/resources/metadata/template.xml: Initial template for
	  the meta data service.

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Bugfix: Now, curves for Q values are drawn into a longitudinal section
	  chart as well. Therefore, it was necessary to change the datastructure
	  of the inner class ThemeList that stores all themes included in a chart
	  in an ordered list (stored in a java.util.Vector now).

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/XYChartGenerator.java: New. An
	  abstract base class for ChartGenerators that create XY charts.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Sourced the generate() method out to the XYChartGenerator.

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  Implemented the methods to add W and Q facets to the chart.

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Improved
	  the calculation of the step with for ranges.

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Added a
	  method that returns the number of elements stored in the data pool.

2011-04-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java:
	  Added a get() method which takes destination array as an
	  argument.

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: Changed the
	  data structure to store w, q and kms values from List<Double> to
	  TDoubleArrayList which stores native double values instead of big
	  Double values.

	* pom.xml: Added the GNU Trove dependency.

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/OutGenerator.java: Added the
	  name a the requested facet to doOut(). Concrete generators should just
	  create output for this facet now.

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java,
	  src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java,
	  src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  Adapted the method signature of doOut().

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Adapted the method call of OutGenerator.doOut().

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: Added mappings for the facets
	  longitudinal.section.w and longitudinal.section.q.

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Added some
	  methods to retrieve necessary information for computing the data of a
	  waterlevel.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added
	  methods to compute and retrieve the data of a waterlevel computation.

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WQKms.java: New. This
	  model class represents a pool of data triples that consist of W, Q and
	  Kms information. This class might be used to compute data for creating
	  longitudinal section curves (which are based on those W, Q and Kms
	  values).

2011-04-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Bugfix: Removed endless loop and a bug while iterating over Hibernate
	  results.

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java:
	  New. An OutGenerator that creates longitudinal section curves.

	  NOTE: This is just the stub - the out creation needs to be implemented!

	* doc/conf/conf.xml: Added the LongitudinalSectionGenerator.

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/conf.xml: Bugfix: Added missing <output-generators> section.

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WaterlevelState.java: New.
	  This state should be reached if the 'calc.surface.curve' calculation
	  method has been chosen.

	* doc/conf/artifacts/winfo.xml: Modified a transition and added the
	  WaterlevelState. This state is reached if the 'calc.surface.curve'
	  calculation method has been chosen. It currently has 1 output - a
	  longitudinal section that is not implemented yet!

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/transitions/ValueCompareTransition.java:
	  New. This transition is valid if the a data object of the current
	  artifact equals/notequals a configured value in the transition model.

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Bugfixes:
	  - Adapted the parameters of the isStateReachable() call - added the
	    artifact and the current state.
	  - Append the outputs of a current state if the state is filled with
	    valid data.

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java:
	  Added the missing init() method that has been introduced in the
	  interface some commits ealier.

	* src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java:
	  Call init() after a Transition has been created.

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java:
	  Bugfix: Introduced a <art:outputs> node in the attribute document of a
	  Collection that contains further <art:output> nodes - instead of having
	  multiple <art:output> nodes at toplevel of the document.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Adapted the XPath to retrieve the outputs in the attribute document of a
	  Collection.

2011-04-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/visualize-transitions.xsl: Added to create a 
	  Graphviz digraph out of the config.xml. Usage:

	  $ xsltproc --stringparam base-dir ../doc/conf/ \
	    contrib/visualize-transitions.xsl \
	    doc/conf/conf.xml > transitions.dot

	  $ dot -Tsvg -o transitions.svg transitions.dot

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  If no data has been inserted so far, an IllegalArgumentException is
	  thrown.

2011-04-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java::
	  A lot of new methods to retrieve the theme of a facet - used while
	  creating the output of a facet/artifact. If a facet has no theme yet, it
	  is initialized.

2011-04-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/AttributeParser.java,
	  src/main/java/de/intevation/flys/collections/OutputParser.java: Removed
	  useless imports.

2011-04-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartGenerator.java: New. An
	  abstract OutGenerator that might be used to create chart output. Some
	  basic things that are equal in all charts should be done here!

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  This OutGenerator no longer implements the OutGenerator directly, but it
	  extends the ChartGenerator now.

2011-04-27  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Restructured the out() operation of a collection: Now, we collect a list
	  of artifacts/facets and use this for the OutGenerator. Its doOut()
	  method gets the attribute of an artifact - the position and the active
	  state is managed by the Collection itself.

2011-04-26  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/ManagedFacet.java: New.
	  a specialized facet that stores information about its position and its
	  state (active/inactive) in an output of a collection.

	* src/main/java/de/intevation/flys/collections/AttributeParser.java: New.
	  This parser takes the attributes (XML) of a collection and extracts the
	  contained outputs with its facets. The result is a Map<String, Output>.

	* src/main/java/de/intevation/flys/collections/OutputParser.java: New.
	  This parser is used to query the artifact's DESCRIBE and to extract the
	  supported outputs. The result is a Map<String, Output>.

	* src/main/java/de/intevation/flys/collections/AttributeWriter.java: New.
	  This writer merges the outputs contained in an attribute of a collection
	  with the outputs of a collection's artifacts.

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  The attributes of a collection are written into its DESCRIBE document
	  now. The OutputParser and AttributeParser are used to read the supported
	  attributes by the collection and its artifacts - the AttributeWriter is
	  used to merge both attributes and create a final attribute document.

2011-04-26  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java,
	  src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  The facet-2-theme mappings are initialized at startup and stored in the
	  FLYSContext.

	* src/main/java/de/intevation/flys/themes/ThemeFactory.java: Added a
	  function that retrieves a theme from FLYSContext based on its name.

2011-04-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Corrected a silly c&p mistake.

2011-04-22	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/math/BackJumpCorrector.java:

	  Implementation of the "Ruecksprungkorrektur" to be done in
	  "W fuer angepassten Abflusslaengschnitt".

	  All tests show the expected results. In some corner cases the
	  algorithm described in the "Anwenderhandbuch" chapter 3.3.4.3 "Korrektur"
	  has some definition shortcomings:

	  a - What should happend when you cannot find point 2 because
	      you cannot step back one quarter from point 3 because there
	      is no data there any more (river too short in this direction)?
	      The implemented algorithm raises point 3' only to an
	      according factor. E.g. If you can step back the whole quarter
	      distance the elevation is the full quarter. If you can
	      step back only the half of the quarter the elevation is
	      only an eighth.

	  b - If the water heights between point 2 and 3 are constant then
	      the algorithm will produce a spline interpolation that
	      lowers those values. Is this intended?

	  For real data the back jumps are expected to be more in the middle
	  of the distance ranges so the corner cases are maybe not so
	  important.

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
	  Removed superfluous import.

2011-04-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/themes/ThemeFactory.java: Removed debug
	  code that has been commited by accident.

2011-04-21  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/themes.xml: New. A first small theme configuration.

	* doc/conf/conf.xml: Added a link to the theme configuration.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
	  Defined a key that is used to store a themes map in the FLYSContext.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  The theme configuration is read at startup and the themes are stores in
	  the FLYSContext.

2011-04-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/themes/Theme.java,
	  src/main/java/de/intevation/flys/themes/DefaultTheme.java:
	  New. The interface and its default implementation that represents themes
	  used to style charts and maps.

	* src/main/java/de/intevation/flys/themes/ThemeField.java,
	  src/main/java/de/intevation/flys/themes/DefaultThemeField.java:
	  New. The interface and its default implementation that represents fields
	  in themes. A theme might be "Lines" and one of its field might be
	  "Color" or "Size".

	* src/main/java/de/intevation/flys/themes/ThemeFactory.java: A factory
	  that creates new themes based on a theme configuration.

2011-04-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Implementation of "Abflusskurve/Abflusstafel" calculation.

	  Added method interpolateWQ() which takes an km and results in a
	  tuple of two double arrays containing the w/q values interpolated
	  between the surrounding w/q values of the table.
	  w values are interpolated linear, q values with a cubic spline.

	  Drawing w over q gives you the discharge table at the given km.

	  !!! This code needs testing !!!

2011-04-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* pom.xml: Added dependency to Apache Commons Math 2.2 (Apache License 2.0)

2011-04-20	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Fix problem when sorting by q (copied w instead of q).

2011-04-20  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Fixed broken HQL statement.

2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  add a method interpolateW() which takes an array of
	  q values and returns an equal sized array of w values.
	  This is essentially the "Wasserstand/Wasserspiegellagen" calculation
	  of desktop FLYS.

	  If you want to do a calculation with given w values you have
	  to convert the w values with DischargeTables.getQForW() first.

	  !!! This code needs heavy testing !!!

2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  We need a getQForW() method and not getWForQ() because when
	  doing a "Wasserstand/Wasserspiegellagen" calculation with given
	  w values these values need to be translated to q values with
	  the master discharge table.

2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Sorting of q values was done wrong.

2011-04-19  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
	  Ordered the list of annotations returned by this factory based on its
	  range.

2011-04-19  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/MainValuesService.java:
	  New. This service returns an XML document that includes the main values
	  of a gauge based on a river name, a start and an end point.

	* doc/conf/conf.xml: Registered the MainValuesService.

2011-04-19  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/MainValuesFactory.java:
	  A factory that provides methods to return MainValues.

2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Added static method getWForQ() to interpolate a w value for
	  a given q value based on a given discharge table.
	
2011-04-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Added convenience constructors/methods to ease the access to the master
	  discharge table of a gauge.

2011-04-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Moved the query complexity into view 'wst_value_table' and
	  used this instead.

2011-04-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java:
	  Fetches w/q value tables from the backend. TODO: Move this
	  to the backend and use a view.

2011-04-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed
	  the error key that is thrown if no input data was found so that the key
	  is usable for GWT's i18n mechanism.

2011-04-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
	  The inserted river is validated now (overrides validate() of
	  DefaultState).

2011-04-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  The inserted calculation method is validated now (overrides validate()
	  of DefaultState).

2011-04-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  The input data of feed() are validated using the DefaultStates
	  validate() method.

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  New method validate() that needs to be overidden by concrete subclasses.
	  It should return true, if the data of the State is fine, otherwise it
	  should raise an exception.

	  NOTE: The exceptions are not translated in the server but in the client!

	* src/main/java/de/intevation/flys/artifacts/states/RangeState.java: New.
	  This abstract class exists to provide some methods for handling ranges.
	  Currently, there is a method that validates a given range based on
	  min/max values.

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Implemented input data validation for ranges.

	  NOTE: The input validation of concrete values has not been implemented
	  yet!

2011-04-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Removed debug code that has been commited by accident :-/

2011-04-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The
	  getGauge() method returns the first gauge based on the given start and
	  end point of the river.

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  Fixed potential bugs: if no gauge could be determined, the default
	  values for W and Q are the minimum and maximum double values.

2011-04-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java: Fills
	  the DESCRIBE with default values for W and Q.

2011-04-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/WstFactory.java:
	  New. Returns Wst object - based on a river.

2011-04-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Now
	  provides some methods that return some basic objects inserted while
	  parameterization: River, Gauge and so on.

2011-04-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
	  src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
	  Bugfix: Repaired broken imports of the SessionHolder.

2011-04-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java:
	  Moved this class to flys-backend.

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java,
	  src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java,
	  src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java:
	  Adapted imports of the SessionHolder.

2011-04-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* trunk/src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java,
	  trunk/src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
	  Acquire/release sessions in services to avoid db connection leaks.

2011-04-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Changed some method signatures - added a reference to the owner
	  Artifact.

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/WQSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Modified method signatures based on the changes in DefaultState.

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  Added default values to the dynamic part of DESCRIBE.

2011-04-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
	  Added a function that returns a River object based on a given river
	  name.

2011-04-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java,
	  src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
	  Static methods are using the SessionHolder, too.

2011-04-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java:
	  Added the setup() method that has been added to the interface
	  description in the last commits.

	* doc/conf/conf.xml: Registered the SessionCallContextListener as
	  CallContext.Listener.

2011-04-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java:
	  Bugfix: Call correct method to retrieve an instance of
	  SessionFactoryProvider.

2011-04-14	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/SessionHolder.java:
	  New. Contains thread local session holder for hibernate sessions.

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
	  Uses session from SessionHolder.

	* src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java:
	  Interacts with SessionHolder now.
	
	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
	  Removed superfluous import.
	
2011-04-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/context/SessionCallContextListener.java:
	  Implementation of a CallContext.Listener to open/close Hibernate
	  Sessions for each request.

2011-04-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Some modifications related to the last commit - modification of the
	  describe() signature of a State.

2011-04-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java:
	  Removed. We do not need a state to select a gauge - the selection takes
	  place by choosing a start and an end point.

2011-04-13  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
	  Bugfix: added missing label node to root node and a namespace to the
	  data node.

2011-04-12  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  The name of the artifact 'winfo' is written into the DESCRIBE document
	  now. We need this to have a proper way to distinguish between different
	  artifacts in the UI.

2011-04-12  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Bugfix:
	  States are filled with data before they describe themself.

2011-04-11  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/AnnotationsFactory.java:
	  New. A factory that returns the annotations of a specific river.

	* src/main/java/de/intevation/flys/artifacts/services/DistanceInfoService.java:
	  New. This service provides a document that contains information about
	  distances of a river.

	* doc/conf/conf.xml: Registered the DistanceInfoService.

2011-04-06  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  This collection overrides the out() operation now. The incoming request
	  document is read and the related OutGenerator is used to create the
	  output.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed
	  the code to create discharge curves. It has moved to the
	  DischargeCurveGenerator which now does this work.

2011-04-06  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/OutGenerator.java: The
	  generate() method throws an IOException now.

	* src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java:
	  New. This OutGenerator creates discharge curves.

2011-04-06  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Changed
	  the visibility of the getData() method. It's now public, because the
	  OutGenerator needs an artifact's data.

2011-04-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/**/*.java: Removed trailing whitespace.

2011-04-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Make project compilable again by
	  commenting out a not existing XMLDebug reference.

2011-03-31  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Added code to parse the configured OutGenerators and to save them (in a
	  map) in the FLYSContext.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java:
	  Added a key that is used to save the OutGenerators Map in the context.

2011-03-31  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/OutGenerator.java:
	  New. This interface is used to generator different types of output.
	  ArtifactCollections will make use of this interface to create a
	  collected output of all its artifacts.

2011-03-30  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Removed the Backend from FLYSArtifactCollection - used ArtifactDatabase
	  operations instead.

	* TODO: Removed 'remove Backend reference' TODO.

2011-03-30  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Enhanced the configuration of the
	  discharge curve output mode. This output now provides three facets - W,
	  Q and the curve itself.

2011-03-30  Ingo Weinzierl <ingo@intevation.de>

	Tagged RELEASE 0.1

2011-03-30  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Renamed an output mode in the WINFO
	  artifact configuration.

2011-03-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_de.properties: Changed a german string.

2011-03-29  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Modified the available calculation modes and its order in the DESCRIBE
	  document.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_de_DE.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Adapted the names of
	  calculation modes.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Added the hash code of an artifact to the artifact part of the
	  collection's DESCRIBE document.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Changed
	  the background color of discharge curves to white.

2011-03-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Cache the scale, too. Otherwise two calls to getValues() with
	  different arguments will result in the same output.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Introduced a 'scale' parameter in the getValues() method.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Filled
	  the out() operation with code that draws a discharge table of one or
	  more gauges specified by the given range in entered in a previous state.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/exports/ChartExportHelper.java:
	  New. A helper class to exports charts.

	* pom.xml: Added dependencies to iText, Batik and JFreeChart.

2011-03-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/importer/PegelGltParser.java:
	  Fixed swap of operands.

2011-03-28	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/GaugesFactory.java:
	  New. Load gauges for a river and filter them for given
	  ranges.

2011-03-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  Store data in a double [][] instead of interleaved double []
	  to be compatible with org.jfree.data.xy.DefaultXYDataset.

2011-03-25  Ingo Weinzierl <ingo@intevation.de>

	* TODO: Removed 'i18n' and 'step-back' TODOs and added an issue to remove
	  the Backend reference from FLYSArtifactCollection.

2011-03-25  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  Added missing artifact namespace of an attribute in the DESCRIBE
	  document.

2011-03-24  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java:
	  New. This ArtifactCollection overrides the DefaultArtifactCollection to
	  implement FLYS specific describe() and out() operations.

	* doc/conf/conf.xml: Use the FLYSArtifactCollection instead of the
	  DefaultArtifactCollection for this application.

2011-03-24	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java:
	  New. Fetches values of discharge tables in form of packed
	  w/q double arrays for given gauges.

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
	  Removed needless import.

2011-03-24  Ingo Weinzierl <ingo@intevation.de>

	* src/main/resources/messages_de_DE.properties: Added a german resource
	  bundle to avoid exceptions in the flys artifacts. Sometimes, the
	  Resources class is not able to find a 'de_DE' bundle and throws an
	  exception. This is really strange, because it should use the 'de' bundle
	  in that case, but it doesn't.

2011-03-23  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Added
	  some code to append the output modes of previous states to the DESCRIBE
	  document.

	  TODO: Determine if the current state is already filled with data and
	  append its output modes as well!

2011-03-22  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Enhanced the location_distance state with
	  an output mode 'discharge_table'.

2011-03-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Write human readable strings as label attribute into the DESCRIBE
	  output. Those labels are used to be displayed in the GUI.

2011-03-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  Added some further calculation types.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Added i18n strings for the
	  calculation types

2011-03-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Implemented the step-back part of the advance() operation.

2011-03-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/resources/messages_de.properties: Fixed a german umlaut.

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Added new states for entering a
	  location/distance and w/q.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: New string for the
	  location/distance and w/q input states.

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/WQSelect.java:
	  New. A state for the W/Q input of the WINFO parameterization.

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Append an attribute 'uiprovider' to the dynamic UI node.

	* src/main/java/de/intevation/flys/artifacts/states/LocationDistanceSelect.java:
	  New. A state for the location/distance selection of the WINFO
	  parameterization.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Added a new method getUIProvider() that might be overriden by concreted
	  subclasses that should be rendered with a specific UIProvider.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  The static UI part is created by the previous states now. This makes it
	  possible to group the data objects (which is necessary to group the
	  objects in the ui).

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Added a describeStatic() method that creates a node that contains the
	  data of that state.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
	  Removed TODO: the document contains the rivers provided by the backend
	  now.

2011-03-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* pom.xml: Added dependency to flys backend.

	* src/main/java/de/intevation/flys/artifacts/model/River.java:
	  Removed. We are using the backend model now.

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java:
	  Fetches the rivers from the backend.

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
	  Import fixes.

2011-03-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* doc/conf/conf.xml: Added section for database backend configuration.

2011-03-15	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  Fixed build error coming from different import of XMLUtils.

2011-03-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  Appended the missing label node that contains the human readable name of
	  the data item.

2011-03-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java,
	  src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  I18N of strings for the DESCRIBE document.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: I18N strings for the
	  calculcation mode state.

2011-03-14  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Modified the winfo states.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Adapted
	  the artifact regarding the changes of the last commit. The states
	  describe() method creates the dynamic UI node - the artifact needs to
	  apply this node.

	* src/main/java/de/intevation/flys/artifacts/states/CalculationSelect.java:
	  New. The state for choosing the calculation mode.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Added i18n strings for the
	  calculation mode state.

2011-03-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/DefaultState.java:
	  New. This is the base state for the FLYS application. It provides a
	  method that creates the dynamic ui node for the DESCRIBE.

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: Both
	  classes extend the abstract base class DefaultState.

2011-03-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/resources/Resources.java:
	  New. This class retrieves the i18n strings from a ResourceBundle.

	* src/main/resources/messages.properties,
	  src/main/resources/messages_en.properties,
	  src/main/resources/messages_de.properties: Resource files for german and
	  english translation.

2011-03-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Appended
	  the data that have been inserted in former states into the static node
	  of the DESCRIBE.

2011-03-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: The
	  operations feed() and advance() return the description of the artifact
	  using the describe() operation. This avoids additional server round trips
	  in the client - the clients gets to know about the new state of the
	  artifact immediately.

2011-03-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Implemented a part (step forward) of the advance operation.

	* TODO: Implement Step-Back in advance operation.

2011-03-09  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java:
	  Implemented the abstract method getName(). It returns the constant
	  'winfo' string.

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java:
	  Implemented the feed action. The data of an incoming feed() operation is
	  stored in StateData objects that are saved in a map in the artifact.

	  NOTE: There is no input validation and no i18n of error messages (see
	  TODO).

2011-03-09  Ingo Weinzierl <ingo@intevation.de>

	* TODO: This file contains some open points that need to be done.

2011-03-09  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: New. This
	  artifact serves as the default artifact for the FLYS application.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: This
	  artifact now inherits from FLYSArtifact. Furthermore, there is one big
	  change: we don't store the State objects itself in the artifact, but
	  just the identifier of those. This makes the artifact smaller and more
	  compatible agains previous versions of the software.

2011-03-08  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/services/RiverService.java:
	  New. This service will retrieve a list of provided rivers.

	* doc/conf/conf.xml: Added a configuration for the RiverService.

2011-03-07  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/conf.xml: Added a section user-factory and collection-factory in
	  the factories part of the configuration.

2011-03-01  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
	  Replaced the 'special' attribute from DESCRIBE with a 'uiprovider'
	  attribute.

2011-02-08  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The
	  RiverSelect state is called to create the UI part of the describe
	  document.

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java:
	  Implemented the dynamic UI part of describe(). The static part is not
	  inserted into the describe document at the moment. We need a reference to
	  the previous states for this.

2011-02-08  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/model/RiverFactory.java,
	  src/main/java/de/intevation/flys/artifacts/model/River.java: New. A model
	  class that represents a river and its factory to create concrete river
	  instances.
	  NOTE: Currently, this is just a mockup. The factory just returns two
	  static rivers "Mosel" and "Saar" without a connection to a backend.

2011-02-07  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: The
	  input data of a state is initialized with empty StateData objects after
	  the State has been created.

	* doc/conf/artifacts/winfo.xml: Renamed the input data nodes of the states
	  which now fits better to the class name of the implementation.

2011-02-07  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: The
	  describe document returned by this artifact now contains the current state
	  and the reachable states.

2011-02-07  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  The transitions are put into the TransitionEngine with the ID of the state
	  - not longer with the artifact name. On this way, we are able to fetch
	  just the transitions for a specific state, instead of all the transitions
	  of an artifact.

2011-02-04  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Describe()
	  returns the artifact's uuid and hash value. The whole implementation of
	  describe() is still outstanding.

2011-02-04  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/artifacts/winfo.xml: Removed useless config stuff.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: Removed
	  useless methods, and improved the init process - the first state is set as
	  the current state for this artifact.

	* src/main/java/de/intevation/flys/artifacts/states/RiverSelect.java,
	  src/main/java/de/intevation/flys/artifacts/states/GaugeSelect.java: New.
	  The states are used in the first two steps of the WINFOArtifact.
	  Currently, they just implement stubs of the necessary methods setup() and
	  describe().

2011-02-04  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/State.java,
	  src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java,
	  src/main/java/de/intevation/flys/artifacts/transitions/Transition.java:
	  Removed. These classes are placed in the artifact-database now.

	* src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java,
	  src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java:
	  Adapted imports of Transition.

	* src/main/java/de/intevation/flys/artifacts/states/StateFactory.java: New.
	  This factory should be used to create concrete State objects.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: Added
	  a constant key to store the StateEngine in the context.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  New method that initializes the states at application start.

2011-02-03  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/artifacts/states/State.java: New. The
	  interface description of a state.

	* src/main/java/de/intevation/flys/artifacts/transitions/Transition.java,
	  src/main/java/de/intevation/flys/artifacts/transitions/DefaultTransition.java:
	  New. The interface description and a default implementation of a
	  transition.

	* src/main/java/de/intevation/flys/artifacts/transitions/TransitionEngine.java:
	  New. The TransitionEngine stores all transitions for each artifact and
	  should be used to determine, if an artifact can advance from one state to
	  another.

	* src/main/java/de/intevation/flys/artifacts/transitions/TransitionFactory.java:
	  New. Transitions should be created by using this class.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContext.java: New.
	  The Flys context. It currently defines keys to store important components
	  in the context.

	* src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java:
	  New. The context factory initializes the basic components of the
	  application. Currently, the TransitionEngine is created and all artifacts
	  with its transitions are read from the global configuration and stored in
	  the FLYSContext.

	* pom.xml: Added a dependency to the 'artifacts-common' package.

	* doc/conf/artifacts/winfo.xml: Corrected the classname of the
	  DefaultTransition.

	* doc/conf/conf.xml: Added FLYSContextFactory as context-factory.

2011-02-02  Ingo Weinzierl <ingo@intevation.de>

	* doc/conf/conf.xml: An initial configuration file for the FLYS artifact
	  server.

	* doc/conf/artifacts/winfo.xml: An initial transition configuration of an
	  WINFO artifact.

	* src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java: A stub of
	  an artifact for a WINFO parameterization.

	* pom.xml: Set the source code version to 1.5.

2011-02-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/**, pom.xml: Added initial maven project.
	* ChangeLog: new.

http://dive4elements.wald.intevation.org